diff --git a/.hgtags b/.hgtags index cfd1432dae0..aaf78d35e9c 100644 --- a/.hgtags +++ b/.hgtags @@ -284,3 +284,4 @@ b409bc51bc23cfd51f2bd04ea919ec83535af9d0 jdk9-b37 4e7c4d692e934cb9023af8201e7c2b510e9c4ee1 jdk9-b39 82f4cb44b2d7af2352f48568a64b7b6a5ae960cd jdk9-b40 9fffb959eb4197ff806e4ac12244761815b4deee jdk9-b41 +3107be2ba9c6e208a0b86bc7100a141abbc5b5fb jdk9-b42 diff --git a/.hgtags-top-repo b/.hgtags-top-repo index 3bd77e9484b..9cbf0f90d4e 100644 --- a/.hgtags-top-repo +++ b/.hgtags-top-repo @@ -284,3 +284,4 @@ d42c0a90afc3c66ca87543076ec9aafd4b4680de jdk9-b38 512dbbeb1730edcebfec873fc3f1455660b32000 jdk9-b39 cf136458ee747e151a27aa9ea0c1492ea55ef3e7 jdk9-b40 67395f7ca2db3b52e3a62a84888487de5cb9210a jdk9-b41 +f7c11da0b0481d49cc7a65a453336c108191e821 jdk9-b42 diff --git a/common/autoconf/boot-jdk.m4 b/common/autoconf/boot-jdk.m4 index 7c43fee4f03..c0f0c07b4c8 100644 --- a/common/autoconf/boot-jdk.m4 +++ b/common/autoconf/boot-jdk.m4 @@ -73,31 +73,25 @@ AC_DEFUN([BOOTJDK_DO_CHECK], AC_MSG_NOTICE([(This might be an JRE instead of an JDK)]) BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring]) + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + [FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'`] + if test "x$FOUND_CORRECT_VERSION" = x; then + AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring]) + AC_MSG_NOTICE([(Your Boot JDK must be version 8 or 9)]) BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - [FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'`] - if test "x$FOUND_CORRECT_VERSION" = x; then - AC_MSG_NOTICE([Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring]) - AC_MSG_NOTICE([(Your Boot JDK must be version 8 or 9)]) - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes - BASIC_FIXUP_PATH(BOOT_JDK) - AC_MSG_CHECKING([for Boot JDK]) - AC_MSG_RESULT([$BOOT_JDK]) - AC_MSG_CHECKING([Boot JDK version]) - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - AC_MSG_RESULT([$BOOT_JDK_VERSION]) - fi # end check jdk version - fi # end check rt.jar + # We're done! :-) + BOOT_JDK_FOUND=yes + BASIC_FIXUP_PATH(BOOT_JDK) + AC_MSG_CHECKING([for Boot JDK]) + AC_MSG_RESULT([$BOOT_JDK]) + AC_MSG_CHECKING([Boot JDK version]) + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + AC_MSG_RESULT([$BOOT_JDK_VERSION]) + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found diff --git a/common/autoconf/generated-configure.sh b/common/autoconf/generated-configure.sh index 47172bfb91b..0b1567ce0ce 100644 --- a/common/autoconf/generated-configure.sh +++ b/common/autoconf/generated-configure.sh @@ -4329,7 +4329,7 @@ TOOLCHAIN_DESCRIPTION_xlc="IBM XL C/C++" #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1417630847 +DATE_WHEN_GENERATED=1418036274 ############################################################################### # @@ -20203,26 +20203,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -20345,17 +20339,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -20535,26 +20528,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -20677,17 +20664,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -20729,26 +20715,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -20871,17 +20851,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -20916,26 +20895,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -21058,17 +21031,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -21102,26 +21074,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -21244,17 +21210,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -21288,26 +21253,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -21430,17 +21389,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -21465,26 +21423,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -21607,17 +21559,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -21783,26 +21734,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -21925,17 +21870,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -22111,26 +22055,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -22253,17 +22191,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -22326,26 +22263,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -22468,17 +22399,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -22506,26 +22436,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -22648,17 +22572,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -22714,26 +22637,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -22856,17 +22773,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -22894,26 +22810,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -23036,17 +22946,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -23102,26 +23011,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -23244,17 +23147,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -23282,26 +23184,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -23424,17 +23320,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -23490,26 +23385,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -23632,17 +23521,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -23670,26 +23558,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -23812,17 +23694,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -23865,26 +23746,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -24007,17 +23882,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -24043,26 +23917,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -24185,17 +24053,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -24239,26 +24106,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -24381,17 +24242,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -24417,26 +24277,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -24559,17 +24413,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -24612,26 +24465,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -24754,17 +24601,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -24790,26 +24636,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -24932,17 +24772,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -24986,26 +24825,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -25128,17 +24961,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -25164,26 +24996,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -25306,17 +25132,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found @@ -25341,26 +25166,20 @@ $as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain bin/java $as_echo "$as_me: (This might be an JRE instead of an JDK)" >&6;} BOOT_JDK_FOUND=no else - # Do we have an rt.jar? (On MacOSX it is called classes.jar) - if test ! -f "$BOOT_JDK/jre/lib/rt.jar" && test ! -f "$BOOT_JDK/../Classes/classes.jar"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK did not contain an rt.jar; ignoring" >&6;} + # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` + + # Extra M4 quote needed to protect [] in grep expression. + FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` + if test "x$FOUND_CORRECT_VERSION" = x; then + { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 +$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} + { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 +$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} BOOT_JDK_FOUND=no else - # Oh, this is looking good! We probably have found a proper JDK. Is it the correct version? - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | head -n 1` - - # Extra M4 quote needed to protect [] in grep expression. - FOUND_CORRECT_VERSION=`echo $BOOT_JDK_VERSION | grep '\"1\.[89]\.'` - if test "x$FOUND_CORRECT_VERSION" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&5 -$as_echo "$as_me: Potential Boot JDK found at $BOOT_JDK is incorrect JDK version ($BOOT_JDK_VERSION); ignoring" >&6;} - { $as_echo "$as_me:${as_lineno-$LINENO}: (Your Boot JDK must be version 8 or 9)" >&5 -$as_echo "$as_me: (Your Boot JDK must be version 8 or 9)" >&6;} - BOOT_JDK_FOUND=no - else - # We're done! :-) - BOOT_JDK_FOUND=yes + # We're done! :-) + BOOT_JDK_FOUND=yes if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then @@ -25483,17 +25302,16 @@ $as_echo "$as_me: The path of BOOT_JDK, which resolves as \"$path\", is invalid. BOOT_JDK="`cd "$path"; $THEPWDCMD -L`" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Boot JDK" >&5 $as_echo_n "checking for Boot JDK... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK" >&5 $as_echo "$BOOT_JDK" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking Boot JDK version" >&5 $as_echo_n "checking Boot JDK version... " >&6; } - BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 + BOOT_JDK_VERSION=`"$BOOT_JDK/bin/java" -version 2>&1 | $TR '\n\r' ' '` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BOOT_JDK_VERSION" >&5 $as_echo "$BOOT_JDK_VERSION" >&6; } - fi # end check jdk version - fi # end check rt.jar + fi # end check jdk version fi # end check javac fi # end check java fi # end check boot jdk found diff --git a/corba/.hgtags b/corba/.hgtags index 88827d2782a..26c65ed70d5 100644 --- a/corba/.hgtags +++ b/corba/.hgtags @@ -284,3 +284,4 @@ ffd90c81d4ef9d94d880fc852e2fc482ecd9b374 jdk9-b36 53bf36cb722db50815712258a77cb6bbe25a2f5f jdk9-b39 e27c725d6c9d155667b35255f442d4ceb8c3c084 jdk9-b40 1908b886ba1eda46fa725cf1160fe5d30fd1a7e5 jdk9-b41 +078bb11af876fe528d4b516f33ad4dd9bb60549e jdk9-b42 diff --git a/hotspot/.hgtags b/hotspot/.hgtags index 159c2223842..ae7d006d45b 100644 --- a/hotspot/.hgtags +++ b/hotspot/.hgtags @@ -444,3 +444,4 @@ c363a8b87e477ee45d6d3cb2a36cb365141bc596 jdk9-b38 9cb75e5e394827ccbaf2e15524108a412dc4ddc5 jdk9-b39 6b09b3193d731e3288e2a240c504a20d0a06c766 jdk9-b40 1d29b13e8a515a7ea3b882f140576d5d675bc11f jdk9-b41 +38cb4fbd47e3472bd1b5ebac83bda96fe4869c4f jdk9-b42 diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/Generation.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/Generation.java index cc1deb377eb..0da3de8b1ed 100644 --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/Generation.java +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/Generation.java @@ -37,10 +37,7 @@ import sun.jvm.hotspot.runtime.*;
OneSpaceOldGeneration models a heap of old objects contained - in a single contiguous space.
- -Garbage collection is performed using mark-compact.
*/ - -public abstract class OneContigSpaceCardGeneration extends CardGeneration { - private static AddressField theSpaceField; - - static { - VM.registerVMInitializedObserver(new Observer() { - public void update(Observable o, Object data) { - initialize(VM.getVM().getTypeDataBase()); - } - }); - } - - private static synchronized void initialize(TypeDataBase db) { - Type type = db.lookupType("OneContigSpaceCardGeneration"); - - theSpaceField = type.getAddressField("_the_space"); - } - - public OneContigSpaceCardGeneration(Address addr) { - super(addr); - } - - public ContiguousSpace theSpace() { - return (ContiguousSpace) VMObjectFactory.newObject(ContiguousSpace.class, theSpaceField.getValue(addr)); - } - - public boolean isIn(Address p) { - return theSpace().contains(p); - } - - /** Space queries */ - public long capacity() { return theSpace().capacity(); } - public long used() { return theSpace().used(); } - public long free() { return theSpace().free(); } - public long contiguousAvailable() { return theSpace().free() + virtualSpace().uncommittedSize(); } - - public void spaceIterate(SpaceClosure blk, boolean usedOnly) { - blk.doSpace(theSpace()); - } - - public void printOn(PrintStream tty) { - tty.print(" old "); - theSpace().printOn(tty); - } -} diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/TenuredGeneration.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/TenuredGeneration.java index a8964134a6b..50ac92752b8 100644 --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/TenuredGeneration.java +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/TenuredGeneration.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2000, 2014, 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 @@ -24,13 +24,62 @@ package sun.jvm.hotspot.memory; -import sun.jvm.hotspot.debugger.*; +import java.io.*; +import java.util.*; + +import sun.jvm.hotspot.debugger.*; +import sun.jvm.hotspot.runtime.*; +import sun.jvm.hotspot.types.*; + +/**TenuredGeneration models a heap of old objects contained + in a single contiguous space.
+ +Garbage collection is performed using mark-compact.
*/ + +public class TenuredGeneration extends CardGeneration { + private static AddressField theSpaceField; + + static { + VM.registerVMInitializedObserver(new Observer() { + public void update(Observable o, Object data) { + initialize(VM.getVM().getTypeDataBase()); + } + }); + } + + private static synchronized void initialize(TypeDataBase db) { + Type type = db.lookupType("TenuredGeneration"); + + theSpaceField = type.getAddressField("_the_space"); + } -public class TenuredGeneration extends OneContigSpaceCardGeneration { public TenuredGeneration(Address addr) { super(addr); } + public ContiguousSpace theSpace() { + return (ContiguousSpace) VMObjectFactory.newObject(ContiguousSpace.class, theSpaceField.getValue(addr)); + } + + public boolean isIn(Address p) { + return theSpace().contains(p); + } + + /** Space queries */ + public long capacity() { return theSpace().capacity(); } + public long used() { return theSpace().used(); } + public long free() { return theSpace().free(); } + public long contiguousAvailable() { return theSpace().free() + virtualSpace().uncommittedSize(); } + + public void spaceIterate(SpaceClosure blk, boolean usedOnly) { + blk.doSpace(theSpace()); + } + + public void printOn(PrintStream tty) { + tty.print(" old "); + theSpace().printOn(tty); + } + public Generation.Name kind() { return Generation.Name.MARK_SWEEP_COMPACT; } diff --git a/hotspot/make/solaris/makefiles/gcc.make b/hotspot/make/solaris/makefiles/gcc.make index 03ba4458c12..0ab4e9e9fe5 100644 --- a/hotspot/make/solaris/makefiles/gcc.make +++ b/hotspot/make/solaris/makefiles/gcc.make @@ -226,18 +226,8 @@ SHARED_FLAG = -shared # Allow no optimizations. DEBUG_CFLAGS=-O0 -# Use the stabs format for debugging information (this is the default -# on gcc-2.91). It's good enough, has all the information about line -# numbers and local variables, and libjvm.so is only about 16M. -# Change this back to "-g" if you want the most expressive format. -# (warning: that could easily inflate libjvm.so to 150M!) -# Note: The Itanium gcc compiler crashes when using -gstabs. -DEBUG_CFLAGS/ia64 = -g -DEBUG_CFLAGS/amd64 = -g -DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH)) -ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),) - DEBUG_CFLAGS += -gstabs -endif +# Enable debug symbols +DEBUG_CFLAGS += -g # Enable bounds checking. ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) )" "1" diff --git a/hotspot/make/solaris/makefiles/sparcWorks.make b/hotspot/make/solaris/makefiles/sparcWorks.make index 30d0c2ec691..8a8007f26a5 100644 --- a/hotspot/make/solaris/makefiles/sparcWorks.make +++ b/hotspot/make/solaris/makefiles/sparcWorks.make @@ -496,15 +496,6 @@ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) FASTDEBUG_CFLAGS += -xs endif -# Special global options for SS12 -ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) - # There appears to be multiple issues with the new Dwarf2 debug format, so - # we tell the compiler to use the older 'stabs' debug format all the time. - # Note that this needs to be used in optimized compiles too to be 100%. - # This is a workaround for SS12 (5.9) bug 6694600 - CFLAGS += -xdebugformat=stabs -endif - # Enable the following CFLAGS additions if you need to compare the # built ELF objects. # diff --git a/hotspot/src/cpu/x86/vm/vm_version_x86.hpp b/hotspot/src/cpu/x86/vm/vm_version_x86.hpp index 17c34cd525a..be27e3908b2 100644 --- a/hotspot/src/cpu/x86/vm/vm_version_x86.hpp +++ b/hotspot/src/cpu/x86/vm/vm_version_x86.hpp @@ -570,10 +570,12 @@ public: static uint cores_per_cpu() { uint result = 1; if (is_intel()) { - if (supports_processor_topology()) { + bool supports_topology = supports_processor_topology(); + if (supports_topology) { result = _cpuid_info.tpl_cpuidB1_ebx.bits.logical_cpus / _cpuid_info.tpl_cpuidB0_ebx.bits.logical_cpus; - } else { + } + if (!supports_topology || result == 0) { result = (_cpuid_info.dcp_cpuid4_eax.bits.cores_per_cpu + 1); } } else if (is_amd()) { diff --git a/hotspot/src/os/aix/vm/os_aix.cpp b/hotspot/src/os/aix/vm/os_aix.cpp index 4ff173ff7ec..2a77a9e80f6 100644 --- a/hotspot/src/os/aix/vm/os_aix.cpp +++ b/hotspot/src/os/aix/vm/os_aix.cpp @@ -569,13 +569,13 @@ void os::init_system_properties_values() { char *ld_library_path = (char *)NEW_C_HEAP_ARRAY(char, strlen(v) + 1 + sizeof(DEFAULT_LIBPATH) + 1, mtInternal); sprintf(ld_library_path, "%s%s" DEFAULT_LIBPATH, v, v_colon); Arguments::set_library_path(ld_library_path); - FREE_C_HEAP_ARRAY(char, ld_library_path, mtInternal); + FREE_C_HEAP_ARRAY(char, ld_library_path); // Extensions directories. sprintf(buf, "%s" EXTENSIONS_DIR, Arguments::get_java_home()); Arguments::set_ext_dirs(buf); - FREE_C_HEAP_ARRAY(char, buf, mtInternal); + FREE_C_HEAP_ARRAY(char, buf); #undef DEFAULT_LIBPATH #undef EXTENSIONS_DIR @@ -1300,11 +1300,11 @@ bool os::dll_build_name(char* buffer, size_t buflen, // release the storage for (int i = 0; i < n; i++) { if (pelements[i] != NULL) { - FREE_C_HEAP_ARRAY(char, pelements[i], mtInternal); + FREE_C_HEAP_ARRAY(char, pelements[i]); } } if (pelements != NULL) { - FREE_C_HEAP_ARRAY(char*, pelements, mtInternal); + FREE_C_HEAP_ARRAY(char*, pelements); } } else { snprintf(buffer, buflen, "%s/lib%s.so", pname, fname); @@ -4144,8 +4144,29 @@ int os::available(int fd, jlong *bytes) { char* os::pd_map_memory(int fd, const char* file_name, size_t file_offset, char *addr, size_t bytes, bool read_only, bool allow_exec) { - Unimplemented(); - return NULL; + int prot; + int flags = MAP_PRIVATE; + + if (read_only) { + prot = PROT_READ; + } else { + prot = PROT_READ | PROT_WRITE; + } + + if (allow_exec) { + prot |= PROT_EXEC; + } + + if (addr != NULL) { + flags |= MAP_FIXED; + } + + char* mapped_address = (char*)mmap(addr, (size_t)bytes, prot, flags, + fd, file_offset); + if (mapped_address == MAP_FAILED) { + return NULL; + } + return mapped_address; } diff --git a/hotspot/src/os/aix/vm/perfMemory_aix.cpp b/hotspot/src/os/aix/vm/perfMemory_aix.cpp index 18dcc5c8a01..b509cf94110 100644 --- a/hotspot/src/os/aix/vm/perfMemory_aix.cpp +++ b/hotspot/src/os/aix/vm/perfMemory_aix.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. * Copyright 2012, 2013 SAP AG. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -127,7 +127,7 @@ static void save_memory_to_file(char* addr, size_t size) { } } } - FREE_C_HEAP_ARRAY(char, destfile, mtInternal); + FREE_C_HEAP_ARRAY(char, destfile); } @@ -279,14 +279,14 @@ static char* get_user_name(uid_t uid) { "pw_name zero length"); } } - FREE_C_HEAP_ARRAY(char, pwbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, pwbuf); return NULL; } char* user_name = NEW_C_HEAP_ARRAY(char, strlen(p->pw_name) + 1, mtInternal); strcpy(user_name, p->pw_name); - FREE_C_HEAP_ARRAY(char, pwbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, pwbuf); return user_name; } @@ -347,7 +347,7 @@ static char* get_user_name_slow(int vmid, TRAPS) { DIR* subdirp = os::opendir(usrdir_name); if (subdirp == NULL) { - FREE_C_HEAP_ARRAY(char, usrdir_name, mtInternal); + FREE_C_HEAP_ARRAY(char, usrdir_name); continue; } @@ -358,7 +358,7 @@ static char* get_user_name_slow(int vmid, TRAPS) { // symlink can be exploited. // if (!is_directory_secure(usrdir_name)) { - FREE_C_HEAP_ARRAY(char, usrdir_name, mtInternal); + FREE_C_HEAP_ARRAY(char, usrdir_name); os::closedir(subdirp); continue; } @@ -382,13 +382,13 @@ static char* get_user_name_slow(int vmid, TRAPS) { // don't follow symbolic links for the file RESTARTABLE(::lstat(filename, &statbuf), result); if (result == OS_ERR) { - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); continue; } // skip over files that are not regular files. if (!S_ISREG(statbuf.st_mode)) { - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); continue; } @@ -398,7 +398,7 @@ static char* get_user_name_slow(int vmid, TRAPS) { if (statbuf.st_ctime > oldest_ctime) { char* user = strchr(dentry->d_name, '_') + 1; - if (oldest_user != NULL) FREE_C_HEAP_ARRAY(char, oldest_user, mtInternal); + if (oldest_user != NULL) FREE_C_HEAP_ARRAY(char, oldest_user); oldest_user = NEW_C_HEAP_ARRAY(char, strlen(user)+1, mtInternal); strcpy(oldest_user, user); @@ -406,15 +406,15 @@ static char* get_user_name_slow(int vmid, TRAPS) { } } - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); } } os::closedir(subdirp); - FREE_C_HEAP_ARRAY(char, udbuf, mtInternal); - FREE_C_HEAP_ARRAY(char, usrdir_name, mtInternal); + FREE_C_HEAP_ARRAY(char, udbuf); + FREE_C_HEAP_ARRAY(char, usrdir_name); } os::closedir(tmpdirp); - FREE_C_HEAP_ARRAY(char, tdbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, tdbuf); return(oldest_user); } @@ -481,7 +481,7 @@ static void remove_file(const char* dirname, const char* filename) { remove_file(path); - FREE_C_HEAP_ARRAY(char, path, mtInternal); + FREE_C_HEAP_ARRAY(char, path); } @@ -558,7 +558,7 @@ static void cleanup_sharedmem_resources(const char* dirname) { errno = 0; } os::closedir(dirp); - FREE_C_HEAP_ARRAY(char, dbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, dbuf); } // make the user specific temporary directory. Returns true if @@ -703,11 +703,11 @@ static char* mmap_create_shared(size_t size) { fd = create_sharedmem_resources(dirname, filename, size); - FREE_C_HEAP_ARRAY(char, user_name, mtInternal); - FREE_C_HEAP_ARRAY(char, dirname, mtInternal); + FREE_C_HEAP_ARRAY(char, user_name); + FREE_C_HEAP_ARRAY(char, dirname); if (fd == -1) { - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); return NULL; } @@ -723,7 +723,7 @@ static char* mmap_create_shared(size_t size) { warning("mmap failed - %s\n", strerror(errno)); } remove_file(filename); - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); return NULL; } @@ -769,7 +769,7 @@ static void delete_shared_memory(char* addr, size_t size) { remove_file(backing_store_file_name); // Don't.. Free heap memory could deadlock os::abort() if it is called // from signal handler. OS will reclaim the heap memory. - // FREE_C_HEAP_ARRAY(char, backing_store_file_name, mtInternal); + // FREE_C_HEAP_ARRAY(char, backing_store_file_name); backing_store_file_name = NULL; } } @@ -853,9 +853,9 @@ static void mmap_attach_shared(const char* user, int vmid, PerfMemory::PerfMemor // store file, we don't follow them when attaching either. // if (!is_directory_secure(dirname)) { - FREE_C_HEAP_ARRAY(char, dirname, mtInternal); + FREE_C_HEAP_ARRAY(char, dirname); if (luser != user) { - FREE_C_HEAP_ARRAY(char, luser, mtInternal); + FREE_C_HEAP_ARRAY(char, luser); } THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), "Process not found"); @@ -871,9 +871,9 @@ static void mmap_attach_shared(const char* user, int vmid, PerfMemory::PerfMemor strcpy(rfilename, filename); // free the c heap resources that are no longer needed - if (luser != user) FREE_C_HEAP_ARRAY(char, luser, mtInternal); - FREE_C_HEAP_ARRAY(char, dirname, mtInternal); - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + if (luser != user) FREE_C_HEAP_ARRAY(char, luser); + FREE_C_HEAP_ARRAY(char, dirname); + FREE_C_HEAP_ARRAY(char, filename); // open the shared memory file for the give vmid fd = open_sharedmem_file(rfilename, file_flags, CHECK); diff --git a/hotspot/src/os/bsd/vm/os_bsd.cpp b/hotspot/src/os/bsd/vm/os_bsd.cpp index 716c7af9f9a..1d62a712a06 100644 --- a/hotspot/src/os/bsd/vm/os_bsd.cpp +++ b/hotspot/src/os/bsd/vm/os_bsd.cpp @@ -416,14 +416,14 @@ void os::init_system_properties_values() { mtInternal); sprintf(ld_library_path, "%s%s" SYS_EXT_DIR "/lib/%s:" DEFAULT_LIBPATH, v, v_colon, cpu_arch); Arguments::set_library_path(ld_library_path); - FREE_C_HEAP_ARRAY(char, ld_library_path, mtInternal); + FREE_C_HEAP_ARRAY(char, ld_library_path); } // Extensions directories. sprintf(buf, "%s" EXTENSIONS_DIR ":" SYS_EXT_DIR EXTENSIONS_DIR, Arguments::get_java_home()); Arguments::set_ext_dirs(buf); - FREE_C_HEAP_ARRAY(char, buf, mtInternal); + FREE_C_HEAP_ARRAY(char, buf); #else // __APPLE__ @@ -506,7 +506,7 @@ void os::init_system_properties_values() { sprintf(ld_library_path, "%s%s%s%s%s" SYS_EXTENSIONS_DIR ":" SYS_EXTENSIONS_DIRS ":.", v, v_colon, l, l_colon, user_home_dir); Arguments::set_library_path(ld_library_path); - FREE_C_HEAP_ARRAY(char, ld_library_path, mtInternal); + FREE_C_HEAP_ARRAY(char, ld_library_path); } // Extensions directories. @@ -518,7 +518,7 @@ void os::init_system_properties_values() { user_home_dir, Arguments::get_java_home()); Arguments::set_ext_dirs(buf); - FREE_C_HEAP_ARRAY(char, buf, mtInternal); + FREE_C_HEAP_ARRAY(char, buf); #undef SYS_EXTENSIONS_DIR #undef SYS_EXTENSIONS_DIRS @@ -1303,11 +1303,11 @@ bool os::dll_build_name(char* buffer, size_t buflen, // release the storage for (int i = 0; i < n; i++) { if (pelements[i] != NULL) { - FREE_C_HEAP_ARRAY(char, pelements[i], mtInternal); + FREE_C_HEAP_ARRAY(char, pelements[i]); } } if (pelements != NULL) { - FREE_C_HEAP_ARRAY(char*, pelements, mtInternal); + FREE_C_HEAP_ARRAY(char*, pelements); } } else { snprintf(buffer, buflen, "%s/" JNI_LIB_PREFIX "%s" JNI_LIB_SUFFIX, pname, fname); diff --git a/hotspot/src/os/bsd/vm/perfMemory_bsd.cpp b/hotspot/src/os/bsd/vm/perfMemory_bsd.cpp index 362e919d789..513494cf6bf 100644 --- a/hotspot/src/os/bsd/vm/perfMemory_bsd.cpp +++ b/hotspot/src/os/bsd/vm/perfMemory_bsd.cpp @@ -127,7 +127,7 @@ static void save_memory_to_file(char* addr, size_t size) { } } } - FREE_C_HEAP_ARRAY(char, destfile, mtInternal); + FREE_C_HEAP_ARRAY(char, destfile); } @@ -279,14 +279,14 @@ static char* get_user_name(uid_t uid) { "pw_name zero length"); } } - FREE_C_HEAP_ARRAY(char, pwbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, pwbuf); return NULL; } char* user_name = NEW_C_HEAP_ARRAY(char, strlen(p->pw_name) + 1, mtInternal); strcpy(user_name, p->pw_name); - FREE_C_HEAP_ARRAY(char, pwbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, pwbuf); return user_name; } @@ -347,7 +347,7 @@ static char* get_user_name_slow(int vmid, TRAPS) { DIR* subdirp = os::opendir(usrdir_name); if (subdirp == NULL) { - FREE_C_HEAP_ARRAY(char, usrdir_name, mtInternal); + FREE_C_HEAP_ARRAY(char, usrdir_name); continue; } @@ -358,7 +358,7 @@ static char* get_user_name_slow(int vmid, TRAPS) { // symlink can be exploited. // if (!is_directory_secure(usrdir_name)) { - FREE_C_HEAP_ARRAY(char, usrdir_name, mtInternal); + FREE_C_HEAP_ARRAY(char, usrdir_name); os::closedir(subdirp); continue; } @@ -382,13 +382,13 @@ static char* get_user_name_slow(int vmid, TRAPS) { // don't follow symbolic links for the file RESTARTABLE(::lstat(filename, &statbuf), result); if (result == OS_ERR) { - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); continue; } // skip over files that are not regular files. if (!S_ISREG(statbuf.st_mode)) { - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); continue; } @@ -398,7 +398,7 @@ static char* get_user_name_slow(int vmid, TRAPS) { if (statbuf.st_ctime > oldest_ctime) { char* user = strchr(dentry->d_name, '_') + 1; - if (oldest_user != NULL) FREE_C_HEAP_ARRAY(char, oldest_user, mtInternal); + if (oldest_user != NULL) FREE_C_HEAP_ARRAY(char, oldest_user); oldest_user = NEW_C_HEAP_ARRAY(char, strlen(user)+1, mtInternal); strcpy(oldest_user, user); @@ -406,15 +406,15 @@ static char* get_user_name_slow(int vmid, TRAPS) { } } - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); } } os::closedir(subdirp); - FREE_C_HEAP_ARRAY(char, udbuf, mtInternal); - FREE_C_HEAP_ARRAY(char, usrdir_name, mtInternal); + FREE_C_HEAP_ARRAY(char, udbuf); + FREE_C_HEAP_ARRAY(char, usrdir_name); } os::closedir(tmpdirp); - FREE_C_HEAP_ARRAY(char, tdbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, tdbuf); return(oldest_user); } @@ -481,7 +481,7 @@ static void remove_file(const char* dirname, const char* filename) { remove_file(path); - FREE_C_HEAP_ARRAY(char, path, mtInternal); + FREE_C_HEAP_ARRAY(char, path); } @@ -558,7 +558,7 @@ static void cleanup_sharedmem_resources(const char* dirname) { errno = 0; } os::closedir(dirp); - FREE_C_HEAP_ARRAY(char, dbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, dbuf); } // make the user specific temporary directory. Returns true if @@ -725,11 +725,11 @@ static char* mmap_create_shared(size_t size) { fd = create_sharedmem_resources(dirname, filename, size); - FREE_C_HEAP_ARRAY(char, user_name, mtInternal); - FREE_C_HEAP_ARRAY(char, dirname, mtInternal); + FREE_C_HEAP_ARRAY(char, user_name); + FREE_C_HEAP_ARRAY(char, dirname); if (fd == -1) { - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); return NULL; } @@ -743,7 +743,7 @@ static char* mmap_create_shared(size_t size) { warning("mmap failed - %s\n", strerror(errno)); } remove_file(filename); - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); return NULL; } @@ -872,9 +872,9 @@ static void mmap_attach_shared(const char* user, int vmid, PerfMemory::PerfMemor // store file, we don't follow them when attaching either. // if (!is_directory_secure(dirname)) { - FREE_C_HEAP_ARRAY(char, dirname, mtInternal); + FREE_C_HEAP_ARRAY(char, dirname); if (luser != user) { - FREE_C_HEAP_ARRAY(char, luser, mtInternal); + FREE_C_HEAP_ARRAY(char, luser); } THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), "Process not found"); @@ -890,9 +890,9 @@ static void mmap_attach_shared(const char* user, int vmid, PerfMemory::PerfMemor strcpy(rfilename, filename); // free the c heap resources that are no longer needed - if (luser != user) FREE_C_HEAP_ARRAY(char, luser, mtInternal); - FREE_C_HEAP_ARRAY(char, dirname, mtInternal); - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + if (luser != user) FREE_C_HEAP_ARRAY(char, luser); + FREE_C_HEAP_ARRAY(char, dirname); + FREE_C_HEAP_ARRAY(char, filename); // open the shared memory file for the give vmid fd = open_sharedmem_file(rfilename, file_flags, CHECK); diff --git a/hotspot/src/os/linux/vm/os_linux.cpp b/hotspot/src/os/linux/vm/os_linux.cpp index 3186a25e43c..85ec17dcc40 100644 --- a/hotspot/src/os/linux/vm/os_linux.cpp +++ b/hotspot/src/os/linux/vm/os_linux.cpp @@ -402,14 +402,14 @@ void os::init_system_properties_values() { mtInternal); sprintf(ld_library_path, "%s%s" SYS_EXT_DIR "/lib/%s:" DEFAULT_LIBPATH, v, v_colon, cpu_arch); Arguments::set_library_path(ld_library_path); - FREE_C_HEAP_ARRAY(char, ld_library_path, mtInternal); + FREE_C_HEAP_ARRAY(char, ld_library_path); } // Extensions directories. sprintf(buf, "%s" EXTENSIONS_DIR ":" SYS_EXT_DIR EXTENSIONS_DIR, Arguments::get_java_home()); Arguments::set_ext_dirs(buf); - FREE_C_HEAP_ARRAY(char, buf, mtInternal); + FREE_C_HEAP_ARRAY(char, buf); #undef DEFAULT_LIBPATH #undef SYS_EXT_DIR @@ -1614,11 +1614,11 @@ bool os::dll_build_name(char* buffer, size_t buflen, // release the storage for (int i = 0; i < n; i++) { if (pelements[i] != NULL) { - FREE_C_HEAP_ARRAY(char, pelements[i], mtInternal); + FREE_C_HEAP_ARRAY(char, pelements[i]); } } if (pelements != NULL) { - FREE_C_HEAP_ARRAY(char*, pelements, mtInternal); + FREE_C_HEAP_ARRAY(char*, pelements); } } else { snprintf(buffer, buflen, "%s/lib%s.so", pname, fname); @@ -2929,7 +2929,7 @@ void os::Linux::rebuild_cpu_to_node_map() { } } } - FREE_C_HEAP_ARRAY(unsigned long, cpu_map, mtInternal); + FREE_C_HEAP_ARRAY(unsigned long, cpu_map); } int os::Linux::get_node_by_cpu(int cpu_id) { diff --git a/hotspot/src/os/linux/vm/perfMemory_linux.cpp b/hotspot/src/os/linux/vm/perfMemory_linux.cpp index 237966e9d3f..4497cc997dc 100644 --- a/hotspot/src/os/linux/vm/perfMemory_linux.cpp +++ b/hotspot/src/os/linux/vm/perfMemory_linux.cpp @@ -127,7 +127,7 @@ static void save_memory_to_file(char* addr, size_t size) { } } } - FREE_C_HEAP_ARRAY(char, destfile, mtInternal); + FREE_C_HEAP_ARRAY(char, destfile); } @@ -279,14 +279,14 @@ static char* get_user_name(uid_t uid) { "pw_name zero length"); } } - FREE_C_HEAP_ARRAY(char, pwbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, pwbuf); return NULL; } char* user_name = NEW_C_HEAP_ARRAY(char, strlen(p->pw_name) + 1, mtInternal); strcpy(user_name, p->pw_name); - FREE_C_HEAP_ARRAY(char, pwbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, pwbuf); return user_name; } @@ -347,7 +347,7 @@ static char* get_user_name_slow(int vmid, TRAPS) { DIR* subdirp = os::opendir(usrdir_name); if (subdirp == NULL) { - FREE_C_HEAP_ARRAY(char, usrdir_name, mtInternal); + FREE_C_HEAP_ARRAY(char, usrdir_name); continue; } @@ -358,7 +358,7 @@ static char* get_user_name_slow(int vmid, TRAPS) { // symlink can be exploited. // if (!is_directory_secure(usrdir_name)) { - FREE_C_HEAP_ARRAY(char, usrdir_name, mtInternal); + FREE_C_HEAP_ARRAY(char, usrdir_name); os::closedir(subdirp); continue; } @@ -382,13 +382,13 @@ static char* get_user_name_slow(int vmid, TRAPS) { // don't follow symbolic links for the file RESTARTABLE(::lstat(filename, &statbuf), result); if (result == OS_ERR) { - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); continue; } // skip over files that are not regular files. if (!S_ISREG(statbuf.st_mode)) { - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); continue; } @@ -398,7 +398,7 @@ static char* get_user_name_slow(int vmid, TRAPS) { if (statbuf.st_ctime > oldest_ctime) { char* user = strchr(dentry->d_name, '_') + 1; - if (oldest_user != NULL) FREE_C_HEAP_ARRAY(char, oldest_user, mtInternal); + if (oldest_user != NULL) FREE_C_HEAP_ARRAY(char, oldest_user); oldest_user = NEW_C_HEAP_ARRAY(char, strlen(user)+1, mtInternal); strcpy(oldest_user, user); @@ -406,15 +406,15 @@ static char* get_user_name_slow(int vmid, TRAPS) { } } - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); } } os::closedir(subdirp); - FREE_C_HEAP_ARRAY(char, udbuf, mtInternal); - FREE_C_HEAP_ARRAY(char, usrdir_name, mtInternal); + FREE_C_HEAP_ARRAY(char, udbuf); + FREE_C_HEAP_ARRAY(char, usrdir_name); } os::closedir(tmpdirp); - FREE_C_HEAP_ARRAY(char, tdbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, tdbuf); return(oldest_user); } @@ -481,7 +481,7 @@ static void remove_file(const char* dirname, const char* filename) { remove_file(path); - FREE_C_HEAP_ARRAY(char, path, mtInternal); + FREE_C_HEAP_ARRAY(char, path); } @@ -558,7 +558,7 @@ static void cleanup_sharedmem_resources(const char* dirname) { errno = 0; } os::closedir(dirp); - FREE_C_HEAP_ARRAY(char, dbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, dbuf); } // make the user specific temporary directory. Returns true if @@ -725,11 +725,11 @@ static char* mmap_create_shared(size_t size) { fd = create_sharedmem_resources(dirname, filename, size); - FREE_C_HEAP_ARRAY(char, user_name, mtInternal); - FREE_C_HEAP_ARRAY(char, dirname, mtInternal); + FREE_C_HEAP_ARRAY(char, user_name); + FREE_C_HEAP_ARRAY(char, dirname); if (fd == -1) { - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); return NULL; } @@ -743,7 +743,7 @@ static char* mmap_create_shared(size_t size) { warning("mmap failed - %s\n", strerror(errno)); } remove_file(filename); - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); return NULL; } @@ -872,9 +872,9 @@ static void mmap_attach_shared(const char* user, int vmid, PerfMemory::PerfMemor // store file, we don't follow them when attaching either. // if (!is_directory_secure(dirname)) { - FREE_C_HEAP_ARRAY(char, dirname, mtInternal); + FREE_C_HEAP_ARRAY(char, dirname); if (luser != user) { - FREE_C_HEAP_ARRAY(char, luser, mtInternal); + FREE_C_HEAP_ARRAY(char, luser); } THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), "Process not found"); @@ -890,9 +890,9 @@ static void mmap_attach_shared(const char* user, int vmid, PerfMemory::PerfMemor strcpy(rfilename, filename); // free the c heap resources that are no longer needed - if (luser != user) FREE_C_HEAP_ARRAY(char, luser, mtInternal); - FREE_C_HEAP_ARRAY(char, dirname, mtInternal); - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + if (luser != user) FREE_C_HEAP_ARRAY(char, luser); + FREE_C_HEAP_ARRAY(char, dirname); + FREE_C_HEAP_ARRAY(char, filename); // open the shared memory file for the give vmid fd = open_sharedmem_file(rfilename, file_flags, THREAD); diff --git a/hotspot/src/os/solaris/vm/os_solaris.cpp b/hotspot/src/os/solaris/vm/os_solaris.cpp index e61f619a0b0..637bd033913 100644 --- a/hotspot/src/os/solaris/vm/os_solaris.cpp +++ b/hotspot/src/os/solaris/vm/os_solaris.cpp @@ -506,7 +506,7 @@ static bool assign_distribution(processorid_t* id_array, } } if (available_id != NULL) { - FREE_C_HEAP_ARRAY(bool, available_id, mtInternal); + FREE_C_HEAP_ARRAY(bool, available_id); } return true; } @@ -538,7 +538,7 @@ bool os::distribute_processes(uint length, uint* distribution) { } } if (id_array != NULL) { - FREE_C_HEAP_ARRAY(processorid_t, id_array, mtInternal); + FREE_C_HEAP_ARRAY(processorid_t, id_array); } return result; } @@ -673,7 +673,7 @@ void os::init_system_properties_values() { // Determine search path count and required buffer size. if (dlinfo(RTLD_SELF, RTLD_DI_SERINFOSIZE, (void *)info) == -1) { - FREE_C_HEAP_ARRAY(char, buf, mtInternal); + FREE_C_HEAP_ARRAY(char, buf); vm_exit_during_initialization("dlinfo SERINFOSIZE request", dlerror()); } @@ -684,8 +684,8 @@ void os::init_system_properties_values() { // Obtain search path information. if (dlinfo(RTLD_SELF, RTLD_DI_SERINFO, (void *)info) == -1) { - FREE_C_HEAP_ARRAY(char, buf, mtInternal); - FREE_C_HEAP_ARRAY(char, info, mtInternal); + FREE_C_HEAP_ARRAY(char, buf); + FREE_C_HEAP_ARRAY(char, info); vm_exit_during_initialization("dlinfo SERINFO request", dlerror()); } @@ -755,15 +755,15 @@ void os::init_system_properties_values() { // Callee copies into its own buffer. Arguments::set_library_path(library_path); - FREE_C_HEAP_ARRAY(char, library_path, mtInternal); - FREE_C_HEAP_ARRAY(char, info, mtInternal); + FREE_C_HEAP_ARRAY(char, library_path); + FREE_C_HEAP_ARRAY(char, info); } // Extensions directories. sprintf(buf, "%s" EXTENSIONS_DIR ":" SYS_EXT_DIR EXTENSIONS_DIR, Arguments::get_java_home()); Arguments::set_ext_dirs(buf); - FREE_C_HEAP_ARRAY(char, buf, mtInternal); + FREE_C_HEAP_ARRAY(char, buf); #undef SYS_EXT_DIR #undef EXTENSIONS_DIR @@ -1592,11 +1592,11 @@ bool os::dll_build_name(char* buffer, size_t buflen, // release the storage for (int i = 0; i < n; i++) { if (pelements[i] != NULL) { - FREE_C_HEAP_ARRAY(char, pelements[i], mtInternal); + FREE_C_HEAP_ARRAY(char, pelements[i]); } } if (pelements != NULL) { - FREE_C_HEAP_ARRAY(char*, pelements, mtInternal); + FREE_C_HEAP_ARRAY(char*, pelements); } } else { snprintf(buffer, buflen, "%s/lib%s.so", pname, fname); @@ -4683,7 +4683,7 @@ jint os::init_2(void) { size_t lgrp_limit = os::numa_get_groups_num(); int *lgrp_ids = NEW_C_HEAP_ARRAY(int, lgrp_limit, mtInternal); size_t lgrp_num = os::numa_get_leaf_groups(lgrp_ids, lgrp_limit); - FREE_C_HEAP_ARRAY(int, lgrp_ids, mtInternal); + FREE_C_HEAP_ARRAY(int, lgrp_ids); if (lgrp_num < 2) { // There's only one locality group, disable NUMA. UseNUMA = false; diff --git a/hotspot/src/os/solaris/vm/perfMemory_solaris.cpp b/hotspot/src/os/solaris/vm/perfMemory_solaris.cpp index 31173f234d3..b6c3c26f049 100644 --- a/hotspot/src/os/solaris/vm/perfMemory_solaris.cpp +++ b/hotspot/src/os/solaris/vm/perfMemory_solaris.cpp @@ -129,7 +129,7 @@ static void save_memory_to_file(char* addr, size_t size) { } } } - FREE_C_HEAP_ARRAY(char, destfile, mtInternal); + FREE_C_HEAP_ARRAY(char, destfile); } @@ -270,14 +270,14 @@ static char* get_user_name(uid_t uid) { "pw_name zero length"); } } - FREE_C_HEAP_ARRAY(char, pwbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, pwbuf); return NULL; } char* user_name = NEW_C_HEAP_ARRAY(char, strlen(p->pw_name) + 1, mtInternal); strcpy(user_name, p->pw_name); - FREE_C_HEAP_ARRAY(char, pwbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, pwbuf); return user_name; } @@ -338,7 +338,7 @@ static char* get_user_name_slow(int vmid, TRAPS) { DIR* subdirp = os::opendir(usrdir_name); if (subdirp == NULL) { - FREE_C_HEAP_ARRAY(char, usrdir_name, mtInternal); + FREE_C_HEAP_ARRAY(char, usrdir_name); continue; } @@ -349,7 +349,7 @@ static char* get_user_name_slow(int vmid, TRAPS) { // symlink can be exploited. // if (!is_directory_secure(usrdir_name)) { - FREE_C_HEAP_ARRAY(char, usrdir_name, mtInternal); + FREE_C_HEAP_ARRAY(char, usrdir_name); os::closedir(subdirp); continue; } @@ -373,13 +373,13 @@ static char* get_user_name_slow(int vmid, TRAPS) { // don't follow symbolic links for the file RESTARTABLE(::lstat(filename, &statbuf), result); if (result == OS_ERR) { - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); continue; } // skip over files that are not regular files. if (!S_ISREG(statbuf.st_mode)) { - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); continue; } @@ -389,7 +389,7 @@ static char* get_user_name_slow(int vmid, TRAPS) { if (statbuf.st_ctime > oldest_ctime) { char* user = strchr(dentry->d_name, '_') + 1; - if (oldest_user != NULL) FREE_C_HEAP_ARRAY(char, oldest_user, mtInternal); + if (oldest_user != NULL) FREE_C_HEAP_ARRAY(char, oldest_user); oldest_user = NEW_C_HEAP_ARRAY(char, strlen(user)+1, mtInternal); strcpy(oldest_user, user); @@ -397,15 +397,15 @@ static char* get_user_name_slow(int vmid, TRAPS) { } } - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); } } os::closedir(subdirp); - FREE_C_HEAP_ARRAY(char, udbuf, mtInternal); - FREE_C_HEAP_ARRAY(char, usrdir_name, mtInternal); + FREE_C_HEAP_ARRAY(char, udbuf); + FREE_C_HEAP_ARRAY(char, usrdir_name); } os::closedir(tmpdirp); - FREE_C_HEAP_ARRAY(char, tdbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, tdbuf); return(oldest_user); } @@ -520,7 +520,7 @@ static void remove_file(const char* dirname, const char* filename) { remove_file(path); - FREE_C_HEAP_ARRAY(char, path, mtInternal); + FREE_C_HEAP_ARRAY(char, path); } @@ -597,7 +597,7 @@ static void cleanup_sharedmem_resources(const char* dirname) { errno = 0; } os::closedir(dirp); - FREE_C_HEAP_ARRAY(char, dbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, dbuf); } // make the user specific temporary directory. Returns true if @@ -742,11 +742,11 @@ static char* mmap_create_shared(size_t size) { fd = create_sharedmem_resources(dirname, filename, size); - FREE_C_HEAP_ARRAY(char, user_name, mtInternal); - FREE_C_HEAP_ARRAY(char, dirname, mtInternal); + FREE_C_HEAP_ARRAY(char, user_name); + FREE_C_HEAP_ARRAY(char, dirname); if (fd == -1) { - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); return NULL; } @@ -760,7 +760,7 @@ static char* mmap_create_shared(size_t size) { warning("mmap failed - %s\n", strerror(errno)); } remove_file(filename); - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); return NULL; } @@ -890,9 +890,9 @@ static void mmap_attach_shared(const char* user, int vmid, PerfMemory::PerfMemor // store file, we don't follow them when attaching either. // if (!is_directory_secure(dirname)) { - FREE_C_HEAP_ARRAY(char, dirname, mtInternal); + FREE_C_HEAP_ARRAY(char, dirname); if (luser != user) { - FREE_C_HEAP_ARRAY(char, luser, mtInternal); + FREE_C_HEAP_ARRAY(char, luser); } THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), "Process not found"); @@ -908,9 +908,9 @@ static void mmap_attach_shared(const char* user, int vmid, PerfMemory::PerfMemor strcpy(rfilename, filename); // free the c heap resources that are no longer needed - if (luser != user) FREE_C_HEAP_ARRAY(char, luser, mtInternal); - FREE_C_HEAP_ARRAY(char, dirname, mtInternal); - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + if (luser != user) FREE_C_HEAP_ARRAY(char, luser); + FREE_C_HEAP_ARRAY(char, dirname); + FREE_C_HEAP_ARRAY(char, filename); // open the shared memory file for the give vmid fd = open_sharedmem_file(rfilename, file_flags, THREAD); diff --git a/hotspot/src/os/windows/vm/os_windows.cpp b/hotspot/src/os/windows/vm/os_windows.cpp index b2841b4aa40..924dd4966e6 100644 --- a/hotspot/src/os/windows/vm/os_windows.cpp +++ b/hotspot/src/os/windows/vm/os_windows.cpp @@ -211,7 +211,7 @@ void os::init_system_properties_values() { } strcpy(home_path, home_dir); Arguments::set_java_home(home_path); - FREE_C_HEAP_ARRAY(char, home_path, mtInternal); + FREE_C_HEAP_ARRAY(char, home_path); dll_path = NEW_C_HEAP_ARRAY(char, strlen(home_dir) + strlen(bin) + 1, mtInternal); @@ -221,7 +221,7 @@ void os::init_system_properties_values() { strcpy(dll_path, home_dir); strcat(dll_path, bin); Arguments::set_dll_dir(dll_path); - FREE_C_HEAP_ARRAY(char, dll_path, mtInternal); + FREE_C_HEAP_ARRAY(char, dll_path); if (!set_boot_path('\\', ';')) { return; @@ -276,7 +276,7 @@ void os::init_system_properties_values() { strcat(library_path, ";."); Arguments::set_library_path(library_path); - FREE_C_HEAP_ARRAY(char, library_path, mtInternal); + FREE_C_HEAP_ARRAY(char, library_path); } // Default extensions directory @@ -1123,7 +1123,7 @@ DIR * os::opendir(const char *dirname) { dirp->path = (char *)malloc(strlen(dirname) + 5, mtInternal); if (dirp->path == 0) { - free(dirp, mtInternal); + free(dirp); errno = ENOMEM; return 0; } @@ -1131,13 +1131,13 @@ DIR * os::opendir(const char *dirname) { fattr = GetFileAttributes(dirp->path); if (fattr == 0xffffffff) { - free(dirp->path, mtInternal); - free(dirp, mtInternal); + free(dirp->path); + free(dirp); errno = ENOENT; return 0; } else if ((fattr & FILE_ATTRIBUTE_DIRECTORY) == 0) { - free(dirp->path, mtInternal); - free(dirp, mtInternal); + free(dirp->path); + free(dirp); errno = ENOTDIR; return 0; } @@ -1155,8 +1155,8 @@ DIR * os::opendir(const char *dirname) { dirp->handle = FindFirstFile(dirp->path, &dirp->find_data); if (dirp->handle == INVALID_HANDLE_VALUE) { if (GetLastError() != ERROR_FILE_NOT_FOUND) { - free(dirp->path, mtInternal); - free(dirp, mtInternal); + free(dirp->path); + free(dirp); errno = EACCES; return 0; } @@ -1194,8 +1194,8 @@ int os::closedir(DIR *dirp) { } dirp->handle = INVALID_HANDLE_VALUE; } - free(dirp->path, mtInternal); - free(dirp, mtInternal); + free(dirp->path); + free(dirp); return 0; } @@ -1262,11 +1262,11 @@ bool os::dll_build_name(char *buffer, size_t buflen, // release the storage for (int i = 0; i < n; i++) { if (pelements[i] != NULL) { - FREE_C_HEAP_ARRAY(char, pelements[i], mtInternal); + FREE_C_HEAP_ARRAY(char, pelements[i]); } } if (pelements != NULL) { - FREE_C_HEAP_ARRAY(char*, pelements, mtInternal); + FREE_C_HEAP_ARRAY(char*, pelements); } } else { jio_snprintf(buffer, buflen, "%s\\%s.dll", pname, fname); @@ -2732,7 +2732,7 @@ class NUMANodeListHolder { void free_node_list() { if (_numa_used_node_list != NULL) { - FREE_C_HEAP_ARRAY(int, _numa_used_node_list, mtInternal); + FREE_C_HEAP_ARRAY(int, _numa_used_node_list); } } @@ -3768,8 +3768,8 @@ HINSTANCE os::win32::load_Windows_dll(const char* name, char *ebuf, return NULL; } -#define MAX_EXIT_HANDLES 16 -#define EXIT_TIMEOUT 1000 /* 1 sec */ +#define MAX_EXIT_HANDLES PRODUCT_ONLY(32) NOT_PRODUCT(128) +#define EXIT_TIMEOUT PRODUCT_ONLY(1000) NOT_PRODUCT(4000) /* 1 sec in product, 4 sec in debug */ static BOOL CALLBACK init_crit_sect_call(PINIT_ONCE, PVOID pcrit_sect, PVOID*) { InitializeCriticalSection((CRITICAL_SECTION*)pcrit_sect); @@ -3820,6 +3820,9 @@ int os::win32::exit_process_or_thread(Ept what, int exit_code) { // If there's no free slot in the array of the kept handles, we'll have to // wait until at least one thread completes exiting. if ((handle_count = j) == MAX_EXIT_HANDLES) { + // Raise the priority of the oldest exiting thread to increase its chances + // to complete sooner. + SetThreadPriority(handles[0], THREAD_PRIORITY_ABOVE_NORMAL); res = WaitForMultipleObjects(MAX_EXIT_HANDLES, handles, FALSE, EXIT_TIMEOUT); if (res >= WAIT_OBJECT_0 && res < (WAIT_OBJECT_0 + MAX_EXIT_HANDLES)) { i = (res - WAIT_OBJECT_0); @@ -3828,7 +3831,8 @@ int os::win32::exit_process_or_thread(Ept what, int exit_code) { handles[i] = handles[i + 1]; } } else { - warning("WaitForMultipleObjects failed in %s: %d\n", __FILE__, __LINE__); + warning("WaitForMultipleObjects %s in %s: %d\n", + (res == WAIT_FAILED ? "failed" : "timed out"), __FILE__, __LINE__); // Don't keep handles, if we failed waiting for them. for (i = 0; i < MAX_EXIT_HANDLES; ++i) { CloseHandle(handles[i]); @@ -3854,9 +3858,20 @@ int os::win32::exit_process_or_thread(Ept what, int exit_code) { if (handle_count > 0) { // Before ending the process, make sure all the threads that had called // _endthreadex() completed. + + // Set the priority level of the current thread to the same value as + // the priority level of exiting threads. + // This is to ensure it will be given a fair chance to execute if + // the timeout expires. + hthr = GetCurrentThread(); + SetThreadPriority(hthr, THREAD_PRIORITY_ABOVE_NORMAL); + for (i = 0; i < handle_count; ++i) { + SetThreadPriority(handles[i], THREAD_PRIORITY_ABOVE_NORMAL); + } res = WaitForMultipleObjects(handle_count, handles, TRUE, EXIT_TIMEOUT); - if (res == WAIT_FAILED) { - warning("WaitForMultipleObjects failed in %s: %d\n", __FILE__, __LINE__); + if (res < WAIT_OBJECT_0 || res >= (WAIT_OBJECT_0 + MAX_EXIT_HANDLES)) { + warning("WaitForMultipleObjects %s in %s: %d\n", + (res == WAIT_FAILED ? "failed" : "timed out"), __FILE__, __LINE__); } for (i = 0; i < handle_count; ++i) { CloseHandle(handles[i]); @@ -4631,7 +4646,7 @@ static int stdinAvailable(int fd, long *pbytes) { error = ::PeekConsoleInput(han, lpBuffer, numEvents, &numEventsRead); if (error == 0) { - os::free(lpBuffer, mtInternal); + os::free(lpBuffer); return FALSE; } @@ -4652,7 +4667,7 @@ static int stdinAvailable(int fd, long *pbytes) { } if (lpBuffer != NULL) { - os::free(lpBuffer, mtInternal); + os::free(lpBuffer); } *pbytes = (long) actualLength; diff --git a/hotspot/src/os/windows/vm/perfMemory_windows.cpp b/hotspot/src/os/windows/vm/perfMemory_windows.cpp index edbd0bf622d..74ebe7d6f8a 100644 --- a/hotspot/src/os/windows/vm/perfMemory_windows.cpp +++ b/hotspot/src/os/windows/vm/perfMemory_windows.cpp @@ -122,7 +122,7 @@ static void save_memory_to_file(char* addr, size_t size) { } } - FREE_C_HEAP_ARRAY(char, destfile, mtInternal); + FREE_C_HEAP_ARRAY(char, destfile); } // Shared Memory Implementation Details @@ -335,7 +335,7 @@ static char* get_user_name_slow(int vmid) { DIR* subdirp = os::opendir(usrdir_name); if (subdirp == NULL) { - FREE_C_HEAP_ARRAY(char, usrdir_name, mtInternal); + FREE_C_HEAP_ARRAY(char, usrdir_name); continue; } @@ -346,7 +346,7 @@ static char* get_user_name_slow(int vmid) { // symlink can be exploited. // if (!is_directory_secure(usrdir_name)) { - FREE_C_HEAP_ARRAY(char, usrdir_name, mtInternal); + FREE_C_HEAP_ARRAY(char, usrdir_name); os::closedir(subdirp); continue; } @@ -367,13 +367,13 @@ static char* get_user_name_slow(int vmid) { strcat(filename, udentry->d_name); if (::stat(filename, &statbuf) == OS_ERR) { - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); continue; } // skip over files that are not regular files. if ((statbuf.st_mode & S_IFMT) != S_IFREG) { - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); continue; } @@ -395,22 +395,22 @@ static char* get_user_name_slow(int vmid) { if (statbuf.st_ctime > latest_ctime) { char* user = strchr(dentry->d_name, '_') + 1; - if (latest_user != NULL) FREE_C_HEAP_ARRAY(char, latest_user, mtInternal); + if (latest_user != NULL) FREE_C_HEAP_ARRAY(char, latest_user); latest_user = NEW_C_HEAP_ARRAY(char, strlen(user)+1, mtInternal); strcpy(latest_user, user); latest_ctime = statbuf.st_ctime; } - FREE_C_HEAP_ARRAY(char, filename, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); } } os::closedir(subdirp); - FREE_C_HEAP_ARRAY(char, udbuf, mtInternal); - FREE_C_HEAP_ARRAY(char, usrdir_name, mtInternal); + FREE_C_HEAP_ARRAY(char, udbuf); + FREE_C_HEAP_ARRAY(char, usrdir_name); } os::closedir(tmpdirp); - FREE_C_HEAP_ARRAY(char, tdbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, tdbuf); return(latest_user); } @@ -502,7 +502,7 @@ static void remove_file(const char* dirname, const char* filename) { } } - FREE_C_HEAP_ARRAY(char, path, mtInternal); + FREE_C_HEAP_ARRAY(char, path); } // returns true if the process represented by pid is alive, otherwise @@ -683,7 +683,7 @@ static void cleanup_sharedmem_resources(const char* dirname) { errno = 0; } os::closedir(dirp); - FREE_C_HEAP_ARRAY(char, dbuf, mtInternal); + FREE_C_HEAP_ARRAY(char, dbuf); } // create a file mapping object with the requested name, and size @@ -749,11 +749,11 @@ static void free_security_desc(PSECURITY_DESCRIPTOR pSD) { // be an ACL we enlisted. free the resources. // if (success && exists && pACL != NULL && !isdefault) { - FREE_C_HEAP_ARRAY(char, pACL, mtInternal); + FREE_C_HEAP_ARRAY(char, pACL); } // free the security descriptor - FREE_C_HEAP_ARRAY(char, pSD, mtInternal); + FREE_C_HEAP_ARRAY(char, pSD); } } @@ -768,7 +768,7 @@ static void free_security_attr(LPSECURITY_ATTRIBUTES lpSA) { lpSA->lpSecurityDescriptor = NULL; // free the security attributes structure - FREE_C_HEAP_ARRAY(char, lpSA, mtInternal); + FREE_C_HEAP_ARRAY(char, lpSA); } } @@ -815,7 +815,7 @@ static PSID get_user_sid(HANDLE hProcess) { warning("GetTokenInformation failure: lasterror = %d," " rsize = %d\n", GetLastError(), rsize); } - FREE_C_HEAP_ARRAY(char, token_buf, mtInternal); + FREE_C_HEAP_ARRAY(char, token_buf); CloseHandle(hAccessToken); return NULL; } @@ -828,15 +828,15 @@ static PSID get_user_sid(HANDLE hProcess) { warning("GetTokenInformation failure: lasterror = %d," " rsize = %d\n", GetLastError(), rsize); } - FREE_C_HEAP_ARRAY(char, token_buf, mtInternal); - FREE_C_HEAP_ARRAY(char, pSID, mtInternal); + FREE_C_HEAP_ARRAY(char, token_buf); + FREE_C_HEAP_ARRAY(char, pSID); CloseHandle(hAccessToken); return NULL; } // close the access token. CloseHandle(hAccessToken); - FREE_C_HEAP_ARRAY(char, token_buf, mtInternal); + FREE_C_HEAP_ARRAY(char, token_buf); return pSID; } @@ -920,7 +920,7 @@ static bool add_allow_aces(PSECURITY_DESCRIPTOR pSD, if (PrintMiscellaneous && Verbose) { warning("InitializeAcl failure: lasterror = %d \n", GetLastError()); } - FREE_C_HEAP_ARRAY(char, newACL, mtInternal); + FREE_C_HEAP_ARRAY(char, newACL); return false; } @@ -933,7 +933,7 @@ static bool add_allow_aces(PSECURITY_DESCRIPTOR pSD, if (PrintMiscellaneous && Verbose) { warning("InitializeAcl failure: lasterror = %d \n", GetLastError()); } - FREE_C_HEAP_ARRAY(char, newACL, mtInternal); + FREE_C_HEAP_ARRAY(char, newACL); return false; } if (((ACCESS_ALLOWED_ACE *)ace)->Header.AceFlags && INHERITED_ACE) { @@ -960,7 +960,7 @@ static bool add_allow_aces(PSECURITY_DESCRIPTOR pSD, if (PrintMiscellaneous && Verbose) { warning("AddAce failure: lasterror = %d \n", GetLastError()); } - FREE_C_HEAP_ARRAY(char, newACL, mtInternal); + FREE_C_HEAP_ARRAY(char, newACL); return false; } } @@ -976,7 +976,7 @@ static bool add_allow_aces(PSECURITY_DESCRIPTOR pSD, warning("AddAccessAllowedAce failure: lasterror = %d \n", GetLastError()); } - FREE_C_HEAP_ARRAY(char, newACL, mtInternal); + FREE_C_HEAP_ARRAY(char, newACL); return false; } } @@ -991,7 +991,7 @@ static bool add_allow_aces(PSECURITY_DESCRIPTOR pSD, if (PrintMiscellaneous && Verbose) { warning("InitializeAcl failure: lasterror = %d \n", GetLastError()); } - FREE_C_HEAP_ARRAY(char, newACL, mtInternal); + FREE_C_HEAP_ARRAY(char, newACL); return false; } if (!AddAce(newACL, ACL_REVISION, MAXDWORD, ace, @@ -999,7 +999,7 @@ static bool add_allow_aces(PSECURITY_DESCRIPTOR pSD, if (PrintMiscellaneous && Verbose) { warning("AddAce failure: lasterror = %d \n", GetLastError()); } - FREE_C_HEAP_ARRAY(char, newACL, mtInternal); + FREE_C_HEAP_ARRAY(char, newACL); return false; } ace_index++; @@ -1012,7 +1012,7 @@ static bool add_allow_aces(PSECURITY_DESCRIPTOR pSD, warning("SetSecurityDescriptorDacl failure:" " lasterror = %d \n", GetLastError()); } - FREE_C_HEAP_ARRAY(char, newACL, mtInternal); + FREE_C_HEAP_ARRAY(char, newACL); return false; } @@ -1032,7 +1032,7 @@ static bool add_allow_aces(PSECURITY_DESCRIPTOR pSD, warning("SetSecurityDescriptorControl failure:" " lasterror = %d \n", GetLastError()); } - FREE_C_HEAP_ARRAY(char, newACL, mtInternal); + FREE_C_HEAP_ARRAY(char, newACL); return false; } } @@ -1149,7 +1149,7 @@ static LPSECURITY_ATTRIBUTES make_user_everybody_admin_security_attr( // create a security attributes structure with access control // entries as initialized above. LPSECURITY_ATTRIBUTES lpSA = make_security_attr(aces, 3); - FREE_C_HEAP_ARRAY(char, aces[0].pSid, mtInternal); + FREE_C_HEAP_ARRAY(char, aces[0].pSid); FreeSid(everybodySid); FreeSid(administratorsSid); return(lpSA); @@ -1464,15 +1464,15 @@ static char* mapping_create_shared(size_t size) { assert(((size != 0) && (size % os::vm_page_size() == 0)), "unexpected PerfMemry region size"); - FREE_C_HEAP_ARRAY(char, user, mtInternal); + FREE_C_HEAP_ARRAY(char, user); // create the shared memory resources sharedmem_fileMapHandle = create_sharedmem_resources(dirname, filename, objectname, size); - FREE_C_HEAP_ARRAY(char, filename, mtInternal); - FREE_C_HEAP_ARRAY(char, objectname, mtInternal); - FREE_C_HEAP_ARRAY(char, dirname, mtInternal); + FREE_C_HEAP_ARRAY(char, filename); + FREE_C_HEAP_ARRAY(char, objectname); + FREE_C_HEAP_ARRAY(char, dirname); if (sharedmem_fileMapHandle == NULL) { return NULL; @@ -1627,7 +1627,7 @@ static void open_file_mapping(const char* user, int vmid, // store file, we also don't following them when attaching // if (!is_directory_secure(dirname)) { - FREE_C_HEAP_ARRAY(char, dirname, mtInternal); + FREE_C_HEAP_ARRAY(char, dirname); THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(), "Process not found"); } @@ -1646,10 +1646,10 @@ static void open_file_mapping(const char* user, int vmid, strcpy(robjectname, objectname); // free the c heap resources that are no longer needed - if (luser != user) FREE_C_HEAP_ARRAY(char, luser, mtInternal); - FREE_C_HEAP_ARRAY(char, dirname, mtInternal); - FREE_C_HEAP_ARRAY(char, filename, mtInternal); - FREE_C_HEAP_ARRAY(char, objectname, mtInternal); + if (luser != user) FREE_C_HEAP_ARRAY(char, luser); + FREE_C_HEAP_ARRAY(char, dirname); + FREE_C_HEAP_ARRAY(char, filename); + FREE_C_HEAP_ARRAY(char, objectname); if (*sizep == 0) { size = sharedmem_filesize(rfilename, CHECK); diff --git a/hotspot/src/share/vm/asm/codeBuffer.cpp b/hotspot/src/share/vm/asm/codeBuffer.cpp index 025880fa71a..4567735fbd6 100644 --- a/hotspot/src/share/vm/asm/codeBuffer.cpp +++ b/hotspot/src/share/vm/asm/codeBuffer.cpp @@ -1025,7 +1025,7 @@ class CodeString: public CHeapObjWelcome to the world of typography! Here is a book that you may find useful.
+qName:
Number of Attributes: <0> Line# <0>
+characters...length is:77
+< Welcome to the world of typography! Here is a book that you may find useful.>
+endElement...
+namespaceURI: qName:
+characters...length is:5
+<
+ >
+startElement...
+namespaceURI: qName: Number of Attributes: <0> Line# <0>
+characters...length is:77
+< Welcome to the world of typography! Here is a book that you may find useful.>
+endElement...
+namespaceURI: qName:
+characters...length is:5
+<
+ >
+startElement...
+namespaceURI:
+ * This method may block indefinitely reading from the input stream, or
+ * writing to the output stream. The behavior for the case where the input
+ * and/or output stream is asynchronously closed, or the thread
+ * interrupted during the transfer, is highly input and output stream
+ * specific, and therefore not specified.
+ *
+ * If an I/O error occurs reading from the input stream or writing to the
+ * output stream, then it may do so after some bytes have been read or
+ * written. Consequently the input stream may not be at end of stream and
+ * one, or both, streams may be in an inconsistent state. It is strongly
+ * recommended that both streams be promptly closed if an I/O error occurs.
+ *
+ * @param out the output stream, non-null
+ * @return the number of bytes transferred
+ * @throws IOException if an I/O error occurs when reading or writing
+ * @throws NullPointerException if {@code out} is {@code null}
+ *
+ * @since 1.9
+ */
+ public long transferTo(OutputStream out) throws IOException {
+ Objects.requireNonNull(out, "out");
+ long transferred = 0;
+ byte[] buffer = new byte[TRANSFER_BUFFER_SIZE];
+ int read;
+ while ((read = this.read(buffer, 0, TRANSFER_BUFFER_SIZE)) >= 0) {
+ out.write(buffer, 0, read);
+ transferred += read;
+ }
+ return transferred;
+ }
}
diff --git a/jdk/src/java.base/share/classes/java/io/RandomAccessFile.java b/jdk/src/java.base/share/classes/java/io/RandomAccessFile.java
index d6b79b245cd..ef5e76aea76 100644
--- a/jdk/src/java.base/share/classes/java/io/RandomAccessFile.java
+++ b/jdk/src/java.base/share/classes/java/io/RandomAccessFile.java
@@ -26,6 +26,7 @@
package java.io;
import java.nio.channels.FileChannel;
+import java.util.concurrent.atomic.AtomicBoolean;
import sun.nio.ch.FileChannelImpl;
@@ -59,7 +60,7 @@ import sun.nio.ch.FileChannelImpl;
public class RandomAccessFile implements DataOutput, DataInput, Closeable {
private FileDescriptor fd;
- private FileChannel channel = null;
+ private volatile FileChannel channel;
private boolean rw;
/**
@@ -68,8 +69,7 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable {
*/
private final String path;
- private Object closeLock = new Object();
- private volatile boolean closed = false;
+ private final AtomicBoolean closed = new AtomicBoolean(false);
private static final int O_RDONLY = 1;
private static final int O_RDWR = 2;
@@ -276,13 +276,24 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable {
* @since 1.4
* @spec JSR-51
*/
- public final FileChannel getChannel() {
- synchronized (this) {
- if (channel == null) {
- channel = FileChannelImpl.open(fd, path, true, rw, this);
+ public FileChannel getChannel() {
+ FileChannel fc = this.channel;
+ if (fc == null) {
+ synchronized (this) {
+ fc = this.channel;
+ if (fc == null) {
+ this.channel = fc = FileChannelImpl.open(fd, path, true, rw, this);
+ if (closed.get()) {
+ try {
+ fc.close();
+ } catch (IOException ioe) {
+ throw new InternalError(ioe); // should not happen
+ }
+ }
+ }
}
- return channel;
}
+ return fc;
}
/**
@@ -604,14 +615,14 @@ public class RandomAccessFile implements DataOutput, DataInput, Closeable {
* @spec JSR-51
*/
public void close() throws IOException {
- synchronized (closeLock) {
- if (closed) {
- return;
- }
- closed = true;
+ if (!closed.compareAndSet(false, true)) {
+ // if compareAndSet() returns false closed was already true
+ return;
}
- if (channel != null) {
- channel.close();
+
+ FileChannel fc = channel;
+ if (fc != null) {
+ fc.close();
}
fd.closeAll(new Closeable() {
diff --git a/jdk/src/java.base/share/classes/java/lang/Class.java b/jdk/src/java.base/share/classes/java/lang/Class.java
index 25ed5c47fec..0fb2ef19a05 100644
--- a/jdk/src/java.base/share/classes/java/lang/Class.java
+++ b/jdk/src/java.base/share/classes/java/lang/Class.java
@@ -1529,7 +1529,7 @@ public final class Class If this {@code Class} object represents a class or interface with no
+ * If this {@code Class} object represents a class or interface with
* no accessible public fields, then this method returns an array of length
* 0.
*
diff --git a/jdk/src/java.base/share/classes/java/lang/ClassValue.java b/jdk/src/java.base/share/classes/java/lang/ClassValue.java
index 4fc33d355bd..1b4c114a8ac 100644
--- a/jdk/src/java.base/share/classes/java/lang/ClassValue.java
+++ b/jdk/src/java.base/share/classes/java/lang/ClassValue.java
@@ -162,7 +162,7 @@ public abstract class ClassValue
* If version were not volatile, one thread T1 could persistently hold onto
- * a stale value this.value == V1, while while another thread T2 advances
+ * a stale value this.value == V1, while another thread T2 advances
* (under a lock) to this.value == V2. This will typically be harmless,
* but if T1 and T2 interact causally via some other channel, such that
* T1's further actions are constrained (in the JMM) to happen after
diff --git a/jdk/src/java.base/share/classes/java/lang/Integer.java b/jdk/src/java.base/share/classes/java/lang/Integer.java
index d22ce9bef35..35079175e1d 100644
--- a/jdk/src/java.base/share/classes/java/lang/Integer.java
+++ b/jdk/src/java.base/share/classes/java/lang/Integer.java
@@ -840,7 +840,7 @@ public final class Integer extends Number implements Comparable If the {@link #redirectErrorStream redirectErrorStream}
+ * If the {@link #redirectErrorStream() redirectErrorStream}
* attribute has been set {@code true}, then the redirection set
* by this method has no effect.
*
diff --git a/jdk/src/java.base/share/classes/java/lang/String.java b/jdk/src/java.base/share/classes/java/lang/String.java
index 92d381b3259..a44682a5b44 100644
--- a/jdk/src/java.base/share/classes/java/lang/String.java
+++ b/jdk/src/java.base/share/classes/java/lang/String.java
@@ -184,8 +184,8 @@ public final class String
* The length
*
* @throws IndexOutOfBoundsException
- * If the {@code offset} and {@code count} arguments index
- * characters outside the bounds of the {@code value} array
+ * If {@code offset} is negative, {@code count} is negative, or
+ * {@code offset} is greater than {@code value.length - count}
*/
public String(char value[], int offset, int count) {
if (offset < 0) {
@@ -224,8 +224,8 @@ public final class String
* codePoints}
*
* @throws IndexOutOfBoundsException
- * If the {@code offset} and {@code count} arguments index
- * characters outside the bounds of the {@code codePoints} array
+ * If {@code offset} is negative, {@code count} is negative, or
+ * {@code offset} is greater than {@code codePoints.length - count}
*
* @since 1.5
*/
@@ -297,7 +297,8 @@ public final class String
* The length
*
* @throws IndexOutOfBoundsException
- * If the {@code offset} or {@code count} argument is invalid
+ * If {@code offset} is negative, {@code count} is negative, or
+ * {@code offset} is greater than {@code ascii.length - count}
*
* @see #String(byte[], int)
* @see #String(byte[], int, int, java.lang.String)
@@ -401,8 +402,8 @@ public final class String
* If the named charset is not supported
*
* @throws IndexOutOfBoundsException
- * If the {@code offset} and {@code length} arguments index
- * characters outside the bounds of the {@code bytes} array
+ * If {@code offset} is negative, {@code length} is negative, or
+ * {@code offset} is greater than {@code bytes.length - length}
*
* @since 1.1
*/
@@ -439,8 +440,8 @@ public final class String
* decode the {@code bytes}
*
* @throws IndexOutOfBoundsException
- * If the {@code offset} and {@code length} arguments index
- * characters outside the bounds of the {@code bytes} array
+ * If {@code offset} is negative, {@code length} is negative, or
+ * {@code offset} is greater than {@code bytes.length - length}
*
* @since 1.6
*/
@@ -524,8 +525,8 @@ public final class String
* The number of bytes to decode
*
* @throws IndexOutOfBoundsException
- * If the {@code offset} and the {@code length} arguments index
- * characters outside the bounds of the {@code bytes} array
+ * If {@code offset} is negative, {@code length} is negative, or
+ * {@code offset} is greater than {@code bytes.length - length}
*
* @since 1.1
*/
diff --git a/jdk/src/java.base/share/classes/java/lang/Throwable.java b/jdk/src/java.base/share/classes/java/lang/Throwable.java
index d71f9ecdf0d..f86ee0df424 100644
--- a/jdk/src/java.base/share/classes/java/lang/Throwable.java
+++ b/jdk/src/java.base/share/classes/java/lang/Throwable.java
@@ -202,7 +202,7 @@ public class Throwable implements Serializable {
* The field is initialized to a zero-length array. A {@code
* null} value of this field indicates subsequent calls to {@link
* #setStackTrace(StackTraceElement[])} and {@link
- * #fillInStackTrace()} will be be no-ops.
+ * #fillInStackTrace()} will be no-ops.
*
* @serial
* @since 1.4
diff --git a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java
index 0fe5a897417..eda6a6d27df 100644
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java
@@ -2028,7 +2028,7 @@ return invoker;
MethodType oldType = target.type();
if (oldType == newType) return target;
if (oldType.explicitCastEquivalentToAsType(newType)) {
- return target.asType(newType);
+ return target.asFixedArity().asType(newType);
}
return MethodHandleImpl.makePairwiseConvert(target, newType, false);
}
diff --git a/jdk/src/java.base/share/classes/java/lang/invoke/MethodType.java b/jdk/src/java.base/share/classes/java/lang/invoke/MethodType.java
index b15c188d72b..2d1df3a5353 100644
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodType.java
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodType.java
@@ -116,7 +116,7 @@ class MethodType implements java.io.Serializable {
/**
* Construct a temporary unchecked instance of MethodType for use only as a key to the intern table.
* Does not check the given parameters for validity, and must be discarded after it is used as a searching key.
- * The parameters are reversed for this constructor, so that is is not accidentally used.
+ * The parameters are reversed for this constructor, so that it is not accidentally used.
*/
private MethodType(Class>[] ptypes, Class> rtype) {
this.rtype = rtype;
@@ -1006,7 +1006,7 @@ class MethodType implements java.io.Serializable {
* Therefore, the number returned is the number of arguments
* including and after the given parameter,
* plus the number of long or double arguments
- * at or after after the argument for the given parameter.
+ * at or after the argument for the given parameter.
*
* This method is included for the benefit of applications that must
* generate bytecodes that process method handles and invokedynamic.
diff --git a/jdk/src/java.base/share/classes/java/security/DomainCombiner.java b/jdk/src/java.base/share/classes/java/security/DomainCombiner.java
index 7aadc7e7b2f..4785df4cd80 100644
--- a/jdk/src/java.base/share/classes/java/security/DomainCombiner.java
+++ b/jdk/src/java.base/share/classes/java/security/DomainCombiner.java
@@ -92,7 +92,7 @@ public interface DomainCombiner {
* @param currentDomains the ProtectionDomains associated with the
* current execution Thread, up to the most recent
* privileged {@code ProtectionDomain}.
- * The ProtectionDomains are are listed in order of execution,
+ * The ProtectionDomains are listed in order of execution,
* with the most recently executing {@code ProtectionDomain}
* residing at the beginning of the array. This parameter may
* be {@code null} if the current execution Thread
diff --git a/jdk/src/java.base/share/classes/java/security/Provider.java b/jdk/src/java.base/share/classes/java/security/Provider.java
index 2584528a464..fa20e072d5f 100644
--- a/jdk/src/java.base/share/classes/java/security/Provider.java
+++ b/jdk/src/java.base/share/classes/java/security/Provider.java
@@ -1711,7 +1711,7 @@ public abstract class Provider extends Properties {
*
* @param parameter the parameter to test
*
- * @return false if this this service cannot use the specified
+ * @return false if this service cannot use the specified
* parameter; true if it can possibly use the parameter
*
* @throws InvalidParameterException if the value of parameter is
diff --git a/jdk/src/java.base/share/classes/java/security/Signature.java b/jdk/src/java.base/share/classes/java/security/Signature.java
index 738cf84ef5e..bb2e75dd1ac 100644
--- a/jdk/src/java.base/share/classes/java/security/Signature.java
+++ b/jdk/src/java.base/share/classes/java/security/Signature.java
@@ -776,7 +776,7 @@ public abstract class Signature extends SignatureSpi {
/**
* Updates the data to be signed or verified using the specified
* ByteBuffer. Processes the {@code data.remaining()} bytes
- * starting at at {@code data.position()}.
+ * starting at {@code data.position()}.
* Upon return, the buffer's position will be equal to its limit;
* its limit will not have changed.
*
diff --git a/jdk/src/java.base/share/classes/java/security/SignatureSpi.java b/jdk/src/java.base/share/classes/java/security/SignatureSpi.java
index d6d2bc39b5e..7e78726f3b8 100644
--- a/jdk/src/java.base/share/classes/java/security/SignatureSpi.java
+++ b/jdk/src/java.base/share/classes/java/security/SignatureSpi.java
@@ -131,7 +131,7 @@ public abstract class SignatureSpi {
/**
* Updates the data to be signed or verified using the specified
* ByteBuffer. Processes the {@code data.remaining()} bytes
- * starting at at {@code data.position()}.
+ * starting at {@code data.position()}.
* Upon return, the buffer's position will be equal to its limit;
* its limit will not have changed.
*
diff --git a/jdk/src/java.base/share/classes/java/security/interfaces/DSAKeyPairGenerator.java b/jdk/src/java.base/share/classes/java/security/interfaces/DSAKeyPairGenerator.java
index e50cfd24c4b..558ac4419c2 100644
--- a/jdk/src/java.base/share/classes/java/security/interfaces/DSAKeyPairGenerator.java
+++ b/jdk/src/java.base/share/classes/java/security/interfaces/DSAKeyPairGenerator.java
@@ -54,7 +54,7 @@ import java.security.*;
*
*
*
- * Note: it is not always necessary to do do algorithm-specific
+ * Note: it is not always necessary to do algorithm-specific
* initialization for a DSA key pair generator. That is, it is not always
* necessary to call an {@code initialize} method in this interface.
* Algorithm-independent initialization using the {@code initialize} method
diff --git a/jdk/src/java.base/share/classes/java/text/ChoiceFormat.java b/jdk/src/java.base/share/classes/java/text/ChoiceFormat.java
index f8bd9a90b59..601b019e886 100644
--- a/jdk/src/java.base/share/classes/java/text/ChoiceFormat.java
+++ b/jdk/src/java.base/share/classes/java/text/ChoiceFormat.java
@@ -272,7 +272,7 @@ public class ChoiceFormat extends NumberFormat {
double tryLess = Math.abs(Math.IEEEremainder(less, 1.0d));
if (tryLessOrEqual < tryLess) {
- result.append(""+choiceLimits[i]);
+ result.append(choiceLimits[i]);
result.append('#');
} else {
if (choiceLimits[i] == Double.POSITIVE_INFINITY) {
@@ -280,7 +280,7 @@ public class ChoiceFormat extends NumberFormat {
} else if (choiceLimits[i] == Double.NEGATIVE_INFINITY) {
result.append("-\u221E");
} else {
- result.append(""+less);
+ result.append(less);
}
result.append('<');
}
diff --git a/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java b/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java
index 661d81de0e1..02994ad5042 100644
--- a/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java
+++ b/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java
@@ -1097,7 +1097,7 @@ public final class DateTimeFormatter {
* This returns an immutable formatter capable of formatting and parsing
* the ISO-8601 instant format.
* When formatting, the second-of-minute is always output.
- * The nano-of-second outputs zero, three, six or nine digits digits as necessary.
+ * The nano-of-second outputs zero, three, six or nine digits as necessary.
* When parsing, time to at least the seconds field is required.
* Fractional seconds from zero to nine are parsed.
* The localized decimal style is not used.
diff --git a/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java b/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java
index f2fce14586e..4616017c8e1 100644
--- a/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java
+++ b/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java
@@ -793,7 +793,7 @@ public final class DateTimeFormatterBuilder {
* They are converted to a date-time with a zone-offset of UTC and formatted
* using the standard ISO-8601 format.
* With this method, formatting nano-of-second outputs zero, three, six
- * or nine digits digits as necessary.
+ * or nine digits as necessary.
* The localized decimal style is not used.
*
* The instant is obtained using {@link ChronoField#INSTANT_SECONDS INSTANT_SECONDS}
diff --git a/jdk/src/java.base/share/classes/java/util/Arrays.java b/jdk/src/java.base/share/classes/java/util/Arrays.java
index 628ce831ab6..a7d9dccd7a5 100644
--- a/jdk/src/java.base/share/classes/java/util/Arrays.java
+++ b/jdk/src/java.base/share/classes/java/util/Arrays.java
@@ -1221,7 +1221,7 @@ public class Arrays {
*
* The implementation takes equal advantage of ascending and
* descending order in its input array, and can take advantage of
- * ascending and descending order in different parts of the the same
+ * ascending and descending order in different parts of the same
* input array. It is well-suited to merging two or more sorted arrays:
* simply concatenate the arrays and sort the resulting array.
*
@@ -1280,7 +1280,7 @@ public class Arrays {
*
* The implementation takes equal advantage of ascending and
* descending order in its input array, and can take advantage of
- * ascending and descending order in different parts of the the same
+ * ascending and descending order in different parts of the same
* input array. It is well-suited to merging two or more sorted arrays:
* simply concatenate the arrays and sort the resulting array.
*
@@ -1407,7 +1407,7 @@ public class Arrays {
*
* The implementation takes equal advantage of ascending and
* descending order in its input array, and can take advantage of
- * ascending and descending order in different parts of the the same
+ * ascending and descending order in different parts of the same
* input array. It is well-suited to merging two or more sorted arrays:
* simply concatenate the arrays and sort the resulting array.
*
@@ -1473,7 +1473,7 @@ public class Arrays {
*
* The implementation takes equal advantage of ascending and
* descending order in its input array, and can take advantage of
- * ascending and descending order in different parts of the the same
+ * ascending and descending order in different parts of the same
* input array. It is well-suited to merging two or more sorted arrays:
* simply concatenate the arrays and sort the resulting array.
*
diff --git a/jdk/src/java.base/share/classes/java/util/Base64.java b/jdk/src/java.base/share/classes/java/util/Base64.java
index 172acbeab58..2ccfdec9f60 100644
--- a/jdk/src/java.base/share/classes/java/util/Base64.java
+++ b/jdk/src/java.base/share/classes/java/util/Base64.java
@@ -556,7 +556,7 @@ public class Base64 {
*
* It is the responsibility of the invoker of this method to make
* sure the output byte array {@code dst} has enough space for decoding
- * all bytes from the input byte array. No bytes will be be written to
+ * all bytes from the input byte array. No bytes will be written to
* the output byte array if the output byte array is not big enough.
*
* If the input byte array is not in valid Base64 encoding scheme
diff --git a/jdk/src/java.base/share/classes/java/util/Calendar.java b/jdk/src/java.base/share/classes/java/util/Calendar.java
index 8ad1aa47ff0..ff0f2f7cb13 100644
--- a/jdk/src/java.base/share/classes/java/util/Calendar.java
+++ b/jdk/src/java.base/share/classes/java/util/Calendar.java
@@ -2993,7 +2993,7 @@ public abstract class Calendar implements Serializable, Cloneable, Comparable If still no result bundle is found, the base name alone is looked up. If
* this still fails, a Type variables will be created or lookup as necessary in the
* scope s.
* @param d - the generic declaration (class, interface, method or
- * constructor) that thsi factory services
+ * constructor) that this factory services
* @param s the scope in which the factory will allocate and search for
* type variables
* @return an instance of CoreReflectionFactory
diff --git a/jdk/src/java.base/share/classes/sun/reflect/generics/factory/GenericsFactory.java b/jdk/src/java.base/share/classes/sun/reflect/generics/factory/GenericsFactory.java
index 9f32d3d9fb1..b3ed7b4ec48 100644
--- a/jdk/src/java.base/share/classes/sun/reflect/generics/factory/GenericsFactory.java
+++ b/jdk/src/java.base/share/classes/sun/reflect/generics/factory/GenericsFactory.java
@@ -42,7 +42,7 @@ import sun.reflect.generics.tree.FieldTypeSignature;
* of a specific implementation by using this interface. For example,
* repositories of generic type information are initialized with a
* factory conforming to this interface, and use it to generate the
- * tpe information they are required to provide. As a result, such
+ * type information they are required to provide. As a result, such
* repository code can be shared across different reflective systems.
*/
public interface GenericsFactory {
@@ -60,7 +60,7 @@ public interface GenericsFactory {
TypeVariable> makeTypeVariable(String name,
FieldTypeSignature[] bounds);
/**
- * Return an instance of the ParameterizedType interface
+ * Returns an instance of the ParameterizedType interface
* that corresponds to a generic type instantiation of the
* generic declaration declaration with actual type arguments
* typeArgs.
@@ -123,7 +123,7 @@ public interface GenericsFactory {
/**
* Returns a (possibly generic) array type.
* If the component type is a parameterized type, it must
- * only have unbounded wildcard arguemnts, otherwise
+ * only have unbounded wildcard arguments, otherwise
* a MalformedParameterizedTypeException is thrown.
* @param componentType - the component type of the array
* @return a (possibly generic) array type.
diff --git a/jdk/src/java.base/share/classes/sun/reflect/generics/parser/SignatureParser.java b/jdk/src/java.base/share/classes/sun/reflect/generics/parser/SignatureParser.java
index 16a7f0a69f1..2202d2b99f4 100644
--- a/jdk/src/java.base/share/classes/sun/reflect/generics/parser/SignatureParser.java
+++ b/jdk/src/java.base/share/classes/sun/reflect/generics/parser/SignatureParser.java
@@ -227,7 +227,7 @@ public class SignatureParser {
* "<" FormalTypeParameter+ ">"
*/
private FormalTypeParameter[] parseFormalTypeParameters(){
- List Subclasses may be used, for example when when the algorithm ID has
+ * Subclasses may be used, for example when the algorithm ID has
* associated parameters which some code (e.g. code using public keys) needs
* to have parsed. Two examples of such algorithms are Diffie-Hellman key
* exchange, and the Digital Signature Standard Algorithm (DSS/DSA).
diff --git a/jdk/src/java.base/share/classes/sun/security/x509/GeneralName.java b/jdk/src/java.base/share/classes/sun/security/x509/GeneralName.java
index e9b69f0b3e9..0c03fa3167d 100644
--- a/jdk/src/java.base/share/classes/sun/security/x509/GeneralName.java
+++ b/jdk/src/java.base/share/classes/sun/security/x509/GeneralName.java
@@ -221,7 +221,7 @@ public class GeneralName {
/**
* Encode the name to the specified DerOutputStream.
*
- * @param out the DerOutputStream to encode the the GeneralName to.
+ * @param out the DerOutputStream to encode the GeneralName to.
* @exception IOException on encoding errors.
*/
public void encode(DerOutputStream out) throws IOException {
diff --git a/jdk/src/java.base/share/classes/sun/security/x509/URIName.java b/jdk/src/java.base/share/classes/sun/security/x509/URIName.java
index a1eef610b67..4331461f1b9 100644
--- a/jdk/src/java.base/share/classes/sun/security/x509/URIName.java
+++ b/jdk/src/java.base/share/classes/sun/security/x509/URIName.java
@@ -302,7 +302,7 @@ public class URIName implements GeneralNameInterface {
*
* RFC5280: For URIs, the constraint applies to the host part of the name.
* The constraint may specify a host or a domain. Examples would be
- * "foo.bar.com"; and ".xyz.com". When the the constraint begins with
+ * "foo.bar.com"; and ".xyz.com". When the constraint begins with
* a period, it may be expanded with one or more subdomains. That is,
* the constraint ".xyz.com" is satisfied by both abc.xyz.com and
* abc.def.xyz.com. However, the constraint ".xyz.com" is not satisfied
diff --git a/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java b/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java
index 8caef8c0820..1b786063172 100644
--- a/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java
+++ b/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java
@@ -336,7 +336,7 @@ public class X500Name implements GeneralNameInterface, Principal {
}
/**
- * Return an immutable List of the the AVAs contained in all the
+ * Return an immutable List of the AVAs contained in all the
* RDNs of this X500Name.
*/
public List
* The colorSpace parameter allows the user to specify in which colorspace
diff --git a/jdk/src/java.desktop/share/classes/java/awt/WaitDispatchSupport.java b/jdk/src/java.desktop/share/classes/java/awt/WaitDispatchSupport.java
index a504252be6a..15129a457ea 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/WaitDispatchSupport.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/WaitDispatchSupport.java
@@ -208,7 +208,7 @@ class WaitDispatchSupport implements SecondaryLoop {
}
}, interval);
}
- // Dispose SequencedEvent we are dispatching on the the current
+ // Dispose SequencedEvent we are dispatching on the current
// AppContext, to prevent us from hang - see 4531693 for details
SequencedEvent currentSE = KeyboardFocusManager.
getCurrentKeyboardFocusManager().getCurrentSequencedEvent();
@@ -220,7 +220,7 @@ class WaitDispatchSupport implements SecondaryLoop {
}
// In case the exit() method is called before starting
// new event pump it will post the waking event to EDT.
- // The event will be handled after the the new event pump
+ // The event will be handled after the new event pump
// starts. Thus, the enter() method will not hang.
//
// Event pump should be privileged. See 6300270.
diff --git a/jdk/src/java.desktop/share/classes/java/awt/datatransfer/DataFlavor.java b/jdk/src/java.desktop/share/classes/java/awt/datatransfer/DataFlavor.java
index 84b18fc332a..7d215445447 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/datatransfer/DataFlavor.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/datatransfer/DataFlavor.java
@@ -384,7 +384,7 @@ public class DataFlavor implements Externalizable, Cloneable {
* @param representationClass the class used to transfer data in this flavor
* @param humanPresentableName the human-readable string used to identify
* this flavor; if this parameter is Positive values 1 through 61 are embedding levels,
diff --git a/jdk/src/java.desktop/share/classes/java/awt/image/ColorConvertOp.java b/jdk/src/java.desktop/share/classes/java/awt/image/ColorConvertOp.java
index 7c188871cfc..72093e31f54 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/image/ColorConvertOp.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/image/ColorConvertOp.java
@@ -577,7 +577,7 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
/**
* Returns the bounding box of the destination, given this source.
- * Note that this will be the same as the the bounding box of the
+ * Note that this will be the same as the bounding box of the
* source.
* @param src the source
* For instances with unsigned sample values,
* the unnormalized color/alpha component representation is only
- * supported if two conditions hold. First, sample value value 0 must
+ * supported if two conditions hold. First, sample value 0 must
* map to normalized component value 0.0 and sample value 2n - 1
* to 1.0. Second the min/max range of all color components of the
*
- * The {@code Transient} annotation may be be used
+ * The {@code Transient} annotation may be used
* in any of the methods that are involved
* in a {@link FeatureDescriptor} subclass
* to identify the transient feature in the annotated class and its subclasses.
diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/IIOParam.java b/jdk/src/java.desktop/share/classes/javax/imageio/IIOParam.java
index ca73f6acbd9..d60407918c1 100644
--- a/jdk/src/java.desktop/share/classes/javax/imageio/IIOParam.java
+++ b/jdk/src/java.desktop/share/classes/javax/imageio/IIOParam.java
@@ -442,7 +442,7 @@ public abstract class IIOParam {
}
/**
- * Returns the set of of source bands to be used. The returned
+ * Returns the set of source bands to be used. The returned
* value is that set by the most recent call to
*
* This function may cause the component's opaque property to change.
@@ -1538,7 +1538,7 @@ public abstract class AbstractButton extends JComponent implements ItemSelectabl
}
/**
- * Returns the keyboard mnemonic from the the current model.
+ * Returns the keyboard mnemonic from the current model.
* @return the keyboard mnemonic from the model
*/
public int getMnemonic() {
@@ -2562,7 +2562,7 @@ public abstract class AbstractButton extends JComponent implements ItemSelectabl
* Perform the specified Action on the object
*
* @param i zero-based index of actions
- * @return true if the the action was performed; else false.
+ * @return true if the action was performed; else false.
*/
public boolean doAccessibleAction(int i) {
if (i == 0) {
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/ArrayTable.java b/jdk/src/java.desktop/share/classes/javax/swing/ArrayTable.java
index ff4c18a5865..477a6545b29 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/ArrayTable.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/ArrayTable.java
@@ -51,7 +51,7 @@ class ArrayTable implements Cloneable {
/**
* Writes the passed in ArrayTable to the passed in ObjectOutputStream.
* The data is saved as an integer indicating how many key/value
- * pairs are being archived, followed by the the key/value pairs. If
+ * pairs are being archived, followed by the key/value pairs. If
*
* This is a convenience method that ActionMap/InputMap and
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/Box.java b/jdk/src/java.desktop/share/classes/javax/swing/Box.java
index d332214a3c5..73588b3cda6 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/Box.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/Box.java
@@ -82,7 +82,7 @@ public class Box extends JComponent implements Accessible {
/**
* Creates a
- * Elements aligned to the baseline are resizable if they have have
+ * Elements aligned to the baseline are resizable if they have
* a baseline resize behavior of {@code CONSTANT_ASCENT} or
* {@code CONSTANT_DESCENT}. Elements with a baseline resize
* behavior of {@code OTHER} or {@code CENTER_OFFSET} are not resizable.
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JComboBox.java b/jdk/src/java.desktop/share/classes/javax/swing/JComboBox.java
index 018b669479f..4fc2b054d26 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JComboBox.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JComboBox.java
@@ -1919,7 +1919,7 @@ implements ItemSelectable,ListDataListener,ActionListener, Accessible {
* Perform the specified Action on the object
*
* @param i zero-based index of actions
- * @return true if the the action was performed; else false.
+ * @return true if the action was performed; else false.
*/
public boolean doAccessibleAction(int i) {
if (i == 0) {
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java b/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java
index 9ad45645342..30763a3ebc2 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java
@@ -1882,7 +1882,7 @@ public abstract class JComponent extends Container implements Serializable,
}
/**
- * Sets the the horizontal alignment.
+ * Sets the horizontal alignment.
*
* @param alignmentY the new horizontal alignment
* @see #getAlignmentY
@@ -1911,7 +1911,7 @@ public abstract class JComponent extends Container implements Serializable,
}
/**
- * Sets the the vertical alignment.
+ * Sets the vertical alignment.
*
* @param alignmentX the new vertical alignment
* @see #getAlignmentX
@@ -4799,7 +4799,7 @@ public abstract class JComponent extends Container implements Serializable,
/**
* Notifies this component that it no longer has a parent component.
* When this method is invoked, any
- * This method is expected to have the the side effect of
+ * This method is expected to have the side effect of
* establishing the content type, and therefore setting the
* appropriate
@@ -1826,7 +1826,7 @@ public class JEditorPane extends JTextComponent {
* Perform the specified Action on the object
*
* @param i zero-based index of actions
- * @return true if the the action was performed; else false.
+ * @return true if the action was performed; else false.
* @see #getAccessibleActionCount
*/
public boolean doAccessibleAction(int i) {
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JLayer.java b/jdk/src/java.desktop/share/classes/javax/swing/JLayer.java
index a4a2aaa5268..9c22489f5b6 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JLayer.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JLayer.java
@@ -131,7 +131,7 @@ import java.security.PrivilegedAction;
*
* The preferred way to listen for changes in list selection is to add
* {@code ListSelectionListener}s directly to the {@code JList}. {@code JList}
- * then takes care of listening to the the selection model and notifying your
+ * then takes care of listening to the selection model and notifying your
* listeners of change.
*
* Responsibility for listening to selection changes in order to keep the list's
@@ -717,7 +717,7 @@ public class JList
* This is a JavaBeans bound property.
*
- * @param height the height to be used for for all cells in the list
+ * @param height the height to be used for all cells in the list
* @see #setPrototypeCellValue
* @see #setFixedCellWidth
* @see JComponent#addPropertyChangeListener
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JMenuItem.java b/jdk/src/java.desktop/share/classes/javax/swing/JMenuItem.java
index f63dd709a3e..7af01881951 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JMenuItem.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JMenuItem.java
@@ -178,7 +178,7 @@ public class JMenuItem extends AbstractButton implements Accessible,MenuElement
}
/**
- * Inititalizes the focusability of the the FileInputStream by
@@ -313,14 +313,14 @@ class FileInputStream extends InputStream
* @spec JSR-51
*/
public void close() throws IOException {
- synchronized (closeLock) {
- if (closed) {
- return;
- }
- closed = true;
+ if (!closed.compareAndSet(false, true)) {
+ // if compareAndSet() returns false closed was already true
+ return;
}
- if (channel != null) {
- channel.close();
+
+ FileChannel fc = channel;
+ if (fc != null) {
+ fc.close();
}
fd.closeAll(new Closeable() {
@@ -364,12 +364,23 @@ class FileInputStream extends InputStream
* @spec JSR-51
*/
public FileChannel getChannel() {
- synchronized (this) {
- if (channel == null) {
- channel = FileChannelImpl.open(fd, path, true, false, this);
+ FileChannel fc = this.channel;
+ if (fc == null) {
+ synchronized (this) {
+ fc = this.channel;
+ if (fc == null) {
+ this.channel = fc = FileChannelImpl.open(fd, path, true, false, this);
+ if (closed.get()) {
+ try {
+ fc.close();
+ } catch (IOException ioe) {
+ throw new InternalError(ioe); // should not happen
+ }
+ }
+ }
}
- return channel;
}
+ return fc;
}
private static native void initIDs();
diff --git a/jdk/src/java.base/share/classes/java/io/FileOutputStream.java b/jdk/src/java.base/share/classes/java/io/FileOutputStream.java
index 43a7d053bbb..3c28433d15e 100644
--- a/jdk/src/java.base/share/classes/java/io/FileOutputStream.java
+++ b/jdk/src/java.base/share/classes/java/io/FileOutputStream.java
@@ -26,6 +26,7 @@
package java.io;
import java.nio.channels.FileChannel;
+import java.util.concurrent.atomic.AtomicBoolean;
import sun.misc.SharedSecrets;
import sun.misc.JavaIOFileDescriptorAccess;
import sun.nio.ch.FileChannelImpl;
@@ -68,7 +69,7 @@ class FileOutputStream extends OutputStream
/**
* The associated channel, initialized lazily.
*/
- private FileChannel channel;
+ private volatile FileChannel channel;
/**
* The path of the referenced file
@@ -76,8 +77,7 @@ class FileOutputStream extends OutputStream
*/
private final String path;
- private final Object closeLock = new Object();
- private volatile boolean closed = false;
+ private final AtomicBoolean closed = new AtomicBoolean(false);
/**
* Creates a file output stream to write to the file with the
@@ -341,15 +341,14 @@ class FileOutputStream extends OutputStream
* @spec JSR-51
*/
public void close() throws IOException {
- synchronized (closeLock) {
- if (closed) {
- return;
- }
- closed = true;
+ if (!closed.compareAndSet(false, true)) {
+ // if compareAndSet() returns false closed was already true
+ return;
}
- if (channel != null) {
- channel.close();
+ FileChannel fc = channel;
+ if (fc != null) {
+ fc.close();
}
fd.closeAll(new Closeable() {
@@ -394,12 +393,23 @@ class FileOutputStream extends OutputStream
* @spec JSR-51
*/
public FileChannel getChannel() {
- synchronized (this) {
- if (channel == null) {
- channel = FileChannelImpl.open(fd, path, false, true, this);
+ FileChannel fc = this.channel;
+ if (fc == null) {
+ synchronized (this) {
+ fc = this.channel;
+ if (fc == null) {
+ this.channel = fc = FileChannelImpl.open(fd, path, false, true, this);
+ if (closed.get()) {
+ try {
+ fc.close();
+ } catch (IOException ioe) {
+ throw new InternalError(ioe); // should not happen
+ }
+ }
+ }
}
- return channel;
}
+ return fc;
}
/**
diff --git a/jdk/src/java.base/share/classes/java/io/InputStream.java b/jdk/src/java.base/share/classes/java/io/InputStream.java
index 06634ae21b0..bdb4ea5e8ee 100644
--- a/jdk/src/java.base/share/classes/java/io/InputStream.java
+++ b/jdk/src/java.base/share/classes/java/io/InputStream.java
@@ -25,6 +25,8 @@
package java.io;
+import java.util.Objects;
+
/**
* This abstract class is the superclass of all classes representing
* an input stream of bytes.
@@ -48,6 +50,8 @@ public abstract class InputStream implements Closeable {
// use when skipping.
private static final int MAX_SKIP_BUFFER_SIZE = 2048;
+ private static final int TRANSFER_BUFFER_SIZE = 8192;
+
/**
* Reads the next byte of data from the input stream. The value byte is
* returned as an int in the range 0 to
@@ -364,4 +368,40 @@ public abstract class InputStream implements Closeable {
return false;
}
+ /**
+ * Reads all bytes from this input stream and writes the bytes to the
+ * given output stream in the order that they are read. On return, this
+ * input stream will be at end of stream. This method does not close either
+ * stream.
+ * Locale always canonicalizes to lower case.
*
* [a-zA-Z]{2,8}. Note that this is not the the full
+ * [a-zA-Z]{2,8}. Note that this is not the full
* BCP47 language production, since it excludes extlang. They are
* not needed since modern three-letter language codes replace
* them.MissingResourceException is thrown.
diff --git a/jdk/src/java.base/share/classes/java/util/Spliterator.java b/jdk/src/java.base/share/classes/java/util/Spliterator.java
index 18cb082cf38..fb110d4428a 100644
--- a/jdk/src/java.base/share/classes/java/util/Spliterator.java
+++ b/jdk/src/java.base/share/classes/java/util/Spliterator.java
@@ -84,7 +84,7 @@ import java.util.function.LongConsumer;
* via the {@link #estimateSize} method. Ideally, as reflected in characteristic
* {@link #SIZED}, this value corresponds exactly to the number of elements
* that would be encountered in a successful traversal. However, even when not
- * exactly known, an estimated value value may still be useful to operations
+ * exactly known, an estimated value may still be useful to operations
* being performed on the source, such as helping to determine whether it is
* preferable to split further or traverse the remaining elements sequentially.
*
diff --git a/jdk/src/java.base/share/classes/java/util/Spliterators.java b/jdk/src/java.base/share/classes/java/util/Spliterators.java
index 79c0ef3efde..31c79cb8447 100644
--- a/jdk/src/java.base/share/classes/java/util/Spliterators.java
+++ b/jdk/src/java.base/share/classes/java/util/Spliterators.java
@@ -132,7 +132,7 @@ public final class Spliterators {
* @param array The array, assumed to be unmodified during use
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
* @return A spliterator for an array
* @throws NullPointerException if the given array is {@code null}
* @see Arrays#spliterator(Object[])
@@ -164,7 +164,7 @@ public final class Spliterators {
* @param toIndex One past the greatest index to cover
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
* @return A spliterator for an array
* @throws NullPointerException if the given array is {@code null}
* @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
@@ -196,7 +196,7 @@ public final class Spliterators {
* @param array The array, assumed to be unmodified during use
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
* @return A spliterator for an array
* @throws NullPointerException if the given array is {@code null}
* @see Arrays#spliterator(int[])
@@ -226,7 +226,7 @@ public final class Spliterators {
* @param toIndex One past the greatest index to cover
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
* @return A spliterator for an array
* @throws NullPointerException if the given array is {@code null}
* @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
@@ -258,7 +258,7 @@ public final class Spliterators {
* @param array The array, assumed to be unmodified during use
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
* @return A spliterator for an array
* @throws NullPointerException if the given array is {@code null}
* @see Arrays#spliterator(long[])
@@ -282,7 +282,7 @@ public final class Spliterators {
* {@code SIZED} and {@code SUBSIZED}. The caller may provide additional
* characteristics for the spliterator to report. (For example, if it is
* known the array will not be further modified, specify {@code IMMUTABLE};
- * if the array data is considered to have an an encounter order, specify
+ * if the array data is considered to have an encounter order, specify
* {@code ORDERED}). The method {@link Arrays#spliterator(long[], int, int)} can
* often be used instead, which returns a spliterator that reports
* {@code SIZED}, {@code SUBSIZED}, {@code IMMUTABLE}, and {@code ORDERED}.
@@ -292,7 +292,7 @@ public final class Spliterators {
* @param toIndex One past the greatest index to cover
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
* @return A spliterator for an array
* @throws NullPointerException if the given array is {@code null}
* @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
@@ -324,7 +324,7 @@ public final class Spliterators {
* @param array The array, assumed to be unmodified during use
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
* @return A spliterator for an array
* @throws NullPointerException if the given array is {@code null}
* @see Arrays#spliterator(double[])
@@ -348,7 +348,7 @@ public final class Spliterators {
* {@code SIZED} and {@code SUBSIZED}. The caller may provide additional
* characteristics for the spliterator to report. (For example, if it is
* known the array will not be further modified, specify {@code IMMUTABLE};
- * if the array data is considered to have an an encounter order, specify
+ * if the array data is considered to have an encounter order, specify
* {@code ORDERED}). The method {@link Arrays#spliterator(long[], int, int)} can
* often be used instead, which returns a spliterator that reports
* {@code SIZED}, {@code SUBSIZED}, {@code IMMUTABLE}, and {@code ORDERED}.
@@ -358,7 +358,7 @@ public final class Spliterators {
* @param toIndex One past the greatest index to cover
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
* @return A spliterator for an array
* @throws NullPointerException if the given array is {@code null}
* @throws ArrayIndexOutOfBoundsException if {@code fromIndex} is negative,
@@ -907,7 +907,7 @@ public final class Spliterators {
* @param array the array, assumed to be unmodified during use
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
*/
public ArraySpliterator(Object[] array, int additionalCharacteristics) {
this(array, 0, array.length, additionalCharacteristics);
@@ -920,7 +920,7 @@ public final class Spliterators {
* @param fence one past the greatest index to cover
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
*/
public ArraySpliterator(Object[] array, int origin, int fence, int additionalCharacteristics) {
this.array = array;
@@ -992,7 +992,7 @@ public final class Spliterators {
* @param array the array, assumed to be unmodified during use
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
*/
public IntArraySpliterator(int[] array, int additionalCharacteristics) {
this(array, 0, array.length, additionalCharacteristics);
@@ -1005,7 +1005,7 @@ public final class Spliterators {
* @param fence one past the greatest index to cover
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
*/
public IntArraySpliterator(int[] array, int origin, int fence, int additionalCharacteristics) {
this.array = array;
@@ -1075,7 +1075,7 @@ public final class Spliterators {
* @param array the array, assumed to be unmodified during use
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
*/
public LongArraySpliterator(long[] array, int additionalCharacteristics) {
this(array, 0, array.length, additionalCharacteristics);
@@ -1088,7 +1088,7 @@ public final class Spliterators {
* @param fence one past the greatest index to cover
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
*/
public LongArraySpliterator(long[] array, int origin, int fence, int additionalCharacteristics) {
this.array = array;
@@ -1158,7 +1158,7 @@ public final class Spliterators {
* @param array the array, assumed to be unmodified during use
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
*/
public DoubleArraySpliterator(double[] array, int additionalCharacteristics) {
this(array, 0, array.length, additionalCharacteristics);
@@ -1171,7 +1171,7 @@ public final class Spliterators {
* @param fence one past the greatest index to cover
* @param additionalCharacteristics Additional spliterator characteristics
* of this spliterator's source or elements beyond {@code SIZED} and
- * {@code SUBSIZED} which are are always reported
+ * {@code SUBSIZED} which are always reported
*/
public DoubleArraySpliterator(double[] array, int origin, int fence, int additionalCharacteristics) {
this.array = array;
@@ -1698,7 +1698,7 @@ public final class Spliterators {
private int batch; // batch size for splits
/**
- * Creates a spliterator using the given given
+ * Creates a spliterator using the given
* collection's {@link java.util.Collection#iterator()) for traversal,
* and reporting its {@link java.util.Collection#size()) as its initial
* size.
diff --git a/jdk/src/java.base/share/classes/java/util/zip/CRC32C.java b/jdk/src/java.base/share/classes/java/util/zip/CRC32C.java
index f7e9773e0ea..ee690ac1bbd 100644
--- a/jdk/src/java.base/share/classes/java/util/zip/CRC32C.java
+++ b/jdk/src/java.base/share/classes/java/util/zip/CRC32C.java
@@ -204,7 +204,6 @@ public final class CRC32C implements Checksum {
/**
* Updates the CRC-32C checksum with the specified array of bytes.
*/
- @SuppressWarnings("deprecation") // Unsafe.{getInt, getLong}
private static int updateBytes(int crc, byte[] b, int off, int end) {
// Do only byte reads for arrays so short they can't be aligned
@@ -228,11 +227,11 @@ public final class CRC32C implements Checksum {
int secondHalf;
if (Unsafe.ADDRESS_SIZE == 4) {
// On 32 bit platforms read two ints instead of a single 64bit long
- firstHalf = UNSAFE.getInt(b, Unsafe.ARRAY_BYTE_BASE_OFFSET + off);
- secondHalf = UNSAFE.getInt(b, Unsafe.ARRAY_BYTE_BASE_OFFSET + off
+ firstHalf = UNSAFE.getInt(b, (long)Unsafe.ARRAY_BYTE_BASE_OFFSET + off);
+ secondHalf = UNSAFE.getInt(b, (long)Unsafe.ARRAY_BYTE_BASE_OFFSET + off
+ Integer.BYTES);
} else {
- long value = UNSAFE.getLong(b, Unsafe.ARRAY_BYTE_BASE_OFFSET + off);
+ long value = UNSAFE.getLong(b, (long)Unsafe.ARRAY_BYTE_BASE_OFFSET + off);
if (ByteOrder.nativeOrder() == ByteOrder.LITTLE_ENDIAN) {
firstHalf = (int) value;
secondHalf = (int) (value >>> 32);
diff --git a/jdk/src/java.base/share/classes/javax/security/auth/Policy.java b/jdk/src/java.base/share/classes/javax/security/auth/Policy.java
index 97d08a7ccc0..3536d743aed 100644
--- a/jdk/src/java.base/share/classes/javax/security/auth/Policy.java
+++ b/jdk/src/java.base/share/classes/javax/security/auth/Policy.java
@@ -76,7 +76,7 @@ import sun.security.util.Debug;
*
*
* The CodeBase and Signedby components of the triplet name/value pairs
- * are optional. If they are not present, then any any codebase will match,
+ * are optional. If they are not present, then any codebase will match,
* and any signer (including unsigned code) will match.
* For Example,
*
diff --git a/jdk/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java b/jdk/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java
index da75d683425..187c8c7156f 100644
--- a/jdk/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java
+++ b/jdk/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java
@@ -137,7 +137,7 @@ public class SubjectDomainCombiner implements java.security.DomainCombiner {
* @param currentDomains the ProtectionDomains associated with the
* current execution Thread, up to the most recent
* privileged {@code ProtectionDomain}.
- * The ProtectionDomains are are listed in order of execution,
+ * The ProtectionDomains are listed in order of execution,
* with the most recently executing {@code ProtectionDomain}
* residing at the beginning of the array. This parameter may
* be {@code null} if the current execution Thread
diff --git a/jdk/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Frame.java b/jdk/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Frame.java
index 811b74c7242..bb7ff8f5147 100644
--- a/jdk/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Frame.java
+++ b/jdk/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Frame.java
@@ -192,7 +192,7 @@ final class Frame {
private static final int LOCAL = 0x2000000;
/**
- * Kind of the the types that are relative to the stack of an input stack
+ * Kind of the types that are relative to the stack of an input stack
* map frame. The value of such types is a position relatively to the top of
* this stack.
*/
diff --git a/jdk/src/java.base/share/classes/jdk/internal/util/xml/XMLStreamWriter.java b/jdk/src/java.base/share/classes/jdk/internal/util/xml/XMLStreamWriter.java
index e67933b4d8d..0478420c9fa 100644
--- a/jdk/src/java.base/share/classes/jdk/internal/util/xml/XMLStreamWriter.java
+++ b/jdk/src/java.base/share/classes/jdk/internal/util/xml/XMLStreamWriter.java
@@ -116,7 +116,7 @@ public interface XMLStreamWriter {
public void writeStartDocument() throws XMLStreamException;
/**
- * Write the XML Declaration. Defaults the the encoding to utf-8
+ * Write the XML Declaration. Defaults the encoding to utf-8
* @param version version of the xml document
* @throws XMLStreamException
*/
diff --git a/jdk/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java b/jdk/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java
index fc870fc9403..e10d2e1117f 100644
--- a/jdk/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java
+++ b/jdk/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java
@@ -80,7 +80,7 @@ public class VerifyAccess {
* @param defc the class in which the proposed member is actually defined
* @param mods modifier flags for the proposed member
* @param lookupClass the class for which the access check is being made
- * @return true iff the the accessing class can access such a member
+ * @return true iff the accessing class can access such a member
*/
public static boolean isMemberAccessible(Class> refc, // symbolic ref class
Class> defc, // actual def class
diff --git a/jdk/src/java.base/share/classes/sun/launcher/LauncherHelper.java b/jdk/src/java.base/share/classes/sun/launcher/LauncherHelper.java
index 62c1b19b4c4..456c8120b71 100644
--- a/jdk/src/java.base/share/classes/sun/launcher/LauncherHelper.java
+++ b/jdk/src/java.base/share/classes/sun/launcher/LauncherHelper.java
@@ -369,10 +369,9 @@ public enum LauncherHelper {
static void appendVmErgoMessage(boolean isServerClass, String vm) {
outBuf = outBuf.append(getLocalizedMessage("java.launcher.ergo.message1",
vm));
- outBuf = (isServerClass)
- ? outBuf.append(",\n" +
- getLocalizedMessage("java.launcher.ergo.message2") + "\n\n")
- : outBuf.append(".\n\n");
+ outBuf = (isServerClass) ? outBuf.append(",\n")
+ .append(getLocalizedMessage("java.launcher.ergo.message2"))
+ .append("\n\n") : outBuf.append(".\n\n");
}
/**
diff --git a/jdk/src/java.base/share/classes/sun/misc/JavaNioAccess.java b/jdk/src/java.base/share/classes/sun/misc/JavaNioAccess.java
index e4f0a781290..8a1d68d0473 100644
--- a/jdk/src/java.base/share/classes/sun/misc/JavaNioAccess.java
+++ b/jdk/src/java.base/share/classes/sun/misc/JavaNioAccess.java
@@ -42,7 +42,7 @@ public interface JavaNioAccess {
/**
* Constructs a direct ByteBuffer referring to the block of memory starting
- * at the given memory address and and extending {@code cap} bytes.
+ * at the given memory address and extending {@code cap} bytes.
* The {@code ob} parameter is an arbitrary object that is attached
* to the resulting buffer.
*/
diff --git a/jdk/src/java.base/share/classes/sun/misc/Unsafe.java b/jdk/src/java.base/share/classes/sun/misc/Unsafe.java
index 1a2e9155e1d..08d04fde377 100644
--- a/jdk/src/java.base/share/classes/sun/misc/Unsafe.java
+++ b/jdk/src/java.base/share/classes/sun/misc/Unsafe.java
@@ -958,6 +958,8 @@ public final class Unsafe {
* other threads. This method is generally only useful if the
* underlying field is a Java volatile (or if an array cell, one
* that is otherwise only accessed using volatile accesses).
+ *
+ * Corresponds to C11 atomic_store_explicit(..., memory_order_release).
*/
public native void putOrderedObject(Object o, long offset, Object x);
@@ -1111,22 +1113,40 @@ public final class Unsafe {
/**
- * Ensures lack of reordering of loads before the fence
- * with loads or stores after the fence.
+ * Ensures that loads before the fence will not be reordered with loads and
+ * stores after the fence; a "LoadLoad plus LoadStore barrier".
+ *
+ * Corresponds to C11 atomic_thread_fence(memory_order_acquire)
+ * (an "acquire fence").
+ *
+ * A pure LoadLoad fence is not provided, since the addition of LoadStore
+ * is almost always desired, and most current hardware instructions that
+ * provide a LoadLoad barrier also provide a LoadStore barrier for free.
* @since 1.8
*/
public native void loadFence();
/**
- * Ensures lack of reordering of stores before the fence
- * with loads or stores after the fence.
+ * Ensures that loads and stores before the fence will not be reordered with
+ * stores after the fence; a "StoreStore plus LoadStore barrier".
+ *
+ * Corresponds to C11 atomic_thread_fence(memory_order_release)
+ * (a "release fence").
+ *
+ * A pure StoreStore fence is not provided, since the addition of LoadStore
+ * is almost always desired, and most current hardware instructions that
+ * provide a StoreStore barrier also provide a LoadStore barrier for free.
* @since 1.8
*/
public native void storeFence();
/**
- * Ensures lack of reordering of loads or stores before the fence
- * with loads or stores after the fence.
+ * Ensures that loads and stores before the fence will not be reordered
+ * with loads and stores after the fence. Implies the effects of both
+ * loadFence() and storeFence(), and in addition, the effect of a StoreLoad
+ * barrier.
+ *
+ * Corresponds to C11 atomic_thread_fence(memory_order_seq_cst).
* @since 1.8
*/
public native void fullFence();
diff --git a/jdk/src/java.base/share/classes/sun/misc/VM.java b/jdk/src/java.base/share/classes/sun/misc/VM.java
index 9ddff0e2f87..c877e40446f 100644
--- a/jdk/src/java.base/share/classes/sun/misc/VM.java
+++ b/jdk/src/java.base/share/classes/sun/misc/VM.java
@@ -150,7 +150,7 @@ public class VM {
private static volatile boolean booted = false;
private static final Object lock = new Object();
- // Invoked by by System.initializeSystemClass just before returning.
+ // Invoked by System.initializeSystemClass just before returning.
// Subsystems that are invoked during initialization can check this
// property in order to avoid doing things that should wait until the
// application class loader has been set up.
diff --git a/jdk/src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java b/jdk/src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java
index 61ab2fbb9d3..47aabf5cbf2 100644
--- a/jdk/src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java
+++ b/jdk/src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java
@@ -2187,7 +2187,7 @@ public class FtpClient extends sun.net.ftp.FtpClient {
return resp.get(0).substring(4);
}
// on multiple lines answers, like the ones above, remove 1st and last
- // line, concat the the others.
+ // line, concat the others.
StringBuilder sb = new StringBuilder();
for (int i = 1; i < resp.size() - 1; i++) {
sb.append(resp.get(i).substring(3));
diff --git a/jdk/src/java.base/share/classes/sun/net/www/HeaderParser.java b/jdk/src/java.base/share/classes/sun/net/www/HeaderParser.java
index 3f1629fa8c6..f9db1df64de 100644
--- a/jdk/src/java.base/share/classes/sun/net/www/HeaderParser.java
+++ b/jdk/src/java.base/share/classes/sun/net/www/HeaderParser.java
@@ -220,21 +220,23 @@ public class HeaderParser {
public String toString () {
Iterator
extends AbstractRepository {
/** The formal type parameters. Lazily initialized. */
- private volatile TypeVariable>[] typeParams;
+ private volatile TypeVariable>[] typeParameters;
protected GenericDeclRepository(String rawSig, GenericsFactory f) {
super(rawSig, f);
}
- // public API
/*
* When queried for a particular piece of type information, the
* general pattern is to consult the corresponding cached value.
@@ -61,25 +60,31 @@ public abstract class GenericDeclRepository
*/
/**
- * Return the formal type parameters of this generic declaration.
+ * Returns the formal type parameters of this generic declaration.
* @return the formal type parameters of this generic declaration
*/
public TypeVariable>[] getTypeParameters() {
- TypeVariable>[] typeParams = this.typeParams;
- if (typeParams == null) { // lazily initialize type parameters
- // first, extract type parameter subtree(s) from AST
- FormalTypeParameter[] ftps = getTree().getFormalTypeParameters();
- // create array to store reified subtree(s)
- typeParams = new TypeVariable>[ftps.length];
- // reify all subtrees
- for (int i = 0; i < ftps.length; i++) {
- Reifier r = getReifier(); // obtain visitor
- ftps[i].accept(r); // reify subtree
- // extract result from visitor and store it
- typeParams[i] = (TypeVariable>) r.getResult();
- }
- this.typeParams = typeParams; // cache overall result
+ TypeVariable>[] value = typeParameters;
+ if (value == null) {
+ value = computeTypeParameters();
+ typeParameters = value;
}
- return typeParams.clone(); // return cached result
+ return value.clone();
+ }
+
+ private TypeVariable>[] computeTypeParameters() {
+ // first, extract type parameter subtree(s) from AST
+ FormalTypeParameter[] ftps = getTree().getFormalTypeParameters();
+ // create array to store reified subtree(s)
+ int length = ftps.length;
+ TypeVariable>[] typeParameters = new TypeVariable>[length];
+ // reify all subtrees
+ for (int i = 0; i < length; i++) {
+ Reifier r = getReifier(); // obtain visitor
+ ftps[i].accept(r); // reify subtree
+ // extract result from visitor and store it
+ typeParameters[i] = (TypeVariable>) r.getResult();
+ }
+ return typeParameters;
}
}
diff --git a/jdk/src/java.base/share/classes/sun/reflect/generics/repository/MethodRepository.java b/jdk/src/java.base/share/classes/sun/reflect/generics/repository/MethodRepository.java
index 54221c60860..0df3f5d786d 100644
--- a/jdk/src/java.base/share/classes/sun/reflect/generics/repository/MethodRepository.java
+++ b/jdk/src/java.base/share/classes/sun/reflect/generics/repository/MethodRepository.java
@@ -39,7 +39,8 @@ import sun.reflect.generics.visitor.Reifier;
*/
public class MethodRepository extends ConstructorRepository {
- private Type returnType; // caches the generic return type info
+ /** The generic return type info. Lazily initialized. */
+ private volatile Type returnType;
// private, to enforce use of static factory
private MethodRepository(String rawSig, GenericsFactory f) {
@@ -59,18 +60,21 @@ public class MethodRepository extends ConstructorRepository {
return new MethodRepository(rawSig, f);
}
- // public API
-
public Type getReturnType() {
- if (returnType == null) { // lazily initialize return type
- Reifier r = getReifier(); // obtain visitor
- // Extract return type subtree from AST and reify
- getTree().getReturnType().accept(r);
- // extract result from visitor and cache it
- returnType = r.getResult();
- }
- return returnType; // return cached result
+ Type value = returnType;
+ if (value == null) {
+ value = computeReturnType();
+ returnType = value;
+ }
+ return value;
}
+ private Type computeReturnType() {
+ Reifier r = getReifier(); // obtain visitor
+ // Extract return type subtree from AST and reify
+ getTree().getReturnType().accept(r);
+ // extract result from visitor and cache it
+ return r.getResult();
+ }
}
diff --git a/jdk/src/java.base/share/classes/sun/reflect/generics/scope/AbstractScope.java b/jdk/src/java.base/share/classes/sun/reflect/generics/scope/AbstractScope.java
index 6a1827144aa..18e5dd4277f 100644
--- a/jdk/src/java.base/share/classes/sun/reflect/generics/scope/AbstractScope.java
+++ b/jdk/src/java.base/share/classes/sun/reflect/generics/scope/AbstractScope.java
@@ -29,7 +29,6 @@ import java.lang.reflect.GenericDeclaration;
import java.lang.reflect.TypeVariable;
-
/**
* Abstract superclass for lazy scope objects, used when building
* factories for generic information repositories.
@@ -49,7 +48,7 @@ public abstract class AbstractScopeUCharacter.isLegal() can be used to check
* for validity if desired.
diff --git a/jdk/src/java.base/share/native/libjli/emessages.h b/jdk/src/java.base/share/native/libjli/emessages.h
index e390c71b49b..961ff7be3f7 100644
--- a/jdk/src/java.base/share/native/libjli/emessages.h
+++ b/jdk/src/java.base/share/native/libjli/emessages.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2014, 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
@@ -72,9 +72,6 @@
#define CFG_ERROR8 "Error: missing `%s' JVM at `%s'.\nPlease install or use the JRE or JDK that contains these missing components."
#define CFG_ERROR9 "Error: could not determine JVM type."
-
-#define SPC_ERROR1 "Error: Syntax error in version specification \"%s\""
-
#define JRE_ERROR1 "Error: Could not find Java SE Runtime Environment."
#define JRE_ERROR2 "Error: This Java instance does not support a %d-bit JVM.\nPlease install the desired version."
#define JRE_ERROR3 "Error: Improper value at line %d."
@@ -89,6 +86,9 @@
#define JRE_ERROR12 "Error: Exec of %s failed"
#define JRE_ERROR13 "Error: String processing operation failed"
+#define SPC_ERROR1 "Error: Specifying an alternate JDK/JRE version is no longer supported.\n The use of the flag '-version:' is no longer valid.\n Please download and execute the appropriate version."
+#define SPC_ERROR2 "Error: Specifying an alternate JDK/JRE is no longer supported.\n The related flags -jre-restrict-search | -jre-no-restrict-search are also no longer valid."
+
#define DLL_ERROR1 "Error: dl failure on line %d"
#define DLL_ERROR2 "Error: failed %s, because %s"
#define DLL_ERROR3 "Error: could not find executable %s"
diff --git a/jdk/src/java.base/share/native/libjli/java.c b/jdk/src/java.base/share/native/libjli/java.c
index c71f4c26fab..f933959bda0 100644
--- a/jdk/src/java.base/share/native/libjli/java.c
+++ b/jdk/src/java.base/share/native/libjli/java.c
@@ -216,21 +216,14 @@ JLI_Launch(int argc, char ** argv, /* main argc, argc */
}
/*
- * Make sure the specified version of the JRE is running.
+ * SelectVersion() has several responsibilities:
*
- * There are three things to note about the SelectVersion() routine:
- * 1) If the version running isn't correct, this routine doesn't
- * return (either the correct version has been exec'd or an error
- * was issued).
- * 2) Argc and Argv in this scope are *not* altered by this routine.
- * It is the responsibility of subsequent code to ignore the
- * arguments handled by this routine.
- * 3) As a side-effect, the variable "main_class" is guaranteed to
- * be set (if it should ever be set). This isn't exactly the
- * poster child for structured programming, but it is a small
- * price to pay for not processing a jar file operand twice.
- * (Note: This side effect has been disabled. See comment on
- * bugid 5030265 below.)
+ * 1) Disallow specification of another JRE. With 1.9, another
+ * version of the JRE cannot be invoked.
+ * 2) Allow for a JRE version to invoke JDK 1.9 or later. Since
+ * all mJRE directives have been stripped from the request but
+ * the pre 1.9 JRE [ 1.6 thru 1.8 ], it is as if 1.9+ has been
+ * invoked from the command line.
*/
SelectVersion(argc, argv, &main_class);
@@ -744,7 +737,7 @@ parse_size(const char *s, jlong *result) {
}
/*
- * Adds a new VM option with the given given name and value.
+ * Adds a new VM option with the given name and value.
*/
void
AddOption(char *str, void *info)
@@ -829,8 +822,6 @@ static void
SelectVersion(int argc, char **argv, char **main_class)
{
char *arg;
- char **new_argv;
- char **new_argp;
char *operand;
char *version = NULL;
char *jre = NULL;
@@ -849,6 +840,17 @@ SelectVersion(int argc, char **argv, char **main_class)
* with the value passed through the environment (if any) and
* simply return.
*/
+
+ /*
+ * This environmental variable can be set by mJRE capable JREs
+ * [ 1.5 thru 1.8 ]. All other aspects of mJRE processing have been
+ * stripped by those JREs. This environmental variable allows 1.9+
+ * JREs to be started by these mJRE capable JREs.
+ * Note that mJRE directives in the jar manifest file would have been
+ * ignored for a JRE started by another JRE...
+ * .. skipped for JRE 1.5 and beyond.
+ * .. not even checked for pre 1.5.
+ */
if ((env_in = getenv(ENV_ENTRY)) != NULL) {
if (*env_in != '\0')
*main_class = JLI_StringDup(env_in);
@@ -857,41 +859,26 @@ SelectVersion(int argc, char **argv, char **main_class)
/*
* Scan through the arguments for options relevant to multiple JRE
- * support. For reference, the command line syntax is defined as:
+ * support. Multiple JRE support existed in JRE versions 1.5 thru 1.8.
*
- * SYNOPSIS
- * java [options] class [argument...]
- *
- * java [options] -jar file.jar [argument...]
- *
- * As the scan is performed, make a copy of the argument list with
- * the version specification options (new to 1.5) removed, so that
- * a version less than 1.5 can be exec'd.
- *
- * Note that due to the syntax of the native Windows interface
- * CreateProcess(), processing similar to the following exists in
- * the Windows platform specific routine ExecJRE (in java_md.c).
- * Changes here should be reproduced there.
+ * This capability is no longer available with JRE versions 1.9 and later.
+ * These command line options are reported as errors.
*/
- new_argv = JLI_MemAlloc((argc + 1) * sizeof(char*));
- new_argv[0] = argv[0];
- new_argp = &new_argv[1];
argc--;
argv++;
while ((arg = *argv) != 0 && *arg == '-') {
if (JLI_StrCCmp(arg, "-version:") == 0) {
- version = arg + 9;
+ JLI_ReportErrorMessage(SPC_ERROR1);
} else if (JLI_StrCmp(arg, "-jre-restrict-search") == 0) {
- restrict_search = 1;
- } else if (JLI_StrCmp(arg, "-no-jre-restrict-search") == 0) {
- restrict_search = 0;
+ JLI_ReportErrorMessage(SPC_ERROR2);
+ } else if (JLI_StrCmp(arg, "-jre-no-restrict-search") == 0) {
+ JLI_ReportErrorMessage(SPC_ERROR2);
} else {
if (JLI_StrCmp(arg, "-jar") == 0)
jarflag = 1;
/* deal with "unfortunate" classpath syntax */
if ((JLI_StrCmp(arg, "-classpath") == 0 || JLI_StrCmp(arg, "-cp") == 0) &&
(argc >= 2)) {
- *new_argp++ = arg;
argc--;
argv++;
arg = *argv;
@@ -908,7 +895,6 @@ SelectVersion(int argc, char **argv, char **main_class)
} else if (JLI_StrCCmp(arg, "-splash:") == 0) {
splash_file_name = arg+8;
}
- *new_argp++ = arg;
}
argc--;
argv++;
@@ -917,11 +903,8 @@ SelectVersion(int argc, char **argv, char **main_class)
operand = NULL;
} else {
argc--;
- *new_argp++ = operand = *argv++;
+ operand = *argv++;
}
- while (argc-- > 0) /* Copy over [argument...] */
- *new_argp++ = *argv++;
- *new_argp = NULL;
/*
* If there is a jar file, read the manifest. If the jarfile can't be
@@ -974,14 +957,6 @@ SelectVersion(int argc, char **argv, char **main_class)
putenv(splash_jar_entry);
}
- /*
- * The JRE-Version and JRE-Restrict-Search values (if any) from the
- * manifest are overwritten by any specified on the command line.
- */
- if (version != NULL)
- info.jre_version = version;
- if (restrict_search != -1)
- info.jre_restrict_search = restrict_search;
/*
* "Valid" returns (other than unrecoverable errors) follow. Set
@@ -990,72 +965,11 @@ SelectVersion(int argc, char **argv, char **main_class)
if (info.main_class != NULL)
*main_class = JLI_StringDup(info.main_class);
- /*
- * If no version selection information is found either on the command
- * line or in the manifest, simply return.
- */
if (info.jre_version == NULL) {
JLI_FreeManifest();
- JLI_MemFree(new_argv);
return;
}
- /*
- * Check for correct syntax of the version specification (JSR 56).
- */
- if (!JLI_ValidVersionString(info.jre_version)) {
- JLI_ReportErrorMessage(SPC_ERROR1, info.jre_version);
- exit(1);
- }
-
- /*
- * Find the appropriate JVM on the system. Just to be as forgiving as
- * possible, if the standard algorithms don't locate an appropriate
- * jre, check to see if the one running will satisfy the requirements.
- * This can happen on systems which haven't been set-up for multiple
- * JRE support.
- */
- jre = LocateJRE(&info);
- JLI_TraceLauncher("JRE-Version = %s, JRE-Restrict-Search = %s Selected = %s\n",
- (info.jre_version?info.jre_version:"null"),
- (info.jre_restrict_search?"true":"false"), (jre?jre:"null"));
-
- if (jre == NULL) {
- if (JLI_AcceptableRelease(GetFullVersion(), info.jre_version)) {
- JLI_FreeManifest();
- JLI_MemFree(new_argv);
- return;
- } else {
- JLI_ReportErrorMessage(CFG_ERROR4, info.jre_version);
- exit(1);
- }
- }
-
- /*
- * If I'm not the chosen one, exec the chosen one. Returning from
- * ExecJRE indicates that I am indeed the chosen one.
- *
- * The private environment variable _JAVA_VERSION_SET is used to
- * prevent the chosen one from re-reading the manifest file and
- * using the values found within to override the (potential) command
- * line flags stripped from argv (because the target may not
- * understand them). Passing the MainClass value is an optimization
- * to avoid locating, expanding and parsing the manifest extra
- * times.
- */
- if (info.main_class != NULL) {
- if (JLI_StrLen(info.main_class) <= MAXNAMELEN) {
- (void)JLI_StrCat(env_entry, info.main_class);
- } else {
- JLI_ReportErrorMessage(CLS_ERROR5, MAXNAMELEN);
- exit(1);
- }
- }
- (void)putenv(env_entry);
- ExecJRE(jre, new_argv);
- JLI_FreeManifest();
- JLI_MemFree(new_argv);
- return;
}
/*
@@ -1154,10 +1068,7 @@ ParseArguments(int *pargc, char ***pargv,
JLI_StrCmp(arg, "-noasyncgc") == 0) {
/* No longer supported */
JLI_ReportErrorMessage(ARG_WARN, arg);
- } else if (JLI_StrCCmp(arg, "-version:") == 0 ||
- JLI_StrCmp(arg, "-no-jre-restrict-search") == 0 ||
- JLI_StrCmp(arg, "-jre-restrict-search") == 0 ||
- JLI_StrCCmp(arg, "-splash:") == 0) {
+ } else if (JLI_StrCCmp(arg, "-splash:") == 0) {
; /* Ignore machine independent options already handled */
} else if (ProcessPlatformOption(arg)) {
; /* Processing of platform dependent options */
diff --git a/jdk/src/java.base/share/native/libjli/java.h b/jdk/src/java.base/share/native/libjli/java.h
index 83e97e60d9c..615b16cd9c3 100644
--- a/jdk/src/java.base/share/native/libjli/java.h
+++ b/jdk/src/java.base/share/native/libjli/java.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2014, 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
@@ -40,9 +40,7 @@
#include "emessages.h"
#include "java_md.h"
#include "jli_util.h"
-
#include "manifest_info.h"
-#include "version_comp.h"
#include "wildcard.h"
#include "splashscreen.h"
diff --git a/jdk/src/java.base/share/native/libjli/parse_manifest.c b/jdk/src/java.base/share/native/libjli/parse_manifest.c
index c17249c0b30..a8e17b89b25 100644
--- a/jdk/src/java.base/share/native/libjli/parse_manifest.c
+++ b/jdk/src/java.base/share/native/libjli/parse_manifest.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2014, 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
@@ -588,15 +588,16 @@ JLI_ParseManifest(char *jarfile, manifest_info *info)
}
lp = manifest;
while ((rc = parse_nv_pair(&lp, &name, &value)) > 0) {
- if (JLI_StrCaseCmp(name, "Manifest-Version") == 0)
+ if (JLI_StrCaseCmp(name, "Manifest-Version") == 0) {
info->manifest_version = value;
- else if (JLI_StrCaseCmp(name, "Main-Class") == 0)
+ } else if (JLI_StrCaseCmp(name, "Main-Class") == 0) {
info->main_class = value;
- else if (JLI_StrCaseCmp(name, "JRE-Version") == 0)
- info->jre_version = value;
- else if (JLI_StrCaseCmp(name, "JRE-Restrict-Search") == 0) {
- if (JLI_StrCaseCmp(value, "true") == 0)
- info->jre_restrict_search = 1;
+ } else if (JLI_StrCaseCmp(name, "JRE-Version") == 0) {
+ /*
+ * Manifest specification overridden by command line option
+ * so we will silently override there with no specification.
+ */
+ info->jre_version = 0;
} else if (JLI_StrCaseCmp(name, "Splashscreen-Image") == 0) {
info->splashscreen_image_file_name = value;
}
diff --git a/jdk/src/java.base/share/native/libjli/version_comp.c b/jdk/src/java.base/share/native/libjli/version_comp.c
deleted file mode 100644
index fc20ba94e9a..00000000000
--- a/jdk/src/java.base/share/native/libjli/version_comp.c
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * Copyright (c) 2003, 2006, 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
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-#include true if the the Set of focus traversal keys for the
+ * @return true if the Set of focus traversal keys for the
* given focus traversal operation has been explicitly defined for
* this Component; false otherwise.
* @throws IllegalArgumentException if id is not one of
diff --git a/jdk/src/java.desktop/share/classes/java/awt/Container.java b/jdk/src/java.desktop/share/classes/java/awt/Container.java
index 92f1bf6e5f0..9bef89ca095 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/Container.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/Container.java
@@ -3195,7 +3195,7 @@ public class Container extends Component {
* KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,
* KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, or
* KeyboardFocusManager.DOWN_CYCLE_TRAVERSAL_KEYS
- * @return true if the the Set of focus traversal keys for the
+ * @return true if the Set of focus traversal keys for the
* given focus traversal operation has been explicitly defined for
* this Component; false otherwise.
* @throws IllegalArgumentException if id is not one of
diff --git a/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java b/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java
index 58e31332298..c398db77fdc 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java
@@ -823,7 +823,7 @@ public class EventQueue {
}
/**
- * Returns the the event currently being dispatched by the
+ * Returns the event currently being dispatched by the
* EventQueue associated with the calling thread. This is
* useful if a method needs access to the event, but was not designed to
* receive a reference to it as an argument. Note that this method should
diff --git a/jdk/src/java.desktop/share/classes/java/awt/FlowLayout.java b/jdk/src/java.desktop/share/classes/java/awt/FlowLayout.java
index 14142cafc39..4405620de13 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/FlowLayout.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/FlowLayout.java
@@ -503,7 +503,7 @@ public class FlowLayout implements LayoutManager, java.io.Serializable {
* @param width the width dimensions
* @param height the height dimensions
* @param rowStart the beginning of the row
- * @param rowEnd the the ending of the row
+ * @param rowEnd the ending of the row
* @param useBaseline Whether or not to align on baseline.
* @param ascent Ascent for the components. This is only valid if
* useBaseline is true.
diff --git a/jdk/src/java.desktop/share/classes/java/awt/KeyboardFocusManager.java b/jdk/src/java.desktop/share/classes/java/awt/KeyboardFocusManager.java
index dc313978846..d601fbfcdfc 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/KeyboardFocusManager.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/KeyboardFocusManager.java
@@ -1771,7 +1771,7 @@ public abstract class KeyboardFocusManager
* will be notified in the order in which they were added; the current
* KeyboardFocusManager will be notified last. Notifications will halt
* as soon as one KeyEventPostProcessor returns true from its
- * postProcessKeyEvent method. There is no limit to the the
+ * postProcessKeyEvent method. There is no limit to the
* total number of KeyEventPostProcessors that can be added, nor to the
* number of times that a particular KeyEventPostProcessor instance can be
* added.
@@ -2666,7 +2666,7 @@ public abstract class KeyboardFocusManager
* We allow to trigger restoreFocus() in the dispatching process
* only if we have the last request to dispatch. If the last request
* fails, focus will be restored to either the component of the last
- * previously succeeded request, or to to the focus owner that was
+ * previously succeeded request, or to the focus owner that was
* before this clearing process.
*/
if (!iter.hasNext()) {
diff --git a/jdk/src/java.desktop/share/classes/java/awt/List.java b/jdk/src/java.desktop/share/classes/java/awt/List.java
index bf9287b3372..301245978e5 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/List.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/List.java
@@ -347,7 +347,7 @@ public class List extends Component implements ItemSelectable, Accessible {
}
/**
- * Adds the specified item to the the scrolling list
+ * Adds the specified item to the scrolling list
* at the position indicated by the index. The index is
* zero-based. If the value of the index is less than zero,
* or if the value of the index is greater than or equal to
@@ -364,7 +364,7 @@ public class List extends Component implements ItemSelectable, Accessible {
}
/**
- * Adds the specified item to the the list
+ * Adds the specified item to the list
* at the position indicated by the index.
*
* @param item the item to be added
diff --git a/jdk/src/java.desktop/share/classes/java/awt/MultipleGradientPaintContext.java b/jdk/src/java.desktop/share/classes/java/awt/MultipleGradientPaintContext.java
index f9bfe04c094..54c6c196823 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/MultipleGradientPaintContext.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/MultipleGradientPaintContext.java
@@ -418,7 +418,7 @@ abstract class MultipleGradientPaintContext implements PaintContext {
// each interval
gradients[i] = new int[GRADIENT_SIZE];
- // get the the 2 colors
+ // get the 2 colors
rgb1 = colors[i].getRGB();
rgb2 = colors[i+1].getRGB();
diff --git a/jdk/src/java.desktop/share/classes/java/awt/RadialGradientPaint.java b/jdk/src/java.desktop/share/classes/java/awt/RadialGradientPaint.java
index 0f4c8dea1a7..a58fdf6b8ad 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/RadialGradientPaint.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/RadialGradientPaint.java
@@ -94,7 +94,7 @@ import java.beans.ConstructorProperties;
* Note that some minor variations in distances may occur due to sampling at
* the granularity of a pixel.
* If no cycle method is specified, {@code NO_CYCLE} will be chosen by
- * default, which means the the last keyframe color will be used to fill the
+ * default, which means the last keyframe color will be used to fill the
* remaining area.
* null
- * then the value of the the MIME Content Type is used
+ * then the value of the MIME Content Type is used
* @exception NullPointerException if representationClass is null
*/
public DataFlavor(Class> representationClass, String humanPresentableName) {
@@ -418,7 +418,7 @@ public class DataFlavor implements Externalizable, Cloneable {
* is thrown
* @param humanPresentableName the human-readable string used to identify
* this flavor; if this parameter is null
- * then the value of the the MIME Content Type is used
+ * then the value of the MIME Content Type is used
* @exception IllegalArgumentException if mimeType is
* invalid or if the class is not successfully loaded
* @exception NullPointerException if mimeType is null
diff --git a/jdk/src/java.desktop/share/classes/java/awt/event/KeyEvent.java b/jdk/src/java.desktop/share/classes/java/awt/event/KeyEvent.java
index a29ba86c291..b8cbea6052e 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/event/KeyEvent.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/event/KeyEvent.java
@@ -1309,7 +1309,7 @@ public class KeyEvent extends InputEvent {
/**
* Set the keyChar value to indicate a logical character.
*
- * @param keyChar a char corresponding to to the combination of keystrokes
+ * @param keyChar a char corresponding to the combination of keystrokes
* that make up this event.
*/
public void setKeyChar(char keyChar) {
diff --git a/jdk/src/java.desktop/share/classes/java/awt/font/GlyphVector.java b/jdk/src/java.desktop/share/classes/java/awt/font/GlyphVector.java
index dd77e4d9ae2..da81237f3a0 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/font/GlyphVector.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/font/GlyphVector.java
@@ -341,7 +341,7 @@ public abstract class GlyphVector implements Cloneable {
/**
* Returns the position of the specified glyph relative to the
* origin of this GlyphVector.
- * If glyphIndex equals the number of of glyphs in
+ * If glyphIndex equals the number of glyphs in
* this GlyphVector, this method returns the position after
* the last glyph. This position is used to define the advance of
* the entire GlyphVector.
@@ -358,7 +358,7 @@ public abstract class GlyphVector implements Cloneable {
/**
* Sets the position of the specified glyph within this
* GlyphVector.
- * If glyphIndex equals the number of of glyphs in
+ * If glyphIndex equals the number of glyphs in
* this GlyphVector, this method sets the position after
* the last glyph. This position is used to define the advance of
* the entire GlyphVector.
@@ -477,7 +477,7 @@ public abstract class GlyphVector implements Cloneable {
* coordinates of the glyph numbered beginGlyphIndex + position/2.
* Odd numbered array entries beginning with position one are the Y
* coordinates of the glyph numbered beginGlyphIndex + (position-1)/2.
- * If beginGlyphIndex equals the number of of glyphs in
+ * If beginGlyphIndex equals the number of glyphs in
* this GlyphVector, this method gets the position after
* the last glyph and this position is used to define the advance of
* the entire GlyphVector.
diff --git a/jdk/src/java.desktop/share/classes/java/awt/font/TextAttribute.java b/jdk/src/java.desktop/share/classes/java/awt/font/TextAttribute.java
index fdaa2da1c7e..aaac5cc5d1c 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/font/TextAttribute.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/font/TextAttribute.java
@@ -832,7 +832,7 @@ public final class TextAttribute extends Attribute {
/**
* Attribute key for the embedding level of the text. Values are
* instances of Integer. The default value is
- * null, indicating that the the Bidirectional
+ * null, indicating that the Bidirectional
* algorithm should run without explicit embeddings.
*
* BufferedImage
* @return a Rectangle2D that is the bounding box
@@ -589,7 +589,7 @@ public class ColorConvertOp implements BufferedImageOp, RasterOp {
/**
* Returns the bounding box of the destination, given this source.
- * Note that this will be the same as the the bounding box of the
+ * Note that this will be the same as the bounding box of the
* source.
* @param src the source Raster
* @return a Rectangle2D that is the bounding box
diff --git a/jdk/src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java b/jdk/src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java
index e2fe5e13eb4..b03110f736d 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java
@@ -92,7 +92,7 @@ import java.awt.color.ICC_ColorSpace;
* ColorSpace must be 0.0 to 1.0. In this case, the
diff --git a/jdk/src/java.desktop/share/classes/java/awt/print/PrinterIOException.java b/jdk/src/java.desktop/share/classes/java/awt/print/PrinterIOException.java
index 16463270231..840854a2c32 100644
--- a/jdk/src/java.desktop/share/classes/java/awt/print/PrinterIOException.java
+++ b/jdk/src/java.desktop/share/classes/java/awt/print/PrinterIOException.java
@@ -76,7 +76,7 @@ public class PrinterIOException extends PrinterException {
}
/**
- * Returns the the cause of this exception (the IOException
+ * Returns the cause of this exception (the IOException
* that terminated the print job).
*
* @return the cause of this exception.
diff --git a/jdk/src/java.desktop/share/classes/java/beans/Encoder.java b/jdk/src/java.desktop/share/classes/java/beans/Encoder.java
index 48292d04b99..2901afd3ea7 100644
--- a/jdk/src/java.desktop/share/classes/java/beans/Encoder.java
+++ b/jdk/src/java.desktop/share/classes/java/beans/Encoder.java
@@ -121,7 +121,7 @@ public class Encoder {
* it is returned.
* setSourceBands, or null if there have
* been no calls to setSourceBands.
diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/event/IIOReadUpdateListener.java b/jdk/src/java.desktop/share/classes/javax/imageio/event/IIOReadUpdateListener.java
index 48e03e6244f..76a93452afc 100644
--- a/jdk/src/java.desktop/share/classes/javax/imageio/event/IIOReadUpdateListener.java
+++ b/jdk/src/java.desktop/share/classes/javax/imageio/event/IIOReadUpdateListener.java
@@ -70,7 +70,7 @@ public interface IIOReadUpdateListener extends EventListener {
* a value of 1 means no gaps.
* @param periodY the vertical spacing between updated pixels;
* a value of 1 means no gaps.
- * @param bands an array of ints indicating the the
+ * @param bands an array of ints indicating the
* set bands that may be updated.
*/
void passStarted(ImageReader source,
@@ -187,7 +187,7 @@ public interface IIOReadUpdateListener extends EventListener {
* a value of 1 means no gaps.
* @param periodY the vertical spacing between updated pixels;
* a value of 1 means no gaps.
- * @param bands an array of ints indicating the the
+ * @param bands an array of ints indicating the
* set bands that may be updated.
*
* @see #passStarted
diff --git a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/jpeg/JPEGQTable.java b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/jpeg/JPEGQTable.java
index 97b975b2152..40680b5e58d 100644
--- a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/jpeg/JPEGQTable.java
+++ b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/jpeg/JPEGQTable.java
@@ -136,7 +136,7 @@ public class JPEGQTable {
/**
* Constructs a quantization table from the argument, which must
* contain 64 elements in natural order (not zig-zag order).
- * A copy is made of the the input array.
+ * A copy is made of the input array.
* @param table the quantization table, as an int array.
* @throws IllegalArgumentException if table is
* null or table.length is not equal to 64.
diff --git a/jdk/src/java.desktop/share/classes/javax/sound/midi/MidiMessage.java b/jdk/src/java.desktop/share/classes/javax/sound/midi/MidiMessage.java
index 0633c32f72b..bc018758c68 100644
--- a/jdk/src/java.desktop/share/classes/javax/sound/midi/MidiMessage.java
+++ b/jdk/src/java.desktop/share/classes/javax/sound/midi/MidiMessage.java
@@ -52,7 +52,7 @@ package javax.sound.midi;
* API uses integers instead of bytes when expressing MIDI data. For example,
* the {@link #getStatus()} method of {@code MidiMessage} returns MIDI status
* bytes as integers. If you are processing MIDI data that originated outside
- * Java Sound and now is encoded as signed bytes, the bytes can can be
+ * Java Sound and now is encoded as signed bytes, the bytes can be
* converted to integers using this conversion:
*
* false. Do not call setOpaque(false).
- * The default value for the the contentAreaFilled
+ * The default value for the contentAreaFilled
* property is true.
* table is null, 0 will be written to s.
* Box that displays its components
- * along the the specified axis.
+ * along the specified axis.
*
* @param axis can be {@link BoxLayout#X_AXIS},
* {@link BoxLayout#Y_AXIS},
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java b/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java
index 196596c13bc..3d6822562f6 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java
@@ -2396,7 +2396,7 @@ public class GroupLayout implements LayoutManager2 {
* {@code CONSTANT_DESCENT}; otherwise the baseline is anchored to the top
* of the group.
* KeyboardActions
- * set up in the the chain of parent components are removed.
+ * set up in the chain of parent components are removed.
* This method is called by the toolkit internally and should
* not be called directly by programs.
*
@@ -5576,7 +5576,7 @@ public abstract class JComponent extends Container implements Serializable,
* the UI before any of the JComponent's children
* (or its LayoutManager etc.) are written,
* and we don't want to restore the UI until the most derived
- * JComponent subclass has been been stored.
+ * JComponent subclass has been stored.
*
* @param s the ObjectOutputStream in which to write
*/
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java b/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java
index 8319987ebdd..3cf186574ca 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java
@@ -716,7 +716,7 @@ public class JEditorPane extends JTextComponent {
* like fetch the stream from a cache, monitor the progress
* of the stream, etc.
* EditorKit to use for loading the stream.
* JMenuItem.
+ * Inititalizes the focusability of the JMenuItem.
* JMenuItem's are focusable, but subclasses may
* want to be, this provides them the opportunity to override this
* and invoke something else, or nothing at all. Refer to
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JProgressBar.java b/jdk/src/java.desktop/share/classes/javax/swing/JProgressBar.java
index 5a3611131b8..4026cb84879 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JProgressBar.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JProgressBar.java
@@ -330,7 +330,7 @@ public class JProgressBar extends JComponent implements SwingConstants, Accessib
public JProgressBar(int orient, int min, int max)
{
// Creating the model this way is a bit simplistic, but
- // I believe that it is the the most common usage of this
+ // I believe that it is the most common usage of this
// component - it's what people will expect.
setModel(new DefaultBoundedRangeModel(min, 0, min, max));
updateUI();
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JSpinner.java b/jdk/src/java.desktop/share/classes/javax/swing/JSpinner.java
index 2e51212ff3a..81ef955dee4 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JSpinner.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JSpinner.java
@@ -447,7 +447,7 @@ public class JSpinner extends JComponent implements Accessible
* Sends a ChangeEvent, whose source is this
* JSpinner, to each ChangeListener.
* When a ChangeListener has been added
- * to the spinner, this method method is called each time
+ * to the spinner, this method is called each time
* a ChangeEvent is received from the model.
*
* @see #addChangeListener
@@ -1798,7 +1798,7 @@ public class JSpinner extends JComponent implements Accessible
Rectangle editorRect = at.getCharacterBounds(i);
if (editorRect != null &&
sameWindowAncestor(JSpinner.this, editor)) {
- // return rectangle in the the JSpinner bounds
+ // return rectangle in the JSpinner bounds
return SwingUtilities.convertRectangle(editor,
editorRect,
JSpinner.this);
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/JTree.java b/jdk/src/java.desktop/share/classes/javax/swing/JTree.java
index 6d50f6f653a..e6e4defe711 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/JTree.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JTree.java
@@ -5575,7 +5575,7 @@ public class JTree extends JComponent implements Scrollable, Accessible
* object behind the TreeCellRenderer.
*
* @param i zero-based index of actions
- * @return true if the the action was performed; else false.
+ * @return true if the action was performed; else false.
*/
public boolean doAccessibleAction(int i) {
if (i < 0 || i >= getAccessibleActionCount()) {
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/OverlayLayout.java b/jdk/src/java.desktop/share/classes/javax/swing/OverlayLayout.java
index b62bb5faf17..4d3891ae19d 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/OverlayLayout.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/OverlayLayout.java
@@ -97,7 +97,7 @@ public class OverlayLayout implements LayoutManager2,Serializable {
* this class to know when to invalidate layout.
*
* @param name the name of the component
- * @param comp the the component to be added
+ * @param comp the component to be added
*/
public void addLayoutComponent(String name, Component comp) {
invalidateLayout(comp.getParent());
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/ScrollPaneLayout.java b/jdk/src/java.desktop/share/classes/javax/swing/ScrollPaneLayout.java
index 7903b85958b..1d499be1b6d 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/ScrollPaneLayout.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/ScrollPaneLayout.java
@@ -225,7 +225,7 @@ public class ScrollPaneLayout
*
*
* @param s the component identifier
- * @param c the the component to be added
+ * @param c the component to be added
* @exception IllegalArgumentException if s is an invalid key
*/
public void addLayoutComponent(String s, Component c)
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/SpinnerModel.java b/jdk/src/java.desktop/share/classes/javax/swing/SpinnerModel.java
index 57af106271f..6e4a4b9ed2a 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/SpinnerModel.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/SpinnerModel.java
@@ -53,7 +53,7 @@ import javax.swing.event.*;
* value is the
* first element of the sequence.
*
- * When the the value property changes,
+ * When the value property changes,
* ChangeListeners are notified. SpinnerModel may
* choose to notify the ChangeListeners under other circumstances.
*
diff --git a/jdk/src/java.desktop/share/classes/javax/swing/UIDefaults.java b/jdk/src/java.desktop/share/classes/javax/swing/UIDefaults.java
index 143995c91b8..82e4e2e5103 100644
--- a/jdk/src/java.desktop/share/classes/javax/swing/UIDefaults.java
+++ b/jdk/src/java.desktop/share/classes/javax/swing/UIDefaults.java
@@ -167,7 +167,7 @@ public class UIDefaults extends Hashtable