# HG changeset patch # User aph # Date 1426250698 0 # Node ID e451c01a574796b09eb3bc74065f78b675c3742e # Parent e5e9478e2ddbcc35370fcf2b87f6988559457ef4# Parent c97e2d1bad9708d379793ba2a4c848eda14c741e Merge diff -r e5e9478e2ddb -r e451c01a5747 .hgtags --- a/.hgtags Fri Mar 13 12:44:28 2015 +0000 +++ b/.hgtags Fri Mar 13 12:44:58 2015 +0000 @@ -296,3 +296,4 @@ 6efe265424e3f1ea596408a1f71baf2de316c772 jdk9-b51 d6224d6021459ac8b3832e822f5acc849fa944af jdk9-b52 874d76e4699dfcd61ae1826c9fe0ddc1610ad598 jdk9-b53 +82cd31c5d6ca8d4c1653f4eb1c09eb2d9a3b2813 jdk9-b54 diff -r e5e9478e2ddb -r e451c01a5747 .hgtags-top-repo --- a/.hgtags-top-repo Fri Mar 13 12:44:28 2015 +0000 +++ b/.hgtags-top-repo Fri Mar 13 12:44:58 2015 +0000 @@ -296,3 +296,4 @@ 6207b4b8731ca75c51b031c47daa813ab92ef558 jdk9-b51 1822e59f17121b09e7899cf338cfb6e37fe5fceb jdk9-b52 d6ed47125a76cd1cf8a100568507bfb5e9669d9f jdk9-b53 +cb7367141e910e265b8344a8facee740bd1e5467 jdk9-b54 diff -r e5e9478e2ddb -r e451c01a5747 common/autoconf/configure.ac --- a/common/autoconf/configure.ac Fri Mar 13 12:44:28 2015 +0000 +++ b/common/autoconf/configure.ac Fri Mar 13 12:44:58 2015 +0000 @@ -195,6 +195,7 @@ # Setup debug symbols (need objcopy from the toolchain for that) JDKOPT_SETUP_DEBUG_SYMBOLS +JDKOPT_SETUP_CODE_COVERAGE ############################################################################### # diff -r e5e9478e2ddb -r e451c01a5747 common/autoconf/flags.m4 --- a/common/autoconf/flags.m4 Fri Mar 13 12:44:28 2015 +0000 +++ b/common/autoconf/flags.m4 Fri Mar 13 12:44:58 2015 +0000 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 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 @@ -478,6 +478,8 @@ CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -xregs=no%appl" CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -xregs=no%appl" fi + 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" @@ -529,7 +531,7 @@ # CXXFLAGS_JDK - C++ Compiler flags # COMMON_CCXXFLAGS_JDK - common to C and C++ if test "x$TOOLCHAIN_TYPE" = xgcc; then - COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -Wall -Wno-parentheses -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 \ + COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -Wall -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 \ -pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE" case $OPENJDK_TARGET_CPU_ARCH in arm ) @@ -549,7 +551,6 @@ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS" if test "x$OPENJDK_TARGET_CPU_ARCH" = xx86; then COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DcpuIntel -Di586 -D$OPENJDK_TARGET_CPU_LEGACY_LIB" - CFLAGS_JDK="$CFLAGS_JDK -erroff=E_BAD_PRAGMA_PACK_VALUE" fi CFLAGS_JDK="$CFLAGS_JDK -xc99=%none -xCC -errshort=tags -Xa -v -mt -W0,-noglobal" @@ -676,7 +677,7 @@ # The shared libraries are compiled using the picflag. CFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA" - CXXFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA " + CXXFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA" # Executable flags CFLAGS_JDKEXE="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK" @@ -687,6 +688,19 @@ AC_SUBST(CXXFLAGS_JDKLIB) AC_SUBST(CXXFLAGS_JDKEXE) + # Flags for compiling test libraries + CFLAGS_TESTLIB="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA" + CXXFLAGS_TESTLIB="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA" + + # Flags for compiling test executables + CFLAGS_TESTEXE="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK" + CXXFLAGS_TESTEXE="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK" + + AC_SUBST(CFLAGS_TESTLIB) + AC_SUBST(CFLAGS_TESTEXE) + AC_SUBST(CXXFLAGS_TESTLIB) + AC_SUBST(CXXFLAGS_TESTEXE) + # Setup LDFLAGS et al. # @@ -800,6 +814,16 @@ AC_SUBST(LDFLAGS_JDKLIB_SUFFIX) AC_SUBST(LDFLAGS_JDKEXE_SUFFIX) AC_SUBST(LDFLAGS_CXX_JDK) + + LDFLAGS_TESTLIB="$LDFLAGS_JDKLIB" + LDFLAGS_TESTEXE="$LDFLAGS_JDKEXE" + LDFLAGS_TESTLIB_SUFFIX="$LDFLAGS_JDKLIB_SUFFIX" + LDFLAGS_TESTEXE_SUFFIX="$LDFLAGS_JDKEXE_SUFFIX" + + AC_SUBST(LDFLAGS_TESTLIB) + AC_SUBST(LDFLAGS_TESTEXE) + AC_SUBST(LDFLAGS_TESTLIB_SUFFIX) + AC_SUBST(LDFLAGS_TESTEXE_SUFFIX) ]) # FLAGS_COMPILER_CHECK_ARGUMENTS([ARGUMENT], [RUN-IF-TRUE], @@ -883,17 +907,31 @@ case "${TOOLCHAIN_TYPE}" in microsoft) + DISABLE_WARNING_PREFIX="-wd" CFLAGS_WARNINGS_ARE_ERRORS="-WX" ;; solstudio) + DISABLE_WARNING_PREFIX="-erroff=" CFLAGS_WARNINGS_ARE_ERRORS="-errtags -errwarn=%all" ;; gcc) + # Prior to gcc 4.4, a -Wno-X where X is unknown for that version of gcc will cause an error + FLAGS_COMPILER_CHECK_ARGUMENTS([-Wno-this-is-a-warning-that-do-not-exist], + [GCC_CAN_DISABLE_WARNINGS=true], + [GCC_CAN_DISABLE_WARNINGS=false] + ) + if test "x$GCC_CAN_DISABLE_WARNINGS" = "xtrue"; then + DISABLE_WARNING_PREFIX="-Wno-" + else + DISABLE_WARNING_PREFIX= + fi CFLAGS_WARNINGS_ARE_ERRORS="-Werror" ;; clang) + DISABLE_WARNING_PREFIX="-Wno-" CFLAGS_WARNINGS_ARE_ERRORS="-Werror" ;; esac + AC_SUBST(DISABLE_WARNING_PREFIX) AC_SUBST(CFLAGS_WARNINGS_ARE_ERRORS) ]) diff -r e5e9478e2ddb -r e451c01a5747 common/autoconf/generated-configure.sh --- a/common/autoconf/generated-configure.sh Fri Mar 13 12:44:28 2015 +0000 +++ b/common/autoconf/generated-configure.sh Fri Mar 13 12:44:58 2015 +0000 @@ -680,16 +680,26 @@ X_CFLAGS XMKMF FIXPATH +GCOV_ENABLED ZIP_DEBUGINFO_FILES ENABLE_DEBUG_SYMBOLS CFLAGS_WARNINGS_ARE_ERRORS +DISABLE_WARNING_PREFIX COMPILER_SUPPORTS_TARGET_BITS_FLAG ZERO_ARCHFLAG +LDFLAGS_TESTEXE_SUFFIX +LDFLAGS_TESTLIB_SUFFIX +LDFLAGS_TESTEXE +LDFLAGS_TESTLIB LDFLAGS_CXX_JDK LDFLAGS_JDKEXE_SUFFIX LDFLAGS_JDKLIB_SUFFIX LDFLAGS_JDKEXE LDFLAGS_JDKLIB +CXXFLAGS_TESTEXE +CXXFLAGS_TESTLIB +CFLAGS_TESTEXE +CFLAGS_TESTLIB CXXFLAGS_JDKEXE CXXFLAGS_JDKLIB CFLAGS_JDKEXE @@ -1084,6 +1094,7 @@ with_extra_ldflags enable_debug_symbols enable_zip_debug_info +enable_native_coverage with_x with_cups with_cups_include @@ -1852,6 +1863,9 @@ --disable-debug-symbols disable generation of debug symbols [enabled] --disable-zip-debug-info disable zipping of debug-info files [enabled] + --enable-native-coverage + enable native compilation with code coverage + data[disabled] --disable-freetype-bundling disable bundling of the freetype library with the build result [enabled on Windows or when using @@ -3736,7 +3750,7 @@ # -# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 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 @@ -3993,6 +4007,12 @@ +################################################################################ +# +# Gcov coverage data for hotspot +# + + # # Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -4348,7 +4368,7 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1425490712 +DATE_WHEN_GENERATED=1425994551 ############################################################################### # @@ -42349,6 +42369,8 @@ CFLAGS_JDKLIB_EXTRA="${CFLAGS_JDKLIB_EXTRA} -xregs=no%appl" CXXFLAGS_JDKLIB_EXTRA="${CXXFLAGS_JDKLIB_EXTRA} -xregs=no%appl" fi + 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" @@ -42415,7 +42437,7 @@ # CXXFLAGS_JDK - C++ Compiler flags # COMMON_CCXXFLAGS_JDK - common to C and C++ if test "x$TOOLCHAIN_TYPE" = xgcc; then - COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -Wall -Wno-parentheses -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 \ + COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -Wall -Wextra -Wno-unused -Wno-unused-parameter -Wformat=2 \ -pipe -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE" case $OPENJDK_TARGET_CPU_ARCH in arm ) @@ -42435,7 +42457,6 @@ COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS $COMMON_CCXXFLAGS_JDK -DTRACING -DMACRO_MEMSYS_OPS -DBREAKPTS" if test "x$OPENJDK_TARGET_CPU_ARCH" = xx86; then COMMON_CCXXFLAGS_JDK="$COMMON_CCXXFLAGS_JDK -DcpuIntel -Di586 -D$OPENJDK_TARGET_CPU_LEGACY_LIB" - CFLAGS_JDK="$CFLAGS_JDK -erroff=E_BAD_PRAGMA_PACK_VALUE" fi CFLAGS_JDK="$CFLAGS_JDK -xc99=%none -xCC -errshort=tags -Xa -v -mt -W0,-noglobal" @@ -42562,7 +42583,7 @@ # The shared libraries are compiled using the picflag. CFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA" - CXXFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA " + CXXFLAGS_JDKLIB="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA" # Executable flags CFLAGS_JDKEXE="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK" @@ -42573,6 +42594,19 @@ + # Flags for compiling test libraries + CFLAGS_TESTLIB="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK $PICFLAG $CFLAGS_JDKLIB_EXTRA" + CXXFLAGS_TESTLIB="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK $PICFLAG $CXXFLAGS_JDKLIB_EXTRA" + + # Flags for compiling test executables + CFLAGS_TESTEXE="$COMMON_CCXXFLAGS_JDK $CFLAGS_JDK" + CXXFLAGS_TESTEXE="$COMMON_CCXXFLAGS_JDK $CXXFLAGS_JDK" + + + + + + # Setup LDFLAGS et al. # @@ -42687,6 +42721,16 @@ + LDFLAGS_TESTLIB="$LDFLAGS_JDKLIB" + LDFLAGS_TESTEXE="$LDFLAGS_JDKEXE" + LDFLAGS_TESTLIB_SUFFIX="$LDFLAGS_JDKLIB_SUFFIX" + LDFLAGS_TESTEXE_SUFFIX="$LDFLAGS_JDKEXE_SUFFIX" + + + + + + # Some Zero and Shark settings. # ZERO_ARCHFLAG tells the compiler which mode to build for @@ -42835,21 +42879,97 @@ case "${TOOLCHAIN_TYPE}" in microsoft) + DISABLE_WARNING_PREFIX="-wd" CFLAGS_WARNINGS_ARE_ERRORS="-WX" ;; solstudio) + DISABLE_WARNING_PREFIX="-erroff=" CFLAGS_WARNINGS_ARE_ERRORS="-errtags -errwarn=%all" ;; gcc) + # Prior to gcc 4.4, a -Wno-X where X is unknown for that version of gcc will cause an error + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if compiler supports \"-Wno-this-is-a-warning-that-do-not-exist\"" >&5 +$as_echo_n "checking if compiler supports \"-Wno-this-is-a-warning-that-do-not-exist\"... " >&6; } + supports=yes + + saved_cflags="$CFLAGS" + CFLAGS="$CFLAGS -Wno-this-is-a-warning-that-do-not-exist" + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int i; +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + supports=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + CFLAGS="$saved_cflags" + + saved_cxxflags="$CXXFLAGS" + CXXFLAGS="$CXXFLAG -Wno-this-is-a-warning-that-do-not-exist" + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int i; +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + supports=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + CXXFLAGS="$saved_cxxflags" + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $supports" >&5 +$as_echo "$supports" >&6; } + if test "x$supports" = "xyes" ; then + GCC_CAN_DISABLE_WARNINGS=true + else + GCC_CAN_DISABLE_WARNINGS=false + + fi + + if test "x$GCC_CAN_DISABLE_WARNINGS" = "xtrue"; then + DISABLE_WARNING_PREFIX="-Wno-" + else + DISABLE_WARNING_PREFIX= + fi CFLAGS_WARNINGS_ARE_ERRORS="-Werror" ;; clang) + DISABLE_WARNING_PREFIX="-Wno-" CFLAGS_WARNINGS_ARE_ERRORS="-Werror" ;; esac + # Setup debug symbols (need objcopy from the toolchain for that) # @@ -42915,6 +43035,45 @@ + # Check whether --enable-native-coverage was given. +if test "${enable_native_coverage+set}" = set; then : + enableval=$enable_native_coverage; +fi + + GCOV_ENABLED="false" + if test "x$enable_native_coverage" = "xyes"; then + if test "x$TOOLCHAIN_TYPE" = "xgcc"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if native coverage is enabled" >&5 +$as_echo_n "checking if native coverage is enabled... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + GCOV_CFLAGS="-fprofile-arcs -ftest-coverage -fno-inline" + GCOV_LDFLAGS="-fprofile-arcs" + LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $GCOV_CFLAGS" + LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $GCOV_CFLAGS" + LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $GCOV_LDFLAGS" + CFLAGS_JDKLIB="$CFLAGS_JDKLIB $GCOV_CFLAGS" + CFLAGS_JDKEXE="$CFLAGS_JDKEXE $GCOV_CFLAGS" + CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $GCOV_CFLAGS" + CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $GCOV_CFLAGS" + LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $GCOV_LDFLAGS" + LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $GCOV_LDFLAGS" + GCOV_ENABLED="true" + else + as_fn_error $? "--enable-native-coverage only works with toolchain type gcc" "$LINENO" 5 + fi + elif test "x$enable_native_coverage" = "xno"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if native coverage is enabled" >&5 +$as_echo_n "checking if native coverage is enabled... " >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + elif test "x$enable_native_coverage" != "x"; then + as_fn_error $? "--enable-native-coverage can only be assigned \"yes\" or \"no\"" "$LINENO" 5 + fi + + + + ############################################################################### # # Check dependencies for external and internal libraries. diff -r e5e9478e2ddb -r e451c01a5747 common/autoconf/jdk-options.m4 --- a/common/autoconf/jdk-options.m4 Fri Mar 13 12:44:28 2015 +0000 +++ b/common/autoconf/jdk-options.m4 Fri Mar 13 12:44:58 2015 +0000 @@ -640,3 +640,41 @@ AC_SUBST(ENABLE_DEBUG_SYMBOLS) AC_SUBST(ZIP_DEBUGINFO_FILES) ]) + +################################################################################ +# +# Gcov coverage data for hotspot +# +AC_DEFUN_ONCE([JDKOPT_SETUP_CODE_COVERAGE], +[ + AC_ARG_ENABLE(native-coverage, [AS_HELP_STRING([--enable-native-coverage], + [enable native compilation with code coverage data@<:@disabled@:>@])]) + GCOV_ENABLED="false" + if test "x$enable_native_coverage" = "xyes"; then + if test "x$TOOLCHAIN_TYPE" = "xgcc"; then + AC_MSG_CHECKING([if native coverage is enabled]) + AC_MSG_RESULT([yes]) + GCOV_CFLAGS="-fprofile-arcs -ftest-coverage -fno-inline" + GCOV_LDFLAGS="-fprofile-arcs" + LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $GCOV_CFLAGS" + LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $GCOV_CFLAGS" + LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $GCOV_LDFLAGS" + CFLAGS_JDKLIB="$CFLAGS_JDKLIB $GCOV_CFLAGS" + CFLAGS_JDKEXE="$CFLAGS_JDKEXE $GCOV_CFLAGS" + CXXFLAGS_JDKLIB="$CXXFLAGS_JDKLIB $GCOV_CFLAGS" + CXXFLAGS_JDKEXE="$CXXFLAGS_JDKEXE $GCOV_CFLAGS" + LDFLAGS_JDKLIB="$LDFLAGS_JDKLIB $GCOV_LDFLAGS" + LDFLAGS_JDKEXE="$LDFLAGS_JDKEXE $GCOV_LDFLAGS" + GCOV_ENABLED="true" + else + AC_MSG_ERROR([--enable-native-coverage only works with toolchain type gcc]) + fi + elif test "x$enable_native_coverage" = "xno"; then + AC_MSG_CHECKING([if native coverage is enabled]) + AC_MSG_RESULT([no]) + elif test "x$enable_native_coverage" != "x"; then + AC_MSG_ERROR([--enable-native-coverage can only be assigned "yes" or "no"]) + fi + + AC_SUBST(GCOV_ENABLED) +]) diff -r e5e9478e2ddb -r e451c01a5747 common/autoconf/spec.gmk.in --- a/common/autoconf/spec.gmk.in Fri Mar 13 12:44:28 2015 +0000 +++ b/common/autoconf/spec.gmk.in Fri Mar 13 12:44:58 2015 +0000 @@ -292,6 +292,8 @@ # Enable RMIConnector IIOP transport RMICONNECTOR_IIOP=@RMICONNECTOR_IIOP@ +GCOV_ENABLED=@GCOV_ENABLED@ + # Necessary additional compiler flags to compile X11 X_CFLAGS:=@X_CFLAGS@ X_LIBS:=@X_LIBS@ @@ -324,6 +326,7 @@ C_FLAG_DEPS:=@C_FLAG_DEPS@ CXX_FLAG_DEPS:=@CXX_FLAG_DEPS@ +DISABLE_WARNING_PREFIX := @DISABLE_WARNING_PREFIX@ CFLAGS_WARNINGS_ARE_ERRORS:=@CFLAGS_WARNINGS_ARE_ERRORS@ CFLAGS_CCACHE:=@CFLAGS_CCACHE@ @@ -379,6 +382,16 @@ # Sometimes a different linker is needed for c++ executables LDEXECXX:=@FIXPATH@ @LDEXECXX@ +# Compiler and linker flags used when building native tests +CFLAGS_TESTLIB:=@CFLAGS_TESTLIB@ +CXXFLAGS_TESTLIB:=@CXXFLAGS_TESTLIB@ +CFLAGS_TESTEXE:=@CFLAGS_TESTEXE@ +CXXFLAGS_TESTEXE:=@CXXFLAGS_TESTEXE@ +LDFLAGS_TESTLIB:=@LDFLAGS_TESTLIB@ +LDFLAGS_TESTLIB_SUFFIX:=@LDFLAGS_TESTLIB_SUFFIX@ +LDFLAGS_TESTEXE:=@LDFLAGS_TESTEXE@ +LDFLAGS_TESTEXE_SUFFIX:=@LDFLAGS_TESTEXE_SUFFIX@ + # BUILD_CC/BUILD_LD is a compiler/linker that generates code that is runnable on the # build platform. BUILD_CC:=@FIXPATH@ @BUILD_CC@ @@ -701,6 +714,10 @@ TEST_IMAGE_SUBDIR:=test TEST_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(TEST_IMAGE_SUBDIR) +# Symbols image +SYMBOLS_IMAGE_SUBDIR:=symbols +SYMBOLS_IMAGE_DIR=$(IMAGES_OUTPUTDIR)/$(SYMBOLS_IMAGE_SUBDIR) + # Macosx bundles directory definitions JDK_BUNDLE_SUBDIR=jdk-bundle/jdk$(JDK_VERSION).jdk/Contents JRE_BUNDLE_SUBDIR=jre-bundle/jre$(JDK_VERSION).jre/Contents diff -r e5e9478e2ddb -r e451c01a5747 common/bin/hgforest.sh --- a/common/bin/hgforest.sh Fri Mar 13 12:44:28 2015 +0000 +++ b/common/bin/hgforest.sh Fri Mar 13 12:44:58 2015 +0000 @@ -26,6 +26,9 @@ usage() { echo "usage: $0 [-h|--help] [-q|--quiet] [-v|--verbose] [-s|--sequential] [--] [commands...]" > ${status_output} + echo "command format : mercurial-command [ "jdk" ] [ extra-url ]" + echo "command option: jdk : used only with clone command to request just the extra repos for JDK-only builds" + echo "command option : extra-url : server hosting the extra repositories" echo "Environment variables which modify behaviour:" echo " HGFOREST_QUIET : (boolean) If 'true' then standard output is redirected to /dev/null" echo " HGFOREST_VERBOSE : (boolean) If 'true' then Mercurial asked to produce verbose output" @@ -179,7 +182,8 @@ trap 'nice_exit' EXIT subrepos="corba jaxp jaxws langtools jdk hotspot nashorn" -subrepos_extra="closed jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed deploy install sponsors pubs" +jdk_subrepos_extra="closed jdk/src/closed jdk/make/closed jdk/test/closed hotspot/make/closed hotspot/src/closed hotspot/test/closed" +subrepos_extra="$jdk_subrepos_extra deploy install sponsors pubs" # Only look in specific locations for possible forests (avoids long searches) pull_default="" @@ -209,6 +213,11 @@ pull_default_tail=`echo ${pull_default} | sed -e 's@^.*://[^/]*/\(.*\)@\1@'` if [ $# -gt 0 ] ; then + if [ "x${1}" = "xjdk" ] ; then + subrepos_extra=$jdk_subrepos_extra + echo "subrepos being cloned are $subrepos_extra" + shift + fi # if there is an "extra sources" path then reparent "extra" repos to that path if [ "x${pull_default}" = "x${pull_default_tail}" ] ; then echo "ERROR: Need initial clone from non-local source" > ${status_output} diff -r e5e9478e2ddb -r e451c01a5747 common/bin/unshuffle_list.txt --- a/common/bin/unshuffle_list.txt Fri Mar 13 12:44:28 2015 +0000 +++ b/common/bin/unshuffle_list.txt Fri Mar 13 12:44:58 2015 +0000 @@ -1299,15 +1299,14 @@ jdk/src/jdk.deploy.osx/macosx/native/libosx/Dispatch.m : jdk/src/macosx/native/com/apple/concurrent/Dispatch.m jdk/src/jdk.deploy.osx/macosx/native/libosx/JavaAppLauncher.m : jdk/src/macosx/native/apple/launcher/JavaAppLauncher.m jdk/src/jdk.deploy.osx/macosx/native/libosx/KeystoreImpl.m : jdk/src/macosx/native/apple/security/KeystoreImpl.m -jdk/src/jdk.dev/share/classes/com/sun/jarsigner : jdk/src/share/classes/com/sun/jarsigner jdk/src/jdk.dev/share/classes/com/sun/tools/hat : jdk/src/share/classes/com/sun/tools/hat -jdk/src/jdk.dev/share/classes/sun/security/tools/jarsigner : jdk/src/share/classes/sun/security/tools/jarsigner -jdk/src/jdk.dev/share/classes/sun/security/tools/policytool : jdk/src/share/classes/sun/security/tools/policytool -jdk/src/jdk.dev/share/classes/sun/tools/jar : jdk/src/share/classes/sun/tools/jar jdk/src/jdk.dev/share/classes/sun/tools/native2ascii : jdk/src/share/classes/sun/tools/native2ascii jdk/src/jdk.hprof.agent/share/classes/com/sun/demo/jvmti/hprof : jdk/src/share/classes/com/sun/demo/jvmti/hprof jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver : jdk/src/share/classes/com/sun/net/httpserver jdk/src/jdk.httpserver/share/classes/sun/net/httpserver : jdk/src/share/classes/sun/net/httpserver +jdk/src/jdk.jartool/share/classes/com/sun/jarsigner : jdk/src/share/classes/com/sun/jarsigner +jdk/src/jdk.jartool/share/classes/sun/security/tools/jarsigner : jdk/src/share/classes/sun/security/tools/jarsigner +jdk/src/jdk.jartool/share/classes/sun/tools/jar : jdk/src/share/classes/sun/tools/jar jdk/src/jdk.jcmd/share/classes/sun/tools/jcmd : jdk/src/share/classes/sun/tools/jcmd jdk/src/jdk.jcmd/share/classes/sun/tools/jinfo : jdk/src/share/classes/sun/tools/jinfo jdk/src/jdk.jcmd/share/classes/sun/tools/jmap : jdk/src/share/classes/sun/tools/jmap @@ -1433,6 +1432,27 @@ jdk/src/jdk.naming.dns/share/classes/sun/net/spi/nameservice/dns : jdk/src/share/classes/sun/net/spi/nameservice/dns jdk/src/jdk.naming.rmi/share/classes/com/sun/jndi/rmi/registry : jdk/src/share/classes/com/sun/jndi/rmi/registry jdk/src/jdk.naming.rmi/share/classes/com/sun/jndi/url/rmi : jdk/src/share/classes/com/sun/jndi/url/rmi +jdk/src/jdk.pack200/share/native/common-unpack/bands.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/bands.cpp +jdk/src/jdk.pack200/share/native/common-unpack/bands.h : jdk/src/share/native/com/sun/java/util/jar/pack/bands.h +jdk/src/jdk.pack200/share/native/common-unpack/bytes.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/bytes.cpp +jdk/src/jdk.pack200/share/native/common-unpack/bytes.h : jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h +jdk/src/jdk.pack200/share/native/common-unpack/coding.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/coding.cpp +jdk/src/jdk.pack200/share/native/common-unpack/coding.h : jdk/src/share/native/com/sun/java/util/jar/pack/coding.h +jdk/src/jdk.pack200/share/native/common-unpack/constants.h : jdk/src/share/native/com/sun/java/util/jar/pack/constants.h +jdk/src/jdk.pack200/share/native/common-unpack/defines.h : jdk/src/share/native/com/sun/java/util/jar/pack/defines.h +jdk/src/jdk.pack200/share/native/common-unpack/unpack.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp +jdk/src/jdk.pack200/share/native/common-unpack/unpack.h : jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h +jdk/src/jdk.pack200/share/native/common-unpack/utils.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp +jdk/src/jdk.pack200/share/native/common-unpack/utils.h : jdk/src/share/native/com/sun/java/util/jar/pack/utils.h +jdk/src/jdk.pack200/share/native/common-unpack/zip.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp +jdk/src/jdk.pack200/share/native/common-unpack/zip.h : jdk/src/share/native/com/sun/java/util/jar/pack/zip.h +jdk/src/jdk.pack200/share/native/libjsdt : jdk/src/share/native/sun/tracing/dtrace +jdk/src/jdk.pack200/share/native/libunpack/jni.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp +jdk/src/jdk.pack200/share/native/unpack200/main.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp +jdk/src/jdk.pack200/unix/native/libjsdt/jvm_symbols_md.c : jdk/src/solaris/native/sun/tracing/dtrace/jvm_symbols_md.c +jdk/src/jdk.pack200/windows/native/libjsdt/jvm_symbols_md.c : jdk/src/windows/native/sun/tracing/dtrace/jvm_symbols_md.c +jdk/src/jdk.pack200/windows/native/unpack200/unpack200_proto.exe.manifest : jdk/src/windows/resource/unpack200_proto.exe.manifest +jdk/src/jdk.policytool/share/classes/sun/security/tools/policytool : jdk/src/share/classes/sun/security/tools/policytool jdk/src/jdk.rmic/share/classes/sun/rmi/rmic : jdk/src/share/classes/sun/rmi/rmic jdk/src/jdk.rmic/share/classes/sun/rmi/rmic/newrmic : jdk/src/share/classes/sun/rmi/rmic/newrmic jdk/src/jdk.rmic/share/classes/sun/rmi/rmic/newrmic/jrmp : jdk/src/share/classes/sun/rmi/rmic/newrmic/jrmp @@ -1442,28 +1462,6 @@ jdk/src/jdk.rmic/share/classes/sun/tools/java : jdk/src/share/classes/sun/tools/java jdk/src/jdk.rmic/share/classes/sun/tools/tree : jdk/src/share/classes/sun/tools/tree jdk/src/jdk.rmic/share/classes/sun/tools/util : jdk/src/share/classes/sun/tools/util -jdk/src/jdk.runtime/share/classes/com/sun/tracing : jdk/src/share/classes/com/sun/tracing -jdk/src/jdk.runtime/share/classes/sun/tracing : jdk/src/share/classes/sun/tracing -jdk/src/jdk.runtime/share/native/common-unpack/bands.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/bands.cpp -jdk/src/jdk.runtime/share/native/common-unpack/bands.h : jdk/src/share/native/com/sun/java/util/jar/pack/bands.h -jdk/src/jdk.runtime/share/native/common-unpack/bytes.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/bytes.cpp -jdk/src/jdk.runtime/share/native/common-unpack/bytes.h : jdk/src/share/native/com/sun/java/util/jar/pack/bytes.h -jdk/src/jdk.runtime/share/native/common-unpack/coding.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/coding.cpp -jdk/src/jdk.runtime/share/native/common-unpack/coding.h : jdk/src/share/native/com/sun/java/util/jar/pack/coding.h -jdk/src/jdk.runtime/share/native/common-unpack/constants.h : jdk/src/share/native/com/sun/java/util/jar/pack/constants.h -jdk/src/jdk.runtime/share/native/common-unpack/defines.h : jdk/src/share/native/com/sun/java/util/jar/pack/defines.h -jdk/src/jdk.runtime/share/native/common-unpack/unpack.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/unpack.cpp -jdk/src/jdk.runtime/share/native/common-unpack/unpack.h : jdk/src/share/native/com/sun/java/util/jar/pack/unpack.h -jdk/src/jdk.runtime/share/native/common-unpack/utils.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/utils.cpp -jdk/src/jdk.runtime/share/native/common-unpack/utils.h : jdk/src/share/native/com/sun/java/util/jar/pack/utils.h -jdk/src/jdk.runtime/share/native/common-unpack/zip.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp -jdk/src/jdk.runtime/share/native/common-unpack/zip.h : jdk/src/share/native/com/sun/java/util/jar/pack/zip.h -jdk/src/jdk.runtime/share/native/libjsdt : jdk/src/share/native/sun/tracing/dtrace -jdk/src/jdk.runtime/share/native/libunpack/jni.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/jni.cpp -jdk/src/jdk.runtime/share/native/unpack200/main.cpp : jdk/src/share/native/com/sun/java/util/jar/pack/main.cpp -jdk/src/jdk.runtime/unix/native/libjsdt/jvm_symbols_md.c : jdk/src/solaris/native/sun/tracing/dtrace/jvm_symbols_md.c -jdk/src/jdk.runtime/windows/native/libjsdt/jvm_symbols_md.c : jdk/src/windows/native/sun/tracing/dtrace/jvm_symbols_md.c -jdk/src/jdk.runtime/windows/native/unpack200/unpack200_proto.exe.manifest : jdk/src/windows/resource/unpack200_proto.exe.manifest jdk/src/jdk.sctp/macosx/classes/sun/nio/ch/sctp : jdk/src/macosx/classes/sun/nio/ch/sctp jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp : jdk/src/share/classes/com/sun/nio/sctp jdk/src/jdk.sctp/share/classes/sun/nio/ch/sctp : jdk/src/share/classes/sun/nio/ch/sctp diff -r e5e9478e2ddb -r e451c01a5747 corba/.hgtags --- a/corba/.hgtags Fri Mar 13 12:44:28 2015 +0000 +++ b/corba/.hgtags Fri Mar 13 12:44:58 2015 +0000 @@ -296,3 +296,4 @@ 2309c02386d1fa4ced5051873ffb9e04874f7a44 jdk9-b51 b8538bbb6f224ab1dabba579137099c166ad4724 jdk9-b52 aadc16ca5ab7d56f92ef9dbfa443595a939241b4 jdk9-b53 +d469c5ad0c763e325a78e0af3016878a57dfc5cc jdk9-b54 diff -r e5e9478e2ddb -r e451c01a5747 hotspot/.hgtags --- a/hotspot/.hgtags Fri Mar 13 12:44:28 2015 +0000 +++ b/hotspot/.hgtags Fri Mar 13 12:44:58 2015 +0000 @@ -456,3 +456,4 @@ 403b9cbadb04d3d1201823591cf931dc93b38e3a jdk9-b51 9fb7fdc554db5be5c5b10f88f529ec3b870c44e3 jdk9-b52 effd5ef0c3eb4bb85aa975c489d6761dbf13ad6a jdk9-b53 +c3b117fa5bdedfafd9ed236403e6d406911195b1 jdk9-b54 diff -r e5e9478e2ddb -r e451c01a5747 jaxp/.hgtags --- a/jaxp/.hgtags Fri Mar 13 12:44:28 2015 +0000 +++ b/jaxp/.hgtags Fri Mar 13 12:44:58 2015 +0000 @@ -296,3 +296,4 @@ 7cb3674cbd8c06222851444285bb66b2952a2a5c jdk9-b51 57b26c883d54f45912bc3885ccad3c6b80960b1f jdk9-b52 d5b5a010a16688f188f5a9247ed873f5100b530c jdk9-b53 +542c0c855ad467624cbedf11bff08e44b86b068d jdk9-b54 diff -r e5e9478e2ddb -r e451c01a5747 jaxp/src/java.xml/share/classes/javax/xml/XMLConstants.java --- a/jaxp/src/java.xml/share/classes/javax/xml/XMLConstants.java Fri Mar 13 12:44:28 2015 +0000 +++ b/jaxp/src/java.xml/share/classes/javax/xml/XMLConstants.java Fri Mar 13 12:44:58 2015 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 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 @@ -247,9 +247,11 @@ *

