# HG changeset patch # User lana # Date 1426806711 25200 # Node ID b118fc95090ff485a3d371225a7b5fc01954ba1e # Parent 09c5b1fec83c13e7123f4dce430f6a04e6fcbc28# Parent 443fdcba9598b3bf92307912a03ff5eb43fd8fcc Merge diff -r 09c5b1fec83c -r b118fc95090f common/autoconf/configure.ac --- a/common/autoconf/configure.ac Thu Mar 19 12:59:17 2015 -0700 +++ b/common/autoconf/configure.ac Thu Mar 19 16:11:51 2015 -0700 @@ -54,6 +54,7 @@ AC_DEFUN_ONCE([CUSTOM_EARLY_HOOK]) AC_DEFUN_ONCE([CUSTOM_LATE_HOOK]) +AC_DEFUN_ONCE([CUSTOM_CONFIG_OUTPUT_GENERATED_HOOK]) AC_DEFUN_ONCE([CUSTOM_SUMMARY_AND_WARNINGS_HOOK]) # This line needs to be here, verbatim, after all includes and the dummy hook @@ -265,6 +266,7 @@ # Create the actual output files. Now the main work of configure is done. AC_OUTPUT +CUSTOM_CONFIG_OUTPUT_GENERATED_HOOK # Try to move the config.log file to the output directory. if test -e ./config.log; then diff -r 09c5b1fec83c -r b118fc95090f common/autoconf/flags.m4 --- a/common/autoconf/flags.m4 Thu Mar 19 12:59:17 2015 -0700 +++ b/common/autoconf/flags.m4 Thu Mar 19 16:11:51 2015 -0700 @@ -481,9 +481,8 @@ CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -errtags=yes -errfmt" CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -errtags=yes -errfmt" elif test "x$TOOLCHAIN_TYPE" = xxlc; then - LDFLAGS_JDK="${LDFLAGS_JDK} -q64 -brtl -bnolibpath -liconv -bexpall" - CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt" - CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt" + CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt" + CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt" fi if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then @@ -762,6 +761,8 @@ elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext" LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib" + elif test "x$TOOLCHAIN_TYPE" = xxlc; then + LDFLAGS_JDK="${LDFLAGS_JDK} -brtl -bnolibpath -liconv -bexpall -bernotok" fi # Customize LDFLAGS for executables diff -r 09c5b1fec83c -r b118fc95090f common/autoconf/generated-configure.sh --- a/common/autoconf/generated-configure.sh Thu Mar 19 12:59:17 2015 -0700 +++ b/common/autoconf/generated-configure.sh Thu Mar 19 16:11:51 2015 -0700 @@ -4362,13 +4362,14 @@ + # This line needs to be here, verbatim, after all includes and the dummy hook # definitions. It is replaced with custom functionality when building # custom sources. #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1425994551 +DATE_WHEN_GENERATED=1426774983 ############################################################################### # @@ -41173,7 +41174,7 @@ # jtreg win32 script works for everybody - JTREGEXE="$JT_HOME/win32/bin/jtreg" + JTREGEXE="$JT_HOME/bin/jtreg" if test ! -f "$JTREGEXE"; then as_fn_error $? "JTReg executable does not exist: $JTREGEXE" "$LINENO" 5 @@ -42372,9 +42373,8 @@ CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -errtags=yes -errfmt" CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -errtags=yes -errfmt" elif test "x$TOOLCHAIN_TYPE" = xxlc; then - LDFLAGS_JDK="${LDFLAGS_JDK} -q64 -brtl -bnolibpath -liconv -bexpall" - CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt" - CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -q64 -qfullpath -qsaveopt" + CFLAGS_JDK="${CFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt" + CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt" fi if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then @@ -42668,6 +42668,8 @@ elif test "x$TOOLCHAIN_TYPE" = xsolstudio; then LDFLAGS_JDK="$LDFLAGS_JDK -z defs -xildoff -ztext" LDFLAGS_CXX_JDK="$LDFLAGS_CXX_JDK -norunpath -xnolib" + elif test "x$TOOLCHAIN_TYPE" = xxlc; then + LDFLAGS_JDK="${LDFLAGS_JDK} -brtl -bnolibpath -liconv -bexpall -bernotok" fi # Customize LDFLAGS for executables @@ -52969,6 +52971,7 @@ fi + # Try to move the config.log file to the output directory. if test -e ./config.log; then $MV -f ./config.log "$OUTPUT_ROOT/config.log" 2> /dev/null diff -r 09c5b1fec83c -r b118fc95090f common/autoconf/toolchain.m4 --- a/common/autoconf/toolchain.m4 Thu Mar 19 12:59:17 2015 -0700 +++ b/common/autoconf/toolchain.m4 Thu Mar 19 16:11:51 2015 -0700 @@ -763,7 +763,7 @@ BASIC_FIXUP_PATH([JT_HOME]) # jtreg win32 script works for everybody - JTREGEXE="$JT_HOME/win32/bin/jtreg" + JTREGEXE="$JT_HOME/bin/jtreg" if test ! -f "$JTREGEXE"; then AC_MSG_ERROR([JTReg executable does not exist: $JTREGEXE]) diff -r 09c5b1fec83c -r b118fc95090f make/CompileJavaModules.gmk --- a/make/CompileJavaModules.gmk Thu Mar 19 12:59:17 2015 -0700 +++ b/make/CompileJavaModules.gmk Thu Mar 19 16:11:51 2015 -0700 @@ -90,12 +90,16 @@ ################################################################################ +java.compiler_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*' + +################################################################################ + java.datatransfer_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-reference '-Xdoclint/package:java.*,javax.*' java.datatransfer_COPY := flavormap.properties ################################################################################ -java.desktop_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-missing,-reference '-Xdoclint/package:java.*,javax.*' +java.desktop_ADD_JAVAC_FLAGS := -Xdoclint:all/protected,-missing,-reference '-Xdoclint/package:java.*,javax.*' java.desktop_COPY := .gif .png .wav .txt .xml .css .pf java.desktop_CLEAN := iio-plugin.properties cursors.properties @@ -336,6 +340,7 @@ ################################################################################ +jdk.compiler_ADD_JAVAC_FLAGS := -Xdoclint:all/protected '-Xdoclint/package:-com.sun.tools.*' jdk.compiler_COPY := javax.tools.JavaCompilerTool jdk.compiler_CLEAN_FILES := $(wildcard \ $(patsubst %, $(JDK_TOPDIR)/src/jdk.compiler/share/classes/%/*.properties, \ diff -r 09c5b1fec83c -r b118fc95090f make/Images.gmk --- a/make/Images.gmk Thu Mar 19 12:59:17 2015 -0700 +++ b/make/Images.gmk Thu Mar 19 16:11:51 2015 -0700 @@ -494,29 +494,16 @@ GCOV_FIND_EXPR := -type f -name "*.gcno" - ifeq ($(JVM_VARIANT_CLIENT), true) - $(eval $(call SetupCopyFiles,COPY_HOTSPOT_CLIENT_GCOV_GCNO, \ - SRC := $(HOTSPOT_OUTPUTDIR), \ - DEST := $(SYMBOLS_IMAGE_DIR)/gcov/hotspot/client, \ - FILES := $(shell $(FIND) $(HOTSPOT_OUTPUTDIR)/*compiler1/ $(GCOV_FIND_EXPR)), \ - FLATTEN := true)) - - SYMBOLS_TARGETS += $(COPY_HOTSPOT_CLIENT_GCOV_GCNO) - endif + $(eval $(call SetupCopyFiles,COPY_HOTSPOT_GCOV_GCNO, \ + SRC := $(OUTPUT_ROOT), \ + DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \ + FILES := $(shell $(FIND) $(HOTSPOT_OUTPUTDIR) $(GCOV_FIND_EXPR)))) - ifeq ($(JVM_VARIANT_SERVER), true) - $(eval $(call SetupCopyFiles,COPY_HOTSPOT_SERVER_GCOV_GCNO, \ - SRC := $(HOTSPOT_OUTPUTDIR), \ - DEST := $(SYMBOLS_IMAGE_DIR)/gcov/hotspot/server, \ - FILES := $(shell $(FIND) $(HOTSPOT_OUTPUTDIR)/*compiler2/ $(GCOV_FIND_EXPR)), \ - FLATTEN := true)) - - SYMBOLS_TARGETS += $(COPY_HOTSPOT_SERVER_GCOV_GCNO) - endif + SYMBOLS_TARGETS += $(COPY_HOTSPOT_GCOV_GCNO) $(eval $(call SetupCopyFiles,COPY_JDK_GCOV_GCNO, \ - SRC := $(SUPPORT_OUTPUTDIR)/native, \ - DEST := $(SYMBOLS_IMAGE_DIR)/gcov/jdk, \ + SRC := $(OUTPUT_ROOT), \ + DEST := $(SYMBOLS_IMAGE_DIR)/gcov, \ FILES := $(shell $(FIND) $(SUPPORT_OUTPUTDIR)/native $(GCOV_FIND_EXPR)))) SYMBOLS_TARGETS += $(COPY_JDK_GCOV_GCNO) diff -r 09c5b1fec83c -r b118fc95090f make/common/JavaCompilation.gmk --- a/make/common/JavaCompilation.gmk Thu Mar 19 12:59:17 2015 -0700 +++ b/make/common/JavaCompilation.gmk Thu Mar 19 16:11:51 2015 -0700 @@ -369,7 +369,7 @@ $(MKDIR) -p $$(@D) export LC_ALL=C ; ( $(CAT) $$< && $(ECHO) "" ) \ | $(SED) -e 's/\([^\\]\):/\1\\:/g' -e 's/\([^\\]\)=/\1\\=/g' \ - -e 's/\([^\\]\)!/\1\\!/g' -e 's/#.*/#/g' \ + -e 's/\([^\\]\)!/\1\\!/g' -e 's/^[ ]*#.*/#/g' \ | $(SED) -f "$(SRC_ROOT)/make/common/support/unicode2x.sed" \ | $(SED) -e '/^#/d' -e '/^$$$$/d' \ -e :a -e '/\\$$$$/N; s/\\\n//; ta' \ diff -r 09c5b1fec83c -r b118fc95090f make/common/NativeCompilation.gmk --- a/make/common/NativeCompilation.gmk Thu Mar 19 12:59:17 2015 -0700 +++ b/make/common/NativeCompilation.gmk Thu Mar 19 16:11:51 2015 -0700 @@ -60,7 +60,7 @@ -e 's|Note: including file: *||' \ -e 's|\\|/|g' \ -e 's|^\([a-zA-Z]\):|$(UNIX_PATH_PREFIX)/\1|g' \ - -e '/$(subst /,\/,$(TOPDIR))/!d' \ + -e '\|$(TOPDIR)|I !d' \ -e 's|$$$$| \\|g' \ # @@ -153,7 +153,7 @@ exit `cat $$($1_$2_DEP).exitvalue` $(RM) $$($1_$2_DEP).exitvalue ($(ECHO) $$@: \\ \ - && $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_$2_DEP).raw) > $$($1_$2_DEP) + && $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_$2_DEP).raw) | $(SORT) -u > $$($1_$2_DEP) endif # Create a dependency target file from the dependency file. # Solution suggested by http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/ @@ -392,12 +392,6 @@ $1_EXTRA_CXXFLAGS+=$$($1_CXXFLAGS_$(OPENJDK_TARGET_OS)_release) endif - # Pick up disabled warnings, if possible on this platform. - ifneq ($(DISABLE_WARNING_PREFIX),) - $1_EXTRA_CFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), $$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE))) - $1_EXTRA_CXXFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), $$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE))) - endif - ifeq ($$($1_DEBUG_SYMBOLS), true) ifeq ($(ENABLE_DEBUG_SYMBOLS), true) ifdef OPENJDK @@ -415,6 +409,9 @@ endif endif + # If no C++ flags are explicitly set, default to using the C flags. + # After that, we can set additional C++ flags that should not interfere + # with the mechanism for copying the C flags by default. ifeq ($$($1_CXXFLAGS),) $1_CXXFLAGS:=$$($1_CFLAGS) endif @@ -427,6 +424,12 @@ $1_EXTRA_CXXFLAGS += $$(CXX_FLAG_REORDER) endif + # Pick up disabled warnings, if possible on this platform. + ifneq ($(DISABLE_WARNING_PREFIX),) + $1_EXTRA_CFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), $$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE))) + $1_EXTRA_CXXFLAGS += $$(addprefix $(DISABLE_WARNING_PREFIX), $$($1_DISABLED_WARNINGS_$(TOOLCHAIN_TYPE))) + endif + ifeq (NONE, $$($1_OPTIMIZATION)) $1_EXTRA_CFLAGS += $(C_O_FLAG_NONE) $1_EXTRA_CXXFLAGS += $(CXX_O_FLAG_NONE) diff -r 09c5b1fec83c -r b118fc95090f test/lib/sun/hotspot/WhiteBox.java --- a/test/lib/sun/hotspot/WhiteBox.java Thu Mar 19 12:59:17 2015 -0700 +++ b/test/lib/sun/hotspot/WhiteBox.java Thu Mar 19 16:11:51 2015 -0700 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -27,6 +27,7 @@ import java.lang.reflect.Executable; import java.util.Arrays; import java.util.List; +import java.util.function.BiFunction; import java.util.function.Function; import java.util.stream.Stream; import java.security.BasicPermission; @@ -250,6 +251,23 @@ } return offset; } + public native Boolean getMethodBooleanOption(Executable method, String name); + public native Long getMethodIntxOption(Executable method, String name); + public native Long getMethodUintxOption(Executable method, String name); + public native Double getMethodDoubleOption(Executable method, String name); + public native String getMethodStringOption(Executable method, String name); + private final List> methodOptionGetters + = Arrays.asList(this::getMethodBooleanOption, this::getMethodIntxOption, + this::getMethodUintxOption, this::getMethodDoubleOption, + this::getMethodStringOption); + + public Object getMethodOption(Executable method, String name) { + return methodOptionGetters.stream() + .map(f -> f.apply(method, name)) + .filter(x -> x != null) + .findAny() + .orElse(null); + } // Safepoint Checking public native void assertMatchingSafepointCalls(boolean mutexSafepointValue, boolean attemptedNoSafepointValue);