# HG changeset patch # User prr # Date 1418752682 28800 # Node ID 610561ed1847aa059ec999e5f325e58bfa5b67b3 # Parent f694f257671998f8ebedd88acfeb8cf2929a243f# Parent 00e875609432bc6f718560215f5ccd387cda175b Merge diff -r f694f2576719 -r 610561ed1847 .hgtags --- a/.hgtags Tue Dec 16 09:57:33 2014 -0800 +++ b/.hgtags Tue Dec 16 09:58:02 2014 -0800 @@ -284,3 +284,4 @@ 4e7c4d692e934cb9023af8201e7c2b510e9c4ee1 jdk9-b39 82f4cb44b2d7af2352f48568a64b7b6a5ae960cd jdk9-b40 9fffb959eb4197ff806e4ac12244761815b4deee jdk9-b41 +3107be2ba9c6e208a0b86bc7100a141abbc5b5fb jdk9-b42 diff -r f694f2576719 -r 610561ed1847 .hgtags-top-repo --- a/.hgtags-top-repo Tue Dec 16 09:57:33 2014 -0800 +++ b/.hgtags-top-repo Tue Dec 16 09:58:02 2014 -0800 @@ -284,3 +284,4 @@ 512dbbeb1730edcebfec873fc3f1455660b32000 jdk9-b39 cf136458ee747e151a27aa9ea0c1492ea55ef3e7 jdk9-b40 67395f7ca2db3b52e3a62a84888487de5cb9210a jdk9-b41 +f7c11da0b0481d49cc7a65a453336c108191e821 jdk9-b42 diff -r f694f2576719 -r 610561ed1847 common/autoconf/boot-jdk.m4 --- a/common/autoconf/boot-jdk.m4 Tue Dec 16 09:57:33 2014 -0800 +++ b/common/autoconf/boot-jdk.m4 Tue Dec 16 09:58:02 2014 -0800 @@ -73,31 +73,25 @@ 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 -r f694f2576719 -r 610561ed1847 common/autoconf/generated-configure.sh --- a/common/autoconf/generated-configure.sh Tue Dec 16 09:57:33 2014 -0800 +++ b/common/autoconf/generated-configure.sh Tue Dec 16 09:58:02 2014 -0800 @@ -4329,7 +4329,7 @@ #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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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: (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 @@ 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 -r f694f2576719 -r 610561ed1847 corba/.hgtags --- a/corba/.hgtags Tue Dec 16 09:57:33 2014 -0800 +++ b/corba/.hgtags Tue Dec 16 09:58:02 2014 -0800 @@ -284,3 +284,4 @@ 53bf36cb722db50815712258a77cb6bbe25a2f5f jdk9-b39 e27c725d6c9d155667b35255f442d4ceb8c3c084 jdk9-b40 1908b886ba1eda46fa725cf1160fe5d30fd1a7e5 jdk9-b41 +078bb11af876fe528d4b516f33ad4dd9bb60549e jdk9-b42 diff -r f694f2576719 -r 610561ed1847 hotspot/.hgtags --- a/hotspot/.hgtags Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/.hgtags Tue Dec 16 09:58:02 2014 -0800 @@ -444,3 +444,4 @@ 9cb75e5e394827ccbaf2e15524108a412dc4ddc5 jdk9-b39 6b09b3193d731e3288e2a240c504a20d0a06c766 jdk9-b40 1d29b13e8a515a7ea3b882f140576d5d675bc11f jdk9-b41 +38cb4fbd47e3472bd1b5ebac83bda96fe4869c4f jdk9-b42 diff -r f694f2576719 -r 610561ed1847 hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/Generation.java --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/Generation.java Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/Generation.java Tue Dec 16 09:58:02 2014 -0800 @@ -37,10 +37,7 @@
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 -r f694f2576719 -r 610561ed1847 hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/TenuredGeneration.java --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/TenuredGeneration.java Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/memory/TenuredGeneration.java Tue Dec 16 09:58:02 2014 -0800 @@ -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 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; -public class TenuredGeneration extends OneContigSpaceCardGeneration { + 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 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 -r f694f2576719 -r 610561ed1847 hotspot/make/solaris/makefiles/gcc.make --- a/hotspot/make/solaris/makefiles/gcc.make Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/make/solaris/makefiles/gcc.make Tue Dec 16 09:58:02 2014 -0800 @@ -226,18 +226,8 @@ # 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 -r f694f2576719 -r 610561ed1847 hotspot/make/solaris/makefiles/sparcWorks.make --- a/hotspot/make/solaris/makefiles/sparcWorks.make Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/make/solaris/makefiles/sparcWorks.make Tue Dec 16 09:58:02 2014 -0800 @@ -496,15 +496,6 @@ 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 -r f694f2576719 -r 610561ed1847 hotspot/src/cpu/x86/vm/vm_version_x86.hpp --- a/hotspot/src/cpu/x86/vm/vm_version_x86.hpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/cpu/x86/vm/vm_version_x86.hpp Tue Dec 16 09:58:02 2014 -0800 @@ -570,10 +570,12 @@ 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 -r f694f2576719 -r 610561ed1847 hotspot/src/os/aix/vm/os_aix.cpp --- a/hotspot/src/os/aix/vm/os_aix.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/os/aix/vm/os_aix.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -569,13 +569,13 @@ 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 @@ // 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 @@ 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 -r f694f2576719 -r 610561ed1847 hotspot/src/os/aix/vm/perfMemory_aix.cpp --- a/hotspot/src/os/aix/vm/perfMemory_aix.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/os/aix/vm/perfMemory_aix.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -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 @@ } } } - FREE_C_HEAP_ARRAY(char, destfile, mtInternal); + FREE_C_HEAP_ARRAY(char, destfile); } @@ -279,14 +279,14 @@ "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 @@ 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 @@ // 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 @@ // 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 @@ 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 @@ } } - 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 @@ remove_file(path); - FREE_C_HEAP_ARRAY(char, path, mtInternal); + FREE_C_HEAP_ARRAY(char, path); } @@ -558,7 +558,7 @@ 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 @@ 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 @@ 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 @@ 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 @@ // 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 @@ 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 -r f694f2576719 -r 610561ed1847 hotspot/src/os/bsd/vm/os_bsd.cpp --- a/hotspot/src/os/bsd/vm/os_bsd.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/os/bsd/vm/os_bsd.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -416,14 +416,14 @@ 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 @@ 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 @@ 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 @@ // 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 -r f694f2576719 -r 610561ed1847 hotspot/src/os/bsd/vm/perfMemory_bsd.cpp --- a/hotspot/src/os/bsd/vm/perfMemory_bsd.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/os/bsd/vm/perfMemory_bsd.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -127,7 +127,7 @@ } } } - FREE_C_HEAP_ARRAY(char, destfile, mtInternal); + FREE_C_HEAP_ARRAY(char, destfile); } @@ -279,14 +279,14 @@ "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 @@ 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 @@ // 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 @@ // 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 @@ 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 @@ } } - 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 @@ remove_file(path); - FREE_C_HEAP_ARRAY(char, path, mtInternal); + FREE_C_HEAP_ARRAY(char, path); } @@ -558,7 +558,7 @@ 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 @@ 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 @@ 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 @@ // 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 @@ 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 -r f694f2576719 -r 610561ed1847 hotspot/src/os/linux/vm/os_linux.cpp --- a/hotspot/src/os/linux/vm/os_linux.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/os/linux/vm/os_linux.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -402,14 +402,14 @@ 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 @@ // 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 @@ } } } - 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 -r f694f2576719 -r 610561ed1847 hotspot/src/os/linux/vm/perfMemory_linux.cpp --- a/hotspot/src/os/linux/vm/perfMemory_linux.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/os/linux/vm/perfMemory_linux.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -127,7 +127,7 @@ } } } - FREE_C_HEAP_ARRAY(char, destfile, mtInternal); + FREE_C_HEAP_ARRAY(char, destfile); } @@ -279,14 +279,14 @@ "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 @@ 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 @@ // 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 @@ // 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 @@ 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 @@ } } - 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 @@ remove_file(path); - FREE_C_HEAP_ARRAY(char, path, mtInternal); + FREE_C_HEAP_ARRAY(char, path); } @@ -558,7 +558,7 @@ 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 @@ 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 @@ 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 @@ // 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 @@ 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 -r f694f2576719 -r 610561ed1847 hotspot/src/os/solaris/vm/os_solaris.cpp --- a/hotspot/src/os/solaris/vm/os_solaris.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/os/solaris/vm/os_solaris.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -506,7 +506,7 @@ } } 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 @@ } } 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 @@ // 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 @@ // 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 @@ // 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 @@ // 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 @@ 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 -r f694f2576719 -r 610561ed1847 hotspot/src/os/solaris/vm/perfMemory_solaris.cpp --- a/hotspot/src/os/solaris/vm/perfMemory_solaris.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/os/solaris/vm/perfMemory_solaris.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -129,7 +129,7 @@ } } } - FREE_C_HEAP_ARRAY(char, destfile, mtInternal); + FREE_C_HEAP_ARRAY(char, destfile); } @@ -270,14 +270,14 @@ "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 @@ 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 @@ // 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 @@ // 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 @@ 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 @@ } } - 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 @@ remove_file(path); - FREE_C_HEAP_ARRAY(char, path, mtInternal); + FREE_C_HEAP_ARRAY(char, path); } @@ -597,7 +597,7 @@ 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 @@ 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 @@ 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 @@ // 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 @@ 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 -r f694f2576719 -r 610561ed1847 hotspot/src/os/windows/vm/os_windows.cpp --- a/hotspot/src/os/windows/vm/os_windows.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/os/windows/vm/os_windows.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -211,7 +211,7 @@ } 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ } dirp->handle = INVALID_HANDLE_VALUE; } - free(dirp->path, mtInternal); - free(dirp, mtInternal); + free(dirp->path); + free(dirp); return 0; } @@ -1262,11 +1262,11 @@ // 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 @@ 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 @@ 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 @@ // 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 @@ 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 @@ 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 @@ error = ::PeekConsoleInput(han, lpBuffer, numEvents, &numEventsRead); if (error == 0) { - os::free(lpBuffer, mtInternal); + os::free(lpBuffer); return FALSE; } @@ -4652,7 +4667,7 @@ } if (lpBuffer != NULL) { - os::free(lpBuffer, mtInternal); + os::free(lpBuffer); } *pbytes = (long) actualLength; diff -r f694f2576719 -r 610561ed1847 hotspot/src/os/windows/vm/perfMemory_windows.cpp --- a/hotspot/src/os/windows/vm/perfMemory_windows.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/os/windows/vm/perfMemory_windows.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -122,7 +122,7 @@ } } - FREE_C_HEAP_ARRAY(char, destfile, mtInternal); + FREE_C_HEAP_ARRAY(char, destfile); } // Shared Memory Implementation Details @@ -335,7 +335,7 @@ 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 @@ // 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 @@ 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 @@ 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 @@ } } - 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 @@ 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 @@ // 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 @@ // 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 @@ 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 @@ // 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 @@ 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 -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/asm/codeBuffer.cpp --- a/hotspot/src/share/vm/asm/codeBuffer.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/asm/codeBuffer.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -1025,7 +1025,7 @@ ~CodeString() { assert(_next == NULL, "wrong interface for freeing list"); - os::free((void*)_string, mtCode); + os::free((void*)_string); } bool is_comment() const { return _offset >= 0; } diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/ci/ciTypeFlow.cpp --- a/hotspot/src/share/vm/ci/ciTypeFlow.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/ci/ciTypeFlow.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -36,6 +36,7 @@ #include "interpreter/bytecodes.hpp" #include "memory/allocation.inline.hpp" #include "opto/compile.hpp" +#include "opto/node.hpp" #include "runtime/deoptimization.hpp" #include "utilities/growableArray.hpp" diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/classfile/classLoader.cpp --- a/hotspot/src/share/vm/classfile/classLoader.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/classfile/classLoader.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -165,7 +165,7 @@ MetaIndex::~MetaIndex() { - FREE_C_HEAP_ARRAY(char*, _meta_package_names, mtClass); + FREE_C_HEAP_ARRAY(char*, _meta_package_names); } @@ -251,7 +251,7 @@ if (ZipClose != NULL) { (*ZipClose)(_zip); } - FREE_C_HEAP_ARRAY(char, _zip_name, mtClass); + FREE_C_HEAP_ARRAY(char, _zip_name); } u1* ClassPathZipEntry::open_entry(const char* name, jint* filesize, bool nul_terminate, TRAPS) { diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/classfile/imageFile.cpp --- a/hotspot/src/share/vm/classfile/imageFile.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/classfile/imageFile.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -90,7 +90,7 @@ close(); // Free up name. - FREE_C_HEAP_ARRAY(char, _name, mtClass); + FREE_C_HEAP_ARRAY(char, _name); } bool ImageFile::open() { diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/classfile/loaderConstraints.cpp --- a/hotspot/src/share/vm/classfile/loaderConstraints.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/classfile/loaderConstraints.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2012, 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 @@ -164,7 +164,7 @@ // Purge entry *p = probe->next(); - FREE_C_HEAP_ARRAY(oop, probe->loaders(), mtClass); + FREE_C_HEAP_ARRAY(oop, probe->loaders()); free_entry(probe); } else { #ifdef ASSERT @@ -340,7 +340,7 @@ ClassLoaderData** new_loaders = NEW_C_HEAP_ARRAY(ClassLoaderData*, n, mtClass); memcpy(new_loaders, p->loaders(), sizeof(ClassLoaderData*) * p->num_loaders()); p->set_max_loaders(n); - FREE_C_HEAP_ARRAY(ClassLoaderData*, p->loaders(), mtClass); + FREE_C_HEAP_ARRAY(ClassLoaderData*, p->loaders()); p->set_loaders(new_loaders); } } @@ -422,7 +422,7 @@ } *pp2 = p2->next(); - FREE_C_HEAP_ARRAY(oop, p2->loaders(), mtClass); + FREE_C_HEAP_ARRAY(oop, p2->loaders()); free_entry(p2); return; } diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/classfile/sharedPathsMiscInfo.hpp --- a/hotspot/src/share/vm/classfile/sharedPathsMiscInfo.hpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/classfile/sharedPathsMiscInfo.hpp Tue Dec 16 09:58:02 2014 -0800 @@ -89,7 +89,7 @@ } ~SharedPathsMiscInfo() { if (_allocated) { - FREE_C_HEAP_ARRAY(char, _buf_start, mtClass); + FREE_C_HEAP_ARRAY(char, _buf_start); } } int get_used_bytes() { diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/code/codeBlob.cpp --- a/hotspot/src/share/vm/code/codeBlob.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/code/codeBlob.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -168,7 +168,7 @@ void CodeBlob::flush() { if (_oop_maps) { - FREE_C_HEAP_ARRAY(unsigned char, _oop_maps, mtCode); + FREE_C_HEAP_ARRAY(unsigned char, _oop_maps); _oop_maps = NULL; } _strings.free(); diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/code/codeCache.cpp --- a/hotspot/src/share/vm/code/codeCache.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/code/codeCache.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -1190,7 +1190,7 @@ } } - FREE_C_HEAP_ARRAY(int, buckets, mtCode); + FREE_C_HEAP_ARRAY(int, buckets); print_memory_overhead(); } diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/compiler/compileLog.cpp --- a/hotspot/src/share/vm/compiler/compileLog.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/compiler/compileLog.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -58,10 +58,8 @@ CompileLog::~CompileLog() { delete _out; // Close fd in fileStream::~fileStream() _out = NULL; - // Remove partial file after merging in CompileLog::finish_log_on_error - unlink(_file); - FREE_C_HEAP_ARRAY(char, _identities, mtCompiler); - FREE_C_HEAP_ARRAY(char, _file, mtCompiler); + FREE_C_HEAP_ARRAY(char, _identities); + FREE_C_HEAP_ARRAY(char, _file); } diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp --- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/cmsCollectorPolicy.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -52,21 +52,9 @@ } void ConcurrentMarkSweepPolicy::initialize_generations() { - _generations = NEW_C_HEAP_ARRAY3(GenerationSpecPtr, number_of_generations(), mtGC, - CURRENT_PC, AllocFailStrategy::RETURN_NULL); - if (_generations == NULL) - vm_exit_during_initialization("Unable to allocate gen spec"); - - Generation::Name yg_name = - UseParNewGC ? Generation::ParNew : Generation::DefNew; - _generations[0] = new GenerationSpec(yg_name, _initial_young_size, - _max_young_size); - _generations[1] = new GenerationSpec(Generation::ConcurrentMarkSweep, - _initial_old_size, _max_old_size); - - if (_generations[0] == NULL || _generations[1] == NULL) { - vm_exit_during_initialization("Unable to allocate gen spec"); - } + _generations = NEW_C_HEAP_ARRAY(GenerationSpecPtr, number_of_generations(), mtGC); + _generations[0] = new GenerationSpec(Generation::ParNew, _initial_young_size, _max_young_size); + _generations[1] = new GenerationSpec(Generation::ConcurrentMarkSweep, _initial_old_size, _max_old_size); } void ConcurrentMarkSweepPolicy::initialize_size_policy(size_t init_eden_size, @@ -82,10 +70,5 @@ void ConcurrentMarkSweepPolicy::initialize_gc_policy_counters() { // initialize the policy counters - 2 collectors, 3 generations - if (UseParNewGC) { - _gc_policy_counters = new GCPolicyCounters("ParNew:CMS", 2, 3); - } - else { - _gc_policy_counters = new GCPolicyCounters("Copy:CMS", 2, 3); - } + _gc_policy_counters = new GCPolicyCounters("ParNew:CMS", 2, 3); } diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp --- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -90,7 +90,8 @@ CMSRescanMultiple), _marking_task_size(CardTableModRefBS::card_size_in_words * BitsPerWord * CMSConcMarkMultiple), - _collector(NULL) + _collector(NULL), + _preconsumptionDirtyCardClosure(NULL) { assert(sizeof(FreeChunk) / BytesPerWord <= MinChunkSize, "FreeChunk is larger than expected"); diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp --- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp Tue Dec 16 09:58:02 2014 -0800 @@ -155,6 +155,9 @@ // Used to keep track of limit of sweep for the space HeapWord* _sweep_limit; + // Used to make the young collector update the mod union table + MemRegionClosure* _preconsumptionDirtyCardClosure; + // Support for compacting cms HeapWord* cross_threshold(HeapWord* start, HeapWord* end); HeapWord* forward(oop q, size_t size, CompactPoint* cp, HeapWord* compact_top); @@ -356,6 +359,14 @@ void initialize_sequential_subtasks_for_marking(int n_threads, HeapWord* low = NULL); + virtual MemRegionClosure* preconsumptionDirtyCardClosure() const { + return _preconsumptionDirtyCardClosure; + } + + void setPreconsumptionDirtyCardClosure(MemRegionClosure* cl) { + _preconsumptionDirtyCardClosure = cl; + } + // Space enquiries size_t used() const; size_t free() const; diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp --- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -623,7 +623,8 @@ // Support for parallelizing young gen rescan GenCollectedHeap* gch = GenCollectedHeap::heap(); - _young_gen = gch->prev_gen(_cmsGen); + assert(gch->prev_gen(_cmsGen)->kind() == Generation::ParNew, "CMS can only be used with ParNew"); + _young_gen = (ParNewGeneration*)gch->prev_gen(_cmsGen); if (gch->supports_inline_contig_alloc()) { _top_addr = gch->top_addr(); _end_addr = gch->end_addr(); @@ -650,15 +651,15 @@ || _cursor == NULL) { warning("Failed to allocate survivor plab/chunk array"); if (_survivor_plab_array != NULL) { - FREE_C_HEAP_ARRAY(ChunkArray, _survivor_plab_array, mtGC); + FREE_C_HEAP_ARRAY(ChunkArray, _survivor_plab_array); _survivor_plab_array = NULL; } if (_survivor_chunk_array != NULL) { - FREE_C_HEAP_ARRAY(HeapWord*, _survivor_chunk_array, mtGC); + FREE_C_HEAP_ARRAY(HeapWord*, _survivor_chunk_array); _survivor_chunk_array = NULL; } if (_cursor != NULL) { - FREE_C_HEAP_ARRAY(size_t, _cursor, mtGC); + FREE_C_HEAP_ARRAY(size_t, _cursor); _cursor = NULL; } } else { @@ -668,10 +669,10 @@ if (vec == NULL) { warning("Failed to allocate survivor plab array"); for (int j = i; j > 0; j--) { - FREE_C_HEAP_ARRAY(HeapWord*, _survivor_plab_array[j-1].array(), mtGC); + FREE_C_HEAP_ARRAY(HeapWord*, _survivor_plab_array[j-1].array()); } - FREE_C_HEAP_ARRAY(ChunkArray, _survivor_plab_array, mtGC); - FREE_C_HEAP_ARRAY(HeapWord*, _survivor_chunk_array, mtGC); + FREE_C_HEAP_ARRAY(ChunkArray, _survivor_plab_array); + FREE_C_HEAP_ARRAY(HeapWord*, _survivor_chunk_array); _survivor_plab_array = NULL; _survivor_chunk_array = NULL; _survivor_chunk_capacity = 0; @@ -1203,14 +1204,6 @@ void ConcurrentMarkSweepGeneration:: -par_promote_alloc_undo(int thread_num, - HeapWord* obj, size_t word_sz) { - // CMS does not support promotion undo. - ShouldNotReachHere(); -} - -void -ConcurrentMarkSweepGeneration:: par_promote_alloc_done(int thread_num) { CMSParGCThreadState* ps = _par_gc_thread_states[thread_num]; ps->lab.retire(thread_num); @@ -1641,13 +1634,12 @@ do_compaction_work(clear_all_soft_refs); // Has the GC time limit been exceeded? - DefNewGeneration* young_gen = _young_gen->as_DefNewGeneration(); - size_t max_eden_size = young_gen->max_capacity() - - young_gen->to()->capacity() - - young_gen->from()->capacity(); + size_t max_eden_size = _young_gen->max_capacity() - + _young_gen->to()->capacity() - + _young_gen->from()->capacity(); GCCause::Cause gc_cause = gch->gc_cause(); size_policy()->check_gc_overhead_limit(_young_gen->used(), - young_gen->eden()->used(), + _young_gen->eden()->used(), _cmsGen->max_capacity(), max_eden_size, full, @@ -1768,10 +1760,9 @@ } void CMSCollector::print_eden_and_survivor_chunk_arrays() { - DefNewGeneration* dng = _young_gen->as_DefNewGeneration(); - ContiguousSpace* eden_space = dng->eden(); - ContiguousSpace* from_space = dng->from(); - ContiguousSpace* to_space = dng->to(); + ContiguousSpace* eden_space = _young_gen->eden(); + ContiguousSpace* from_space = _young_gen->from(); + ContiguousSpace* to_space = _young_gen->to(); // Eden if (_eden_chunk_array != NULL) { gclog_or_tty->print_cr("eden " PTR_FORMAT "-" PTR_FORMAT "-" PTR_FORMAT "(" SIZE_FORMAT ")", @@ -2821,7 +2812,7 @@ } // YSR: All of this generation expansion/shrinking stuff is an exact copy of -// OneContigSpaceCardGeneration, which makes me wonder if we should move this +// TenuredGeneration, which makes me wonder if we should move this // to CardGeneration and share it... bool ConcurrentMarkSweepGeneration::expand(size_t bytes, size_t expand_bytes) { return CardGeneration::expand(bytes, expand_bytes); @@ -4094,10 +4085,6 @@ } if (clean_survivor) { // preclean the active survivor space(s) - assert(_young_gen->kind() == Generation::DefNew || - _young_gen->kind() == Generation::ParNew, - "incorrect type for cast"); - DefNewGeneration* dng = (DefNewGeneration*)_young_gen; PushAndMarkClosure pam_cl(this, _span, ref_processor(), &_markBitMap, &_modUnionTable, &_markStack, true /* precleaning phase */); @@ -4110,8 +4097,8 @@ SurvivorSpacePrecleanClosure sss_cl(this, _span, &_markBitMap, &_markStack, &pam_cl, before_count, CMSYield); - dng->from()->object_iterate_careful(&sss_cl); - dng->to()->object_iterate_careful(&sss_cl); + _young_gen->from()->object_iterate_careful(&sss_cl); + _young_gen->to()->object_iterate_careful(&sss_cl); } MarkRefsIntoAndScanClosure mrias_cl(_span, ref_processor(), &_markBitMap, &_modUnionTable, @@ -4696,10 +4683,10 @@ }; void CMSParMarkTask::work_on_young_gen_roots(uint worker_id, OopsInGenClosure* cl) { - DefNewGeneration* dng = _collector->_young_gen->as_DefNewGeneration(); - ContiguousSpace* eden_space = dng->eden(); - ContiguousSpace* from_space = dng->from(); - ContiguousSpace* to_space = dng->to(); + ParNewGeneration* young_gen = _collector->_young_gen; + ContiguousSpace* eden_space = young_gen->eden(); + ContiguousSpace* from_space = young_gen->from(); + ContiguousSpace* to_space = young_gen->to(); HeapWord** eca = _collector->_eden_chunk_array; size_t ect = _collector->_eden_chunk_index; @@ -5168,11 +5155,10 @@ CMSCollector:: initialize_sequential_subtasks_for_young_gen_rescan(int n_threads) { assert(n_threads > 0, "Unexpected n_threads argument"); - DefNewGeneration* dng = (DefNewGeneration*)_young_gen; // Eden space - if (!dng->eden()->is_empty()) { - SequentialSubTasksDone* pst = dng->eden()->par_seq_tasks(); + if (!_young_gen->eden()->is_empty()) { + SequentialSubTasksDone* pst = _young_gen->eden()->par_seq_tasks(); assert(!pst->valid(), "Clobbering existing data?"); // Each valid entry in [0, _eden_chunk_index) represents a task. size_t n_tasks = _eden_chunk_index + 1; @@ -5185,14 +5171,14 @@ // Merge the survivor plab arrays into _survivor_chunk_array if (_survivor_plab_array != NULL) { - merge_survivor_plab_arrays(dng->from(), n_threads); + merge_survivor_plab_arrays(_young_gen->from(), n_threads); } else { assert(_survivor_chunk_index == 0, "Error"); } // To space { - SequentialSubTasksDone* pst = dng->to()->par_seq_tasks(); + SequentialSubTasksDone* pst = _young_gen->to()->par_seq_tasks(); assert(!pst->valid(), "Clobbering existing data?"); // Sets the condition for completion of the subtask (how many threads // need to finish in order to be done). @@ -5203,7 +5189,7 @@ // From space { - SequentialSubTasksDone* pst = dng->from()->par_seq_tasks(); + SequentialSubTasksDone* pst = _young_gen->from()->par_seq_tasks(); assert(!pst->valid(), "Clobbering existing data?"); size_t n_tasks = _survivor_chunk_index + 1; assert(n_tasks == 1 || _survivor_chunk_array != NULL, "Error"); @@ -5945,7 +5931,6 @@ } void CMSCollector::do_CMS_operation(CMS_op_type op, GCCause::Cause gc_cause) { - gclog_or_tty->date_stamp(PrintGC && PrintGCDateStamps); TraceCPUTime tcpu(PrintGCDetails, true, gclog_or_tty); GCTraceTime t(GCCauseString("GC", gc_cause), PrintGC, !PrintGCDetails, NULL, _gc_tracer_cm->gc_id()); TraceCollectorStats tcs(counters()); diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp --- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp Tue Dec 16 09:58:02 2014 -0800 @@ -721,7 +721,8 @@ private: // Support for parallelizing young gen rescan in CMS remark phase - Generation* _young_gen; // the younger gen + ParNewGeneration* _young_gen; // the younger gen + HeapWord** _top_addr; // ... Top of Eden HeapWord** _end_addr; // ... End of Eden Mutex* _eden_chunk_lock; @@ -1151,9 +1152,6 @@ // Overrides for parallel promotion. virtual oop par_promote(int thread_num, oop obj, markOop m, size_t word_sz); - // This one should not be called for CMS. - virtual void par_promote_alloc_undo(int thread_num, - HeapWord* obj, size_t word_sz); virtual void par_promote_alloc_done(int thread_num); virtual void par_oop_since_save_marks_iterate_done(int thread_num); @@ -1256,8 +1254,6 @@ virtual const char* short_name() const { return "CMS"; } void print() const; void printOccupancy(const char* s); - bool must_be_youngest() const { return false; } - bool must_be_oldest() const { return true; } // Resize the generation after a compacting GC. The // generation can be treated as a contiguous space diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.inline.hpp --- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.inline.hpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.inline.hpp Tue Dec 16 09:58:02 2014 -0800 @@ -29,8 +29,9 @@ #include "gc_implementation/concurrentMarkSweep/compactibleFreeListSpace.hpp" #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp" #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepThread.hpp" +#include "gc_implementation/parNew/parNewGeneration.hpp" #include "gc_implementation/shared/gcUtil.hpp" -#include "memory/defNewGeneration.hpp" +#include "memory/genCollectedHeap.hpp" inline void CMSBitMap::clear_all() { assert_locked(); @@ -257,11 +258,11 @@ } inline size_t CMSCollector::get_eden_used() const { - return _young_gen->as_DefNewGeneration()->eden()->used(); + return _young_gen->eden()->used(); } inline size_t CMSCollector::get_eden_capacity() const { - return _young_gen->as_DefNewGeneration()->eden()->capacity(); + return _young_gen->eden()->capacity(); } inline bool CMSStats::valid() const { diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentG1Refine.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -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. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -107,7 +107,7 @@ for (uint i = 0; i < _n_threads; i++) { delete _threads[i]; } - FREE_C_HEAP_ARRAY(ConcurrentG1RefineThread*, _threads, mtGC); + FREE_C_HEAP_ARRAY(ConcurrentG1RefineThread*, _threads); } } diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -180,9 +180,32 @@ } }; +class ParClearNextMarkBitmapTask : public AbstractGangTask { + ClearBitmapHRClosure* _cl; + HeapRegionClaimer _hrclaimer; + bool _suspendible; // If the task is suspendible, workers must join the STS. + +public: + ParClearNextMarkBitmapTask(ClearBitmapHRClosure *cl, uint n_workers, bool suspendible) : + _cl(cl), _suspendible(suspendible), AbstractGangTask("Parallel Clear Bitmap Task"), _hrclaimer(n_workers) {} + + void work(uint worker_id) { + if (_suspendible) { + SuspendibleThreadSet::join(); + } + G1CollectedHeap::heap()->heap_region_par_iterate(_cl, worker_id, &_hrclaimer, true); + if (_suspendible) { + SuspendibleThreadSet::leave(); + } + } +}; + void CMBitMap::clearAll() { + G1CollectedHeap* g1h = G1CollectedHeap::heap(); ClearBitmapHRClosure cl(NULL, this, false /* may_yield */); - G1CollectedHeap::heap()->heap_region_iterate(&cl); + uint n_workers = g1h->workers()->active_workers(); + ParClearNextMarkBitmapTask task(&cl, n_workers, false); + g1h->workers()->run_task(&task); guarantee(cl.complete(), "Must have completed iteration."); return; } @@ -861,7 +884,8 @@ guarantee(!g1h->mark_in_progress(), "invariant"); ClearBitmapHRClosure cl(this, _nextMarkBitMap, true /* may_yield */); - g1h->heap_region_iterate(&cl); + ParClearNextMarkBitmapTask task(&cl, parallel_marking_threads(), true); + _parallel_workers->run_task(&task); // Clear the liveness counting data. If the marking has been aborted, the abort() // call already did that. @@ -2099,6 +2123,7 @@ // We reclaimed old regions so we should calculate the sizes to make // sure we update the old gen/space data. g1h->g1mm()->update_sizes(); + g1h->allocation_context_stats().update_after_mark(); g1h->trace_heap_after_concurrent_cycle(); } @@ -3219,7 +3244,6 @@ _g1h->set_par_threads(n_workers); _g1h->workers()->run_task(&g1_par_agg_task); _g1h->set_par_threads(0); - _g1h->allocation_context_stats().update_at_remark(); } // Clear the per-worker arrays used to store the per-region counting data diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMarkThread.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -280,7 +280,6 @@ // We may have aborted just before the remark. Do not bother clearing the // bitmap then, as it has been done during mark abort. if (!cm()->has_aborted()) { - SuspendibleThreadSetJoiner sts; _cm->clearNextBitmap(); } else { assert(!G1VerifyBitmaps || _cm->nextMarkBitmapIsClear(), "Next mark bitmap must be clear"); diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/gc_implementation/g1/g1AllocationContext.hpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1AllocationContext.hpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1AllocationContext.hpp Tue Dec 16 09:58:02 2014 -0800 @@ -45,7 +45,7 @@ public: inline void clear() { } inline void update(bool full_gc) { } - inline void update_at_remark() { } + inline void update_after_mark() { } inline bool available() { return false; } }; diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/gc_implementation/g1/g1Allocator.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1Allocator.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1Allocator.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -59,7 +59,7 @@ !(retained_region->top() == retained_region->end()) && !retained_region->is_empty() && !retained_region->is_humongous()) { - retained_region->record_top_and_timestamp(); + retained_region->record_timestamp(); // The retained region was added to the old region set when it was // retired. We have to remove it now, since we don't allow regions // we allocate to in the region sets. We'll re-add it later, when @@ -94,6 +94,9 @@ // want either way so no reason to check explicitly for either // condition. _retained_old_gc_alloc_region = old_gc_alloc_region(context)->release(); + if (_retained_old_gc_alloc_region != NULL) { + _retained_old_gc_alloc_region->record_retained_region(); + } if (ResizePLAB) { _g1h->_survivor_plab_stats.adjust_desired_plab_sz(no_of_gc_workers); diff -r f694f2576719 -r 610561ed1847 hotspot/src/share/vm/gc_implementation/g1/g1CodeCacheRemSet.cpp --- a/hotspot/src/share/vm/gc_implementation/g1/g1CodeCacheRemSet.cpp Tue Dec 16 09:57:33 2014 -0800 +++ b/hotspot/src/share/vm/gc_implementation/g1/g1CodeCacheRemSet.cpp Tue Dec 16 09:58:02 2014 -0800 @@ -111,13 +111,13 @@ // read next before freeing. e = e->next(); unlink_entry(to_remove); - FREE_C_HEAP_ARRAY(char, to_remove, mtGC); + FREE_C_HEAP_ARRAY(char, to_remove); } } assert(number_of_entries() == 0, "should have removed all entries"); free_buckets(); for (BasicHashtableEntryWelcome 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/io/RandomAccessFile.java
--- a/jdk/src/java.base/share/classes/java/io/RandomAccessFile.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/io/RandomAccessFile.java Tue Dec 16 09:58:02 2014 -0800
@@ -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 @@
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 @@
*/
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 @@
* @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 @@
* @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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/lang/Class.java
--- a/jdk/src/java.base/share/classes/java/lang/Class.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/lang/Class.java Tue Dec 16 09:58:02 2014 -0800
@@ -1529,7 +1529,7 @@
* the accessible public fields of the class or interface represented by
* this {@code Class} object.
*
- * 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/lang/ClassValue.java
--- a/jdk/src/java.base/share/classes/java/lang/ClassValue.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/lang/ClassValue.java Tue Dec 16 09:58:02 2014 -0800
@@ -162,7 +162,7 @@
* observe the time-dependent states as it computes {@code V1}, etc.
* This does not remove the threat of a stale value, since there is a window of time
* between the return of {@code computeValue} in {@code T} and the installation
- * of the the new value. No user synchronization is possible during this time.
+ * of the new value. No user synchronization is possible during this time.
*
* @param type the type whose class value must be removed
* @throws NullPointerException if the argument is null
@@ -285,7 +285,7 @@
* will receive the notification without delay.
*
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/lang/Integer.java
--- a/jdk/src/java.base/share/classes/java/lang/Integer.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/lang/Integer.java Tue Dec 16 09:58:02 2014 -0800
@@ -840,7 +840,7 @@
/**
* Parses the string argument as an unsigned decimal integer. The
* characters in the string must all be decimal digits, except
- * that the first character may be an an ASCII plus sign {@code
+ * that the first character may be an ASCII plus sign {@code
* '+'} ({@code '\u005Cu002B'}). The resulting integer value
* is returned, exactly as if the argument and the radix 10 were
* given as arguments to the {@link
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/lang/Long.java
--- a/jdk/src/java.base/share/classes/java/lang/Long.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/lang/Long.java Tue Dec 16 09:58:02 2014 -0800
@@ -971,7 +971,7 @@
/**
* Parses the string argument as an unsigned decimal {@code long}. The
* characters in the string must all be decimal digits, except
- * that the first character may be an an ASCII plus sign {@code
+ * that the first character may be an ASCII plus sign {@code
* '+'} ({@code '\u005Cu002B'}). The resulting integer value
* is returned, exactly as if the argument and the radix 10 were
* given as arguments to the {@link
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/lang/Math.java
--- a/jdk/src/java.base/share/classes/java/lang/Math.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/lang/Math.java Tue Dec 16 09:58:02 2014 -0800
@@ -2224,7 +2224,7 @@
* multiply-store result is subnormal, the next multiply will
* round it away to zero. This is done by first multiplying
* by 2 ^ (scaleFactor % n) and then multiplying several
- * times by by 2^n as needed where n is the exponent of number
+ * times by 2^n as needed where n is the exponent of number
* that is a covenient power of two. In this way, at most one
* real rounding error occurs. If the double value set is
* being used exclusively, the rounding will occur on a
@@ -2249,7 +2249,7 @@
// magnitude of a power of two so large that scaling a finite
// nonzero value by it would be guaranteed to over or
- // underflow; due to rounding, scaling down takes takes an
+ // underflow; due to rounding, scaling down takes an
// additional power of two which is reflected here
final int MAX_SCALE = DoubleConsts.MAX_EXPONENT + -DoubleConsts.MIN_EXPONENT +
DoubleConsts.SIGNIFICAND_WIDTH + 1;
@@ -2318,7 +2318,7 @@
public static float scalb(float f, int scaleFactor) {
// magnitude of a power of two so large that scaling a finite
// nonzero value by it would be guaranteed to over or
- // underflow; due to rounding, scaling down takes takes an
+ // underflow; due to rounding, scaling down takes an
// additional power of two which is reflected here
final int MAX_SCALE = FloatConsts.MAX_EXPONENT + -FloatConsts.MIN_EXPONENT +
FloatConsts.SIGNIFICAND_WIDTH + 1;
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/lang/ProcessBuilder.java
--- a/jdk/src/java.base/share/classes/java/lang/ProcessBuilder.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/lang/ProcessBuilder.java Tue Dec 16 09:58:02 2014 -0800
@@ -750,7 +750,7 @@
* {@link Process#getErrorStream()} will return a
* null input stream.
*
- * 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/lang/String.java
--- a/jdk/src/java.base/share/classes/java/lang/String.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/lang/String.java Tue Dec 16 09:58:02 2014 -0800
@@ -184,8 +184,8 @@
* 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 @@
* 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 @@
* 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 @@
* 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 @@
* 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 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/lang/Throwable.java
--- a/jdk/src/java.base/share/classes/java/lang/Throwable.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/lang/Throwable.java Tue Dec 16 09:58:02 2014 -0800
@@ -202,7 +202,7 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java Tue Dec 16 09:58:02 2014 -0800
@@ -2028,7 +2028,7 @@
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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/lang/invoke/MethodType.java
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodType.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodType.java Tue Dec 16 09:58:02 2014 -0800
@@ -116,7 +116,7 @@
/**
* 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 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/security/DomainCombiner.java
--- a/jdk/src/java.base/share/classes/java/security/DomainCombiner.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/security/DomainCombiner.java Tue Dec 16 09:58:02 2014 -0800
@@ -92,7 +92,7 @@
* @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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/security/Provider.java
--- a/jdk/src/java.base/share/classes/java/security/Provider.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/security/Provider.java Tue Dec 16 09:58:02 2014 -0800
@@ -1711,7 +1711,7 @@
*
* @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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/security/Signature.java
--- a/jdk/src/java.base/share/classes/java/security/Signature.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/security/Signature.java Tue Dec 16 09:58:02 2014 -0800
@@ -776,7 +776,7 @@
/**
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/security/SignatureSpi.java
--- a/jdk/src/java.base/share/classes/java/security/SignatureSpi.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/security/SignatureSpi.java Tue Dec 16 09:58:02 2014 -0800
@@ -131,7 +131,7 @@
/**
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/security/interfaces/DSAKeyPairGenerator.java
--- a/jdk/src/java.base/share/classes/java/security/interfaces/DSAKeyPairGenerator.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/security/interfaces/DSAKeyPairGenerator.java Tue Dec 16 09:58:02 2014 -0800
@@ -54,7 +54,7 @@
*
*
*
- * 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/text/ChoiceFormat.java
--- a/jdk/src/java.base/share/classes/java/text/ChoiceFormat.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/text/ChoiceFormat.java Tue Dec 16 09:58:02 2014 -0800
@@ -272,7 +272,7 @@
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 @@
} else if (choiceLimits[i] == Double.NEGATIVE_INFINITY) {
result.append("-\u221E");
} else {
- result.append(""+less);
+ result.append(less);
}
result.append('<');
}
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java
--- a/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java Tue Dec 16 09:58:02 2014 -0800
@@ -1097,7 +1097,7 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java
--- a/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatterBuilder.java Tue Dec 16 09:58:02 2014 -0800
@@ -793,7 +793,7 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/util/Arrays.java
--- a/jdk/src/java.base/share/classes/java/util/Arrays.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/util/Arrays.java Tue Dec 16 09:58:02 2014 -0800
@@ -1221,7 +1221,7 @@
*
* 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 @@
*
* 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 @@
*
* 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 @@
*
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/util/Base64.java
--- a/jdk/src/java.base/share/classes/java/util/Base64.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/util/Base64.java Tue Dec 16 09:58:02 2014 -0800
@@ -556,7 +556,7 @@
*
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/util/Calendar.java
--- a/jdk/src/java.base/share/classes/java/util/Calendar.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/util/Calendar.java Tue Dec 16 09:58:02 2014 -0800
@@ -2993,7 +2993,7 @@
}
/**
- * Sets the date of this {@code Calendar} with the the given date
+ * Sets the date of this {@code Calendar} with the given date
* specifiers - week year, week of year, and day of week.
*
* Unlike the {@code set} method, all of the calendar fields
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/util/Locale.java
--- a/jdk/src/java.base/share/classes/java/util/Locale.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/util/Locale.java Tue Dec 16 09:58:02 2014 -0800
@@ -95,7 +95,7 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/reflect/generics/factory/GenericsFactory.java
--- a/jdk/src/java.base/share/classes/sun/reflect/generics/factory/GenericsFactory.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/reflect/generics/factory/GenericsFactory.java Tue Dec 16 09:58:02 2014 -0800
@@ -42,7 +42,7 @@
* 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 @@
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 @@
/**
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/reflect/generics/parser/SignatureParser.java
--- a/jdk/src/java.base/share/classes/sun/reflect/generics/parser/SignatureParser.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/reflect/generics/parser/SignatureParser.java Tue Dec 16 09:58:02 2014 -0800
@@ -227,7 +227,7 @@
* "<" 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/security/x509/GeneralName.java
--- a/jdk/src/java.base/share/classes/sun/security/x509/GeneralName.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/security/x509/GeneralName.java Tue Dec 16 09:58:02 2014 -0800
@@ -221,7 +221,7 @@
/**
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/security/x509/URIName.java
--- a/jdk/src/java.base/share/classes/sun/security/x509/URIName.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/security/x509/URIName.java Tue Dec 16 09:58:02 2014 -0800
@@ -302,7 +302,7 @@
*
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/security/x509/X500Name.java
--- a/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/security/x509/X500Name.java Tue Dec 16 09:58:02 2014 -0800
@@ -336,7 +336,7 @@
}
/**
- * 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/awt/WaitDispatchSupport.java
--- a/jdk/src/java.desktop/share/classes/java/awt/WaitDispatchSupport.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/awt/WaitDispatchSupport.java Tue Dec 16 09:58:02 2014 -0800
@@ -208,7 +208,7 @@
}
}, 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 @@
}
// 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/awt/datatransfer/DataFlavor.java
--- a/jdk/src/java.desktop/share/classes/java/awt/datatransfer/DataFlavor.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/awt/datatransfer/DataFlavor.java Tue Dec 16 09:58:02 2014 -0800
@@ -384,7 +384,7 @@
* @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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/awt/image/ColorConvertOp.java
--- a/jdk/src/java.desktop/share/classes/java/awt/image/ColorConvertOp.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/awt/image/ColorConvertOp.java Tue Dec 16 09:58:02 2014 -0800
@@ -577,7 +577,7 @@
/**
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/imageio/IIOParam.java
--- a/jdk/src/java.desktop/share/classes/javax/imageio/IIOParam.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/imageio/IIOParam.java Tue Dec 16 09:58:02 2014 -0800
@@ -442,7 +442,7 @@
}
/**
- * 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 @@
}
/**
- * 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 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/ArrayTable.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/ArrayTable.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/ArrayTable.java Tue Dec 16 09:58:02 2014 -0800
@@ -51,7 +51,7 @@
/**
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/Box.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/Box.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/Box.java Tue Dec 16 09:58:02 2014 -0800
@@ -82,7 +82,7 @@
/**
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/JComboBox.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/JComboBox.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JComboBox.java Tue Dec 16 09:58:02 2014 -0800
@@ -1919,7 +1919,7 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/JComponent.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java Tue Dec 16 09:58:02 2014 -0800
@@ -1882,7 +1882,7 @@
}
/**
- * Sets the the horizontal alignment.
+ * Sets the horizontal alignment.
*
* @param alignmentY the new horizontal alignment
* @see #getAlignmentY
@@ -1911,7 +1911,7 @@
}
/**
- * Sets the the vertical alignment.
+ * Sets the vertical alignment.
*
* @param alignmentX the new vertical alignment
* @see #getAlignmentX
@@ -4799,7 +4799,7 @@
/**
* 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 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/JLayer.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/JLayer.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JLayer.java Tue Dec 16 09:58:02 2014 -0800
@@ -131,7 +131,7 @@
*
* 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 @@
*
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/JMenuItem.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/JMenuItem.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JMenuItem.java Tue Dec 16 09:58:02 2014 -0800
@@ -178,7 +178,7 @@
}
/**
- * Inititalizes the focusability of the the
* Please refer to the key bindings specification for further details.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTableUI.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTableUI.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTableUI.java Tue Dec 16 09:58:02 2014 -0800
@@ -344,7 +344,7 @@
}
// In cases where the lead is not within the search range,
- // we need to bring it within one cell for the the search
+ // we need to bring it within one cell for the search
// to work properly. Check these here.
leadRow = Math.min(Math.max(leadRow, minY - 1), maxY + 1);
leadColumn = Math.min(Math.max(leadColumn, minX - 1), maxX + 1);
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextUI.java Tue Dec 16 09:58:02 2014 -0800
@@ -137,7 +137,7 @@
/**
* Fetches the name of the keymap that will be installed/used
* by default for this UI. This is implemented to create a
- * name based upon the classname. The name is the the name
+ * name based upon the classname. The name is the name
* of the class with the package prefix removed.
*
* @return the name
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthGraphicsUtils.java Tue Dec 16 09:58:02 2014 -0800
@@ -245,7 +245,7 @@
}
/**
- * Returns the maximum height of the the Font from the passed in
+ * Returns the maximum height of the Font from the passed in
* SynthContext.
*
* @param context SynthContext used to determine font.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/table/JTableHeader.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/table/JTableHeader.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/table/JTableHeader.java Tue Dec 16 09:58:02 2014 -0800
@@ -242,7 +242,7 @@
}
/**
- * Returns the the dragged column, if and only if, a drag is in
+ * Returns the dragged column, if and only if, a drag is in
* process, otherwise returns
* If the receiver is laying its Consider the following structure (the
- * Say we want want to implement addDirtyRegion(Rectangle rect)
+ * Say we want to implement addDirtyRegion(Rectangle rect)
* which sends this region to the
* handleDirtyRegions(List
* As
* If an exception was recorded while processing a chain of
- * LdapReferralException objects then is is throw once
+ * LdapReferralException objects then it is throw once
* processing has completed.
*
* @author Vincent Ryan
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.naming/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java
--- a/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/sasl/DefaultCallbackHandler.java Tue Dec 16 09:58:02 2014 -0800
@@ -90,7 +90,7 @@
if (selected == -1) {
StringBuilder allChoices = new StringBuilder();
for (int j = 0; j < choices.length; j++) {
- allChoices.append(choices[j] + ",");
+ allChoices.append(choices[j]).append(',');
}
throw new IOException("Cannot match " +
"'java.naming.security.sasl.realm' property value, '" +
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.naming/share/classes/com/sun/jndi/toolkit/ctx/AtomicContext.java
--- a/jdk/src/java.naming/share/classes/com/sun/jndi/toolkit/ctx/AtomicContext.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.naming/share/classes/com/sun/jndi/toolkit/ctx/AtomicContext.java Tue Dec 16 09:58:02 2014 -0800
@@ -533,7 +533,7 @@
* This function is used when implementing a naming system that
* supports junctions. For example, when the a_list_nns(newobj)
* method is invoked, that means the caller is attempting to list the
- * the nns context of of this context. For a context that supports
+ * the nns context of this context. For a context that supports
* junctions, it by default does not have any nns. Consequently,
* a NameNotFoundException is thrown.
*/
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.naming/share/classes/javax/naming/NameImpl.java
--- a/jdk/src/java.naming/share/classes/javax/naming/NameImpl.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.naming/share/classes/javax/naming/NameImpl.java Tue Dec 16 09:58:02 2014 -0800
@@ -170,7 +170,7 @@
endQuote = one ? syntaxEndQuote1 : syntaxEndQuote2;
i += syntaxTypevalSeparator.length();
- answer.append(syntaxTypevalSeparator+beginQuote); // add back
+ answer.append(syntaxTypevalSeparator).append(beginQuote); // add back
// consume string until matching quote
for (i += beginQuote.length();
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.naming/share/classes/javax/naming/ldap/Rdn.java
--- a/jdk/src/java.naming/share/classes/javax/naming/ldap/Rdn.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.naming/share/classes/javax/naming/ldap/Rdn.java Tue Dec 16 09:58:02 2014 -0800
@@ -505,7 +505,7 @@
*
* @param val The non-null object to be escaped.
* @return Escaped string value.
- * @throws ClassCastException if val is is not a String or byte array.
+ * @throws ClassCastException if val is not a String or byte array.
*/
public static String escapeValue(Object val) {
return (val instanceof byte[])
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.prefs/unix/classes/java/util/prefs/FileSystemPreferences.java
--- a/jdk/src/java.prefs/unix/classes/java/util/prefs/FileSystemPreferences.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.prefs/unix/classes/java/util/prefs/FileSystemPreferences.java Tue Dec 16 09:58:02 2014 -0800
@@ -981,7 +981,7 @@
private static int MAX_ATTEMPTS = 5;
/**
- * Release the the appropriate file lock (user or system).
+ * Release the appropriate file lock (user or system).
* @throws SecurityException if file access denied.
*/
private void unlockFile() {
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.rmi/share/classes/java/rmi/registry/LocateRegistry.java
--- a/jdk/src/java.rmi/share/classes/java/rmi/registry/LocateRegistry.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.rmi/share/classes/java/rmi/registry/LocateRegistry.java Tue Dec 16 09:58:02 2014 -0800
@@ -62,7 +62,7 @@
private LocateRegistry() {}
/**
- * Returns a reference to the the remote object
- * Usage: kinit [-A] [-f] [-p] [-c cachename] [[-k [-t keytab_file_name]]
- * [principal] [password]
- *
- * Use java sun.security.krb5.tools.Kinit -help to bring up help menu.
+ * request. Read {@link KinitOptions#printHelp} for usages or call
+ * java sun.security.krb5.internal.tools.Kinit -help
+ * to bring up help menu.
*
* We currently support only file-based credentials cache to
* store the tickets obtained from the KDC.
@@ -146,6 +132,49 @@
} else {
options = new KinitOptions(args);
}
+ switch (options.action) {
+ case 1:
+ acquire();
+ break;
+ case 2:
+ renew();
+ break;
+ default:
+ throw new KrbException("kinit does not support action "
+ + options.action);
+ }
+ }
+
+ private void renew()
+ throws IOException, RealmException, KrbException {
+
+ PrincipalName principal = options.getPrincipal();
+ String realm = principal.getRealmAsString();
+ CredentialsCache cache = CredentialsCache.getInstance(options.cachename);
+
+ if (cache == null) {
+ throw new IOException("Unable to find existing cache file " +
+ options.cachename);
+ }
+ sun.security.krb5.internal.ccache.Credentials credentials =
+ cache.getCreds(PrincipalName.tgsService(realm, realm));
+
+ credentials = credentials.setKrbCreds()
+ .renew()
+ .toCCacheCreds();
+
+ cache = CredentialsCache.create(principal, options.cachename);
+ if (cache == null) {
+ throw new IOException("Unable to create the cache file " +
+ options.cachename);
+ }
+ cache.update(credentials);
+ cache.save();
+ }
+
+ private void acquire()
+ throws IOException, RealmException, KrbException {
+
String princName = null;
PrincipalName principal = options.getPrincipal();
if (principal != null) {
@@ -216,6 +245,9 @@
if (options.getAddressOption())
builder.setAddresses(HostAddresses.getLocalAddresses());
+ builder.setTill(options.lifetime);
+ builder.setRTime(options.renewable_lifetime);
+
builder.action();
sun.security.krb5.internal.ccache.Credentials credentials =
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.security.jgss/windows/classes/sun/security/krb5/internal/tools/KinitOptions.java
--- a/jdk/src/java.security.jgss/windows/classes/sun/security/krb5/internal/tools/KinitOptions.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.security.jgss/windows/classes/sun/security/krb5/internal/tools/KinitOptions.java Tue Dec 16 09:58:02 2014 -0800
@@ -33,12 +33,8 @@
import sun.security.krb5.*;
import sun.security.krb5.internal.*;
import sun.security.krb5.internal.ccache.*;
-import java.io.File;
import java.io.IOException;
-import java.util.StringTokenizer;
-import java.util.Vector;
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
+import java.time.Instant;
import java.io.FileInputStream;
/**
@@ -49,14 +45,15 @@
* @author Ram Marti
*/
class KinitOptions {
- public boolean validate = false;
+
+ // 1. acquire, 2. renew, 3. validate
+ public int action = 1;
// forwardable and proxiable flags have two states:
// -1 - flag set to be not forwardable or proxiable;
// 1 - flag set to be forwardable or proxiable.
- public short forwardable = -1;
- public short proxiable = -1;
- public boolean renew = false;
+ public short forwardable = 0;
+ public short proxiable = 0;
public KerberosTime lifetime;
public KerberosTime renewable_lifetime;
public String target_service;
@@ -134,6 +131,12 @@
}
useKeytab = true;
+ } else if (args[i].equals("-R")) {
+ action = 2;
+ } else if (args[i].equals("-l")) {
+ lifetime = getTime(Config.duration(args[++i]));
+ } else if (args[i].equals("-r")) {
+ renewable_lifetime = getTime(Config.duration(args[++i]));
} else if (args[i].equalsIgnoreCase("-help")) {
printHelp();
System.exit(0);
@@ -223,23 +226,28 @@
void printHelp() {
- System.out.println("Usage: kinit " +
- "[-A] [-f] [-p] [-c cachename] " +
- "[[-k [-t keytab_file_name]] [principal] " +
+ System.out.println("Usage:\n\n1. Initial ticket request:\n" +
+ " kinit [-A] [-f] [-p] [-c cachename] " +
+ "[-l lifetime] [-r renewable_time]\n" +
+ " [[-k [-t keytab_file_name]] [principal] " +
"[password]");
- System.out.println("\tavailable options to " +
+ System.out.println("2. Renew a ticket:\n" +
+ " kinit -R [-c cachename] [principal]");
+ System.out.println("\nAvailable options to " +
"Kerberos 5 ticket request:");
- System.out.println("\t -A do not include addresses");
- System.out.println("\t -f forwardable");
- System.out.println("\t -p proxiable");
- System.out.println("\t -c cache name " +
- "(i.e., FILE:\\d:\\myProfiles\\mykrb5cache)");
- System.out.println("\t -k use keytab");
- System.out.println("\t -t keytab file name");
- System.out.println("\t principal the principal name "+
- "(i.e., qweadf@ATHENA.MIT.EDU qweadf)");
- System.out.println("\t password " +
- "the principal's Kerberos password");
+ System.out.println("\t-A do not include addresses");
+ System.out.println("\t-f forwardable");
+ System.out.println("\t-p proxiable");
+ System.out.println("\t-c cache name " +
+ "(i.e., FILE:\\d:\\myProfiles\\mykrb5cache)");
+ System.out.println("\t-l lifetime");
+ System.out.println("\t-r renewable time " +
+ "(total lifetime a ticket can be renewed)");
+ System.out.println("\t-k use keytab");
+ System.out.println("\t-t keytab file name");
+ System.out.println("\tprincipal the principal name "+
+ "(i.e., qweadf@ATHENA.MIT.EDU qweadf)");
+ System.out.println("\tpassword the principal's Kerberos password");
}
public boolean getAddressOption() {
@@ -257,4 +265,8 @@
public PrincipalName getPrincipal() {
return principal;
}
+
+ private KerberosTime getTime(int s) {
+ return new KerberosTime(Instant.now().plusSeconds(s));
+ }
}
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.security.sasl/share/classes/com/sun/security/sasl/CramMD5Base.java
--- a/jdk/src/java.security.sasl/share/classes/com/sun/security/sasl/CramMD5Base.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.security.sasl/share/classes/com/sun/security/sasl/CramMD5Base.java Tue Dec 16 09:58:02 2014 -0800
@@ -196,8 +196,7 @@
for (i = 0; i < digest.length; i++) {
if ((digest[i] & 0x000000ff) < 0x10) {
- digestString.append("0" +
- Integer.toHexString(digest[i] & 0x000000ff));
+ digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff));
} else {
digestString.append(
Integer.toHexString(digest[i] & 0x000000ff));
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.security.sasl/share/classes/com/sun/security/sasl/PlainClient.java
--- a/jdk/src/java.security.sasl/share/classes/com/sun/security/sasl/PlainClient.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.security.sasl/share/classes/com/sun/security/sasl/PlainClient.java Tue Dec 16 09:58:02 2014 -0800
@@ -49,7 +49,7 @@
* for which authorization is being granted; if null, same as
* authenticationID
* @param authenticationID A non-null string representing the principal
- * being authenticated. pw is associated with with this principal.
+ * being authenticated. pw is associated with this principal.
* @param pw A non-null byte[] containing the password.
*/
PlainClient(String authorizationID, String authenticationID, byte[] pw)
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.security.sasl/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java
--- a/jdk/src/java.security.sasl/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.security.sasl/share/classes/com/sun/security/sasl/digest/DigestMD5Base.java Tue Dec 16 09:58:02 2014 -0800
@@ -391,8 +391,7 @@
for (int i = 0; i < digest.length; i ++) {
if ((digest[i] & 0x000000ff) < 0x10) {
- digestString.append("0"+
- Integer.toHexString(digest[i] & 0x000000ff));
+ digestString.append('0').append(Integer.toHexString(digest[i] & 0x000000ff));
} else {
digestString.append(
Integer.toHexString(digest[i] & 0x000000ff));
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.sql.rowset/share/classes/com/sun/rowset/CachedRowSetImpl.java
--- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/CachedRowSetImpl.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/CachedRowSetImpl.java Tue Dec 16 09:58:02 2014 -0800
@@ -431,7 +431,7 @@
* provider to assist in determining the choice of the synchronizaton
* provider such as:
*
* The connector uses the given argument map in
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jdi/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java
--- a/jdk/src/jdk.jdi/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/tools/example/debug/expr/ExpressionParser.java Tue Dec 16 09:58:02 2014 -0800
@@ -59,6 +59,7 @@
StackFrame get() throws IncompatibleThreadStateException;
}
+ @SuppressWarnings("deprecation")
public static Value evaluate(String expr, VirtualMachine vm,
GetFrame frameGetter) throws ParseException,
InvocationException,
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jdi/share/classes/com/sun/tools/example/debug/expr/ParseException.java
--- a/jdk/src/jdk.jdi/share/classes/com/sun/tools/example/debug/expr/ParseException.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/tools/example/debug/expr/ParseException.java Tue Dec 16 09:58:02 2014 -0800
@@ -198,7 +198,7 @@
default:
if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
String s = "0000" + Integer.toString(ch, 16);
- retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+ retval.append("\\u").append(s.substring(s.length() - 4, s.length()));
} else {
retval.append(ch);
}
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jdi/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java
--- a/jdk/src/jdk.jdi/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/tools/example/debug/expr/TokenMgrError.java Tue Dec 16 09:58:02 2014 -0800
@@ -107,7 +107,7 @@
default:
if ((ch = str.charAt(i)) < 0x20 || ch > 0x7e) {
String s = "0000" + Integer.toString(ch, 16);
- retval.append("\\u" + s.substring(s.length() - 4, s.length()));
+ retval.append("\\u").append(s.substring(s.length() - 4, s.length()));
} else {
retval.append(ch);
}
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jdi/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java
--- a/jdk/src/jdk.jdi/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/tools/jdi/ThreadReferenceImpl.java Tue Dec 16 09:58:02 2014 -0800
@@ -613,7 +613,7 @@
}
/**
- * Propagate the the thread state change information
+ * Propagate the thread state change information
* to registered listeners.
* Must be entered while synchronized on vm.state()
*/
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java
--- a/jdk/src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jdi/share/classes/com/sun/tools/jdi/VirtualMachineImpl.java Tue Dec 16 09:58:02 2014 -0800
@@ -881,12 +881,12 @@
} else if (tag == JDWP.TypeTag.ARRAY) {
sb.append("ArrayType");
} else {
- sb.append("UNKNOWN TAG: " + tag);
+ sb.append("UNKNOWN TAG: ").append(tag);
}
if (signature != null) {
- sb.append(", signature='" + signature + "'");
+ sb.append(", signature='").append(signature).append('\'');
}
- sb.append(", id=" + id);
+ sb.append(", id=").append(id);
vm.printTrace(sb.toString());
}
if (id == 0) {
@@ -1250,7 +1250,7 @@
Long key = id;
/*
- * Attempt to retrieve an existing object object reference
+ * Attempt to retrieve an existing object reference
*/
SoftObjectReference ref = objectsByID.get(key);
if (ref != null) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c
--- a/jdk/src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jdwp.agent/share/native/libjdwp/eventHandler.c Tue Dec 16 09:58:02 2014 -0800
@@ -438,7 +438,7 @@
do {
/* The events have been reported and this
* thread is about to continue, but it may
- * have been started up up just to perform a
+ * have been started up just to perform a
* requested method invocation. If so, we do
* the invoke now and then stop again waiting
* for another continue. By then another
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jdwp.agent/share/native/libjdwp/transport.c
--- a/jdk/src/jdk.jdwp.agent/share/native/libjdwp/transport.c Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jdwp.agent/share/native/libjdwp/transport.c Tue Dec 16 09:58:02 2014 -0800
@@ -66,8 +66,10 @@
len = (int)strlen(msg);
maxlen = len+len/2+2; /* Should allow for plenty of room */
utf8msg = (jbyte*)jvmtiAllocate(maxlen+1);
- (void)utf8FromPlatform(msg, len, utf8msg, maxlen);
- utf8msg[maxlen] = 0;
+ if (utf8msg != NULL) {
+ (void)utf8FromPlatform(msg, len, utf8msg, maxlen);
+ utf8msg[maxlen] = 0;
+ }
}
if (rv == JDWPTRANSPORT_ERROR_NONE) {
ERROR_MESSAGE(("transport error %d: %s",err, utf8msg));
@@ -391,6 +393,10 @@
/* Convert commandLine from UTF-8 to platform encoding */
len = (int)strlen(commandLine);
buf = jvmtiAllocate(len*3+3);
+ if (buf == NULL) {
+ jvmtiDeallocate(commandLine);
+ return JDWP_ERROR(OUT_OF_MEMORY);
+ }
(void)utf8ToPlatform((jbyte*)commandLine, len, buf, len*3+3);
/* Exec commandLine */
@@ -447,21 +453,23 @@
if (info == NULL) {
return JDWP_ERROR(OUT_OF_MEMORY);
}
+ info->timeout = timeout;
+
info->name = jvmtiAllocate((int)strlen(name)+1);
- (void)strcpy(info->name, name);
- info->address = NULL;
- info->timeout = timeout;
if (info->name == NULL) {
serror = JDWP_ERROR(OUT_OF_MEMORY);
goto handleError;
}
+ (void)strcpy(info->name, name);
+
+ info->address = NULL;
if (address != NULL) {
info->address = jvmtiAllocate((int)strlen(address)+1);
- (void)strcpy(info->address, address);
if (info->address == NULL) {
serror = JDWP_ERROR(OUT_OF_MEMORY);
goto handleError;
}
+ (void)strcpy(info->address, address);
}
info->transport = trans;
@@ -478,6 +486,10 @@
*/
len = (int)strlen(name) + (int)strlen(retAddress) + 2; /* ':' and '\0' */
prop_value = (char*)jvmtiAllocate(len);
+ if (prop_value == NULL) {
+ serror = JDWP_ERROR(OUT_OF_MEMORY);
+ goto handleError;
+ }
strcpy(prop_value, name);
strcat(prop_value, ":");
strcat(prop_value, retAddress);
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/BufferedMonitoredVm.java
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/BufferedMonitoredVm.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/BufferedMonitoredVm.java Tue Dec 16 09:58:02 2014 -0800
@@ -47,7 +47,7 @@
byte[] getBytes();
/**
- * Interface to get the the size of the instrumentation buffer
+ * Interface to get the size of the instrumentation buffer
* for the target Java Virtual Machine.
*
* @return int - the size of the instrumentation buffer for the
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/HostIdentifier.java
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/HostIdentifier.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/HostIdentifier.java Tue Dec 16 09:58:02 2014 -0800
@@ -227,7 +227,7 @@
*
* The necessary components of the VmIdentifier are extracted and
* reassembled into a HostIdentifier. If a "file:" scheme (protocol)
- * is specified, the the returned HostIdentifier will always be
+ * is specified, the returned HostIdentifier will always be
* equivalent to HostIdentifier("file://localhost").
*
* @param vmid the VmIdentifier use to construct the HostIdentifier.
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredVm.java
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredVm.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredVm.java Tue Dec 16 09:58:02 2014 -0800
@@ -59,7 +59,7 @@
*
* @param name the name of the Instrumentation object to find.
* @return Monitor - the {@link Monitor} object that can be used to
- * monitor the the named instrumentation object, or
+ * monitor the named instrumentation object, or
* null if the named object doesn't exist.
* @throws MonitorException Thrown if an error occurs while communicating
* with the target Java Virtual Machine.
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredVmUtil.java
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredVmUtil.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/MonitoredVmUtil.java Tue Dec 16 09:58:02 2014 -0800
@@ -58,7 +58,7 @@
*
* @param vm the target MonitoredVm
* @return String - contains the command line of the target Java
- * application or the the string "Unknown" if the
+ * application or the string "Unknown" if the
* command line cannot be determined.
*/
public static String commandLine(MonitoredVm vm) throws MonitorException {
@@ -73,7 +73,7 @@
*
* @param vm the target MonitoredVm
* @return String - contains the arguments to the main class for the
- * target Java application or the the string "Unknown"
+ * target Java application or the string "Unknown"
* if the command line cannot be determined.
*/
public static String mainArgs(MonitoredVm vm) throws MonitorException {
@@ -97,7 +97,7 @@
* @param vm the target MonitoredVm
* @param fullPath include the full path to Jar file, where applicable
* @return String - contains the main class of the target Java
- * application or the the string "Unknown" if the
+ * application or the string "Unknown" if the
* command line cannot be determined.
*/
public static String mainClass(MonitoredVm vm, boolean fullPath)
@@ -138,7 +138,7 @@
*
* @param vm the target MonitoredVm
* @return String - contains the arguments passed to the JVM for the
- * target Java application or the the string "Unknown"
+ * target Java application or the string "Unknown"
* if the command line cannot be determined.
*/
public static String jvmArgs(MonitoredVm vm) throws MonitorException {
@@ -151,7 +151,7 @@
*
* @param vm the target MonitoredVm
* @return String - contains the flags passed to the JVM for the
- * target Java application or the the string "Unknown"
+ * target Java application or the string "Unknown"
* if the command line cannot be determined.
*/
public static String jvmFlags(MonitoredVm vm) throws MonitorException {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/remote/RemoteVm.java
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/remote/RemoteVm.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/monitor/remote/RemoteVm.java Tue Dec 16 09:58:02 2014 -0800
@@ -49,7 +49,7 @@
byte[] getBytes() throws RemoteException;
/**
- * Interface to get the the size of the instrumentation buffer
+ * Interface to get the size of the instrumentation buffer
* for the target Java Virtual Machine.
*
* @return int - the size of the instrumentation buffer for the
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/AbstractPerfDataBuffer.java
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/AbstractPerfDataBuffer.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/AbstractPerfDataBuffer.java Tue Dec 16 09:58:02 2014 -0800
@@ -91,7 +91,7 @@
*
* @param name the name of the Instrumentation object to find.
* @return Monitor - the {@link Monitor} object that can be used to
- * monitor the the named instrumentation object, or
+ * monitor the named instrumentation object, or
* null if the named object doesn't exist.
* @throws MonitorException Thrown if an error occurs while communicating
* with the target Java Virtual Machine.
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfDataBufferImpl.java
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfDataBufferImpl.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfDataBufferImpl.java Tue Dec 16 09:58:02 2014 -0800
@@ -158,6 +158,7 @@
* the sun.jvmstat.perfdata.aliasmap file indicates some other
* file as the source.
*/
+ @SuppressWarnings("deprecation")
private void buildAliasMap() {
assert Thread.holdsLock(this);
@@ -228,7 +229,7 @@
*
* @param name the name of the Instrumentation object to find.
* @return Monitor - the {@link Monitor} object that can be used to
- * monitor the the named instrumentation object, or
+ * monitor the named instrumentation object, or
* null if the named object doesn't exist.
* @throws MonitorException Thrown if an error occurs while communicating
* with the target Java Virtual Machine.
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfIntegerMonitor.java
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfIntegerMonitor.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfIntegerMonitor.java Tue Dec 16 09:58:02 2014 -0800
@@ -63,7 +63,7 @@
* The object returned contains an Integer object containing the
* current value of the IntegerInstrument.
*
- * @return Object - the current value of the the IntegerInstrument. The
+ * @return Object - the current value of the IntegerInstrument. The
* return type is guaranteed to be of type Integer.
*/
public Object getValue() {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfLongMonitor.java
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfLongMonitor.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/PerfLongMonitor.java Tue Dec 16 09:58:02 2014 -0800
@@ -62,7 +62,7 @@
* The object returned contains a Long object containing the
* current value of the LongInstrument.
*
- * @return Object - the current value of the the LongInstrument. The
+ * @return Object - the current value of the LongInstrument. The
* return type is guaranteed to be of type Long.
*/
public Object getValue() {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/v1_0/PerfDataBuffer.java
--- a/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/v1_0/PerfDataBuffer.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/jvmstat/perfdata/monitor/v1_0/PerfDataBuffer.java Tue Dec 16 09:58:02 2014 -0800
@@ -429,7 +429,7 @@
/*
* replace the real counters with pseudo counters that are
- * initialized to to the correct values. The maximum size of
+ * initialized to the correct values. The maximum size of
* the eden and survivor spaces are supposed to be:
* max_eden_size = new_size - (2*alignment).
* max_survivor_size = new_size - (2*alignment).
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jvmstat/share/classes/sun/tools/jstatd/Jstatd.java
--- a/jdk/src/jdk.jvmstat/share/classes/sun/tools/jstatd/Jstatd.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/tools/jstatd/Jstatd.java Tue Dec 16 09:58:02 2014 -0800
@@ -76,6 +76,7 @@
}
}
+ @SuppressWarnings("deprecation") // Use of RMISecurityManager
public static void main(String[] args) {
String rminame = null;
int argc = 0;
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jvmstat/share/classes/sun/tools/jstatd/RemoteHostImpl.java
--- a/jdk/src/jdk.jvmstat/share/classes/sun/tools/jstatd/RemoteHostImpl.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jvmstat/share/classes/sun/tools/jstatd/RemoteHostImpl.java Tue Dec 16 09:58:02 2014 -0800
@@ -68,7 +68,7 @@
sb.append("local://").append(lvmid).append("@localhost");
if (mode != null) {
- sb.append("?mode=" + mode);
+ sb.append("?mode=").append(mode);
}
String vmidStr = sb.toString();
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.naming.dns/share/classes/com/sun/jndi/dns/ResourceRecord.java
--- a/jdk/src/jdk.naming.dns/share/classes/com/sun/jndi/dns/ResourceRecord.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.naming.dns/share/classes/com/sun/jndi/dns/ResourceRecord.java Tue Dec 16 09:58:02 2014 -0800
@@ -103,7 +103,7 @@
int rrlen; // number of octets in encoded RR
DnsName name; // name field of RR, including root label
int rrtype; // type field of RR
- String rrtypeName; // name of of rrtype
+ String rrtypeName; // name of rrtype
int rrclass; // class field of RR
String rrclassName; // name of rrclass
int ttl = 0; // ttl field of RR
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.naming.dns/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java
--- a/jdk/src/jdk.naming.dns/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.naming.dns/share/classes/sun/net/spi/nameservice/dns/DNSNameService.java Tue Dec 16 09:58:02 2014 -0800
@@ -463,12 +463,12 @@
// ---------
- private static void appendIfLiteralAddress(String addr, StringBuffer sb) {
+ private static void appendIfLiteralAddress(String addr, StringBuilder sb) {
if (IPAddressUtil.isIPv4LiteralAddress(addr)) {
- sb.append("dns://" + addr + " ");
+ sb.append("dns://").append(addr).append(' ');
} else {
if (IPAddressUtil.isIPv6LiteralAddress(addr)) {
- sb.append("dns://[" + addr + "] ");
+ sb.append("dns://[").append(addr).append("] ");
}
}
}
@@ -478,7 +478,7 @@
* corresponding to the supplied List of nameservers.
*/
private static String createProviderURL(ListFileInputStream
by
@@ -313,14 +313,14 @@
* @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 @@
* @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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/io/FileOutputStream.java
--- a/jdk/src/java.base/share/classes/java/io/FileOutputStream.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/io/FileOutputStream.java Tue Dec 16 09:58:02 2014 -0800
@@ -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 @@
/**
* The associated channel, initialized lazily.
*/
- private FileChannel channel;
+ private volatile FileChannel channel;
/**
* The path of the referenced file
@@ -76,8 +77,7 @@
*/
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 @@
* @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 @@
* @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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/io/InputStream.java
--- a/jdk/src/java.base/share/classes/java/io/InputStream.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/io/InputStream.java Tue Dec 16 09:58:02 2014 -0800
@@ -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 @@
// 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 @@
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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/util/Spliterator.java
--- a/jdk/src/java.base/share/classes/java/util/Spliterator.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/util/Spliterator.java Tue Dec 16 09:58:02 2014 -0800
@@ -84,7 +84,7 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/util/Spliterators.java
--- a/jdk/src/java.base/share/classes/java/util/Spliterators.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/util/Spliterators.java Tue Dec 16 09:58:02 2014 -0800
@@ -132,7 +132,7 @@
* @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 @@
* @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 @@
* @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 @@
* @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 @@
* @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 @@
* {@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 @@
* @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 @@
* @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 @@
* {@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 @@
* @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 @@
* @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 @@
* @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 @@
* @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 @@
* @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 @@
* @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 @@
* @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 @@
* @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 @@
* @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 @@
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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/java/util/zip/CRC32C.java
--- a/jdk/src/java.base/share/classes/java/util/zip/CRC32C.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/java/util/zip/CRC32C.java Tue Dec 16 09:58:02 2014 -0800
@@ -204,7 +204,6 @@
/**
* 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 @@
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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/javax/security/auth/Policy.java
--- a/jdk/src/java.base/share/classes/javax/security/auth/Policy.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/javax/security/auth/Policy.java Tue Dec 16 09:58:02 2014 -0800
@@ -76,7 +76,7 @@
*
*
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java
--- a/jdk/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/javax/security/auth/SubjectDomainCombiner.java Tue Dec 16 09:58:02 2014 -0800
@@ -137,7 +137,7 @@
* @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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Frame.java
--- a/jdk/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Frame.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/jdk/internal/org/objectweb/asm/Frame.java Tue Dec 16 09:58:02 2014 -0800
@@ -192,7 +192,7 @@
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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/jdk/internal/util/xml/XMLStreamWriter.java
--- a/jdk/src/java.base/share/classes/jdk/internal/util/xml/XMLStreamWriter.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/jdk/internal/util/xml/XMLStreamWriter.java Tue Dec 16 09:58:02 2014 -0800
@@ -116,7 +116,7 @@
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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java
--- a/jdk/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/invoke/util/VerifyAccess.java Tue Dec 16 09:58:02 2014 -0800
@@ -80,7 +80,7 @@
* @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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/launcher/LauncherHelper.java
--- a/jdk/src/java.base/share/classes/sun/launcher/LauncherHelper.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/launcher/LauncherHelper.java Tue Dec 16 09:58:02 2014 -0800
@@ -369,10 +369,9 @@
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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/misc/JavaNioAccess.java
--- a/jdk/src/java.base/share/classes/sun/misc/JavaNioAccess.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/misc/JavaNioAccess.java Tue Dec 16 09:58:02 2014 -0800
@@ -42,7 +42,7 @@
/**
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/misc/Unsafe.java
--- a/jdk/src/java.base/share/classes/sun/misc/Unsafe.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/misc/Unsafe.java Tue Dec 16 09:58:02 2014 -0800
@@ -958,6 +958,8 @@
* 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 @@
/**
- * 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/misc/VM.java
--- a/jdk/src/java.base/share/classes/sun/misc/VM.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/misc/VM.java Tue Dec 16 09:58:02 2014 -0800
@@ -150,7 +150,7 @@
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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java
--- a/jdk/src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/net/ftp/impl/FtpClient.java Tue Dec 16 09:58:02 2014 -0800
@@ -2187,7 +2187,7 @@
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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/net/www/HeaderParser.java
--- a/jdk/src/java.base/share/classes/sun/net/www/HeaderParser.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/net/www/HeaderParser.java Tue Dec 16 09:58:02 2014 -0800
@@ -220,21 +220,23 @@
public String toString () {
Iterator {
/** 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 @@
*/
/**
- * 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/reflect/generics/repository/MethodRepository.java
--- a/jdk/src/java.base/share/classes/sun/reflect/generics/repository/MethodRepository.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/reflect/generics/repository/MethodRepository.java Tue Dec 16 09:58:02 2014 -0800
@@ -39,7 +39,8 @@
*/
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 @@
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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/reflect/generics/scope/AbstractScope.java
--- a/jdk/src/java.base/share/classes/sun/reflect/generics/scope/AbstractScope.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/reflect/generics/scope/AbstractScope.java Tue Dec 16 09:58:02 2014 -0800
@@ -29,7 +29,6 @@
import java.lang.reflect.TypeVariable;
-
/**
* Abstract superclass for lazy scope objects, used when building
* factories for generic information repositories.
@@ -49,7 +48,7 @@
/**
* Constructor. Takes a reflective object whose scope the newly
* constructed instance will represent.
- * @param D - A generic declaration whose scope the newly
+ * @param decl - A generic declaration whose scope the newly
* constructed instance will represent
*/
protected AbstractScope(D decl){ recvr = decl;}
@@ -63,7 +62,7 @@
/** This method must be implemented by any concrete subclass.
* It must return the enclosing scope of this scope. If this scope
- * is a top-level scope, an instance of DummyScope must be returned.
+ * is a top-level scope, an instance of DummyScope must be returned.
* @return The enclosing scope of this scope
*/
protected abstract Scope computeEnclosingScope();
@@ -72,13 +71,13 @@
* Accessor for the enclosing scope, which is computed lazily and cached.
* @return the enclosing scope
*/
- protected Scope getEnclosingScope(){
- Scope enclosingScope = this.enclosingScope;
- if (enclosingScope == null) {
- enclosingScope = computeEnclosingScope();
- this.enclosingScope = enclosingScope;
+ protected Scope getEnclosingScope() {
+ Scope value = enclosingScope;
+ if (value == null) {
+ value = computeEnclosingScope();
+ enclosingScope = value;
}
- return enclosingScope;
+ return value;
}
/**
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/reflect/generics/tree/Signature.java
--- a/jdk/src/java.base/share/classes/sun/reflect/generics/tree/Signature.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/reflect/generics/tree/Signature.java Tue Dec 16 09:58:02 2014 -0800
@@ -27,7 +27,7 @@
/**
* Common superinterface for generic signatures. These are the signatures
- * of complete class and method/constructor delcarations.
+ * of complete class and method/constructor declarations.
*/
public interface Signature extends Tree{
FormalTypeParameter[] getFormalTypeParameters();
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/reflect/generics/tree/Wildcard.java
--- a/jdk/src/java.base/share/classes/sun/reflect/generics/tree/Wildcard.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/reflect/generics/tree/Wildcard.java Tue Dec 16 09:58:02 2014 -0800
@@ -28,8 +28,8 @@
import sun.reflect.generics.visitor.TypeTreeVisitor;
public class Wildcard implements TypeArgument {
- private FieldTypeSignature[] upperBounds;
- private FieldTypeSignature[] lowerBounds;
+ private final FieldTypeSignature[] upperBounds;
+ private final FieldTypeSignature[] lowerBounds;
private Wildcard(FieldTypeSignature[] ubs, FieldTypeSignature[] lbs) {
upperBounds = ubs;
@@ -43,11 +43,11 @@
return new Wildcard(ubs, lbs);
}
- public FieldTypeSignature[] getUpperBounds(){
+ public FieldTypeSignature[] getUpperBounds() {
return upperBounds;
}
- public FieldTypeSignature[] getLowerBounds(){
+ public FieldTypeSignature[] getLowerBounds() {
if (lowerBounds.length == 1 &&
lowerBounds[0] == BottomSignature.make())
return emptyBounds;
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/classes/sun/reflect/generics/visitor/Reifier.java
--- a/jdk/src/java.base/share/classes/sun/reflect/generics/visitor/Reifier.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/classes/sun/reflect/generics/visitor/Reifier.java Tue Dec 16 09:58:02 2014 -0800
@@ -39,7 +39,7 @@
*/
public class Reifier implements TypeTreeVisitorUCharacter.isLegal()
can be used to check
* for validity if desired.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/native/libjli/emessages.h
--- a/jdk/src/java.base/share/native/libjli/emessages.h Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/native/libjli/emessages.h Tue Dec 16 09:58:02 2014 -0800
@@ -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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/native/libjli/java.c
--- a/jdk/src/java.base/share/native/libjli/java.c Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/native/libjli/java.c Tue Dec 16 09:58:02 2014 -0800
@@ -216,21 +216,14 @@
}
/*
- * 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 @@
}
/*
- * 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 @@
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 @@
* 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 @@
/*
* Scan through the arguments for options relevant to multiple JRE
- * support. For reference, the command line syntax is defined as:
- *
- * SYNOPSIS
- * java [options] class [argument...]
- *
- * java [options] -jar file.jar [argument...]
+ * support. Multiple JRE support existed in JRE versions 1.5 thru 1.8.
*
- * 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 @@
} else if (JLI_StrCCmp(arg, "-splash:") == 0) {
splash_file_name = arg+8;
}
- *new_argp++ = arg;
}
argc--;
argv++;
@@ -917,11 +903,8 @@
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 @@
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 @@
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 @@
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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/native/libjli/java.h
--- a/jdk/src/java.base/share/native/libjli/java.h Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/native/libjli/java.h Tue Dec 16 09:58:02 2014 -0800
@@ -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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/native/libjli/parse_manifest.c
--- a/jdk/src/java.base/share/native/libjli/parse_manifest.c Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.base/share/native/libjli/parse_manifest.c Tue Dec 16 09:58:02 2014 -0800
@@ -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 @@
}
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 -r f694f2576719 -r 610561ed1847 jdk/src/java.base/share/native/libjli/version_comp.c
--- a/jdk/src/java.base/share/native/libjli/version_comp.c Tue Dec 16 09:57:33 2014 -0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/awt/Container.java
--- a/jdk/src/java.desktop/share/classes/java/awt/Container.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/awt/Container.java Tue Dec 16 09:58:02 2014 -0800
@@ -3195,7 +3195,7 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/awt/EventQueue.java
--- a/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java Tue Dec 16 09:58:02 2014 -0800
@@ -823,7 +823,7 @@
}
/**
- * 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/awt/FlowLayout.java
--- a/jdk/src/java.desktop/share/classes/java/awt/FlowLayout.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/awt/FlowLayout.java Tue Dec 16 09:58:02 2014 -0800
@@ -503,7 +503,7 @@
* @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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/awt/KeyboardFocusManager.java
--- a/jdk/src/java.desktop/share/classes/java/awt/KeyboardFocusManager.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/awt/KeyboardFocusManager.java Tue Dec 16 09:58:02 2014 -0800
@@ -1771,7 +1771,7 @@
* 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 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/awt/List.java
--- a/jdk/src/java.desktop/share/classes/java/awt/List.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/awt/List.java Tue Dec 16 09:58:02 2014 -0800
@@ -347,7 +347,7 @@
}
/**
- * 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 @@
}
/**
- * 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/awt/MultipleGradientPaintContext.java
--- a/jdk/src/java.desktop/share/classes/java/awt/MultipleGradientPaintContext.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/awt/MultipleGradientPaintContext.java Tue Dec 16 09:58:02 2014 -0800
@@ -418,7 +418,7 @@
// 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/awt/RadialGradientPaint.java
--- a/jdk/src/java.desktop/share/classes/java/awt/RadialGradientPaint.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/awt/RadialGradientPaint.java Tue Dec 16 09:58:02 2014 -0800
@@ -94,7 +94,7 @@
* 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 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/awt/event/KeyEvent.java
--- a/jdk/src/java.desktop/share/classes/java/awt/event/KeyEvent.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/awt/event/KeyEvent.java Tue Dec 16 09:58:02 2014 -0800
@@ -1309,7 +1309,7 @@
/**
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/awt/font/GlyphVector.java
--- a/jdk/src/java.desktop/share/classes/java/awt/font/GlyphVector.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/awt/font/GlyphVector.java Tue Dec 16 09:58:02 2014 -0800
@@ -341,7 +341,7 @@
/**
* 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 @@
/**
* 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 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/awt/font/TextAttribute.java
--- a/jdk/src/java.desktop/share/classes/java/awt/font/TextAttribute.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/awt/font/TextAttribute.java Tue Dec 16 09:58:02 2014 -0800
@@ -832,7 +832,7 @@
/**
* 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 @@
/**
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java
--- a/jdk/src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/awt/image/ComponentColorModel.java Tue Dec 16 09:58:02 2014 -0800
@@ -92,7 +92,7 @@
* ColorSpace
must be 0.0 to 1.0. In this case, the
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/awt/print/PrinterIOException.java
--- a/jdk/src/java.desktop/share/classes/java/awt/print/PrinterIOException.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/awt/print/PrinterIOException.java Tue Dec 16 09:58:02 2014 -0800
@@ -76,7 +76,7 @@
}
/**
- * 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/java/beans/Encoder.java
--- a/jdk/src/java.desktop/share/classes/java/beans/Encoder.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/java/beans/Encoder.java Tue Dec 16 09:58:02 2014 -0800
@@ -121,7 +121,7 @@
* it is returned.
* setSourceBands
, or null
if there have
* been no calls to setSourceBands
.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/imageio/event/IIOReadUpdateListener.java
--- a/jdk/src/java.desktop/share/classes/javax/imageio/event/IIOReadUpdateListener.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/imageio/event/IIOReadUpdateListener.java Tue Dec 16 09:58:02 2014 -0800
@@ -70,7 +70,7 @@
* 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 int
s indicating the the
+ * @param bands an array of int
s indicating the
* set bands that may be updated.
*/
void passStarted(ImageReader source,
@@ -187,7 +187,7 @@
* 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 int
s indicating the the
+ * @param bands an array of int
s indicating the
* set bands that may be updated.
*
* @see #passStarted
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/imageio/plugins/jpeg/JPEGQTable.java
--- a/jdk/src/java.desktop/share/classes/javax/imageio/plugins/jpeg/JPEGQTable.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/imageio/plugins/jpeg/JPEGQTable.java Tue Dec 16 09:58:02 2014 -0800
@@ -136,7 +136,7 @@
/**
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/sound/midi/MidiMessage.java
--- a/jdk/src/java.desktop/share/classes/javax/sound/midi/MidiMessage.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/sound/midi/MidiMessage.java Tue Dec 16 09:58:02 2014 -0800
@@ -52,7 +52,7 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java Tue Dec 16 09:58:02 2014 -0800
@@ -2396,7 +2396,7 @@
* {@code CONSTANT_DESCENT}; otherwise the baseline is anchored to the top
* of the group.
* KeyboardAction
s
- * 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 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java Tue Dec 16 09:58:02 2014 -0800
@@ -716,7 +716,7 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/JProgressBar.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/JProgressBar.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JProgressBar.java Tue Dec 16 09:58:02 2014 -0800
@@ -330,7 +330,7 @@
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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/JSpinner.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/JSpinner.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JSpinner.java Tue Dec 16 09:58:02 2014 -0800
@@ -447,7 +447,7 @@
* 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 @@
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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/JTree.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/JTree.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JTree.java Tue Dec 16 09:58:02 2014 -0800
@@ -5575,7 +5575,7 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/OverlayLayout.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/OverlayLayout.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/OverlayLayout.java Tue Dec 16 09:58:02 2014 -0800
@@ -97,7 +97,7 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/ScrollPaneLayout.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/ScrollPaneLayout.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/ScrollPaneLayout.java Tue Dec 16 09:58:02 2014 -0800
@@ -225,7 +225,7 @@
*
*
* @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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/SpinnerModel.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/SpinnerModel.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/SpinnerModel.java Tue Dec 16 09:58:02 2014 -0800
@@ -53,7 +53,7 @@
* 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 -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/UIDefaults.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/UIDefaults.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/UIDefaults.java Tue Dec 16 09:58:02 2014 -0800
@@ -167,7 +167,7 @@
}
/**
- * Looks up up the given key in our Hashtable and resolves LazyValues
+ * Looks up the given key in our Hashtable and resolves LazyValues
* or ActiveValues.
*/
private Object getFromHashtable(Object key) {
@@ -1181,7 +1181,7 @@
/**
* LazyInputMap
will create a InputMap
* in its createValue
- * method. The bindings are passed in in the constructor.
+ * method. The bindings are passed in the constructor.
* The bindings are an array with
* the even number entries being string KeyStrokes
* (eg "alt SPACE") and
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/ViewportLayout.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/ViewportLayout.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/ViewportLayout.java Tue Dec 16 09:58:02 2014 -0800
@@ -66,7 +66,7 @@
/**
* Adds the specified component to the layout. Not used by this class.
* @param name the name of the component
- * @param c the the component to be added
+ * @param c the component to be added
*/
public void addLayoutComponent(String name, Component c) { }
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboPopup.java Tue Dec 16 09:58:02 2014 -0800
@@ -1144,7 +1144,7 @@
/**
- * This is is a utility method that helps event handlers figure out where to
+ * This is a utility method that helps event handlers figure out where to
* send the focus when the popup is brought up. The standard implementation
* delegates the focus to the editor (if the combo box is editable) or to
* the JComboBox if it is not editable.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSliderUI.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSliderUI.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicSliderUI.java Tue Dec 16 09:58:02 2014 -0800
@@ -1449,7 +1449,7 @@
/**
* Returns the value at the y position. If {@code yPos} is beyond the
- * track at the the bottom or the top, this method sets the value to either
+ * track at the bottom or the top, this method sets the value to either
* the minimum or maximum value of the slider, depending on if the slider
* is inverted or not.
*
@@ -1927,7 +1927,7 @@
* The recommended approach to creating bindings is to use a
* combination of an ActionMap
, to contain the action,
* and an InputMap
to contain the mapping from KeyStroke
- * to action description. The InputMap is is usually described in the
+ * to action description. The InputMap is usually described in the
* LookAndFeel tables.
* null
.
*
* @return the dragged column, if a drag is in
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/table/TableColumn.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/table/TableColumn.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/table/TableColumn.java Tue Dec 16 09:58:02 2014 -0800
@@ -127,7 +127,7 @@
/**
* This object is not used internally by the drawing machinery of
* the JTable
; identifiers may be set in the
- * TableColumn
as as an
+ * TableColumn
as an
* optional way to tag and locate table columns. The table package does
* not modify or invoke any methods in these identifier objects other
* than the equals
method which is used in the
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/text/BoxView.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/BoxView.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/BoxView.java Tue Dec 16 09:58:02 2014 -0800
@@ -1128,7 +1128,7 @@
* indicating the View
s are layed out in ascending order.
* View
s along the
- * Y_AXIS
, this will will return the value from
+ * Y_AXIS
, this will return the value from
* invoking the same method on the View
* responsible for rendering position
and
* bias
. Otherwise this will return false.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java Tue Dec 16 09:58:02 2014 -0800
@@ -409,7 +409,7 @@
/**
- * Fetches the list of of style names.
+ * Fetches the list of style names.
*
* @return all the style names
*/
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/text/ElementIterator.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/ElementIterator.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/ElementIterator.java Tue Dec 16 09:58:02 2014 -0800
@@ -79,7 +79,7 @@
* as well as a child index. If the
* index is -1, then the element represented
* on the stack is the element itself.
- * Otherwise, the index functions as as index
+ * Otherwise, the index functions as an index
* into the vector of children of the element.
* In this case, the item on the stack
* represents the "index"th child of the element
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/text/ParagraphView.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/ParagraphView.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/ParagraphView.java Tue Dec 16 09:58:02 2014 -0800
@@ -403,7 +403,7 @@
* This is implemented to try and locate a TabSet
* in the paragraph element's attribute set. If one can be
* found, its settings will be used, otherwise a default expansion
- * will be provided. The base location for for tab expansion
+ * will be provided. The base location for tab expansion
* is the left inset from the paragraphs most recent allocation
* (which is what the layout of the children is based upon).
*
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/text/PlainView.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/PlainView.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/PlainView.java Tue Dec 16 09:58:02 2014 -0800
@@ -385,11 +385,11 @@
int x = (int) fx;
int y = (int) fy;
if (y < alloc.y) {
- // above the area covered by this icon, so the the position
+ // above the area covered by this icon, so the position
// is assumed to be the start of the coverage for this view.
return getStartOffset();
} else if (y > alloc.y + alloc.height) {
- // below the area covered by this icon, so the the position
+ // below the area covered by this icon, so the position
// is assumed to be the end of the coverage for this view.
return getEndOffset() - 1;
} else {
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/WrappedPlainView.java Tue Dec 16 09:58:02 2014 -0800
@@ -668,11 +668,11 @@
int x = (int) fx;
int y = (int) fy;
if (y < alloc.y) {
- // above the area covered by this icon, so the the position
+ // above the area covered by this icon, so the position
// is assumed to be the start of the coverage for this view.
return getStartOffset();
} else if (y > alloc.y + alloc.height) {
- // below the area covered by this icon, so the the position
+ // below the area covered by this icon, so the position
// is assumed to be the end of the coverage for this view.
return getEndOffset() - 1;
} else {
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/text/html/CSS.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/CSS.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/CSS.java Tue Dec 16 09:58:02 2014 -0800
@@ -1588,7 +1588,7 @@
/*
* HTML.Attribute.ALIGN needs special processing.
- * It can map to to 1 of many(3) possible CSS attributes
+ * It can map to 1 of many(3) possible CSS attributes
* depending on the nature of the tag the attribute is
* part off and depending on the value of the attribute.
*/
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/text/html/FormView.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/FormView.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/FormView.java Tue Dec 16 09:58:02 2014 -0800
@@ -37,7 +37,7 @@
* Component decorator that implements the view interface
* for form elements, <input>, <textarea>,
* and <select>. The model for the component is stored
- * as an attribute of the the element (using StyleConstants.ModelAttribute),
+ * as an attribute of the element (using StyleConstants.ModelAttribute),
* and is used to build the component of the view. The type
* of the model is assumed to of the type that would be set by
* HTMLDocument.HTMLReader.FormAction
. If there are
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/text/html/HTMLDocument.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/HTMLDocument.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/HTMLDocument.java Tue Dec 16 09:58:02 2014 -0800
@@ -1345,7 +1345,7 @@
}
/**
- * Inserts the HTML specified as a string after the the end of the
+ * Inserts the HTML specified as a string after the end of the
* given element.
*
* elem
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/text/html/IsindexView.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/IsindexView.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/IsindexView.java Tue Dec 16 09:58:02 2014 -0800
@@ -53,7 +53,7 @@
}
/**
- * Creates the components necessary to to implement
+ * Creates the components necessary to implement
* this view. The component returned is a JPanel
,
* that contains the PROMPT to the left and JTextField
* to the right.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/text/html/LineView.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/LineView.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/LineView.java Tue Dec 16 09:58:02 2014 -0800
@@ -136,7 +136,7 @@
* This is implemented to try and locate a TabSet
* in the paragraph element's attribute set. If one can be
* found, its settings will be used, otherwise a default expansion
- * will be provided. The base location for for tab expansion
+ * will be provided. The base location for tab expansion
* is the left inset from the paragraphs most recent allocation
* (which is what the layout of the children is based upon).
*
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/DTDConstants.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/DTDConstants.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/DTDConstants.java Tue Dec 16 09:58:02 2014 -0800
@@ -27,7 +27,7 @@
/**
* SGML constants used in a DTD. The names of the
- * constants correspond the the equivalent SGML constructs
+ * constants correspond to the equivalent SGML constructs
* as described in "The SGML Handbook" by Charles F. Goldfarb.
*
* @see DTD
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Entity.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Entity.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Entity.java Tue Dec 16 09:58:02 2014 -0800
@@ -35,7 +35,7 @@
/**
* An entity is described in a DTD using the ENTITY construct.
- * It defines the type and value of the the entity.
+ * It defines the type and value of the entity.
*
* @see DTD
* @author Arthur van Hoff
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java Tue Dec 16 09:58:02 2014 -0800
@@ -1846,7 +1846,7 @@
if (unknown) {
// we will not see a corresponding start tag
- // on the the stack. If we are seeing an
+ // on the stack. If we are seeing an
// end tag, lets send this on as an empty
// tag with the end tag attribute set to
// true.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/javax/swing/undo/UndoManager.java
--- a/jdk/src/java.desktop/share/classes/javax/swing/undo/UndoManager.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/javax/swing/undo/UndoManager.java Tue Dec 16 09:58:02 2014 -0800
@@ -283,7 +283,7 @@
/**
- * Returns the the next significant edit to be undone if undo
+ * Returns the next significant edit to be undone if undo
* is invoked. This returns null
if there are no edits
* to be undone.
*
@@ -302,7 +302,7 @@
}
/**
- * Returns the the next significant edit to be redone if redo
+ * Returns the next significant edit to be redone if redo
* is invoked. This returns null
if there are no edits
* to be redone.
*
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/sun/font/BidiUtils.java
--- a/jdk/src/java.desktop/share/classes/sun/font/BidiUtils.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/sun/font/BidiUtils.java Tue Dec 16 09:58:02 2014 -0800
@@ -47,7 +47,7 @@
* array instead of iterating over the runs.
*
* @param levels the array to receive the character levels
- * @param start the starting offset into the the array
+ * @param start the starting offset into the array
* @throws IndexOutOfBoundsException if start
is less than 0 or
* start + getLength()
is greater than levels.length
.
*/
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/sun/font/Decoration.java
--- a/jdk/src/java.desktop/share/classes/sun/font/Decoration.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/sun/font/Decoration.java Tue Dec 16 09:58:02 2014 -0800
@@ -105,7 +105,7 @@
}
/**
- * Return a Decoration appropriate for the the given Map.
+ * Return a Decoration appropriate for the given Map.
* @param attributes the Map used to determine the Decoration
*/
public static Decoration getDecoration(Map extends Attribute, ?> attributes) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/sun/font/FileFontStrike.java
--- a/jdk/src/java.desktop/share/classes/sun/font/FileFontStrike.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/sun/font/FileFontStrike.java Tue Dec 16 09:58:02 2014 -0800
@@ -898,7 +898,7 @@
/* The caller of this can be trusted to return a copy of this
* return value rectangle to public API. In fact frequently it
- * can't use use this return value directly anyway.
+ * can't use this return value directly anyway.
* This returns bounds in device space. Currently the only
* caller is SGV and it converts back to user space.
* We could change things so that this code does the conversion so
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/sun/font/FontUtilities.java
--- a/jdk/src/java.desktop/share/classes/sun/font/FontUtilities.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/sun/font/FontUtilities.java Tue Dec 16 09:58:02 2014 -0800
@@ -214,7 +214,7 @@
* char which means it may include undecoded surrogate pairs.
* The distinction is made so that code which needs to identify all
* cases in which we do not have a simple mapping from
- * char->unicode character->glyph can be be identified.
+ * char->unicode character->glyph can be identified.
* For example measurement cannot simply sum advances of 'chars',
* the caret in editable text cannot advance one 'char' at a time, etc.
* These callers really are asking for more than whether 'layout'
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/sun/font/SunFontManager.java
--- a/jdk/src/java.desktop/share/classes/sun/font/SunFontManager.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/sun/font/SunFontManager.java Tue Dec 16 09:58:02 2014 -0800
@@ -575,7 +575,7 @@
* that claims to support the Microsoft Windows encoding corresponding to
* the default file.encoding property of this JRE instance.
* This narrow value is useful for Swing to decide if the font is useful
- * for the the Windows Look and Feel, or, if a composite font should be
+ * for the Windows Look and Feel, or, if a composite font should be
* used instead.
* The information used to make the decision is obtained from
* the ulCodePageRange fields in the font.
@@ -1611,7 +1611,7 @@
* all non-null file names first.
* They are added in to a map with nominally the first
* word in the name of the family as the key. In all the cases
- * we are using the the family name is a single word, and as is
+ * we are using the family name is a single word, and as is
* more or less required the family name is the initial sequence
* in a full name. So lookup first finds the matching description,
* then registers the whole family, returning the right font.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/sun/font/SunLayoutEngine.java
--- a/jdk/src/java.desktop/share/classes/sun/font/SunLayoutEngine.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/sun/font/SunLayoutEngine.java Tue Dec 16 09:58:02 2014 -0800
@@ -72,7 +72,7 @@
* font tables (the selector indicates which). Then layout is called,
* the contents are copied (or not), and the stack is destroyed on
* exit. So the association is between the font/script (layout engine
- * desc) and and one of a few permanent engine objects, which are
+ * desc) and one of a few permanent engine objects, which are
* handed the key when they need to process something. In the native
* case, the engine holds an index, and just passes it together with
* the key info down to native. Some default cases are the 'default
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/sun/font/TrueTypeFont.java
--- a/jdk/src/java.desktop/share/classes/sun/font/TrueTypeFont.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/sun/font/TrueTypeFont.java Tue Dec 16 09:58:02 2014 -0800
@@ -154,7 +154,7 @@
/* number of table entries in the directory/offsets table */
int numTables;
- /* The contents of the the directory/offsets table */
+ /* The contents of the directory/offsets table */
DirectoryEntry []tableDirectory;
// protected byte []gposTable = null;
@@ -228,7 +228,7 @@
return false; /* useNatives is false */
} else if (nativeNames instanceof String) {
String name = (String)nativeNames;
- /* Don't do do this for Latin fonts */
+ /* Don't do this for Latin fonts */
if (name.indexOf("8859") > 0) {
checkedNatives = true;
return false;
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/sun/java2d/loops/ProcessPath.java
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/ProcessPath.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/ProcessPath.java Tue Dec 16 09:58:02 2014 -0800
@@ -1418,7 +1418,7 @@
*/
);
} else {
- /* Clamping starting from first vertex of the the processed
+ /* Clamping starting from first vertex of the processed
* segment
*
* CLIPCLAMP(xMin, xMax, x1, y1, x2, y2, x3, y3, res);
@@ -1438,7 +1438,7 @@
return;
}
- /* Clamping starting from last vertex of the the processed
+ /* Clamping starting from last vertex of the processed
* segment
*
* CLIPCLAMP(xMin, xMax, x2, y2, x1, y1, x3, y3, res);
@@ -2062,7 +2062,7 @@
if (res == CRES_INVISIBLE) return;
lastClipped = IS_CLIPPED(res);
- /* Clamping starting from first vertex of the the processed
+ /* Clamping starting from first vertex of the processed
* segment
*
* CLIPCLAMP(outXMin, outXMax, x1, y1, x2, y2, x3, y3, res);
@@ -2078,7 +2078,7 @@
return;
}
- /* Clamping starting from last vertex of the the processed
+ /* Clamping starting from last vertex of the processed
* segment
*
* CLIPCLAMP(outXMin, outXMax, x2, y2, x1, y1, x3, y3, res);
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/sun/java2d/pipe/BufferedContext.java
--- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/BufferedContext.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/BufferedContext.java Tue Dec 16 09:58:02 2014 -0800
@@ -451,7 +451,7 @@
public abstract RenderQueue getRenderQueue();
/**
- * Saves the the state of this context.
+ * Saves the state of this context.
* It may reset the current context.
*
* Note: must be called while the RenderQueue lock is held.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/classes/sun/print/PathGraphics.java
--- a/jdk/src/java.desktop/share/classes/sun/print/PathGraphics.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/classes/sun/print/PathGraphics.java Tue Dec 16 09:58:02 2014 -0800
@@ -888,7 +888,7 @@
* since it doesn't actually require "layout" (even though its
* considered a layout attribute), it just requires a fractional
* tweak to the[default]advances. So we need to specifically
- * check for tracking until such time as as we can trust
+ * check for tracking until such time as we can trust
* the GlyphVector.FLAG_HAS_POSITION_ADJUSTMENTS bit.
*/
MapGraphic
.
+ * Renders the cached image to the passed in Graphic
.
* If there is no cached image paintToImage
will be invoked.
* paintImage
is invoked to paint the cached image.
*
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/native/common/font/fontscalerdefs.h
--- a/jdk/src/java.desktop/share/native/common/font/fontscalerdefs.h Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/native/common/font/fontscalerdefs.h Tue Dec 16 09:58:02 2014 -0800
@@ -87,7 +87,7 @@
#define t2kScalarAverage(a, b) (((a) + (b)) / (t2kScalar)(2))
/* managed: 1 means the glyph has a hardware cached
- * copy, and its freeing is managed by the the usual
+ * copy, and its freeing is managed by the usual
* 2D disposer code.
* A value of 0 means its either unaccelerated (and so has no cellInfos)
* or we want to free this in a different way.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/native/libawt/awt/image/gif/gifdecoder.c
--- a/jdk/src/java.desktop/share/native/libawt/awt/image/gif/gifdecoder.c Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/native/libawt/awt/image/gif/gifdecoder.c Tue Dec 16 09:58:02 2014 -0800
@@ -399,7 +399,7 @@
* and therefore we have to continue looping through data
* but skip internal output loop.
*
- * In particular this is is possible when
+ * In particular this is possible when
* width of the frame is set to zero. If
* global width (i.e. width of the logical screen)
* is zero too then zero-length scanline buffer
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/native/libawt/java2d/loops/ProcessPath.c
--- a/jdk/src/java.desktop/share/native/libawt/java2d/loops/ProcessPath.c Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/native/libawt/java2d/loops/ProcessPath.c Tue Dec 16 09:58:02 2014 -0800
@@ -1418,7 +1418,7 @@
*/
);
} else {
- /* Clamping starting from first vertex of the the processed segment
+ /* Clamping starting from first vertex of the processed segment
*/
CLIPCLAMP(xMin, xMax, x1, y1, x2, y2, x3, y3, jfloat, res);
X1 = (jint)(x1*MDP_MULT);
@@ -1435,7 +1435,7 @@
return;
}
- /* Clamping starting from last vertex of the the processed segment
+ /* Clamping starting from last vertex of the processed segment
*/
CLIPCLAMP(xMin, xMax, x2, y2, x1, y1, x3, y3, jfloat, res);
@@ -2121,7 +2121,7 @@
if (res == CRES_INVISIBLE) return;
lastClipped = IS_CLIPPED(res);
- /* Clamping starting from first vertex of the the processed segment */
+ /* Clamping starting from first vertex of the processed segment */
CLIPCLAMP(outXMin, outXMax, x1, y1, x2, y2, x3, y3, jint, res);
/* Clamping only by left boundary */
@@ -2133,7 +2133,7 @@
return;
}
- /* Clamping starting from last vertex of the the processed segment */
+ /* Clamping starting from last vertex of the processed segment */
CLIPCLAMP(outXMin, outXMax, x2, y2, x1, y1, x3, y3, jint, res);
/* Checking if there was a clip by right boundary */
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/native/libfontmanager/freetypeScaler.c
--- a/jdk/src/java.desktop/share/native/libfontmanager/freetypeScaler.c Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/native/libfontmanager/freetypeScaler.c Tue Dec 16 09:58:02 2014 -0800
@@ -183,7 +183,7 @@
bBuffer, offset, numBytes);
return bread;
} else {
- /* We probably hit bug bug 4845371. For reasons that
+ /* We probably hit bug 4845371. For reasons that
* are currently unclear, the call stacks after the initial
* createScaler call that read large amounts of data seem to
* be OK and can create the byte buffer above, but this code
@@ -253,7 +253,7 @@
We can consider sharing freetype library between different
scalers. However, Freetype docs suggest to use different libraries
for different threads. Also, our architecture implies that single
- FontScaler object is shared for for different sizes/transforms/styles
+ FontScaler object is shared for different sizes/transforms/styles
of the same font.
On other hand these methods can not be concurrently executed
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/native/libfontmanager/layout/LayoutEngine.h
--- a/jdk/src/java.desktop/share/native/libfontmanager/layout/LayoutEngine.h Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/native/libfontmanager/layout/LayoutEngine.h Tue Dec 16 09:58:02 2014 -0800
@@ -297,7 +297,7 @@
* This method does character to glyph mapping. The default implementation
* uses the font instance to do the mapping. It will allocate the glyph and
* character index arrays if they're not already allocated. If it allocates the
- * character index array, it will fill it it.
+ * character index array, it will fill it.
*
* This method supports right to left
* text with the ability to store the glyphs in reverse order, and by supporting
@@ -537,4 +537,3 @@
U_NAMESPACE_END
#endif
-
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/share/native/liblcms/LCMS.c
--- a/jdk/src/java.desktop/share/native/liblcms/LCMS.c Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/share/native/liblcms/LCMS.c Tue Dec 16 09:58:02 2014 -0800
@@ -879,7 +879,7 @@
cmsCloseProfile(p);
p = NULL;
} else {
- // do final check whether we can read and handle the the target tag.
+ // do final check whether we can read and handle the target tag.
const void* pTag = cmsReadTag(pfSanity, sig);
if (pTag == NULL) {
// the tag can not be cooked
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/unix/classes/sun/awt/X11/ListHelper.java
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/ListHelper.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/ListHelper.java Tue Dec 16 09:58:02 2014 -0800
@@ -48,7 +48,7 @@
private final int BORDER_WIDTH; // Width of border drawn around the list
// of items
private final int ITEM_MARGIN; // Margin between the border of the list
- // of items and and item's bg, and between
+ // of items and item's bg, and between
// items
private final int TEXT_SPACE; // Space between the edge of an item and
// the text
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/unix/classes/sun/awt/X11/XEmbeddedFramePeer.java
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XEmbeddedFramePeer.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XEmbeddedFramePeer.java Tue Dec 16 09:58:02 2014 -0800
@@ -251,7 +251,7 @@
embedder.registerAccelerator(iter.next(), i++);
}
}
- // Now we know that the the embedder is an XEmbed server, so we
+ // Now we know that the embedder is an XEmbed server, so we
// reregister the drop target to enable XDnD protocol support via
// XEmbed.
updateDropTarget();
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/unix/classes/sun/awt/X11/XScrollPanePeer.java
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XScrollPanePeer.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XScrollPanePeer.java Tue Dec 16 09:58:02 2014 -0800
@@ -204,7 +204,7 @@
// Check to see if we hid either of the scrollbars but left
// ourselves scrolled off of the top and/or right of the pane.
- // If we did, we need to scroll to the top and/or right of of
+ // If we did, we need to scroll to the top and/or right of
// the pane to make it visible.
//
// Reminder: see if there is a better place to put this code.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/unix/classes/sun/awt/X11/XTextFieldPeer.java
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XTextFieldPeer.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XTextFieldPeer.java Tue Dec 16 09:58:02 2014 -0800
@@ -288,7 +288,7 @@
}
/**
- * Deselects the the highlighted text.
+ * Deselects the highlighted text.
*/
public void deselect() {
int selStart=xtext.getSelectionStart();
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/unix/classes/sun/font/NativeFont.java
--- a/jdk/src/java.desktop/unix/classes/sun/font/NativeFont.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/unix/classes/sun/font/NativeFont.java Tue Dec 16 09:58:02 2014 -0800
@@ -369,7 +369,7 @@
*/
// sb.replace(hPos[6]+1, hPos[7], "0");
- /* comment out this block to the the 1.4.2 behaviour */
+ /* comment out this block to the 1.4.2 behaviour */
if (hPos[0] == 0 && hPos[1] == 1) {
/* null foundry name : some linux font configuration files have
* symbol font entries like this and its just plain wrong.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/unix/native/common/awt/awt_Font.c
--- a/jdk/src/java.desktop/unix/native/common/awt/awt_Font.c Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/unix/native/common/awt/awt_Font.c Tue Dec 16 09:58:02 2014 -0800
@@ -723,7 +723,7 @@
}
/* AWT fonts are always "multifonts" and probably have been in
- * all post 1.0 releases, so this test test for multi fonts is
+ * all post 1.0 releases, so this test for multi fonts is
* probably not needed, and the singleton xfont is probably never used.
*/
if (fdata->charset_num > 0) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/unix/native/common/awt/medialib/mlib_v_ImageCopy_f.c
--- a/jdk/src/java.desktop/unix/native/common/awt/medialib/mlib_v_ImageCopy_f.c Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/unix/native/common/awt/medialib/mlib_v_ImageCopy_f.c Tue Dec 16 09:58:02 2014 -0800
@@ -196,7 +196,7 @@
/***************************************************************/
/*
* Either source or destination data are not 8-byte aligned.
- * And size is is in bytes.
+ * And size is in bytes.
*/
void mlib_ImageCopy_na(const mlib_u8 *sa,
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c
--- a/jdk/src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/unix/native/libawt_xawt/awt/multiVis.c Tue Dec 16 09:58:02 2014 -0800
@@ -1103,7 +1103,7 @@
* of those supports a transparent
* pixel. */
int32_t *numVisuals; /* Number of XVisualInfo struct's
- * pointed to to by pVisuals. */
+ * pointed to by pVisuals. */
XVisualInfo **pVisuals; /* All of the device's visuals. */
int32_t *numOverlayVisuals; /* Number of OverlayInfo's pointed
* to by pOverlayVisuals. If this
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/unix/native/libawt_xawt/awt/wsutils.h
--- a/jdk/src/java.desktop/unix/native/libawt_xawt/awt/wsutils.h Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/unix/native/libawt_xawt/awt/wsutils.h Tue Dec 16 09:58:02 2014 -0800
@@ -167,7 +167,7 @@
* of those supports a transparent
* pixel. */
int32_t *numVisuals, /* Number of XVisualInfo struct's
- * pointed to to by pVisuals. */
+ * pointed to by pVisuals. */
XVisualInfo **pVisuals, /* All of the device's visuals. */
int32_t *numOverlayVisuals, /* Number of OverlayInfo's pointed
* to by pOverlayVisuals. If this
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/unix/native/libmlib_image/mlib_v_ImageChannelExtract_43.c
--- a/jdk/src/java.desktop/unix/native/libmlib_image/mlib_v_ImageChannelExtract_43.c Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/unix/native/libmlib_image/mlib_v_ImageChannelExtract_43.c Tue Dec 16 09:58:02 2014 -0800
@@ -252,7 +252,7 @@
/***************************************************************/
/*
* Either source or destination data are not 8-byte aligned.
- * And dsize is is in pixels.
+ * And dsize is in pixels.
*/
void mlib_v_ImageChannelExtract_U8_43R_D1(const mlib_u8 *src,
@@ -1182,7 +1182,7 @@
/***************************************************************/
/*
* Either source or destination data are not 8-byte aligned.
- * And size is is in pixels.
+ * And size is in pixels.
*/
void mlib_v_ImageChannelExtract_S16_43L_D1(const mlib_s16 *src,
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolder2.java
--- a/jdk/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolder2.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/shell/Win32ShellFolder2.java Tue Dec 16 09:58:02 2014 -0800
@@ -251,7 +251,7 @@
// Get a child pidl relative to 'parent'
long childPIDL = copyFirstPIDLEntry(pIDL);
if (childPIDL != 0) {
- // Get a handle to the the rest of the ID list
+ // Get a handle to the rest of the ID list
// i,e, parent's grandchilren and down
pIDL = getNextPIDLEntry(pIDL);
if (pIDL != 0) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/windows/classes/sun/awt/windows/TranslucentWindowPainter.java
--- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/TranslucentWindowPainter.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/TranslucentWindowPainter.java Tue Dec 16 09:58:02 2014 -0800
@@ -110,7 +110,7 @@
protected abstract Image getBackBuffer(boolean clear);
/**
- * Updates the the window associated with this painter with the contents
+ * Updates the window associated with this painter with the contents
* of the passed image.
* The image can not be null, and NPE will be thrown if it is.
*/
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java
--- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java Tue Dec 16 09:58:02 2014 -0800
@@ -183,7 +183,7 @@
/**
* Initializes the Toolkit for use in an embedded environment.
*
- * @return true if the the initialization succeeded; false if it failed.
+ * @return true if the initialization succeeded; false if it failed.
* The function will fail if the Toolkit was already initialized.
* @since 1.3
*/
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/windows/native/libawt/java2d/windows/GDIWindowSurfaceData.cpp
--- a/jdk/src/java.desktop/windows/native/libawt/java2d/windows/GDIWindowSurfaceData.cpp Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/windows/native/libawt/java2d/windows/GDIWindowSurfaceData.cpp Tue Dec 16 09:58:02 2014 -0800
@@ -77,7 +77,7 @@
ZeroMemory(info, sizeof(ThreadGraphicsInfo));
TlsSetValue(threadInfoIndex, (LPVOID)info);
J2dTraceLn2(J2D_TRACE_VERBOSE,
- " current batch limit for for thread 0x%x is %d",
+ " current batch limit for thread 0x%x is %d",
GetCurrentThreadId(), ::GdiGetBatchLimit());
J2dTraceLn(J2D_TRACE_VERBOSE, " setting to the limit to 1");
// Fix for bug 4374079
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.desktop/windows/native/libawt/windows/awt_Debug.h
--- a/jdk/src/java.desktop/windows/native/libawt/windows/awt_Debug.h Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.desktop/windows/native/libawt/windows/awt_Debug.h Tue Dec 16 09:58:02 2014 -0800
@@ -40,7 +40,7 @@
static void AssertCallback(const char * expr, const char * file,
int line);
- /* This method signals that the VM is exiting cleanly, and thus the
+ /* This method signals that the VM is exiting cleanly, and thus
the debug memory manager should dump a leaks report when the
VM has finished exiting. This method should not be called for
termination exits (such as ObjectName
and/or a Query expression, a specific
* MBean name (equivalent to testing whether an MBean is registered).
- * When the object name is null or or no domain and key properties are
+ * When the object name is null or no domain and key properties are
* specified, all objects are selected (and filtered if a query is
* specified). It returns the set of ObjectNames for the MBeans
* selected.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.management/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java
--- a/jdk/src/java.management/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.management/share/classes/com/sun/jmx/remote/internal/ClientNotifForwarder.java Tue Dec 16 09:58:02 2014 -0800
@@ -140,7 +140,7 @@
}
/**
- * Called to to fetch notifications from a server.
+ * Called to fetch notifications from a server.
*/
abstract protected NotificationResult fetchNotifs(long clientSequenceNumber,
int maxNotifications,
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.management/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java
--- a/jdk/src/java.management/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.management/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java Tue Dec 16 09:58:02 2014 -0800
@@ -42,7 +42,7 @@
* The notification emitted will contain the garbage collection notification
* information about the status of the memory:
* SimpleType
instance is the the hash code of
+ * The hash code of a SimpleType
instance is the hash code of
* the string value returned by the {@link OpenType#getClassName() getClassName} method.
* SimpleType
instances are immutable, the hash code for this instance is calculated once,
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.management/share/classes/javax/management/openmbean/TabularDataSupport.java
--- a/jdk/src/java.management/share/classes/javax/management/openmbean/TabularDataSupport.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.management/share/classes/javax/management/openmbean/TabularDataSupport.java Tue Dec 16 09:58:02 2014 -0800
@@ -212,7 +212,7 @@
/**
* Returns true if and only if this TabularData instance contains a CompositeData value
* (ie a row) whose index is the specified key. If key cannot be cast to a one dimension array
- * of Object instances, this method simply returns false; otherwise it returns the the result of the call to
+ * of Object instances, this method simply returns false; otherwise it returns the result of the call to
* this.containsKey((Object[]) key).
*
* @param key the index value whose presence in this TabularData instance is to be tested.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.management/share/classes/sun/management/Agent.java
--- a/jdk/src/java.management/share/classes/sun/management/Agent.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.management/share/classes/sun/management/Agent.java Tue Dec 16 09:58:02 2014 -0800
@@ -499,7 +499,7 @@
} else {
StringBuilder message = new StringBuilder(params[0]);
for (int i = 1; i < params.length; i++) {
- message.append(" " + params[i]);
+ message.append(' ').append(params[i]);
}
error(key, message.toString());
}
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.management/share/classes/sun/management/MappedMXBeanType.java
--- a/jdk/src/java.management/share/classes/sun/management/MappedMXBeanType.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.management/share/classes/sun/management/MappedMXBeanType.java Tue Dec 16 09:58:02 2014 -0800
@@ -289,7 +289,7 @@
if (et.isPrimitive()) {
className = new StringBuilder(c.getName());
} else {
- className.append("L" + baseElementType.getTypeName() + ";");
+ className.append('L').append(baseElementType.getTypeName()).append(';');
}
try {
mappedTypeClass = Class.forName(className.toString());
@@ -385,7 +385,7 @@
if (elementType instanceof Class && ((Class) elementType).isPrimitive()) {
className = new StringBuilder(gat.toString());
} else {
- className.append("L" + baseElementType.getTypeName() + ";");
+ className.append('L').append(baseElementType.getTypeName()).append(';');
}
try {
mappedTypeClass = Class.forName(className.toString());
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.naming/share/classes/com/sun/jndi/ldap/EventSupport.java
--- a/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/EventSupport.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/EventSupport.java Tue Dec 16 09:58:02 2014 -0800
@@ -260,7 +260,7 @@
if (unsolicited == null || unsolicited.size() == 0) {
// This shouldn't really happen, but might in case
// there is a timing problem that removes a listener
- // before a fired event event reaches here.
+ // before a fired event reaches here.
return;
}
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtx.java
--- a/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtx.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/LdapCtx.java Tue Dec 16 09:58:02 2014 -0800
@@ -989,7 +989,7 @@
}
/*
- * Append the the second Vector onto the first Vector
+ * Append the second Vector onto the first Vector
* (v2 must be non-null)
*/
private static Registry
for
+ * Returns a reference to the remote object Registry
for
* the local host on the default registry port of 1099.
*
* @return reference (a stub) to the remote object registry
@@ -76,7 +76,7 @@
}
/**
- * Returns a reference to the the remote object Registry
for
+ * Returns a reference to the remote object Registry
for
* the local host on the specified port
.
*
* @param port port on which the registry accepts requests
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.rmi/share/classes/sun/rmi/registry/RegistryImpl.java
--- a/jdk/src/java.rmi/share/classes/sun/rmi/registry/RegistryImpl.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.rmi/share/classes/sun/rmi/registry/RegistryImpl.java Tue Dec 16 09:58:02 2014 -0800
@@ -336,13 +336,12 @@
* Main program to start a registry.
* The port number can be specified on the command line.
*/
- @SuppressWarnings("deprecation")
public static void main(String args[])
{
// Create and install the security manager if one is not installed
// already.
if (System.getSecurityManager() == null) {
- System.setSecurityManager(new RMISecurityManager());
+ System.setSecurityManager(new SecurityManager());
}
try {
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.rmi/share/classes/sun/rmi/server/MarshalOutputStream.java
--- a/jdk/src/java.rmi/share/classes/sun/rmi/server/MarshalOutputStream.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.rmi/share/classes/sun/rmi/server/MarshalOutputStream.java Tue Dec 16 09:58:02 2014 -0800
@@ -88,7 +88,7 @@
}
/**
- * Serializes a location from which to load the the specified class.
+ * Serializes a location from which to load the specified class.
*/
protected void annotateClass(Class> cl) throws IOException {
writeLocation(java.rmi.server.RMIClassLoader.getClassAnnotation(cl));
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java
--- a/jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.rmi/share/classes/sun/rmi/transport/tcp/ConnectionMultiplexer.java Tue Dec 16 09:58:02 2014 -0800
@@ -35,7 +35,7 @@
* ConnectionMultiplexer manages the transparent multiplexing of
* multiple virtual connections from one endpoint to another through
* one given real connection to that endpoint. The input and output
- * streams for the the underlying real connection must be supplied.
+ * streams for the underlying real connection must be supplied.
* A callback object is also supplied to be informed of new virtual
* connections opened by the remote endpoint. After creation, the
* run() method must be called in a thread created for demultiplexing
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.scripting/share/classes/javax/script/ScriptContext.java
--- a/jdk/src/java.scripting/share/classes/javax/script/ScriptContext.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.scripting/share/classes/javax/script/ScriptContext.java Tue Dec 16 09:58:02 2014 -0800
@@ -130,7 +130,7 @@
* is determined by the numeric value of the scope parameter (lowest
* scope values first.)
*
- * @param name The name of the the attribute to retrieve.
+ * @param name The name of the attribute to retrieve.
* @return The value of the attribute in the lowest scope for
* which an attribute with the given name is defined. Returns
* null if no attribute with the name exists in any scope.
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.scripting/share/classes/javax/script/ScriptEngineManager.java
--- a/jdk/src/java.scripting/share/classes/javax/script/ScriptEngineManager.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.scripting/share/classes/javax/script/ScriptEngineManager.java Tue Dec 16 09:58:02 2014 -0800
@@ -407,7 +407,7 @@
/** Map of script file extension to script engine factory. */
private HashMap
- *
- *
- *
ROWSET_SYNC_PROVIDER
- the property specifying the the
+ * ROWSET_SYNC_PROVIDER
- the property specifying the
* SyncProvider
class name to be instantiated by the
* SyncFacttory
* ROWSET_SYNC_VENDOR
- the property specifying the software
@@ -3727,7 +3727,7 @@
/*
* Each call to internalPrevious may move the cursor
- * over multiple rows, the absolute position moves one one row
+ * over multiple rows, the absolute position moves one row
*/
if (ret == true)
--absolutePos;
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.sql.rowset/share/classes/com/sun/rowset/JdbcRowSetImpl.java
--- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/JdbcRowSetImpl.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/JdbcRowSetImpl.java Tue Dec 16 09:58:02 2014 -0800
@@ -3993,7 +3993,7 @@
/**
* Retrieves the DatabaseMetaData
associated with
- * the connection handle associated this this
+ * the connection handle associated with this
* JdbcRowSet
object.
*
* @return the DatabaseMetadata
associated
@@ -4007,7 +4007,7 @@
/**
* Retrieves the ParameterMetaData
associated with
- * the connection handle associated this this
+ * the connection handle associated with this
* JdbcRowSet
object.
*
* @return the ParameterMetadata
associated
@@ -4325,7 +4325,7 @@
* the connection is created using a JDBC technology-enabled driver
* ("JDBC driver") and the DriverManager
.
* The correct JDBC URL for the specific driver to be used can be found
- * in the driver documentation. Although there are guidelines for for how
+ * in the driver documentation. Although there are guidelines for how
* a JDBC URL is formed,
* a driver vendor can specify any String
object except
* one with a length of 0
(an empty string).
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.sql.rowset/share/classes/com/sun/rowset/JoinRowSetImpl.java
--- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/JoinRowSetImpl.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/JoinRowSetImpl.java Tue Dec 16 09:58:02 2014 -0800
@@ -1169,7 +1169,7 @@
* @return the column value; if the value is SQL NULL
, the
* result is null
* @throws SQLException if the given column index is out of bounds,
- * the cursor is not on a valid row, or the the value to be
+ * the cursor is not on a valid row, or the value to be
* retrieved is not binary
*/
public byte[] getBytes(int columnIndex) throws SQLException {
@@ -4129,7 +4129,7 @@
}
/**
- * Creates an an output stream of the internal state and contents of a
+ * Creates an output stream of the internal state and contents of a
* WebRowSet
for XML proceessing
*
* @throws SQLException if a datasource access occurs
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.sql.rowset/share/classes/com/sun/rowset/WebRowSetImpl.java
--- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/WebRowSetImpl.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/WebRowSetImpl.java Tue Dec 16 09:58:02 2014 -0800
@@ -93,7 +93,7 @@
}
/**
- * Constructs a new WebRowSet
object initialized with the the
+ * Constructs a new WebRowSet
object initialized with the
* synchronization SPI provider properties as specified in the Hashtable
. If
* this hashtable is empty or is null
the default constructor is invoked.
*
@@ -234,7 +234,7 @@
/**
* Writes this WebRowSet
object to the given OutputStream
* object in XML format.
- * Creates an an output stream of the internal state and contents of a
+ * Creates an output stream of the internal state and contents of a
* WebRowSet
for XML proceessing
*
* @throws SQLException if a datasource access error occurs
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.sql.rowset/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java
--- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/internal/CachedRowSetWriter.java Tue Dec 16 09:58:02 2014 -0800
@@ -843,7 +843,7 @@
for (String pkName : primaryKeys) {
if (!isPKNameValid(pkName, rsmd)) {
- /* We came here as one of the the primary keys
+ /* We came here as one of the primary keys
* of the table is not present in the cached
* rowset object, it should be an autoincrement column
* and not included while creating CachedRowSet
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.sql.rowset/share/classes/com/sun/rowset/internal/SyncResolverImpl.java
--- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/internal/SyncResolverImpl.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/internal/SyncResolverImpl.java Tue Dec 16 09:58:02 2014 -0800
@@ -288,7 +288,7 @@
}
/**
- * This passes a CachedRowSet as a row the the CachedRowSetWriter
+ * This passes a CachedRowSet as a row to the CachedRowSetWriter
* after the values have been resolved, back to the datasource.
*
* @param row a CachedRowSet
object which will hold the
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.sql.rowset/share/classes/com/sun/rowset/providers/package.html
--- a/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/providers/package.html Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.sql.rowset/share/classes/com/sun/rowset/providers/package.html Tue Dec 16 09:58:02 2014 -0800
@@ -137,7 +137,7 @@
inserted or deleted. Any method that causes a change in the rowset's values
or cursor position also notifies any object that has been registered as
a listener with the rowset. So, for example, a table that displays the rowset's
- data in an applet can can be notified of changes and make updates as they
+ data in an applet can be notified of changes and make updates as they
occur.
The changes made to a rowset can be propagated back to the original data
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java
--- a/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/AbstractSerializer.java Tue Dec 16 09:58:02 2014 -0800
@@ -235,14 +235,15 @@
String nodeName = att.getNodeName();
if ((nodeName.equals("xmlns") || nodeName.startsWith("xmlns:"))
&& !storedNamespaces.containsKey(att.getNodeName())) {
- sb.append(" " + nodeName + "=\"" + att.getNodeValue() + "\"");
+ sb.append(' ').append(nodeName).append("=\"")
+ .append(att.getNodeValue()).append('"');
storedNamespaces.put(nodeName, att.getNodeValue());
}
}
}
wk = wk.getParentNode();
}
- sb.append(">" + source + "");
+ sb.append('>').append(source).append("");
return sb.toString();
}
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java
--- a/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/encryption/EncryptionMethod.java Tue Dec 16 09:58:02 2014 -0800
@@ -68,7 +68,7 @@
void setKeySize(int size);
/**
- * Returns the OAEP parameters of the algorithm applied applied to the
+ * Returns the OAEP parameters of the algorithm applied to the
* cipher data.
*
* @return the OAEP parameters.
@@ -130,4 +130,3 @@
*/
void removeEncryptionMethodInformation(Element information);
}
-
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyUtils.java
--- a/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyUtils.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/keys/KeyUtils.java Tue Dec 16 09:58:02 2014 -0800
@@ -32,7 +32,7 @@
import com.sun.org.apache.xml.internal.security.keys.content.X509Data;
/**
- * Utility class for for com.sun.org.apache.xml.internal.security.keys
package.
+ * Utility class for the com.sun.org.apache.xml.internal.security.keys
package.
*
* @author $Author: coheigea $
*/
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java
--- a/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/signature/Reference.java Tue Dec 16 09:58:02 2014 -0800
@@ -571,7 +571,7 @@
}
/**
- * This method only works works after a call to verify.
+ * This method only works after a call to verify.
* @return the transformed output(i.e. what is going to be digested).
*/
public XMLSignatureInput getTransformsOutput() {
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java
--- a/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/transforms/params/InclusiveNamespaces.java Tue Dec 16 09:58:02 2014 -0800
@@ -85,7 +85,7 @@
if (prefix.equals("xmlns")) {
sb.append("#default ");
} else {
- sb.append(prefix + " ");
+ sb.append(prefix).append(' ');
}
}
diff -r f694f2576719 -r 610561ed1847 jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java
--- a/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/java.xml.crypto/share/classes/com/sun/org/apache/xml/internal/security/utils/RFC2253Parser.java Tue Dec 16 09:58:02 2014 -0800
@@ -88,7 +88,7 @@
l += countQuotes(DN, j, k);
if ((k > 0) && (DN.charAt(k - 1) != '\\') && (l % 2) == 0) {
- sb.append(parseRDN(DN.substring(i, k).trim(), toXml) + ",");
+ sb.append(parseRDN(DN.substring(i, k).trim(), toXml)).append(',');
i = k + 1;
l = 0;
@@ -121,7 +121,7 @@
l += countQuotes(str, j, k);
if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) {
- sb.append(parseATAV(trim(str.substring(i, k)), toXml) + "+");
+ sb.append(parseATAV(trim(str.substring(i, k)), toXml)).append('+');
i = k + 1;
l = 0;
@@ -369,7 +369,7 @@
int k;
for (int j = 0; (k = string.indexOf("\\20", j)) >= 0; j = k + 3) {
- sb.append(trim(string.substring(i, k)) + "\\ ");
+ sb.append(trim(string.substring(i, k))).append("\\ ");
i = k + 3;
}
@@ -418,7 +418,7 @@
l += countQuotes(str, j, k);
if ((k > 0) && (str.charAt(k - 1) != '\\') && (l % 2) == 0) {
- sb.append(trim(str.substring(i, k)) + replace);
+ sb.append(trim(str.substring(i, k))).append(replace);
i = k + 1;
l = 0;
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c
--- a/jdk/src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.attach/solaris/native/libattach/VirtualMachineImpl.c Tue Dec 16 09:58:02 2014 -0800
@@ -320,7 +320,7 @@
JNU_ThrowIOExceptionWithLastError(env, "door_call");
} else {
/*
- * door_call succeeded but the call didn't return the the expected jint.
+ * door_call succeeded but the call didn't return the expected jint.
*/
if (door_args.data_size < sizeof(jint)) {
JNU_ThrowIOException(env, "Enqueue error - reason unknown as result is truncated!");
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/P11KeyStore.java
--- a/jdk/src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/P11KeyStore.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.crypto.pkcs11/share/classes/sun/security/pkcs11/P11KeyStore.java Tue Dec 16 09:58:02 2014 -0800
@@ -1641,7 +1641,7 @@
// If the key is a token object on this token, update it instead
// of creating a duplicate key object.
- // Otherwise, treat a P11Key like any other key, if is is extractable.
+ // Otherwise, treat a P11Key like any other key, if it is extractable.
if (key instanceof P11Key) {
P11Key p11Key = (P11Key)key;
if (p11Key.tokenObject && (p11Key.token == this.token)) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeCipherWithJavaPadding.java
--- a/jdk/src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeCipherWithJavaPadding.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.crypto.ucrypto/solaris/classes/com/oracle/security/ucrypto/NativeCipherWithJavaPadding.java Tue Dec 16 09:58:02 2014 -0800
@@ -89,7 +89,7 @@
private static class PKCS5Padding implements Padding {
private final int blockSize;
- // buffer for storing the the potential padding bytes
+ // buffer for storing the potential padding bytes
private ByteBuffer trailingBytes = null;
PKCS5Padding(int blockSize)
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.dev/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java
--- a/jdk/src/jdk.dev/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.dev/share/classes/com/sun/tools/hat/internal/model/JavaValueArray.java Tue Dec 16 09:58:02 2014 -0800
@@ -346,12 +346,12 @@
public String valueString(boolean bigLimit) {
// Char arrays deserve special treatment
- StringBuffer result;
+ StringBuilder result;
byte[] value = getValue();
int max = value.length;
byte elementSignature = getElementType();
if (elementSignature == 'C') {
- result = new StringBuffer();
+ result = new StringBuilder();
for (int i = 0; i < value.length; ) {
char val = charAt(i, value);
result.append(val);
@@ -362,7 +362,7 @@
if (bigLimit) {
limit = 1000;
}
- result = new StringBuffer("{");
+ result = new StringBuilder("{");
int num = 0;
for (int i = 0; i < value.length; ) {
if (num > 0) {
@@ -386,37 +386,37 @@
}
case 'B': {
int val = 0xFF & byteAt(i, value);
- result.append("0x" + Integer.toString(val, 16));
+ result.append("0x").append(Integer.toString(val, 16));
i++;
break;
}
case 'S': {
short val = shortAt(i, value);
i += 2;
- result.append("" + val);
+ result.append(val);
break;
}
case 'I': {
int val = intAt(i, value);
i += 4;
- result.append("" + val);
+ result.append(val);
break;
}
case 'J': { // long
long val = longAt(i, value);
- result.append("" + val);
+ result.append(val);
i += 8;
break;
}
case 'F': {
float val = floatAt(i, value);
- result.append("" + val);
+ result.append(val);
i += 4;
break;
}
case 'D': { // double
double val = doubleAt(i, value);
- result.append("" + val);
+ result.append(val);
i += 8;
break;
}
@@ -425,7 +425,7 @@
}
}
}
- result.append("}");
+ result.append('}');
}
return result.toString();
}
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.dev/share/classes/com/sun/tools/hat/internal/util/Misc.java
--- a/jdk/src/jdk.dev/share/classes/com/sun/tools/hat/internal/util/Misc.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.dev/share/classes/com/sun/tools/hat/internal/util/Misc.java Tue Dec 16 09:58:02 2014 -0800
@@ -97,11 +97,11 @@
} else if (ch == '&') {
sb.append("&");
} else if (ch < ' ') {
- sb.append("" + Integer.toString(ch) + ";");
+ sb.append("").append((int)ch).append(';');
} else {
int c = (ch & 0xFFFF);
if (c > 127) {
- sb.append("" + Integer.toString(c) + ";");
+ sb.append("").append(c).append(';');
} else {
sb.append(ch);
}
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.dev/share/classes/sun/security/tools/jarsigner/Main.java
--- a/jdk/src/jdk.dev/share/classes/sun/security/tools/jarsigner/Main.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.dev/share/classes/sun/security/tools/jarsigner/Main.java Tue Dec 16 09:58:02 2014 -0800
@@ -676,14 +676,13 @@
((man.getAttributes(name) != null) ||
(man.getAttributes("./"+name) != null) ||
(man.getAttributes("/"+name) != null));
- sb.append(
- (isSigned ? rb.getString("s") : rb.getString("SPACE")) +
- (inManifest ? rb.getString("m") : rb.getString("SPACE")) +
- (inStore ? rb.getString("k") : rb.getString("SPACE")) +
- (inScope ? rb.getString("i") : rb.getString("SPACE")) +
- ((inStoreOrScope & NOT_ALIAS) != 0 ?"X":" ") +
- rb.getString("SPACE"));
- sb.append("|");
+ sb.append(isSigned ? rb.getString("s") : rb.getString("SPACE"))
+ .append(inManifest ? rb.getString("m") : rb.getString("SPACE"))
+ .append(inStore ? rb.getString("k") : rb.getString("SPACE"))
+ .append(inScope ? rb.getString("i") : rb.getString("SPACE"))
+ .append((inStoreOrScope & NOT_ALIAS) != 0 ? 'X' : ' ')
+ .append(rb.getString("SPACE"));
+ sb.append('|');
}
// When -certs provided, display info has extra empty
@@ -704,11 +703,15 @@
// Print no info for unsigned entries when -verbose:all,
// to be consistent with old behavior.
if (signatureRelated(name)) {
- sb.append("\n" + tab + rb.getString(
- ".Signature.related.entries.") + "\n\n");
+ sb.append('\n')
+ .append(tab)
+ .append(rb
+ .getString(".Signature.related.entries."))
+ .append("\n\n");
} else {
- sb.append("\n" + tab + rb.getString(
- ".Unsigned.entries.") + "\n\n");
+ sb.append('\n').append(tab)
+ .append(rb.getString(".Unsigned.entries."))
+ .append("\n\n");
}
}
@@ -1605,8 +1608,8 @@
// No more warning, we alreay have hasExpiredCert or notYetValidCert
} else {
chainNotValidated = true;
- sb.append(tab + rb.getString(".CertPath.not.validated.") +
- e.getLocalizedMessage() + "]\n"); // TODO
+ sb.append(tab).append(rb.getString(".CertPath.not.validated."))
+ .append(e.getLocalizedMessage()).append("]\n"); // TODO
}
}
String result = sb.toString();
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jcmd/share/classes/sun/tools/jps/Jps.java
--- a/jdk/src/jdk.jcmd/share/classes/sun/tools/jps/Jps.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jcmd/share/classes/sun/tools/jps/Jps.java Tue Dec 16 09:58:02 2014 -0800
@@ -92,28 +92,28 @@
vm = monitoredHost.getMonitoredVm(id, 0);
errorString = " -- main class information unavailable";
- output.append(" " + MonitoredVmUtil.mainClass(vm,
+ output.append(' ').append(MonitoredVmUtil.mainClass(vm,
arguments.showLongPaths()));
if (arguments.showMainArgs()) {
errorString = " -- main args information unavailable";
String mainArgs = MonitoredVmUtil.mainArgs(vm);
if (mainArgs != null && mainArgs.length() > 0) {
- output.append(" " + mainArgs);
+ output.append(' ').append(mainArgs);
}
}
if (arguments.showVmArgs()) {
errorString = " -- jvm args information unavailable";
String jvmArgs = MonitoredVmUtil.jvmArgs(vm);
if (jvmArgs != null && jvmArgs.length() > 0) {
- output.append(" " + jvmArgs);
+ output.append(' ').append(jvmArgs);
}
}
if (arguments.showVmFlags()) {
errorString = " -- jvm flags information unavailable";
String jvmFlags = MonitoredVmUtil.jvmFlags(vm);
if (jvmFlags != null && jvmFlags.length() > 0) {
- output.append(" " + jvmFlags);
+ output.append(' ').append(jvmFlags);
}
}
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jcmd/share/classes/sun/tools/jstat/RawOutputFormatter.java
--- a/jdk/src/jdk.jcmd/share/classes/sun/tools/jstat/RawOutputFormatter.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jcmd/share/classes/sun/tools/jstat/RawOutputFormatter.java Tue Dec 16 09:58:02 2014 -0800
@@ -50,7 +50,7 @@
StringBuilder headerBuilder = new StringBuilder();
for (Iterator");
+ sb.append("
");
for (int i = 0; i < arr.length; i++) {
if (i % 2 == 0) {
- sb.append("
");
arrayEditor.setText(sb.toString());
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XObject.java
--- a/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XObject.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XObject.java Tue Dec 16 09:58:02 2014 -0800
@@ -65,7 +65,7 @@
return object;
}
- //if true the the object.hashcode is added to the label
+ //if true the object.hashcode is added to the label
public static void
useHashCodeRepresentation(boolean useHashCodeRepresentation) {
XObject.useHashCodeRepresentation = useHashCodeRepresentation;
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XTree.java
--- a/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XTree.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.jconsole/share/classes/sun/tools/jconsole/inspector/XTree.java Tue Dec 16 09:58:02 2014 -0800
@@ -507,13 +507,13 @@
// key order defined by the "orderedKeyPropertyList"
for (String key : orderedKeyPropertyList) {
if (map.containsKey(key)) {
- sb.append(key + "=" + map.get(key) + ",");
+ sb.append(key).append('=').append(map.get(key)).append(',');
map.remove(key);
}
}
// Add the remaining key/value pairs to the buffer
for (Map.Entry ");
+ sb.append("" +
- (arr[i] == null ?
- arr[i] : htmlize(arr[i].toString())) +
- "
");
} else {
- sb.append("")
+ .append(arr[i] == null ?
+ arr[i] : htmlize(arr[i].toString()))
+ .append("
");
+ sb.append("" +
- (arr[i] == null ?
- arr[i] : htmlize(arr[i].toString())) +
- "
");
}
}
if (arr.length == 0) {
- sb.append("")
+ .append(arr[i] == null ?
+ arr[i] : htmlize(arr[i].toString()))
+ .append("
");
+ sb.append(" ");
}
sb.append("NTDomainPrincipal
.
*
- * @return true if the specified Object is equal equal to this
+ * @return true if the specified Object is equal to this
* NTDomainPrincipal
.
*/
public boolean equals(Object o) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTNumericCredential.java
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTNumericCredential.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTNumericCredential.java Tue Dec 16 09:58:02 2014 -0800
@@ -88,7 +88,7 @@
* @param o Object to be compared for equality with this
* NTNumericCredential
.
*
- * @return true if the specified Object is equal equal to this
+ * @return true if the specified Object is equal to this
* NTNumericCredential
.
*/
public boolean equals(Object o) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidDomainPrincipal.java
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidDomainPrincipal.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidDomainPrincipal.java Tue Dec 16 09:58:02 2014 -0800
@@ -91,7 +91,7 @@
* @param o Object to be compared for equality with this
* NTSidDomainPrincipal
.
*
- * @return true if the specified Object is equal equal to this
+ * @return true if the specified Object is equal to this
* NTSidDomainPrincipal
.
*/
public boolean equals(Object o) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidGroupPrincipal.java
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidGroupPrincipal.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidGroupPrincipal.java Tue Dec 16 09:58:02 2014 -0800
@@ -86,7 +86,7 @@
* @param o Object to be compared for equality with this
* NTSidGroupPrincipal
.
*
- * @return true if the specified Object is equal equal to this
+ * @return true if the specified Object is equal to this
* NTSidGroupPrincipal
.
*/
public boolean equals(Object o) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidPrimaryGroupPrincipal.java
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidPrimaryGroupPrincipal.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidPrimaryGroupPrincipal.java Tue Dec 16 09:58:02 2014 -0800
@@ -89,7 +89,7 @@
* @param o Object to be compared for equality with this
* NTSidPrimaryGroupPrincipal
.
*
- * @return true if the specified Object is equal equal to this
+ * @return true if the specified Object is equal to this
* NTSidPrimaryGroupPrincipal
.
*/
public boolean equals(Object o) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidUserPrincipal.java
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidUserPrincipal.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidUserPrincipal.java Tue Dec 16 09:58:02 2014 -0800
@@ -85,7 +85,7 @@
* @param o Object to be compared for equality with this
* NTSidUserPrincipal
.
*
- * @return true if the specified Object is equal equal to this
+ * @return true if the specified Object is equal to this
* NTSidUserPrincipal
.
*/
public boolean equals(Object o) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTUserPrincipal.java
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTUserPrincipal.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTUserPrincipal.java Tue Dec 16 09:58:02 2014 -0800
@@ -111,7 +111,7 @@
* @param o Object to be compared for equality with this
* NTPrincipal
.
*
- * @return true if the specified Object is equal equal to this
+ * @return true if the specified Object is equal to this
* NTPrincipal
.
*/
public boolean equals(Object o) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericGroupPrincipal.java
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericGroupPrincipal.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericGroupPrincipal.java Tue Dec 16 09:58:02 2014 -0800
@@ -184,7 +184,7 @@
* @param o Object to be compared for equality with this
* SolarisNumericGroupPrincipal
.
*
- * @return true if the specified Object is equal equal to this
+ * @return true if the specified Object is equal to this
* SolarisNumericGroupPrincipal
.
*/
public boolean equals(Object o) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericUserPrincipal.java
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericUserPrincipal.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericUserPrincipal.java Tue Dec 16 09:58:02 2014 -0800
@@ -151,7 +151,7 @@
* @param o Object to be compared for equality with this
* SolarisNumericUserPrincipal
.
*
- * @return true if the specified Object is equal equal to this
+ * @return true if the specified Object is equal to this
* SolarisNumericUserPrincipal
.
*/
public boolean equals(Object o) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisPrincipal.java
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisPrincipal.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisPrincipal.java Tue Dec 16 09:58:02 2014 -0800
@@ -115,7 +115,7 @@
* @param o Object to be compared for equality with this
* SolarisPrincipal
.
*
- * @return true if the specified Object is equal equal to this
+ * @return true if the specified Object is equal to this
* SolarisPrincipal
.
*/
public boolean equals(Object o) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericGroupPrincipal.java
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericGroupPrincipal.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericGroupPrincipal.java Tue Dec 16 09:58:02 2014 -0800
@@ -187,7 +187,7 @@
* @param o Object to be compared for equality with this
* UnixNumericGroupPrincipal
.
*
- * @return true if the specified Object is equal equal to this
+ * @return true if the specified Object is equal to this
* UnixNumericGroupPrincipal
.
*/
public boolean equals(Object o) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericUserPrincipal.java
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericUserPrincipal.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericUserPrincipal.java Tue Dec 16 09:58:02 2014 -0800
@@ -147,7 +147,7 @@
* @param o Object to be compared for equality with this
* UnixNumericUserPrincipal
.
*
- * @return true if the specified Object is equal equal to this
+ * @return true if the specified Object is equal to this
* UnixNumericUserPrincipal
.
*/
public boolean equals(Object o) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixPrincipal.java
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixPrincipal.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixPrincipal.java Tue Dec 16 09:58:02 2014 -0800
@@ -112,7 +112,7 @@
* @param o Object to be compared for equality with this
* UnixPrincipal
.
*
- * @return true if the specified Object is equal equal to this
+ * @return true if the specified Object is equal to this
* UnixPrincipal
.
*/
public boolean equals(Object o) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/X500Principal.java
--- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/X500Principal.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/X500Principal.java Tue Dec 16 09:58:02 2014 -0800
@@ -130,7 +130,7 @@
* @param o Object to be compared for equality with this
* X500Principal
.
*
- * @return true if the specified Object is equal equal to this
+ * @return true if the specified Object is equal to this
* X500Principal
.
*/
public boolean equals(Object o) {
diff -r f694f2576719 -r 610561ed1847 jdk/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipUtils.java
--- a/jdk/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipUtils.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/jdk.zipfs/share/classes/jdk/nio/zipfs/ZipUtils.java Tue Dec 16 09:58:02 2014 -0800
@@ -103,6 +103,7 @@
/*
* Converts DOS time to Java time (number of milliseconds since epoch).
*/
+ @SuppressWarnings("deprecation")
public static long dosToJavaTime(long dtime) {
Date d = new Date((int)(((dtime >> 25) & 0x7f) + 80),
(int)(((dtime >> 21) & 0x0f) - 1),
@@ -116,6 +117,7 @@
/*
* Converts Java time to DOS time.
*/
+ @SuppressWarnings("deprecation")
public static long javaToDosTime(long time) {
Date d = new Date(time);
int year = d.getYear() + 1900;
diff -r f694f2576719 -r 610561ed1847 jdk/src/sample/share/nio/server/ChannelIOSecure.java
--- a/jdk/src/sample/share/nio/server/ChannelIOSecure.java Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/sample/share/nio/server/ChannelIOSecure.java Tue Dec 16 09:58:02 2014 -0800
@@ -576,7 +576,7 @@
/*
* We ignore the return value here, we return the
- * number of bytes actually consumed from the the file.
+ * number of bytes actually consumed from the file.
* We'll flush the output buffer before we start shutting down.
*/
doWrite(fileChannelBB);
diff -r f694f2576719 -r 610561ed1847 jdk/src/sample/solaris/dtrace/hotspot/gc_time_stat.d
--- a/jdk/src/sample/solaris/dtrace/hotspot/gc_time_stat.d Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/src/sample/solaris/dtrace/hotspot/gc_time_stat.d Tue Dec 16 09:58:02 2014 -0800
@@ -111,8 +111,8 @@
* arg4: uintptr_t, the initial size of the memory pool (in bytes)
* arg5: uintptr_t, the amount of memory in use in the memory pool
* (in bytes)
- * arg6: uintptr_t, the the number of committed pages in the memory pool
- * arg7: uintptr_t, the the maximum size of the memory pool
+ * arg6: uintptr_t, the number of committed pages in the memory pool
+ * arg7: uintptr_t, the maximum size of the memory pool
*/
hotspot$target:::mem-pool-gc-begin
{
diff -r f694f2576719 -r 610561ed1847 jdk/test/Makefile
--- a/jdk/test/Makefile Tue Dec 16 09:57:33 2014 -0800
+++ b/jdk/test/Makefile Tue Dec 16 09:58:02 2014 -0800
@@ -1,5 +1,5 @@
#
-# Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1995, 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
@@ -258,6 +258,11 @@
# ------------------------------------------------------------------
+# When called from JPRT the TESTDIRS variable is set to the jtreg tests to run
+ifdef TESTDIRS
+ TEST_SELECTION = $(TESTDIRS)
+endif
+
ifdef CONCURRENCY
EXTRA_JTREG_OPTIONS += -concurrency:$(CONCURRENCY)
endif
diff -r f694f2576719 -r 610561ed1847 jdk/test/java/io/InputStream/TransferTo.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/io/InputStream/TransferTo.java Tue Dec 16 09:58:02 2014 -0800
@@ -0,0 +1,326 @@
+/*
+ * Copyright (c) 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * 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.
+ */
+
+import java.io.ByteArrayOutputStream;
+import java.io.FilterInputStream;
+import java.io.FilterOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Arrays;
+import java.util.Random;
+
+import static java.lang.String.format;
+
+/*
+ * @test
+ * @bug 8066867
+ * @summary tests whether java.io.InputStream.transferTo conforms to its
+ * contract defined in the javadoc
+ */
+public class TransferTo {
+
+ public static void main(String[] args) throws IOException {
+ ifOutIsNullThenNpeIsThrown();
+ ifExceptionInInputNeitherStreamIsClosed();
+ ifExceptionInOutputNeitherStreamIsClosed();
+ onReturnNeitherStreamIsClosed();
+ onReturnInputIsAtEnd();
+ contents();
+ }
+
+ private static void ifOutIsNullThenNpeIsThrown() throws IOException {
+ try (InputStream in = input()) {
+ assertThrowsNPE(() -> in.transferTo(null), "out");
+ }
+
+ try (InputStream in = input((byte) 1)) {
+ assertThrowsNPE(() -> in.transferTo(null), "out");
+ }
+
+ try (InputStream in = input((byte) 1, (byte) 2)) {
+ assertThrowsNPE(() -> in.transferTo(null), "out");
+ }
+
+ InputStream in = null;
+ try {
+ InputStream fin = in = new ThrowingInputStream();
+ // null check should precede everything else:
+ // InputStream shouldn't be touched if OutputStream is null
+ assertThrowsNPE(() -> fin.transferTo(null), "out");
+ } finally {
+ if (in != null)
+ try {
+ in.close();
+ } catch (IOException ignored) { }
+ }
+ }
+
+ private static void ifExceptionInInputNeitherStreamIsClosed()
+ throws IOException {
+ transferToThenCheckIfAnyClosed(input(0, new byte[]{1, 2, 3}), output());
+ transferToThenCheckIfAnyClosed(input(1, new byte[]{1, 2, 3}), output());
+ transferToThenCheckIfAnyClosed(input(2, new byte[]{1, 2, 3}), output());
+ }
+
+ private static void ifExceptionInOutputNeitherStreamIsClosed()
+ throws IOException {
+ transferToThenCheckIfAnyClosed(input(new byte[]{1, 2, 3}), output(0));
+ transferToThenCheckIfAnyClosed(input(new byte[]{1, 2, 3}), output(1));
+ transferToThenCheckIfAnyClosed(input(new byte[]{1, 2, 3}), output(2));
+ }
+
+ private static void transferToThenCheckIfAnyClosed(InputStream input,
+ OutputStream output)
+ throws IOException {
+ try (CloseLoggingInputStream in = new CloseLoggingInputStream(input);
+ CloseLoggingOutputStream out =
+ new CloseLoggingOutputStream(output)) {
+ boolean thrown = false;
+ try {
+ in.transferTo(out);
+ } catch (IOException ignored) {
+ thrown = true;
+ }
+ if (!thrown)
+ throw new AssertionError();
+
+ if (in.wasClosed() || out.wasClosed()) {
+ throw new AssertionError();
+ }
+ }
+ }
+
+ private static void onReturnNeitherStreamIsClosed()
+ throws IOException {
+ try (CloseLoggingInputStream in =
+ new CloseLoggingInputStream(input(new byte[]{1, 2, 3}));
+ CloseLoggingOutputStream out =
+ new CloseLoggingOutputStream(output())) {
+
+ in.transferTo(out);
+
+ if (in.wasClosed() || out.wasClosed()) {
+ throw new AssertionError();
+ }
+ }
+ }
+
+ private static void onReturnInputIsAtEnd() throws IOException {
+ try (InputStream in = input(new byte[]{1, 2, 3});
+ OutputStream out = output()) {
+
+ in.transferTo(out);
+
+ if (in.read() != -1) {
+ throw new AssertionError();
+ }
+ }
+ }
+
+ private static void contents() throws IOException {
+ checkTransferredContents(new byte[0]);
+ checkTransferredContents(createRandomBytes(1024, 4096));
+ // to span through several batches
+ checkTransferredContents(createRandomBytes(16384, 16384));
+ }
+
+ private static void checkTransferredContents(byte[] bytes)
+ throws IOException {
+ try (InputStream in = input(bytes);
+ ByteArrayOutputStream out = new ByteArrayOutputStream()) {
+ in.transferTo(out);
+
+ byte[] outBytes = out.toByteArray();
+ if (!Arrays.equals(bytes, outBytes)) {
+ throw new AssertionError(
+ format("bytes.length=%s, outBytes.length=%s",
+ bytes.length, outBytes.length));
+ }
+ }
+ }
+
+ private static byte[] createRandomBytes(int min, int maxRandomAdditive) {
+ Random rnd = new Random();
+ byte[] bytes = new byte[min + rnd.nextInt(maxRandomAdditive)];
+ rnd.nextBytes(bytes);
+ return bytes;
+ }
+
+ private static OutputStream output() {
+ return output(-1);
+ }
+
+ private static OutputStream output(int exceptionPosition) {
+ return new OutputStream() {
+
+ int pos;
+
+ @Override
+ public void write(int b) throws IOException {
+ if (pos++ == exceptionPosition)
+ throw new IOException();
+ }
+ };
+ }
+
+ private static InputStream input(byte... bytes) {
+ return input(-1, bytes);
+ }
+
+ private static InputStream input(int exceptionPosition, byte... bytes) {
+ return new InputStream() {
+
+ int pos;
+
+ @Override
+ public int read() throws IOException {
+ if (pos == exceptionPosition) {
+ // because of the pesky IOException swallowing in
+ // java.io.InputStream.read(byte[], int, int)
+ // pos++;
+ throw new IOException();
+ }
+
+ if (pos >= bytes.length)
+ return -1;
+ return bytes[pos++] & 0xff;
+ }
+ };
+ }
+
+ private static class ThrowingInputStream extends InputStream {
+
+ boolean closed;
+
+ @Override
+ public int read(byte[] b) throws IOException {
+ throw new IOException();
+ }
+
+ @Override
+ public int read(byte[] b, int off, int len) throws IOException {
+ throw new IOException();
+ }
+
+ @Override
+ public long skip(long n) throws IOException {
+ throw new IOException();
+ }
+
+ @Override
+ public int available() throws IOException {
+ throw new IOException();
+ }
+
+ @Override
+ public void close() throws IOException {
+ if (!closed) {
+ closed = true;
+ throw new IOException();
+ }
+ }
+
+ @Override
+ public void reset() throws IOException {
+ throw new IOException();
+ }
+
+ @Override
+ public int read() throws IOException {
+ throw new IOException();
+ }
+ }
+
+ private static class CloseLoggingInputStream extends FilterInputStream {
+
+ boolean closed;
+
+ CloseLoggingInputStream(InputStream in) {
+ super(in);
+ }
+
+ @Override
+ public void close() throws IOException {
+ closed = true;
+ super.close();
+ }
+
+ boolean wasClosed() {
+ return closed;
+ }
+ }
+
+ private static class CloseLoggingOutputStream extends FilterOutputStream {
+
+ boolean closed;
+
+ CloseLoggingOutputStream(OutputStream out) {
+ super(out);
+ }
+
+ @Override
+ public void close() throws IOException {
+ closed = true;
+ super.close();
+ }
+
+ boolean wasClosed() {
+ return closed;
+ }
+ }
+
+ public interface Thrower {
+ public void run() throws Throwable;
+ }
+
+ public static void assertThrowsNPE(Thrower thrower, String message) {
+ assertThrows(thrower, NullPointerException.class, message);
+ }
+
+ public static