* *

- * ${JAVA_HOME}/conf/jaxp.properties: This configuration file is in standard - * {@link java.util.Properties} format. If the file exists and the system property is specified, - * its value will be used to override the default of the property. + * jaxp.properties: This configuration file is in standard + * {@link java.util.Properties} format and typically located in the {@code conf} + * directory of the Java installation. If the file exists and the system + * property is specified, its value will be used to override the default + * of the property. *

* *

@@ -314,9 +316,11 @@ *

* *

- * ${JAVA_HOME}/conf/jaxp.properties: This configuration file is in standard - * java.util.Properties format. If the file exists and the system property is specified, - * its value will be used to override the default of the property. + * jaxp.properties: This configuration file is in standard + * {@link java.util.Properties} format and typically located in the {@code conf} + * directory of the Java installation. If the file exists and the system + * property is specified, its value will be used to override the default + * of the property. * * @since 1.7 *

@@ -380,9 +384,11 @@ *

* *

- * ${JAVA_HOME}/conf/jaxp.properties: This configuration file is in standard - * java.util.Properties format. If the file exists and the system property is specified, - * its value will be used to override the default of the property. + * jaxp.properties: This configuration file is in standard + * {@link java.util.Properties} format and typically located in the {@code conf} + * directory of the Java installation. If the file exists and the system + * property is specified, its value will be used to override the default + * of the property. * * @since 1.7 */ diff -r e5e9478e2ddb -r e451c01a5747 jaxp/src/java.xml/share/classes/javax/xml/datatype/DatatypeFactory.java --- a/jaxp/src/java.xml/share/classes/javax/xml/datatype/DatatypeFactory.java Fri Mar 13 12:44:28 2015 +0000 +++ b/jaxp/src/java.xml/share/classes/javax/xml/datatype/DatatypeFactory.java Fri Mar 13 12:44:58 2015 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 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 @@ -32,23 +32,34 @@ import java.util.regex.Pattern; /** - *

Factory that creates new javax.xml.datatype Objects that map XML to/from Java Objects.

- * - *

A new instance of the DatatypeFactory is created through the {@link #newInstance()} method - * that uses the following implementation resolution mechanisms to determine an implementation:

+ * Factory that creates new javax.xml.datatype Objects that map XML to/from Java Objects. + *

+ * A new instance of the {@code DatatypeFactory} is created through the {@link #newInstance()} method + * that uses the following implementation resolution mechanisms to determine an implementation: + *

*

    *
  1. - * If the system property specified by {@link #DATATYPEFACTORY_PROPERTY}, "javax.xml.datatype.DatatypeFactory", + * If the system property specified by {@link #DATATYPEFACTORY_PROPERTY}, "{@code javax.xml.datatype.DatatypeFactory}", * exists, a class with the name of the property value is instantiated. * Any Exception thrown during the instantiation process is wrapped as a {@link DatatypeConfigurationException}. *
  2. *
  3. - * If the file ${JAVA_HOME}/conf/jaxp.properties exists, it is loaded in a {@link java.util.Properties} Object. - * The Properties Object is then queried for the property as documented in the prior step - * and processed as documented in the prior step. + *

    + * Use the configuration file "jaxp.properties". The file is in standard + * {@link java.util.Properties} format and typically located in the + * {@code conf} directory of the Java installation. It contains the fully qualified + * name of the implementation class with the key being the system property + * defined above. + *

    + * The jaxp.properties file is read only once by the JAXP implementation + * and its values are then cached for future use. If the file does not exist + * when the first attempt is made to read from it, no further attempts are + * made to check for its existence. It is not possible to change the value + * of any property in jaxp.properties after it has been read for the first time. *

  4. *
  5. - * Uses the service-provider loading facilities, defined by the {@link java.util.ServiceLoader} class, to attempt + *

    + * Use the service-provider loading facility, defined by the {@link java.util.ServiceLoader} class, to attempt * to locate and load an implementation of the service using the {@linkplain * java.util.ServiceLoader#load(java.lang.Class) default loading mechanism}: * the service-provider loading facility will use the {@linkplain @@ -56,13 +67,14 @@ * to attempt to load the service. If the context class * loader is null, the {@linkplain * ClassLoader#getSystemClassLoader() system class loader} will be used. - *
    + *

    * In case of {@link java.util.ServiceConfigurationError service - * configuration error} a {@link javax.xml.datatype.DatatypeConfigurationException} + * configuration error}, a {@link javax.xml.datatype.DatatypeConfigurationException} * will be thrown. *

  6. *
  7. - * The final mechanism is to attempt to instantiate the Class specified by + *

    + * The final mechanism is to attempt to instantiate the {@code Class} specified by * {@link #DATATYPEFACTORY_IMPLEMENTATION_CLASS}. * Any Exception thrown during the instantiation process is wrapped as a {@link DatatypeConfigurationException}. *

  8. @@ -79,7 +91,7 @@ /** *

    Default property name as defined in JSR 206: Java(TM) API for XML Processing (JAXP) 1.3.

    * - *

    Default value is javax.xml.datatype.DatatypeFactory.

    + *

    Default value is {@code javax.xml.datatype.DatatypeFactory}.

    */ public static final String DATATYPEFACTORY_PROPERTY = // We use a String constant here, rather than calling @@ -120,18 +132,18 @@ /** *

    Protected constructor to prevent instantiation outside of package.

    * - *

    Use {@link #newInstance()} to create a DatatypeFactory.

    + *

    Use {@link #newInstance()} to create a {@code DatatypeFactory}.

    */ protected DatatypeFactory() { } /** - *

    Obtain a new instance of a DatatypeFactory.

    + *

    Obtain a new instance of a {@code DatatypeFactory}.

    * *

    The implementation resolution mechanisms are defined in this * Class's documentation.

    * - * @return New instance of a DatatypeFactory + * @return New instance of a {@code DatatypeFactory} * * @throws DatatypeConfigurationException If the implementation is not * available or cannot be instantiated. @@ -149,12 +161,12 @@ } /** - *

    Obtain a new instance of a DatatypeFactory from class name. + *

    Obtain a new instance of a {@code DatatypeFactory} from class name. * This function is useful when there are multiple providers in the classpath. * It gives more control to the application as it can specify which provider * should be loaded.

    * - *

    Once an application has obtained a reference to a DatatypeFactory + *

    Once an application has obtained a reference to a {@code DatatypeFactory} * it can use the factory to configure and obtain datatype instances.

    * * @@ -168,12 +180,12 @@ * java -Djaxp.debug=1 YourProgram .... * * - * @param factoryClassName fully qualified factory class name that provides implementation of javax.xml.datatype.DatatypeFactory. + * @param factoryClassName fully qualified factory class name that provides implementation of {@code javax.xml.datatype.DatatypeFactory}. * * @param classLoader ClassLoader used to load the factory class. If null * current Thread's context classLoader is used to load the factory class. * - * @return New instance of a DatatypeFactory + * @return New instance of a {@code DatatypeFactory} * * @throws DatatypeConfigurationException if factoryClassName is null, or * the factory class cannot be loaded, instantiated. diff -r e5e9478e2ddb -r e451c01a5747 jaxp/src/java.xml/share/classes/javax/xml/parsers/DocumentBuilderFactory.java --- a/jaxp/src/java.xml/share/classes/javax/xml/parsers/DocumentBuilderFactory.java Fri Mar 13 12:44:28 2015 +0000 +++ b/jaxp/src/java.xml/share/classes/javax/xml/parsers/DocumentBuilderFactory.java Fri Mar 13 12:44:58 2015 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -55,31 +55,34 @@ /** * Obtain a new instance of a - * DocumentBuilderFactory. This static method creates + * {@code DocumentBuilderFactory}. This static method creates * a new factory instance. * This method uses the following ordered lookup procedure to determine - * the DocumentBuilderFactory implementation class to + * the {@code DocumentBuilderFactory} implementation class to * load: + *

    *

    * + *

    * Once an application has obtained a reference to a - * DocumentBuilderFactory it can use the factory to + * {@code DocumentBuilderFactory} it can use the factory to * configure and obtain parser instances. * * *

    Tip for Trouble-shooting

    - *

    Setting the jaxp.debug system property will cause + *

    + * Setting the {@code jaxp.debug} system property will cause * this method to print a lot of debug messages - * to System.err about what it is doing and where it is looking at.

    + * to {@code System.err} about what it is doing and where it is looking at. * - *

    If you have problems loading {@link DocumentBuilder}s, try:

    + *

    + * If you have problems loading {@link DocumentBuilder}s, try: *

          * java -Djaxp.debug=1 YourProgram ....
          * 
    * - * @return New instance of a DocumentBuilderFactory + * @return New instance of a {@code DocumentBuilderFactory} * * @throws FactoryConfigurationError in case of {@linkplain * java.util.ServiceConfigurationError service configuration error} or if @@ -124,31 +131,31 @@ } /** - *

    Obtain a new instance of a DocumentBuilderFactory from class name. + *

    Obtain a new instance of a {@code DocumentBuilderFactory} from class name. * This function is useful when there are multiple providers in the classpath. * It gives more control to the application as it can specify which provider - * should be loaded.

    + * should be loaded. * - *

    Once an application has obtained a reference to a DocumentBuilderFactory - * it can use the factory to configure and obtain parser instances.

    + *

    Once an application has obtained a reference to a {@code DocumentBuilderFactory} + * it can use the factory to configure and obtain parser instances. * * *

    Tip for Trouble-shooting

    - *

    Setting the jaxp.debug system property will cause + *

    Setting the {@code jaxp.debug} system property will cause * this method to print a lot of debug messages - * to System.err about what it is doing and where it is looking at.

    + * to {@code System.err} about what it is doing and where it is looking at.

    * *

    If you have problems try:

    *
          * java -Djaxp.debug=1 YourProgram ....
          * 
    * - * @param factoryClassName fully qualified factory class name that provides implementation of javax.xml.parsers.DocumentBuilderFactory. + * @param factoryClassName fully qualified factory class name that provides implementation of {@code javax.xml.parsers.DocumentBuilderFactory}. * * @param classLoader ClassLoader used to load the factory class. If null * current Thread's context classLoader is used to load the factory class. * - * @return New instance of a DocumentBuilderFactory + * @return New instance of a {@code DocumentBuilderFactory} * * @throws FactoryConfigurationError if factoryClassName is null, or * the factory class cannot be loaded, instantiated. @@ -406,14 +413,14 @@ throws IllegalArgumentException; /** - *

    Set a feature for this DocumentBuilderFactory and DocumentBuilders created by this factory.

    + *

    Set a feature for this {@code DocumentBuilderFactory} and DocumentBuilders created by this factory.

    * *

    * Feature names are fully qualified {@link java.net.URI}s. * Implementations may define their own features. - * A {@link ParserConfigurationException} is thrown if this DocumentBuilderFactory or the + * A {@link ParserConfigurationException} is thrown if this {@code DocumentBuilderFactory} or the * DocumentBuilders it creates cannot support the feature. - * It is possible for a DocumentBuilderFactory to expose a feature value but be unable to change its state. + * It is possible for a {@code DocumentBuilderFactory} to expose a feature value but be unable to change its state. *

    * *

    @@ -436,7 +443,7 @@ * @param name Feature name. * @param value Is feature state true or false. * - * @throws ParserConfigurationException if this DocumentBuilderFactory or the DocumentBuilders + * @throws ParserConfigurationException if this {@code DocumentBuilderFactory} or the DocumentBuilders * it creates cannot support this feature. * @throws NullPointerException If the name parameter is null. * @since 1.5 @@ -450,16 +457,16 @@ *

    * Feature names are fully qualified {@link java.net.URI}s. * Implementations may define their own features. - * An {@link ParserConfigurationException} is thrown if this DocumentBuilderFactory or the + * An {@link ParserConfigurationException} is thrown if this {@code DocumentBuilderFactory} or the * DocumentBuilders it creates cannot support the feature. - * It is possible for an DocumentBuilderFactory to expose a feature value but be unable to change its state. + * It is possible for an {@code DocumentBuilderFactory} to expose a feature value but be unable to change its state. *

    * * @param name Feature name. * * @return State of the named feature. * - * @throws ParserConfigurationException if this DocumentBuilderFactory + * @throws ParserConfigurationException if this {@code DocumentBuilderFactory} * or the DocumentBuilders it creates cannot support this feature. * @since 1.5 */ diff -r e5e9478e2ddb -r e451c01a5747 jaxp/src/java.xml/share/classes/javax/xml/parsers/SAXParserFactory.java --- a/jaxp/src/java.xml/share/classes/javax/xml/parsers/SAXParserFactory.java Fri Mar 13 12:44:28 2015 +0000 +++ b/jaxp/src/java.xml/share/classes/javax/xml/parsers/SAXParserFactory.java Fri Mar 13 12:44:58 2015 +0000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 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 @@ -59,31 +59,34 @@ } /** - * Obtain a new instance of a SAXParserFactory. This + * Obtain a new instance of a {@code SAXParserFactory}. This * static method creates a new factory instance * This method uses the following ordered lookup procedure to determine - * the SAXParserFactory implementation class to + * the {@code SAXParserFactory} implementation class to * load: + *

    *

    * + *

    * Once an application has obtained a reference to a - * SAXParserFactory it can use the factory to + * {@code SAXParserFactory} it can use the factory to * configure and obtain parser instances. * * * *

    Tip for Trouble-shooting

    - *

    Setting the jaxp.debug system property will cause + *

    + * Setting the {@code jaxp.debug} system property will cause * this method to print a lot of debug messages - * to System.err about what it is doing and where it is looking at.

    + * to {@code System.err} about what it is doing and where it is looking at. * - *

    If you have problems loading {@link SAXParser}s, try:

    + *

    + * If you have problems loading {@link SAXParser}s, try: *

          * java -Djaxp.debug=1 YourProgram ....
          * 
    @@ -131,31 +138,32 @@ } /** - *

    Obtain a new instance of a SAXParserFactory from class name. + *

    Obtain a new instance of a {@code SAXParserFactory} from class name. * This function is useful when there are multiple providers in the classpath. * It gives more control to the application as it can specify which provider * should be loaded.

    * - *

    Once an application has obtained a reference to a SAXParserFactory + *

    Once an application has obtained a reference to a {@code SAXParserFactory} * it can use the factory to configure and obtain parser instances.

    * * *

    Tip for Trouble-shooting

    - *

    Setting the jaxp.debug system property will cause + *

    Setting the {@code jaxp.debug} system property will cause * this method to print a lot of debug messages - * to System.err about what it is doing and where it is looking at.

    + * to {@code System.err} about what it is doing and where it is looking at.

    * - *

    If you have problems, try:

    + *

    + * If you have problems, try: *

          * java -Djaxp.debug=1 YourProgram ....
          * 
    * - * @param factoryClassName fully qualified factory class name that provides implementation of javax.xml.parsers.SAXParserFactory. + * @param factoryClassName fully qualified factory class name that provides implementation of {@code javax.xml.parsers.SAXParserFactory}. * * @param classLoader ClassLoader used to load the factory class. If null * current Thread's context classLoader is used to load the factory class. * - * @return New instance of a SAXParserFactory + * @return New instance of a {@code SAXParserFactory} * * @throws FactoryConfigurationError if factoryClassName is null, or * the factory class cannot be loaded, instantiated. diff -r e5e9478e2ddb -r e451c01a5747 jaxp/src/java.xml/share/classes/javax/xml/stream/XMLEventFactory.java --- a/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLEventFactory.java Fri Mar 13 12:44:28 2015 +0000 +++ b/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLEventFactory.java Fri Mar 13 12:44:58 2015 +0000 @@ -23,7 +23,7 @@ */ /* - * Copyright (c) 2009, 2013, by Oracle Corporation. All Rights Reserved. + * Copyright (c) 2009, 2015, by Oracle Corporation. All Rights Reserved. */ package javax.xml.stream; @@ -70,19 +70,34 @@ * This static method creates a new factory instance. * This method uses the following ordered lookup procedure to determine * the XMLEventFactory implementation class to load: - *

    + *

    *

    *

    * Once an application has obtained a reference to a XMLEventFactory it * can use the factory to configure and obtain stream instances. - *

    *

    * Note that this is a new method that replaces the deprecated newInstance() method. * No changes in behavior are defined by this replacement method relative to * the deprecated method. - *

    + * * @throws FactoryConfigurationError in case of {@linkplain * java.util.ServiceConfigurationError service configuration error} or if * the implementation is not available or cannot be instantiated. @@ -143,20 +158,35 @@ *

    * This method uses the following ordered lookup procedure to determine * the XMLEventFactory implementation class to load: - *

    + *

    *

    @@ -179,7 +210,6 @@ * newInstance(String factoryId, ClassLoader classLoader)} method. * No changes in behavior are defined by this replacement method relative * to the deprecated method. - *

    * * @apiNote The parameter factoryId defined here is inconsistent with that * of other JAXP factories where the first parameter is fully qualified diff -r e5e9478e2ddb -r e451c01a5747 jaxp/src/java.xml/share/classes/javax/xml/stream/XMLInputFactory.java --- a/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLInputFactory.java Fri Mar 13 12:44:28 2015 +0000 +++ b/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLInputFactory.java Fri Mar 13 12:44:58 2015 +0000 @@ -68,7 +68,7 @@ * * * @version 1.2 - * @author Copyright (c) 2009 by Oracle Corporation. All Rights Reserved. + * @author Copyright (c) 2009, 2015 by Oracle Corporation. All Rights Reserved. * @see XMLOutputFactory * @see XMLEventReader * @see XMLStreamReader @@ -163,16 +163,28 @@ *

    * *

    @@ -233,20 +245,36 @@ *

    * This method uses the following ordered lookup procedure to determine * the XMLInputFactory implementation class to load: - *

    + *

    *

    @@ -269,7 +298,7 @@ * newInstance(String factoryId, ClassLoader classLoader)} method. * No changes in behavior are defined by this replacement method relative * to the deprecated method. - *

    + * * * @apiNote The parameter factoryId defined here is inconsistent with that * of other JAXP factories where the first parameter is fully qualified diff -r e5e9478e2ddb -r e451c01a5747 jaxp/src/java.xml/share/classes/javax/xml/stream/XMLOutputFactory.java --- a/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLOutputFactory.java Fri Mar 13 12:44:28 2015 +0000 +++ b/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLOutputFactory.java Fri Mar 13 12:44:58 2015 +0000 @@ -102,7 +102,7 @@ * namespace URI of the element or attribute using that prefix.

    * * @version 1.2 - * @author Copyright (c) 2009 by Oracle Corporation. All Rights Reserved. + * @author Copyright (c) 2009, 2015 by Oracle Corporation. All Rights Reserved. * @see XMLInputFactory * @see XMLEventWriter * @see XMLStreamWriter @@ -136,19 +136,34 @@ * This static method creates a new factory instance. This method uses the * following ordered lookup procedure to determine the XMLOutputFactory * implementation class to load: - *

    + *

    *