# HG changeset patch # User ddehaven # Date 1452633196 28800 # Node ID 9ff296647fde90e6b3f1f61693563102b1aa8290 # Parent 21c2a1c938105fa593f30997a60c31e084446e62# Parent 304424bbae03811d07b92ee6483c333835d0fa0b Merge diff -r 21c2a1c93810 -r 9ff296647fde .hgtags --- a/.hgtags Tue Jan 12 18:02:07 2016 +0300 +++ b/.hgtags Tue Jan 12 13:13:16 2016 -0800 @@ -342,3 +342,4 @@ 4edcff1b9a8875eb6380a2165dfec599e8e3f7c0 jdk-9+97 d00ad2d9049ac60815f70bff445e95df85648bd2 jdk-9+98 f9bcdce2df26678c3fe468130b535c0342c69b89 jdk-9+99 +4379223f8806626852c46c52d4e7a27a584b406e jdk-9+100 diff -r 21c2a1c93810 -r 9ff296647fde .hgtags-top-repo --- a/.hgtags-top-repo Tue Jan 12 18:02:07 2016 +0300 +++ b/.hgtags-top-repo Tue Jan 12 13:13:16 2016 -0800 @@ -342,3 +342,4 @@ 75c3897541ecb52ee16d001ea605b12971df7303 jdk-9+97 48987460c7d49a29013963ee44d090194396bb61 jdk-9+98 7c0577bea4c65d69c5bef67023a89d2efa4fb2f7 jdk-9+99 +c1f30ac14db0eaff398429c04cd9fab92e1b4b2a jdk-9+100 diff -r 21c2a1c93810 -r 9ff296647fde common/autoconf/build-performance.m4 --- a/common/autoconf/build-performance.m4 Tue Jan 12 18:02:07 2016 +0300 +++ b/common/autoconf/build-performance.m4 Tue Jan 12 13:13:16 2016 -0800 @@ -253,6 +253,24 @@ ################################################################################ # +# Runs icecc-create-env once and prints the error if it fails +# +# $1: arguments to icecc-create-env +# $2: log file +# +AC_DEFUN([BPERF_RUN_ICECC_CREATE_ENV], +[ + cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ + && ${ICECC_CREATE_ENV} $1 > $2 2>&1 + if test "$?" != "0"; then + AC_MSG_NOTICE([icecc-create-env output:]) + cat $2 + AC_MSG_ERROR([Failed to create icecc compiler environment]) + fi +]) + +################################################################################ +# # Optionally enable distributed compilation of native code using icecc/icecream # AC_DEFUN([BPERF_SETUP_ICECC], @@ -271,16 +289,18 @@ # be sent to the other hosts in the icecream cluster. icecc_create_env_log="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/icecc_create_env.log" ${MKDIR} -p ${CONFIGURESUPPORT_OUTPUTDIR}/icecc - AC_MSG_CHECKING([for icecc build environment for target compiler]) + # Older versions of icecc does not have the --gcc parameter + if ${ICECC_CREATE_ENV} | $GREP -q -e --gcc; then + icecc_gcc_arg="--gcc" + fi if test "x${TOOLCHAIN_TYPE}" = "xgcc"; then - cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ - && ${ICECC_CREATE_ENV} --gcc ${CC} ${CXX} > ${icecc_create_env_log} + BPERF_RUN_ICECC_CREATE_ENV([${icecc_gcc_arg} ${CC} ${CXX}], \ + ${icecc_create_env_log}) elif test "x$TOOLCHAIN_TYPE" = "xclang"; then # For clang, the icecc compilerwrapper is needed. It usually resides next # to icecc-create-env. BASIC_REQUIRE_PROGS(ICECC_WRAPPER, compilerwrapper) - cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ - && ${ICECC_CREATE_ENV} --clang ${CC} ${ICECC_WRAPPER} > ${icecc_create_env_log} + BPERF_RUN_ICECC_CREATE_ENV([--clang ${CC} ${ICECC_WRAPPER}], ${icecc_create_env_log}) else AC_MSG_ERROR([Can only create icecc compiler packages for toolchain types gcc and clang]) fi @@ -289,24 +309,31 @@ # to find it. ICECC_ENV_BUNDLE_BASENAME="`${SED} -n '/^creating/s/creating //p' ${icecc_create_env_log}`" ICECC_ENV_BUNDLE="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/${ICECC_ENV_BUNDLE_BASENAME}" + if test ! -f ${ICECC_ENV_BUNDLE}; then + AC_MSG_ERROR([icecc-create-env did not produce an environment ${ICECC_ENV_BUNDLE}]) + fi + AC_MSG_CHECKING([for icecc build environment for target compiler]) AC_MSG_RESULT([${ICECC_ENV_BUNDLE}]) ICECC="ICECC_VERSION=${ICECC_ENV_BUNDLE} ICECC_CC=${CC} ICECC_CXX=${CXX} ${ICECC_CMD}" if test "x${COMPILE_TYPE}" = "xcross"; then # If cross compiling, create a separate env package for the build compiler - AC_MSG_CHECKING([for icecc build environment for build compiler]) # Assume "gcc" or "cc" is gcc and "clang" is clang. Otherwise bail. + icecc_create_env_log_build="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/icecc_create_env_build.log" if test "x${BUILD_CC##*/}" = "xgcc" || test "x${BUILD_CC##*/}" = "xcc"; then - cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ - && ${ICECC_CREATE_ENV} --gcc ${BUILD_CC} ${BUILD_CXX} > ${icecc_create_env_log} + BPERF_RUN_ICECC_CREATE_ENV([${icecc_gcc_arg} ${BUILD_CC} ${BUILD_CXX}], \ + ${icecc_create_env_log_build}) elif test "x${BUILD_CC##*/}" = "xclang"; then - cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ - && ${ICECC_CREATE_ENV} --clang ${BUILD_CC} ${ICECC_WRAPPER} > ${icecc_create_env_log} + BPERF_RUN_ICECC_CREATE_ENV([--clang ${BUILD_CC} ${ICECC_WRAPPER}], ${icecc_create_env_log_build}) else AC_MSG_ERROR([Cannot create icecc compiler package for ${BUILD_CC}]) fi - ICECC_ENV_BUNDLE_BASENAME="`${SED} -n '/^creating/s/creating //p' ${icecc_create_env_log}`" + ICECC_ENV_BUNDLE_BASENAME="`${SED} -n '/^creating/s/creating //p' ${icecc_create_env_log_build}`" ICECC_ENV_BUNDLE="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/${ICECC_ENV_BUNDLE_BASENAME}" + if test ! -f ${ICECC_ENV_BUNDLE}; then + AC_MSG_ERROR([icecc-create-env did not produce an environment ${ICECC_ENV_BUNDLE}]) + fi + AC_MSG_CHECKING([for icecc build environment for build compiler]) AC_MSG_RESULT([${ICECC_ENV_BUNDLE}]) BUILD_ICECC="ICECC_VERSION=${ICECC_ENV_BUNDLE} ICECC_CC=${BUILD_CC} \ ICECC_CXX=${BUILD_CXX} ${ICECC_CMD}" diff -r 21c2a1c93810 -r 9ff296647fde common/autoconf/flags.m4 --- a/common/autoconf/flags.m4 Tue Jan 12 18:02:07 2016 +0300 +++ b/common/autoconf/flags.m4 Tue Jan 12 13:13:16 2016 -0800 @@ -128,6 +128,26 @@ else COMPILER_TARGET_BITS_FLAG="-m" COMPILER_COMMAND_FILE_FLAG="@" + + # The solstudio linker does not support @-files. + if test "x$TOOLCHAIN_TYPE" = xsolstudio; then + COMPILER_COMMAND_FILE_FLAG= + fi + + # Check if @file is supported by gcc + if test "x$TOOLCHAIN_TYPE" = xgcc; then + AC_MSG_CHECKING([if @file is supported by gcc]) + # Extra emtpy "" to prevent ECHO from interpreting '--version' as argument + $ECHO "" "--version" > command.file + if $CXX @command.file 2>&AS_MESSAGE_LOG_FD >&AS_MESSAGE_LOG_FD; then + AC_MSG_RESULT(yes) + COMPILER_COMMAND_FILE_FLAG="@" + else + AC_MSG_RESULT(no) + COMPILER_COMMAND_FILE_FLAG= + fi + rm -rf command.file + fi fi AC_SUBST(COMPILER_TARGET_BITS_FLAG) AC_SUBST(COMPILER_COMMAND_FILE_FLAG) diff -r 21c2a1c93810 -r 9ff296647fde common/autoconf/generated-configure.sh --- a/common/autoconf/generated-configure.sh Tue Jan 12 18:02:07 2016 +0300 +++ b/common/autoconf/generated-configure.sh Tue Jan 12 13:13:16 2016 -0800 @@ -3794,6 +3794,15 @@ ################################################################################ # +# Runs icecc-create-env once and prints the error if it fails +# +# $1: arguments to icecc-create-env +# $2: log file +# + + +################################################################################ +# # Optionally enable distributed compilation of native code using icecc/icecream # @@ -4308,7 +4317,7 @@ # -# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2016, 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 @@ -4801,7 +4810,7 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: -DATE_WHEN_GENERATED=1450277321 +DATE_WHEN_GENERATED=1452261921 ############################################################################### # @@ -45930,6 +45939,29 @@ else COMPILER_TARGET_BITS_FLAG="-m" COMPILER_COMMAND_FILE_FLAG="@" + + # The solstudio linker does not support @-files. + if test "x$TOOLCHAIN_TYPE" = xsolstudio; then + COMPILER_COMMAND_FILE_FLAG= + fi + + # Check if @file is supported by gcc + if test "x$TOOLCHAIN_TYPE" = xgcc; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if @file is supported by gcc" >&5 +$as_echo_n "checking if @file is supported by gcc... " >&6; } + # Extra emtpy "" to prevent ECHO from interpreting '--version' as argument + $ECHO "" "--version" > command.file + if $CXX @command.file 2>&5 >&5; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + COMPILER_COMMAND_FILE_FLAG="@" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + COMPILER_COMMAND_FILE_FLAG= + fi + rm -rf command.file + fi fi @@ -51742,12 +51774,28 @@ fi if test "x${with_cups}" != x; then - CUPS_CFLAGS="-I${with_cups}/include" - CUPS_FOUND=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cups headers" >&5 +$as_echo_n "checking for cups headers... " >&6; } + if test -s "${with_cups}/include/cups/cups.h"; then + CUPS_CFLAGS="-I${with_cups}/include" + CUPS_FOUND=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CUPS_FOUND" >&5 +$as_echo "$CUPS_FOUND" >&6; } + else + as_fn_error $? "Can't find 'include/cups/cups.h' under ${with_cups} given with the --with-cups option." "$LINENO" 5 + fi fi if test "x${with_cups_include}" != x; then - CUPS_CFLAGS="-I${with_cups_include}" - CUPS_FOUND=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cups headers" >&5 +$as_echo_n "checking for cups headers... " >&6; } + if test -s "${with_cups_include}/cups/cups.h"; then + CUPS_CFLAGS="-I${with_cups_include}" + CUPS_FOUND=yes + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CUPS_FOUND" >&5 +$as_echo "$CUPS_FOUND" >&6; } + else + as_fn_error $? "Can't find 'cups/cups.h' under ${with_cups_include} given with the --with-cups-include option." "$LINENO" 5 + fi fi if test "x$CUPS_FOUND" = xno; then # Are the cups headers installed in the default /usr/include location? @@ -59543,11 +59591,23 @@ # be sent to the other hosts in the icecream cluster. icecc_create_env_log="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/icecc_create_env.log" ${MKDIR} -p ${CONFIGURESUPPORT_OUTPUTDIR}/icecc - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icecc build environment for target compiler" >&5 -$as_echo_n "checking for icecc build environment for target compiler... " >&6; } + # Older versions of icecc does not have the --gcc parameter + if ${ICECC_CREATE_ENV} | $GREP -q -e --gcc; then + icecc_gcc_arg="--gcc" + fi if test "x${TOOLCHAIN_TYPE}" = "xgcc"; then - cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ - && ${ICECC_CREATE_ENV} --gcc ${CC} ${CXX} > ${icecc_create_env_log} + + cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ + && ${ICECC_CREATE_ENV} ${icecc_gcc_arg} ${CC} ${CXX} > \ + ${icecc_create_env_log} 2>&1 + if test "$?" != "0"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5 +$as_echo "$as_me: icecc-create-env output:" >&6;} + cat \ + ${icecc_create_env_log} + as_fn_error $? "Failed to create icecc compiler environment" "$LINENO" 5 + fi + elif test "x$TOOLCHAIN_TYPE" = "xclang"; then # For clang, the icecc compilerwrapper is needed. It usually resides next # to icecc-create-env. @@ -59755,8 +59815,16 @@ fi - cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ - && ${ICECC_CREATE_ENV} --clang ${CC} ${ICECC_WRAPPER} > ${icecc_create_env_log} + + cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ + && ${ICECC_CREATE_ENV} --clang ${CC} ${ICECC_WRAPPER} > ${icecc_create_env_log} 2>&1 + if test "$?" != "0"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5 +$as_echo "$as_me: icecc-create-env output:" >&6;} + cat ${icecc_create_env_log} + as_fn_error $? "Failed to create icecc compiler environment" "$LINENO" 5 + fi + else as_fn_error $? "Can only create icecc compiler packages for toolchain types gcc and clang" "$LINENO" 5 fi @@ -59765,26 +59833,53 @@ # to find it. ICECC_ENV_BUNDLE_BASENAME="`${SED} -n '/^creating/s/creating //p' ${icecc_create_env_log}`" ICECC_ENV_BUNDLE="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/${ICECC_ENV_BUNDLE_BASENAME}" + if test ! -f ${ICECC_ENV_BUNDLE}; then + as_fn_error $? "icecc-create-env did not produce an environment ${ICECC_ENV_BUNDLE}" "$LINENO" 5 + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icecc build environment for target compiler" >&5 +$as_echo_n "checking for icecc build environment for target compiler... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ICECC_ENV_BUNDLE}" >&5 $as_echo "${ICECC_ENV_BUNDLE}" >&6; } ICECC="ICECC_VERSION=${ICECC_ENV_BUNDLE} ICECC_CC=${CC} ICECC_CXX=${CXX} ${ICECC_CMD}" if test "x${COMPILE_TYPE}" = "xcross"; then # If cross compiling, create a separate env package for the build compiler + # Assume "gcc" or "cc" is gcc and "clang" is clang. Otherwise bail. + icecc_create_env_log_build="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/icecc_create_env_build.log" + if test "x${BUILD_CC##*/}" = "xgcc" || test "x${BUILD_CC##*/}" = "xcc"; then + + cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ + && ${ICECC_CREATE_ENV} ${icecc_gcc_arg} ${BUILD_CC} ${BUILD_CXX} > \ + ${icecc_create_env_log_build} 2>&1 + if test "$?" != "0"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5 +$as_echo "$as_me: icecc-create-env output:" >&6;} + cat \ + ${icecc_create_env_log_build} + as_fn_error $? "Failed to create icecc compiler environment" "$LINENO" 5 + fi + + elif test "x${BUILD_CC##*/}" = "xclang"; then + + cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ + && ${ICECC_CREATE_ENV} --clang ${BUILD_CC} ${ICECC_WRAPPER} > ${icecc_create_env_log_build} 2>&1 + if test "$?" != "0"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: icecc-create-env output:" >&5 +$as_echo "$as_me: icecc-create-env output:" >&6;} + cat ${icecc_create_env_log_build} + as_fn_error $? "Failed to create icecc compiler environment" "$LINENO" 5 + fi + + else + as_fn_error $? "Cannot create icecc compiler package for ${BUILD_CC}" "$LINENO" 5 + fi + ICECC_ENV_BUNDLE_BASENAME="`${SED} -n '/^creating/s/creating //p' ${icecc_create_env_log_build}`" + ICECC_ENV_BUNDLE="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/${ICECC_ENV_BUNDLE_BASENAME}" + if test ! -f ${ICECC_ENV_BUNDLE}; then + as_fn_error $? "icecc-create-env did not produce an environment ${ICECC_ENV_BUNDLE}" "$LINENO" 5 + fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for icecc build environment for build compiler" >&5 $as_echo_n "checking for icecc build environment for build compiler... " >&6; } - # Assume "gcc" or "cc" is gcc and "clang" is clang. Otherwise bail. - if test "x${BUILD_CC##*/}" = "xgcc" || test "x${BUILD_CC##*/}" = "xcc"; then - cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ - && ${ICECC_CREATE_ENV} --gcc ${BUILD_CC} ${BUILD_CXX} > ${icecc_create_env_log} - elif test "x${BUILD_CC##*/}" = "xclang"; then - cd ${CONFIGURESUPPORT_OUTPUTDIR}/icecc \ - && ${ICECC_CREATE_ENV} --clang ${BUILD_CC} ${ICECC_WRAPPER} > ${icecc_create_env_log} - else - as_fn_error $? "Cannot create icecc compiler package for ${BUILD_CC}" "$LINENO" 5 - fi - ICECC_ENV_BUNDLE_BASENAME="`${SED} -n '/^creating/s/creating //p' ${icecc_create_env_log}`" - ICECC_ENV_BUNDLE="${CONFIGURESUPPORT_OUTPUTDIR}/icecc/${ICECC_ENV_BUNDLE_BASENAME}" { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ICECC_ENV_BUNDLE}" >&5 $as_echo "${ICECC_ENV_BUNDLE}" >&6; } BUILD_ICECC="ICECC_VERSION=${ICECC_ENV_BUNDLE} ICECC_CC=${BUILD_CC} \ diff -r 21c2a1c93810 -r 9ff296647fde common/autoconf/lib-cups.m4 --- a/common/autoconf/lib-cups.m4 Tue Jan 12 18:02:07 2016 +0300 +++ b/common/autoconf/lib-cups.m4 Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ # -# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2011, 2016, 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 @@ -48,12 +48,24 @@ fi if test "x${with_cups}" != x; then - CUPS_CFLAGS="-I${with_cups}/include" - CUPS_FOUND=yes + AC_MSG_CHECKING([for cups headers]) + if test -s "${with_cups}/include/cups/cups.h"; then + CUPS_CFLAGS="-I${with_cups}/include" + CUPS_FOUND=yes + AC_MSG_RESULT([$CUPS_FOUND]) + else + AC_MSG_ERROR([Can't find 'include/cups/cups.h' under ${with_cups} given with the --with-cups option.]) + fi fi if test "x${with_cups_include}" != x; then - CUPS_CFLAGS="-I${with_cups_include}" - CUPS_FOUND=yes + AC_MSG_CHECKING([for cups headers]) + if test -s "${with_cups_include}/cups/cups.h"; then + CUPS_CFLAGS="-I${with_cups_include}" + CUPS_FOUND=yes + AC_MSG_RESULT([$CUPS_FOUND]) + else + AC_MSG_ERROR([Can't find 'cups/cups.h' under ${with_cups_include} given with the --with-cups-include option.]) + fi fi if test "x$CUPS_FOUND" = xno; then # Are the cups headers installed in the default /usr/include location? diff -r 21c2a1c93810 -r 9ff296647fde corba/.hgtags --- a/corba/.hgtags Tue Jan 12 18:02:07 2016 +0300 +++ b/corba/.hgtags Tue Jan 12 13:13:16 2016 -0800 @@ -342,3 +342,4 @@ 10a482b863582376d4ca229090334b23b05159fc jdk-9+97 ea285530245cf4e0edf0479121a41347d3030eba jdk-9+98 180212ee1d8710691ba9944593dfc1ff3e4f1532 jdk-9+99 +791d0d3ac0138faeb6110bd840a4545bc1950df2 jdk-9+100 diff -r 21c2a1c93810 -r 9ff296647fde hotspot/.hgtags --- a/hotspot/.hgtags Tue Jan 12 18:02:07 2016 +0300 +++ b/hotspot/.hgtags Tue Jan 12 13:13:16 2016 -0800 @@ -502,3 +502,4 @@ de592ea5f7ba0f8a8c5afc03bd169f7690c72b6f jdk-9+97 e5b1a23be1e105417ba1c4c576ab373eb3fa2c2b jdk-9+98 f008e8cc10d5b3212fb22d58c96fa01d38654f19 jdk-9+99 +bdb0acafc63c42e84d9d8195bf2e2b25ee9c3306 jdk-9+100 diff -r 21c2a1c93810 -r 9ff296647fde hotspot/src/share/vm/prims/jvm.cpp --- a/hotspot/src/share/vm/prims/jvm.cpp Tue Jan 12 18:02:07 2016 +0300 +++ b/hotspot/src/share/vm/prims/jvm.cpp Tue Jan 12 13:13:16 2016 -0800 @@ -285,7 +285,7 @@ return os::javaTimeNanos(); JVM_END -// The function below is actually exposed by sun.misc.VM and not +// The function below is actually exposed by jdk.internal.misc.VM and not // java.lang.System, but we choose to keep it here so that it stays next // to JVM_CurrentTimeMillis and JVM_NanoTime diff -r 21c2a1c93810 -r 9ff296647fde jaxp/.hgtags --- a/jaxp/.hgtags Tue Jan 12 18:02:07 2016 +0300 +++ b/jaxp/.hgtags Tue Jan 12 13:13:16 2016 -0800 @@ -342,3 +342,4 @@ 9c107c050335d7ee63b2a8b38ca5d498f19713a2 jdk-9+97 52b01339235f24c93b679bd6b8fb36a1072ad0ac jdk-9+98 52774b544850c791f1d1c67db2601b33739b18c9 jdk-9+99 +d45bcd374f6057851e3c2dcd45607cd362afadfa jdk-9+100 diff -r 21c2a1c93810 -r 9ff296647fde jaxws/.hgtags --- a/jaxws/.hgtags Tue Jan 12 18:02:07 2016 +0300 +++ b/jaxws/.hgtags Tue Jan 12 13:13:16 2016 -0800 @@ -345,3 +345,4 @@ 7293db4716ee25b814e14f738b9acfb85700e3fa jdk-9+97 67c84077edc3db6b24998b35970b37c01aae985e jdk-9+98 97b31ca0dd77483cf20ff99a033a455673639578 jdk-9+99 +d0a97e57d2336238edf6a4cd60aafe67deb7258d jdk-9+100 diff -r 21c2a1c93810 -r 9ff296647fde jdk/.hgtags --- a/jdk/.hgtags Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/.hgtags Tue Jan 12 13:13:16 2016 -0800 @@ -342,3 +342,4 @@ fdd84b2265ddce7f50e084b7c8635189bba6f012 jdk-9+97 f86ee68d1107dad41a27efc34306e0e56244a12e jdk-9+98 e1a789be1535741274c9779f4d4ca3495196b5c3 jdk-9+99 +3d452840f48299a36842760d17c0c8402f0e1266 jdk-9+100 diff -r 21c2a1c93810 -r 9ff296647fde jdk/make/gendata/GendataBreakIterator.gmk --- a/jdk/make/gendata/GendataBreakIterator.gmk Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/make/gendata/GendataBreakIterator.gmk Tue Jan 12 13:13:16 2016 -0800 @@ -48,7 +48,6 @@ $(eval $(call SetupJavaCompilation,BUILD_BREAKITERATOR, \ SETUP := GENERATE_OLDBYTECODE, \ SRC := $(TEXT_SRCDIR), \ - INCLUDES := $(TEXT_PKG), \ INCLUDE_FILES := $(TEXT_SOURCES), \ BIN := $(BREAK_ITERATOR_CLASSES))) diff -r 21c2a1c93810 -r 9ff296647fde jdk/make/mapfiles/libjava/mapfile-vers --- a/jdk/make/mapfiles/libjava/mapfile-vers Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/make/mapfiles/libjava/mapfile-vers Tue Jan 12 13:13:16 2016 -0800 @@ -216,6 +216,7 @@ Java_java_lang_SecurityManager_getClassContext; Java_java_lang_Shutdown_halt0; Java_java_lang_String_intern; + Java_java_lang_StringCoding_err; Java_java_lang_StringUTF16_isBigEndian; Java_java_lang_System_identityHashCode; Java_java_lang_System_initProperties; @@ -243,8 +244,6 @@ Java_java_util_TimeZone_getSystemTimeZoneID; Java_java_util_TimeZone_getSystemGMTOffsetID; Java_java_util_concurrent_atomic_AtomicLong_VMSupportsCS8; - Java_sun_misc_MessageUtils_toStderr; - Java_sun_misc_MessageUtils_toStdout; Java_sun_misc_NativeSignalHandler_handle0; Java_sun_misc_Signal_findSignal; Java_sun_misc_Signal_handle0; @@ -274,12 +273,12 @@ Java_sun_reflect_Reflection_getClassAccessFlags; Java_sun_misc_Version_getJdkVersionInfo; Java_sun_misc_Version_getJvmVersionInfo; - Java_sun_misc_VM_latestUserDefinedLoader; - Java_sun_misc_VM_getuid; - Java_sun_misc_VM_geteuid; - Java_sun_misc_VM_getgid; - Java_sun_misc_VM_getegid; - Java_sun_misc_VM_initialize; + Java_jdk_internal_misc_VM_latestUserDefinedLoader; + Java_jdk_internal_misc_VM_getuid; + Java_jdk_internal_misc_VM_geteuid; + Java_jdk_internal_misc_VM_getgid; + Java_jdk_internal_misc_VM_getegid; + Java_jdk_internal_misc_VM_initialize; Java_sun_misc_VMSupport_initAgentProperties; Java_sun_misc_VMSupport_getVMTemporaryDirectory; diff -r 21c2a1c93810 -r 9ff296647fde jdk/make/src/classes/build/tools/dtdbuilder/DTDParser.java --- a/jdk/make/src/classes/build/tools/dtdbuilder/DTDParser.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/make/src/classes/build/tools/dtdbuilder/DTDParser.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,8 +35,6 @@ import java.util.BitSet; import java.text.MessageFormat; -import sun.misc.MessageUtils; - /** * A parser for DTDs. This parser roughly corresponds to the * rules specified in "The SGML Handbook" by Charles F. Goldfarb. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/io/ObjectInputStream.java --- a/jdk/src/java.base/share/classes/java/io/ObjectInputStream.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/io/ObjectInputStream.java Tue Jan 12 13:13:16 2016 -0800 @@ -2135,7 +2135,7 @@ * corresponding modifications to the above class. */ private static ClassLoader latestUserDefinedLoader() { - return sun.misc.VM.latestUserDefinedLoader(); + return jdk.internal.misc.VM.latestUserDefinedLoader(); } /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/lang/Class.java --- a/jdk/src/java.base/share/classes/java/lang/Class.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/lang/Class.java Tue Jan 12 13:13:16 2016 -0800 @@ -56,6 +56,7 @@ import java.util.Objects; import java.util.StringJoiner; import jdk.internal.misc.Unsafe; +import jdk.internal.misc.VM; import jdk.internal.HotSpotIntrinsicCandidate; import sun.reflect.CallerSensitive; import sun.reflect.ConstantPool; @@ -360,9 +361,9 @@ // Reflective call to get caller class is only needed if a security manager // is present. Avoid the overhead of making this call otherwise. caller = Reflection.getCallerClass(); - if (sun.misc.VM.isSystemDomainLoader(loader)) { + if (VM.isSystemDomainLoader(loader)) { ClassLoader ccl = ClassLoader.getClassLoader(caller); - if (!sun.misc.VM.isSystemDomainLoader(ccl)) { + if (!VM.isSystemDomainLoader(ccl)) { sm.checkPermission( SecurityConstants.GET_CLASSLOADER_PERMISSION); } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/lang/Integer.java --- a/jdk/src/java.base/share/classes/java/lang/Integer.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/lang/Integer.java Tue Jan 12 13:13:16 2016 -0800 @@ -28,6 +28,7 @@ import java.lang.annotation.Native; import java.util.Objects; import jdk.internal.HotSpotIntrinsicCandidate; +import jdk.internal.misc.VM; import static java.lang.String.COMPACT_STRINGS; import static java.lang.String.LATIN1; @@ -1018,7 +1019,7 @@ * may be controlled by the {@code -XX:AutoBoxCacheMax=} option. * During VM initialization, java.lang.Integer.IntegerCache.high property * may be set and saved in the private system properties in the - * sun.misc.VM class. + * jdk.internal.misc.VM class. */ private static class IntegerCache { @@ -1030,7 +1031,7 @@ // high value may be configured by property int h = 127; String integerCacheHighPropValue = - sun.misc.VM.getSavedProperty("java.lang.Integer.IntegerCache.high"); + VM.getSavedProperty("java.lang.Integer.IntegerCache.high"); if (integerCacheHighPropValue != null) { try { int i = parseInt(integerCacheHighPropValue); diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/lang/LiveStackFrame.java --- a/jdk/src/java.base/share/classes/java/lang/LiveStackFrame.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/lang/LiveStackFrame.java Tue Jan 12 13:13:16 2016 -0800 @@ -61,6 +61,9 @@ * local variable array is an {@link PrimitiveValue} object; * otherwise, the element is an {@code Object}. * + *

The returned array may contain null entries if a local variable is not + * live. + * * @return the local variable array of this stack frame. */ public Object[] getLocals(); diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/lang/StackStreamFactory.java --- a/jdk/src/java.base/share/classes/java/lang/StackStreamFactory.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/lang/StackStreamFactory.java Tue Jan 12 13:13:16 2016 -0800 @@ -24,7 +24,7 @@ */ package java.lang; -import sun.misc.VM; +import jdk.internal.misc.VM; import java.io.PrintStream; import java.lang.StackWalker.Option; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/lang/StringCoding.java --- a/jdk/src/java.base/share/classes/java/lang/StringCoding.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/lang/StringCoding.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ import java.nio.charset.UnsupportedCharsetException; import java.util.Arrays; import jdk.internal.HotSpotIntrinsicCandidate; -import sun.misc.MessageUtils; import sun.nio.cs.HistoricallyNamedCharset; import sun.nio.cs.ArrayDecoder; import sun.nio.cs.ArrayEncoder; @@ -106,11 +105,11 @@ private static void warnUnsupportedCharset(String csn) { if (warnUnsupportedCharset) { - // Use sun.misc.MessageUtils rather than the Logging API or - // System.err since this method may be called during VM - // initialization before either is available. - MessageUtils.err("WARNING: Default charset " + csn + - " not supported, using ISO-8859-1 instead"); + // Use err(String) rather than the Logging API or System.err + // since this method may be called during VM initialization + // before either is available. + err("WARNING: Default charset " + csn + + " not supported, using ISO-8859-1 instead\n"); warnUnsupportedCharset = false; } } @@ -341,10 +340,9 @@ try { return decode("ISO-8859-1", ba, off, len); } catch (UnsupportedEncodingException x) { - // If this code is hit during VM initialization, MessageUtils is + // If this code is hit during VM initialization, err(String) is // the only way we will be able to get any kind of error message. - MessageUtils.err("ISO-8859-1 charset not available: " - + x.toString()); + err("ISO-8859-1 charset not available: " + x.toString() + "\n"); // If we can not find ISO-8859-1 (a required encoding) then things // are seriously wrong with the installation. System.exit(1); @@ -653,14 +651,20 @@ try { return encode("ISO-8859-1", coder, val); } catch (UnsupportedEncodingException x) { - // If this code is hit during VM initialization, MessageUtils is + // If this code is hit during VM initialization, err(String) is // the only way we will be able to get any kind of error message. - MessageUtils.err("ISO-8859-1 charset not available: " - + x.toString()); + err("ISO-8859-1 charset not available: " + x.toString() + "\n"); // If we can not find ISO-8859-1 (a required encoding) then things // are seriously wrong with the installation. System.exit(1); return null; } } + + /** + * Print a message directly to stderr, bypassing all character conversion + * methods. + * @param msg message to print + */ + private static native void err(String msg); } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/lang/System.java --- a/jdk/src/java.base/share/classes/java/lang/System.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/lang/System.java Tue Jan 12 13:13:16 2016 -0800 @@ -46,6 +46,7 @@ import jdk.internal.HotSpotIntrinsicCandidate; import jdk.internal.misc.JavaLangAccess;; import jdk.internal.misc.SharedSecrets;; +import jdk.internal.misc.VM; import jdk.internal.logger.LoggerFinderLoader; import jdk.internal.logger.LazyLoggers; import jdk.internal.logger.LocalizedLoggerWrapper; @@ -1534,6 +1535,8 @@ * @return an instance of {@link Logger} that can be used by the calling * class. * @throws NullPointerException if {@code name} is {@code null}. + * + * @since 9 */ @CallerSensitive public static Logger getLogger(String name) { @@ -1571,6 +1574,8 @@ * resource bundle for message localization. * @throws NullPointerException if {@code name} is {@code null} or * {@code bundle} is {@code null}. + * + * @since 9 */ @CallerSensitive public static Logger getLogger(String name, ResourceBundle bundle) { @@ -1817,12 +1822,12 @@ // removed from the system properties. // // See java.lang.Integer.IntegerCache and the - // sun.misc.VM.saveAndRemoveProperties method for example. + // VM.saveAndRemoveProperties method for example. // // Save a private copy of the system properties object that // can only be accessed by the internal implementation. Remove // certain system properties that are not intended for public access. - sun.misc.VM.saveAndRemoveProperties(props); + VM.saveAndRemoveProperties(props); lineSeparator = props.getProperty("line.separator"); @@ -1846,7 +1851,7 @@ // set for the class libraries. Currently this is no-op everywhere except // for Windows where the process-wide error mode is set before the java.io // classes are used. - sun.misc.VM.initializeOSEnvironment(); + VM.initializeOSEnvironment(); // The main thread is not added to its thread group in the same // way as other threads; we must do it ourselves here. @@ -1857,10 +1862,10 @@ setJavaLangAccess(); // Subsystems that are invoked during initialization can invoke - // sun.misc.VM.isBooted() in order to avoid doing things that should + // VM.isBooted() in order to avoid doing things that should // wait until the application class loader has been set up. // IMPORTANT: Ensure that this remains the last initialization action! - sun.misc.VM.booted(); + VM.booted(); } private static void setJavaLangAccess() { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/lang/Thread.java --- a/jdk/src/java.base/share/classes/java/lang/Thread.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/lang/Thread.java Tue Jan 12 13:13:16 2016 -0800 @@ -1869,7 +1869,7 @@ */ public State getState() { // get current thread state - return sun.misc.VM.toThreadState(threadStatus); + return jdk.internal.misc.VM.toThreadState(threadStatus); } // Added in JSR-166 diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/lang/ThreadGroup.java --- a/jdk/src/java.base/share/classes/java/lang/ThreadGroup.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/lang/ThreadGroup.java Tue Jan 12 13:13:16 2016 -0800 @@ -27,7 +27,7 @@ import java.io.PrintStream; import java.util.Arrays; -import sun.misc.VM; +import jdk.internal.misc.VM; /** * A thread group represents a set of threads. In addition, a thread diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/lang/Throwable.java --- a/jdk/src/java.base/share/classes/java/lang/Throwable.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/lang/Throwable.java Tue Jan 12 13:13:16 2016 -0800 @@ -24,7 +24,7 @@ */ package java.lang; -import sun.misc.VM; +import jdk.internal.misc.VM; import java.io.*; import java.util.*; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java --- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java Tue Jan 12 13:13:16 2016 -0800 @@ -1836,7 +1836,7 @@ return false; } ClassLoader loader = defc.getClassLoader(); - if (!sun.misc.VM.isSystemDomainLoader(loader)) { + if (!jdk.internal.misc.VM.isSystemDomainLoader(loader)) { ClassLoader sysl = ClassLoader.getSystemClassLoader(); boolean found = false; while (sysl != null) { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/lang/ref/Cleaner.java --- a/jdk/src/java.base/share/classes/java/lang/ref/Cleaner.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/lang/ref/Cleaner.java Tue Jan 12 13:13:16 2016 -0800 @@ -28,7 +28,7 @@ import java.util.Objects; import java.util.concurrent.ThreadFactory; -import jdk.internal.misc.CleanerImpl; +import jdk.internal.ref.CleanerImpl; /** * {@code Cleaner} manages a set of object references and corresponding cleaning actions. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/lang/ref/Finalizer.java --- a/jdk/src/java.base/share/classes/java/lang/ref/Finalizer.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/lang/ref/Finalizer.java Tue Jan 12 13:13:16 2016 -0800 @@ -29,7 +29,7 @@ import java.security.AccessController; import jdk.internal.misc.JavaLangAccess; import jdk.internal.misc.SharedSecrets; -import sun.misc.VM; +import jdk.internal.misc.VM; final class Finalizer extends FinalReference { /* Package-private; must be in same package as the Reference diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/lang/ref/ReferenceQueue.java --- a/jdk/src/java.base/share/classes/java/lang/ref/ReferenceQueue.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/lang/ref/ReferenceQueue.java Tue Jan 12 13:13:16 2016 -0800 @@ -26,6 +26,7 @@ package java.lang.ref; import java.util.function.Consumer; +import jdk.internal.misc.VM; /** * Reference queues, to which registered reference objects are appended by the @@ -73,7 +74,7 @@ // Volatiles ensure ordering. r.queue = ENQUEUED; if (r instanceof FinalReference) { - sun.misc.VM.addFinalRefCount(1); + VM.addFinalRefCount(1); } lock.notifyAll(); return true; @@ -93,7 +94,7 @@ r.next = r; queueLength--; if (r instanceof FinalReference) { - sun.misc.VM.addFinalRefCount(-1); + VM.addFinalRefCount(-1); } return r; } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/lang/reflect/Proxy.java --- a/jdk/src/java.base/share/classes/java/lang/reflect/Proxy.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/lang/reflect/Proxy.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,7 @@ import java.util.Objects; import java.util.concurrent.atomic.AtomicLong; import java.util.function.BiFunction; -import sun.misc.VM; +import jdk.internal.misc.VM; import sun.reflect.CallerSensitive; import sun.reflect.Reflection; import sun.reflect.misc.ReflectUtil; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/net/URI.java --- a/jdk/src/java.base/share/classes/java/net/URI.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/net/URI.java Tue Jan 12 13:13:16 2016 -0800 @@ -1146,13 +1146,30 @@ if (part != null) { return part; } - StringBuilder sb = new StringBuilder(); - appendSchemeSpecificPart(sb, null, getAuthority(), getUserInfo(), + + String s = string; + if (s != null) { + // if string is defined, components will have been parsed + int start = 0; + int end = s.length(); + if (scheme != null) { + start = scheme.length() + 1; + } + if (fragment != null) { + end -= fragment.length() + 1; + } + if (path != null && path.length() == end - start) { + part = path; + } else { + part = s.substring(start, end); + } + } else { + StringBuilder sb = new StringBuilder(); + appendSchemeSpecificPart(sb, null, getAuthority(), getUserInfo(), host, port, getPath(), getQuery()); - if (sb.length() == 0) { - return null; + part = sb.toString(); } - return schemeSpecificPart = sb.toString(); + return schemeSpecificPart = part; } /** @@ -2059,7 +2076,7 @@ // 5.2 (2): Reference to current document (lone fragment) if ((child.scheme == null) && (child.authority == null) - && child.path.equals("") && (child.fragment != null) + && child.path.isEmpty() && (child.fragment != null) && (child.query == null)) { if ((base.fragment != null) && child.fragment.equals(base.fragment)) { @@ -2647,13 +2664,6 @@ private static final long L_SCHEME = L_ALPHA | L_DIGIT | lowMask("+-."); private static final long H_SCHEME = H_ALPHA | H_DIGIT | highMask("+-."); - // uric_no_slash = unreserved | escaped | ";" | "?" | ":" | "@" | - // "&" | "=" | "+" | "$" | "," - private static final long L_URIC_NO_SLASH - = L_UNRESERVED | L_ESCAPED | lowMask(";?:@&=+$,"); - private static final long H_URIC_NO_SLASH - = H_UNRESERVED | H_ESCAPED | highMask(";?:@&=+$,"); - // scope_id = alpha | digit | "_" | "." private static final long L_SCOPE_ID = L_ALPHANUM | lowMask("_."); @@ -2884,23 +2894,10 @@ // -- Simple access to the input string -- - // Return a substring of the input string - // - private String substring(int start, int end) { - return input.substring(start, end); - } - - // Return the char at position p, - // assuming that p < input.length() - // - private char charAt(int p) { - return input.charAt(p); - } - // Tells whether start < end and, if so, whether charAt(start) == c // private boolean at(int start, int end, char c) { - return (start < end) && (charAt(start) == c); + return (start < end) && (input.charAt(start) == c); } // Tells whether start + s.length() < end and, if so, @@ -2913,7 +2910,7 @@ return false; int i = 0; while (i < sn) { - if (charAt(p++) != s.charAt(i)) { + if (input.charAt(p++) != s.charAt(i)) { break; } i++; @@ -2953,7 +2950,7 @@ // start position. // private int scan(int start, int end, char c) { - if ((start < end) && (charAt(start) == c)) + if ((start < end) && (input.charAt(start) == c)) return start + 1; return start; } @@ -2968,7 +2965,7 @@ private int scan(int start, int end, String err, String stop) { int p = start; while (p < end) { - char c = charAt(p); + char c = input.charAt(p); if (err.indexOf(c) >= 0) return -1; if (stop.indexOf(c) >= 0) @@ -2978,6 +2975,23 @@ return p; } + // Scan forward from the given start position. Stop at the first char + // in the stop string (in which case the index of the preceding char is + // returned), or the end of the input string (in which case the length + // of the input string is returned). May return the start position if + // nothing matches. + // + private int scan(int start, int end, String stop) { + int p = start; + while (p < end) { + char c = input.charAt(p); + if (stop.indexOf(c) >= 0) + break; + p++; + } + return p; + } + // Scan a potential escape sequence, starting at the given position, // with the given first char (i.e., charAt(start) == c). // @@ -2992,8 +3006,8 @@ if (c == '%') { // Process escape pair if ((p + 3 <= n) - && match(charAt(p + 1), L_HEX, H_HEX) - && match(charAt(p + 2), L_HEX, H_HEX)) { + && match(input.charAt(p + 1), L_HEX, H_HEX) + && match(input.charAt(p + 2), L_HEX, H_HEX)) { return p + 3; } fail("Malformed escape pair", p); @@ -3013,7 +3027,7 @@ { int p = start; while (p < n) { - char c = charAt(p); + char c = input.charAt(p); if (match(c, lowMask, highMask)) { p++; continue; @@ -3059,7 +3073,6 @@ // void parse(boolean rsa) throws URISyntaxException { requireServerAuthority = rsa; - int ssp; // Start of scheme-specific part int n = input.length(); int p = scan(0, n, "/?#", ":"); if ((p >= 0) && at(p, n, ':')) { @@ -3067,26 +3080,25 @@ failExpecting("scheme name", 0); checkChar(0, L_ALPHA, H_ALPHA, "scheme name"); checkChars(1, p, L_SCHEME, H_SCHEME, "scheme name"); - scheme = substring(0, p); + scheme = input.substring(0, p); p++; // Skip ':' - ssp = p; if (at(p, n, '/')) { p = parseHierarchical(p, n); } else { - int q = scan(p, n, "", "#"); + // opaque; need to create the schemeSpecificPart + int q = scan(p, n, "#"); if (q <= p) failExpecting("scheme-specific part", p); checkChars(p, q, L_URIC, H_URIC, "opaque part"); + schemeSpecificPart = input.substring(p, q); p = q; } } else { - ssp = 0; p = parseHierarchical(0, n); } - schemeSpecificPart = substring(ssp, p); if (at(p, n, '#')) { checkChars(p + 1, n, L_URIC, H_URIC, "fragment"); - fragment = substring(p + 1, n); + fragment = input.substring(p + 1, n); p = n; } if (p < n) @@ -3113,7 +3125,7 @@ int p = start; if (at(p, n, '/') && at(p + 1, n, '/')) { p += 2; - int q = scan(p, n, "", "/?#"); + int q = scan(p, n, "/?#"); if (q > p) { p = parseAuthority(p, q); } else if (q < n) { @@ -3122,15 +3134,15 @@ } else failExpecting("authority", p); } - int q = scan(p, n, "", "?#"); // DEVIATION: May be empty + int q = scan(p, n, "?#"); // DEVIATION: May be empty checkChars(p, q, L_PATH, H_PATH, "path"); - path = substring(p, q); + path = input.substring(p, q); p = q; if (at(p, n, '?')) { p++; - q = scan(p, n, "", "#"); + q = scan(p, n, "#"); checkChars(p, q, L_URIC, H_URIC, "query"); - query = substring(p, q); + query = input.substring(p, q); p = q; } return p; @@ -3154,7 +3166,7 @@ boolean serverChars; boolean regChars; - if (scan(p, n, "", "]") > p) { + if (scan(p, n, "]") > p) { // contains a literal IPv6 address, therefore % is allowed serverChars = (scan(p, n, L_SERVER_PERCENT, H_SERVER_PERCENT) == n); } else { @@ -3164,7 +3176,7 @@ if (regChars && !serverChars) { // Must be a registry-based authority - authority = substring(p, n); + authority = input.substring(p, n); return n; } @@ -3176,7 +3188,7 @@ q = parseServer(p, n); if (q < n) failExpecting("end of authority", q); - authority = substring(p, n); + authority = input.substring(p, n); } catch (URISyntaxException x) { // Undo results of failed parse userInfo = null; @@ -3198,7 +3210,7 @@ if (q < n) { if (regChars) { // Registry-based authority - authority = substring(p, n); + authority = input.substring(p, n); } else if (ex != null) { // Re-throw exception; it was probably due to // a malformed IPv6 address @@ -3224,7 +3236,7 @@ q = scan(p, n, "/?#", "@"); if ((q >= p) && at(q, n, '@')) { checkChars(p, q, L_USERINFO, H_USERINFO, "user info"); - userInfo = substring(p, q); + userInfo = input.substring(p, q); p = q + 1; // Skip '@' } @@ -3235,7 +3247,7 @@ q = scan(p, n, "/?#", "]"); if ((q > p) && at(q, n, ']')) { // look for a "%" scope id - int r = scan (p, q, "", "%"); + int r = scan (p, q, "%"); if (r > p) { parseIPv6Reference(p, r); if (r+1 == q) { @@ -3246,7 +3258,7 @@ } else { parseIPv6Reference(p, q); } - host = substring(p-1, q+1); + host = input.substring(p-1, q+1); p = q + 1; } else { failExpecting("closing bracket for IPv6 address", q); @@ -3261,7 +3273,7 @@ // port if (at(p, n, ':')) { p++; - q = scan(p, n, "", "/"); + q = scan(p, n, "/"); if (q > p) { checkChars(p, q, L_DIGIT, H_DIGIT, "port number"); try { @@ -3361,13 +3373,13 @@ // IPv4 address is followed by something - check that // it's a ":" as this is the only valid character to // follow an address. - if (charAt(p) != ':') { + if (input.charAt(p) != ':') { p = -1; } } if (p > start) - host = substring(start, p); + host = input.substring(start, p); return p; } @@ -3393,7 +3405,7 @@ p = q; q = scan(p, n, L_ALPHANUM | L_DASH, H_ALPHANUM | H_DASH); if (q > p) { - if (charAt(q - 1) == '-') + if (input.charAt(q - 1) == '-') fail("Illegal character in hostname", q - 1); p = q; } @@ -3412,11 +3424,11 @@ // for a fully qualified hostname check that the rightmost // label starts with an alpha character. - if (l > start && !match(charAt(l), L_ALPHA, H_ALPHA)) { + if (l > start && !match(input.charAt(l), L_ALPHA, H_ALPHA)) { fail("Illegal character in hostname", l); } - host = substring(start, p); + host = input.substring(start, p); return p; } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/net/URL.java --- a/jdk/src/java.base/share/classes/java/net/URL.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/net/URL.java Tue Jan 12 13:13:16 2016 -0800 @@ -1242,7 +1242,7 @@ private static ThreadLocal gate = new ThreadLocal<>(); private static URLStreamHandler lookupViaProviders(final String protocol) { - if (!sun.misc.VM.isBooted()) + if (!jdk.internal.misc.VM.isBooted()) return null; if (gate.get() != null) diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/net/URLConnection.java --- a/jdk/src/java.base/share/classes/java/net/URLConnection.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/net/URLConnection.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1995, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1995, 2016, 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 @@ -1567,6 +1567,11 @@ } } + if ((c1 == 0x49 && c2 == 0x49 && c3 == 0x2a && c4 == 0x00) + || (c1 == 0x4d && c2 == 0x4d && c3 == 0x00 && c4 == 0x2a)) { + return "image/tiff"; + } + if (c1 == 0xD0 && c2 == 0xCF && c3 == 0x11 && c4 == 0xE0 && c5 == 0xA1 && c6 == 0xB1 && c7 == 0x1A && c8 == 0xE1) { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/nio/Bits.java --- a/jdk/src/java.base/share/classes/java/nio/Bits.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/nio/Bits.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,7 +31,7 @@ import jdk.internal.misc.JavaLangRefAccess; import jdk.internal.misc.SharedSecrets; import jdk.internal.misc.Unsafe; -import sun.misc.VM; +import jdk.internal.misc.VM; /** * Access to bits, native and otherwise. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template --- a/jdk/src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/nio/Direct-X-Buffer.java.template Tue Jan 12 13:13:16 2016 -0800 @@ -30,7 +30,7 @@ import java.io.FileDescriptor; import sun.misc.Cleaner; import jdk.internal.misc.Unsafe; -import sun.misc.VM; +import jdk.internal.misc.VM; import sun.nio.ch.DirectBuffer; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/nio/charset/Charset.java --- a/jdk/src/java.base/share/classes/java/nio/charset/Charset.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/nio/charset/Charset.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,6 +43,7 @@ import java.util.ServiceConfigurationError; import java.util.SortedMap; import java.util.TreeMap; +import jdk.internal.misc.VM; import sun.misc.ASCIICaseInsensitiveComparator; import sun.nio.cs.StandardCharsets; import sun.nio.cs.ThreadLocalCoders; @@ -281,7 +282,7 @@ static boolean atBugLevel(String bl) { // package-private String level = bugLevel; if (level == null) { - if (!sun.misc.VM.isBooted()) + if (!VM.isBooted()) return false; bugLevel = level = AccessController.doPrivileged( new GetPropertyAction("sun.nio.cs.bugLevel", "")); @@ -394,7 +395,7 @@ // that loader to be prematurely initialized with incomplete // information. // - if (!sun.misc.VM.isBooted()) + if (!VM.isBooted()) return null; if (gate.get() != null) @@ -445,7 +446,7 @@ } private static Charset lookupExtendedCharset(String charsetName) { - if (!sun.misc.VM.isBooted()) // see lookupViaProviders() + if (!VM.isBooted()) // see lookupViaProviders() return null; CharsetProvider[] ecps = ExtendedProviderHolder.extendedProviders; for (CharsetProvider cp : ecps) { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/time/Clock.java --- a/jdk/src/java.base/share/classes/java/time/Clock.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/time/Clock.java Tue Jan 12 13:13:16 2016 -0800 @@ -69,7 +69,7 @@ import java.io.Serializable; import java.util.Objects; import java.util.TimeZone; -import sun.misc.VM; +import jdk.internal.misc.VM; /** * A clock providing access to the current instant, date and time using a time-zone. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/time/Duration.java --- a/jdk/src/java.base/share/classes/java/time/Duration.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/time/Duration.java Tue Jan 12 13:13:16 2016 -0800 @@ -1194,6 +1194,7 @@ * This instance is immutable and unaffected by this method call. * * @return the whole seconds part of the length of the duration, positive or negative + * @since 9 */ public long toSeconds() { return seconds; @@ -1243,6 +1244,7 @@ * This instance is immutable and unaffected by this method call. * * @return the number of days in the duration, may be negative + * @since 9 */ public long toDaysPart(){ return seconds / SECONDS_PER_DAY; @@ -1258,6 +1260,7 @@ * This instance is immutable and unaffected by this method call. * * @return the number of hours part in the duration, may be negative + * @since 9 */ public int toHoursPart(){ return (int) (toHours() % 24); @@ -1273,7 +1276,7 @@ * This instance is immutable and unaffected by this method call. * * @return the number of minutes parts in the duration, may be negative - * may be negative + * @since 9 */ public int toMinutesPart(){ return (int) (toMinutes() % MINUTES_PER_HOUR); @@ -1289,6 +1292,7 @@ * This instance is immutable and unaffected by this method call. * * @return the number of seconds parts in the duration, may be negative + * @since 9 */ public int toSecondsPart(){ return (int) (seconds % SECONDS_PER_MINUTE); @@ -1306,6 +1310,7 @@ * This instance is immutable and unaffected by this method call. * * @return the number of milliseconds part of the duration. + * @since 9 */ public int toMillisPart(){ return nanos / 1000_000; @@ -1322,6 +1327,7 @@ * This instance is immutable and unaffected by this method call. * * @return the nanoseconds within the second part of the length of the duration, from 0 to 999,999,999 + * @since 9 */ public int toNanosPart(){ return nanos; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/java/time/LocalDate.java --- a/jdk/src/java.base/share/classes/java/time/LocalDate.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/java/time/LocalDate.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2016, 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 @@ -1369,6 +1369,23 @@ if (daysToAdd == 0) { return this; } + long dom = day + daysToAdd; + if (dom > 0) { + if (dom <= 28) { + return new LocalDate(year, month, (int) dom); + } else if (dom <= 59) { // 59th Jan is 28th Feb, 59th Feb is 31st Mar + long monthLen = lengthOfMonth(); + if (dom <= monthLen) { + return new LocalDate(year, month, (int) dom); + } else if (month < 12) { + return new LocalDate(year, month + 1, (int) (dom - monthLen)); + } else { + YEAR.checkValidValue(year + 1); + return new LocalDate(year + 1, 1, (int) (dom - monthLen)); + } + } + } + long mjDay = Math.addExact(toEpochDay(), daysToAdd); return LocalDate.ofEpochDay(mjDay); } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/Exported.java --- a/jdk/src/java.base/share/classes/jdk/Exported.java Tue Jan 12 18:02:07 2016 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -/* - * Copyright (c) 2013, 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. 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. - */ - -package jdk; - -import java.lang.annotation.*; - -/** - * Indicates whether or not a JDK specific type or package is an - * exported part of the JDK suitable for use outside of the JDK - * implementation itself. - * - * This annotation should only be applied to types and packages - * outside of the Java SE namespaces of {@code java.*} and - * {@code javax.*} packages. For example, certain portions of {@code - * com.sun.*} are official parts of the JDK meant to be generally - * usable while other portions of {@code com.sun.*} are not. This - * annotation type allows those portions to be easily and - * programmatically distinguished. - * - *

If in one release a type or package is - * @Exported(true), in a subsequent major release such a - * type or package can transition to @Exported(false). - * - *

If a type or package is @Exported(false) in a - * release, it may be removed in a subsequent major release. - * - *

If a top-level type has an @Exported annotation, - * any nested member types with the top-level type should have an - * @Exported annotation with the same value. - * - * (In exceptional cases, if a nested type is going to be removed - * before its enclosing type, the nested type's could be - * @Exported(false) while its enclosing type was - * @Exported(true).) - * - * Likewise, if a package has an @Exported annotation, - * top-level types within that package should also have an - * @Exported annotation. - * - * Sometimes a top-level type may have a different - * @Exported value than its package. - * - * @since 1.8 - */ -@Documented -@Retention(RetentionPolicy.RUNTIME) -@Target({ElementType.TYPE, ElementType.PACKAGE}) -@Exported -public @interface Exported { - /** - * Whether or not the annotated type or package is an exported - * part of the JDK. - * @return whether or not the annotated type or package is an exported - * part of the JDK - */ - boolean value() default true; -} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/internal/logger/BootstrapLogger.java --- a/jdk/src/java.base/share/classes/jdk/internal/logger/BootstrapLogger.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/jdk/internal/logger/BootstrapLogger.java Tue Jan 12 13:13:16 2016 -0800 @@ -48,7 +48,7 @@ import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import sun.misc.InnocuousThread; -import sun.misc.VM; +import jdk.internal.misc.VM; import sun.util.logging.PlatformLogger; import jdk.internal.logger.LazyLoggers.LazyLoggerAccessor; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/internal/logger/LazyLoggers.java --- a/jdk/src/java.base/share/classes/jdk/internal/logger/LazyLoggers.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/jdk/internal/logger/LazyLoggers.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,7 @@ import java.lang.System.Logger; import java.lang.ref.WeakReference; import java.util.Objects; -import sun.misc.VM; +import jdk.internal.misc.VM; import sun.util.logging.PlatformLogger; /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/internal/misc/CleanerImpl.java --- a/jdk/src/java.base/share/classes/jdk/internal/misc/CleanerImpl.java Tue Jan 12 18:02:07 2016 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,788 +0,0 @@ -/* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * 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. - */ - -package jdk.internal.misc; - -import java.lang.ref.Cleaner; -import java.lang.ref.Cleaner.Cleanable; -import java.lang.ref.PhantomReference; -import java.lang.ref.Reference; -import java.lang.ref.ReferenceQueue; -import java.lang.ref.SoftReference; -import java.lang.ref.WeakReference; -import java.security.AccessController; -import java.security.PrivilegedAction; -import java.util.Objects; -import java.util.concurrent.ThreadFactory; -import java.util.function.Function; - -import sun.misc.InnocuousThread; - -/** - * CleanerImpl manages a set of object references and corresponding cleaning actions. - * CleanerImpl provides the functionality of {@link java.lang.ref.Cleaner}. - */ -public final class CleanerImpl implements Runnable { - - /** - * An object to access the CleanerImpl from a Cleaner; set by Cleaner init. - */ - private static Function cleanerImplAccess = null; - - /** - * Heads of a CleanableList for each reference type. - */ - final PhantomCleanable phantomCleanableList; - - final WeakCleanable weakCleanableList; - - final SoftCleanable softCleanableList; - - // The ReferenceQueue of pending cleaning actions - final ReferenceQueue queue; - - /** - * Called by Cleaner static initialization to provide the function - * to map from Cleaner to CleanerImpl. - * @param access a function to map from Cleaner to CleanerImpl - */ - public static void setCleanerImplAccess(Function access) { - if (cleanerImplAccess == null) { - cleanerImplAccess = access; - } - } - - /** - * Called to get the CleanerImpl for a Cleaner. - * @param cleaner the cleaner - * @return the corresponding CleanerImpl - */ - private static CleanerImpl getCleanerImpl(Cleaner cleaner) { - return cleanerImplAccess.apply(cleaner); - } - - /** - * Constructor for CleanerImpl. - */ - public CleanerImpl() { - queue = new ReferenceQueue<>(); - phantomCleanableList = new PhantomCleanableRef(this); - weakCleanableList = new WeakCleanableRef(this); - softCleanableList = new SoftCleanableRef(this); - } - - /** - * Starts the Cleaner implementation. - * When started waits for Cleanables to be queued. - * @param service the cleaner - * @param threadFactory the thread factory - */ - public void start(Cleaner service, ThreadFactory threadFactory) { - // schedule a nop cleaning action for the service, so the associated thread - // will continue to run at least until the service is reclaimable. - new PhantomCleanableRef(service, service, () -> {}); - - if (threadFactory == null) { - threadFactory = CleanerImpl.InnocuousThreadFactory.factory(); - } - - // now that there's at least one cleaning action, for the service, - // we can start the associated thread, which runs until - // all cleaning actions have been run. - Thread thread = threadFactory.newThread(this); - thread.setDaemon(true); - thread.start(); - } - - /** - * Process queued Cleanables as long as the cleanable lists are not empty. - * A Cleanable is in one of the lists for each Object and for the Cleaner - * itself. - * Terminates when the Cleaner is no longer reachable and - * has been cleaned and there are no more Cleanable instances - * for which the object is reachable. - *

- * If the thread is a ManagedLocalsThread, the threadlocals - * are erased before each cleanup - */ - public void run() { - Thread t = Thread.currentThread(); - InnocuousThread mlThread = (t instanceof InnocuousThread) - ? (InnocuousThread) t - : null; - while (!phantomCleanableList.isListEmpty() || - !weakCleanableList.isListEmpty() || - !softCleanableList.isListEmpty()) { - if (mlThread != null) { - // Clear the thread locals - mlThread.eraseThreadLocals(); - } - try { - // Wait for a Ref, with a timeout to avoid getting hung - // due to a race with clear/clean - Cleanable ref = (Cleanable) queue.remove(60 * 1000L); - if (ref != null) { - ref.clean(); - } - } catch (InterruptedException i) { - continue; // ignore the interruption - } catch (Throwable e) { - // ignore exceptions from the cleanup action - } - } - } - - /** - * PhantomCleanable subclasses efficiently encapsulate cleanup state and - * the cleaning action. - * Subclasses implement the abstract {@link #performCleanup()} method - * to provide the cleaning action. - * When constructed, the object reference and the {@link Cleanable Cleanable} - * are registered with the {@link Cleaner}. - * The Cleaner invokes {@link Cleaner.Cleanable#clean() clean} after the - * referent becomes phantom reachable. - */ - public static abstract class PhantomCleanable extends PhantomReference - implements Cleaner.Cleanable { - - /** - * Links to previous and next in a doubly-linked list. - */ - PhantomCleanable prev = this, next = this; - - /** - * The CleanerImpl for this Cleanable. - */ - private final CleanerImpl cleanerImpl; - - /** - * Constructs new {@code PhantomCleanable} with - * {@code non-null referent} and {@code non-null cleaner}. - * The {@code cleaner} is not retained; it is only used to - * register the newly constructed {@link Cleaner.Cleanable Cleanable}. - * - * @param referent the referent to track - * @param cleaner the {@code Cleaner} to register with - */ - public PhantomCleanable(T referent, Cleaner cleaner) { - super(Objects.requireNonNull(referent), getCleanerImpl(cleaner).queue); - this.cleanerImpl = getCleanerImpl(cleaner); - insert(); - - // TODO: Replace getClass() with ReachabilityFence when it is available - cleaner.getClass(); - referent.getClass(); - } - - /** - * Construct a new root of the list; not inserted. - */ - PhantomCleanable(CleanerImpl cleanerImpl) { - super(null, null); - this.cleanerImpl = cleanerImpl; - } - - /** - * Insert this PhantomCleanable after the list head. - */ - private void insert() { - final PhantomCleanable list = cleanerImpl.phantomCleanableList; - synchronized (list) { - prev = list; - next = list.next; - next.prev = this; - list.next = this; - } - } - - /** - * Remove this PhantomCleanable from the list. - * - * @return true if Cleanable was removed or false if not because - * it had already been removed before - */ - private boolean remove() { - PhantomCleanable list = cleanerImpl.phantomCleanableList; - synchronized (list) { - if (next != this) { - next.prev = prev; - prev.next = next; - prev = this; - next = this; - return true; - } - return false; - } - } - - /** - * Returns true if the list's next reference refers to itself. - * - * @return true if the list is empty - */ - boolean isListEmpty() { - PhantomCleanable list = cleanerImpl.phantomCleanableList; - synchronized (list) { - return list == list.next; - } - } - - /** - * Unregister this PhantomCleanable and invoke {@link #performCleanup()}, - * ensuring at-most-once semantics. - */ - @Override - public final void clean() { - if (remove()) { - super.clear(); - performCleanup(); - } - } - - /** - * Unregister this PhantomCleanable and clear the reference. - * Due to inherent concurrency, {@link #performCleanup()} may still be invoked. - */ - @Override - public void clear() { - if (remove()) { - super.clear(); - } - } - - /** - * The {@code performCleanup} abstract method is overridden - * to implement the cleaning logic. - * The {@code performCleanup} method should not be called except - * by the {@link #clean} method which ensures at most once semantics. - */ - protected abstract void performCleanup(); - - /** - * This method always throws {@link UnsupportedOperationException}. - * Enqueuing details of {@link Cleaner.Cleanable} - * are a private implementation detail. - * - * @throws UnsupportedOperationException always - */ - @Override - public final boolean isEnqueued() { - throw new UnsupportedOperationException("isEnqueued"); - } - - /** - * This method always throws {@link UnsupportedOperationException}. - * Enqueuing details of {@link Cleaner.Cleanable} - * are a private implementation detail. - * - * @throws UnsupportedOperationException always - */ - @Override - public final boolean enqueue() { - throw new UnsupportedOperationException("enqueue"); - } - } - - /** - * WeakCleanable subclasses efficiently encapsulate cleanup state and - * the cleaning action. - * Subclasses implement the abstract {@link #performCleanup()} method - * to provide the cleaning action. - * When constructed, the object reference and the {@link Cleanable Cleanable} - * are registered with the {@link Cleaner}. - * The Cleaner invokes {@link Cleaner.Cleanable#clean() clean} after the - * referent becomes weakly reachable. - */ - public static abstract class WeakCleanable extends WeakReference - implements Cleaner.Cleanable { - - /** - * Links to previous and next in a doubly-linked list. - */ - WeakCleanable prev = this, next = this; - - /** - * The CleanerImpl for this Cleanable. - */ - private final CleanerImpl cleanerImpl; - - /** - * Constructs new {@code WeakCleanableReference} with - * {@code non-null referent} and {@code non-null cleaner}. - * The {@code cleaner} is not retained by this reference; it is only used - * to register the newly constructed {@link Cleaner.Cleanable Cleanable}. - * - * @param referent the referent to track - * @param cleaner the {@code Cleaner} to register new reference with - */ - public WeakCleanable(T referent, Cleaner cleaner) { - super(Objects.requireNonNull(referent), getCleanerImpl(cleaner).queue); - cleanerImpl = getCleanerImpl(cleaner); - insert(); - - // TODO: Replace getClass() with ReachabilityFence when it is available - cleaner.getClass(); - referent.getClass(); - } - - /** - * Construct a new root of the list; not inserted. - */ - WeakCleanable(CleanerImpl cleanerImpl) { - super(null, null); - this.cleanerImpl = cleanerImpl; - } - - /** - * Insert this WeakCleanableReference after the list head. - */ - private void insert() { - final WeakCleanable list = cleanerImpl.weakCleanableList; - synchronized (list) { - prev = list; - next = list.next; - next.prev = this; - list.next = this; - } - } - - /** - * Remove this WeakCleanableReference from the list. - * - * @return true if Cleanable was removed or false if not because - * it had already been removed before - */ - private boolean remove() { - WeakCleanable list = cleanerImpl.weakCleanableList; - synchronized (list) { - if (next != this) { - next.prev = prev; - prev.next = next; - prev = this; - next = this; - return true; - } - return false; - } - } - - /** - * Returns true if the list's next reference refers to itself. - * - * @return true if the list is empty - */ - boolean isListEmpty() { - WeakCleanable list = cleanerImpl.weakCleanableList; - synchronized (list) { - return list == list.next; - } - } - - /** - * Unregister this WeakCleanable reference and invoke {@link #performCleanup()}, - * ensuring at-most-once semantics. - */ - @Override - public final void clean() { - if (remove()) { - super.clear(); - performCleanup(); - } - } - - /** - * Unregister this WeakCleanable and clear the reference. - * Due to inherent concurrency, {@link #performCleanup()} may still be invoked. - */ - @Override - public void clear() { - if (remove()) { - super.clear(); - } - } - - /** - * The {@code performCleanup} abstract method is overridden - * to implement the cleaning logic. - * The {@code performCleanup} method should not be called except - * by the {@link #clean} method which ensures at most once semantics. - */ - protected abstract void performCleanup(); - - /** - * This method always throws {@link UnsupportedOperationException}. - * Enqueuing details of {@link java.lang.ref.Cleaner.Cleanable} - * are a private implementation detail. - * - * @throws UnsupportedOperationException always - */ - @Override - public final boolean isEnqueued() { - throw new UnsupportedOperationException("isEnqueued"); - } - - /** - * This method always throws {@link UnsupportedOperationException}. - * Enqueuing details of {@link java.lang.ref.Cleaner.Cleanable} - * are a private implementation detail. - * - * @throws UnsupportedOperationException always - */ - @Override - public final boolean enqueue() { - throw new UnsupportedOperationException("enqueue"); - } - } - - /** - * SoftCleanable subclasses efficiently encapsulate cleanup state and - * the cleaning action. - * Subclasses implement the abstract {@link #performCleanup()} method - * to provide the cleaning action. - * When constructed, the object reference and the {@link Cleanable Cleanable} - * are registered with the {@link Cleaner}. - * The Cleaner invokes {@link Cleaner.Cleanable#clean() clean} after the - * referent becomes softly reachable. - */ - public static abstract class SoftCleanable extends SoftReference - implements Cleaner.Cleanable { - - /** - * Links to previous and next in a doubly-linked list. - */ - SoftCleanable prev = this, next = this; - - /** - * The CleanerImpl for this Cleanable. - */ - private final CleanerImpl cleanerImpl; - - /** - * Constructs new {@code SoftCleanableReference} with - * {@code non-null referent} and {@code non-null cleaner}. - * The {@code cleaner} is not retained by this reference; it is only used - * to register the newly constructed {@link Cleaner.Cleanable Cleanable}. - * - * @param referent the referent to track - * @param cleaner the {@code Cleaner} to register with - */ - public SoftCleanable(T referent, Cleaner cleaner) { - super(Objects.requireNonNull(referent), getCleanerImpl(cleaner).queue); - cleanerImpl = getCleanerImpl(cleaner); - insert(); - - // TODO: Replace getClass() with ReachabilityFence when it is available - cleaner.getClass(); - referent.getClass(); - } - - /** - * Construct a new root of the list; not inserted. - */ - SoftCleanable(CleanerImpl cleanerImpl) { - super(null, null); - this.cleanerImpl = cleanerImpl; - } - - /** - * Insert this SoftCleanableReference after the list head. - */ - private void insert() { - final SoftCleanable list = cleanerImpl.softCleanableList; - synchronized (list) { - prev = list; - next = list.next; - next.prev = this; - list.next = this; - } - } - - /** - * Remove this SoftCleanableReference from the list. - * - * @return true if Cleanable was removed or false if not because - * it had already been removed before - */ - private boolean remove() { - SoftCleanable list = cleanerImpl.softCleanableList; - synchronized (list) { - if (next != this) { - next.prev = prev; - prev.next = next; - prev = this; - next = this; - return true; - } - return false; - } - } - - /** - * Returns true if the list's next reference refers to itself. - * - * @return true if the list is empty - */ - boolean isListEmpty() { - SoftCleanable list = cleanerImpl.softCleanableList; - synchronized (list) { - return list == list.next; - } - } - - /** - * Unregister this SoftCleanable reference and invoke {@link #performCleanup()}, - * ensuring at-most-once semantics. - */ - @Override - public final void clean() { - if (remove()) { - super.clear(); - performCleanup(); - } - } - - /** - * Unregister this SoftCleanable and clear the reference. - * Due to inherent concurrency, {@link #performCleanup()} may still be invoked. - */ - @Override - public void clear() { - if (remove()) { - super.clear(); - } - } - - /** - * The {@code performCleanup} abstract method is overridden - * to implement the cleaning logic. - * The {@code performCleanup} method should not be called except - * by the {@link #clean} method which ensures at most once semantics. - */ - protected abstract void performCleanup(); - - /** - * This method always throws {@link UnsupportedOperationException}. - * Enqueuing details of {@link Cleaner.Cleanable} - * are a private implementation detail. - * - * @throws UnsupportedOperationException always - */ - @Override - public final boolean isEnqueued() { - throw new UnsupportedOperationException("isEnqueued"); - } - - /** - * This method always throws {@link UnsupportedOperationException}. - * Enqueuing details of {@link Cleaner.Cleanable} - * are a private implementation detail. - * - * @throws UnsupportedOperationException always - */ - @Override - public final boolean enqueue() { - throw new UnsupportedOperationException("enqueue"); - } - } - - /** - * Perform cleaning on an unreachable PhantomReference. - */ - public static final class PhantomCleanableRef extends PhantomCleanable { - private final Runnable action; - - /** - * Constructor for a phantom cleanable reference. - * @param obj the object to monitor - * @param cleaner the cleaner - * @param action the action Runnable - */ - public PhantomCleanableRef(Object obj, Cleaner cleaner, Runnable action) { - super(obj, cleaner); - this.action = action; - } - - /** - * Constructor used only for root of phantom cleanable list. - * @param cleanerImpl the cleanerImpl - */ - PhantomCleanableRef(CleanerImpl cleanerImpl) { - super(cleanerImpl); - this.action = null; - } - - @Override - protected void performCleanup() { - action.run(); - } - - /** - * Prevent access to referent even when it is still alive. - * - * @throws UnsupportedOperationException always - */ - @Override - public Object get() { - throw new UnsupportedOperationException("get"); - } - - /** - * Direct clearing of the referent is not supported. - * - * @throws UnsupportedOperationException always - */ - @Override - public void clear() { - throw new UnsupportedOperationException("clear"); - } - } - - /** - * Perform cleaning on an unreachable WeakReference. - */ - public static final class WeakCleanableRef extends WeakCleanable { - private final Runnable action; - - /** - * Constructor for a weak cleanable reference. - * @param obj the object to monitor - * @param cleaner the cleaner - * @param action the action Runnable - */ - WeakCleanableRef(Object obj, Cleaner cleaner, Runnable action) { - super(obj, cleaner); - this.action = action; - } - - /** - * Constructor used only for root of weak cleanable list. - * @param cleanerImpl the cleanerImpl - */ - WeakCleanableRef(CleanerImpl cleanerImpl) { - super(cleanerImpl); - this.action = null; - } - - @Override - protected void performCleanup() { - action.run(); - } - - /** - * Prevent access to referent even when it is still alive. - * - * @throws UnsupportedOperationException always - */ - @Override - public Object get() { - throw new UnsupportedOperationException("get"); - } - - /** - * Direct clearing of the referent is not supported. - * - * @throws UnsupportedOperationException always - */ - @Override - public void clear() { - throw new UnsupportedOperationException("clear"); - } - } - - /** - * Perform cleaning on an unreachable SoftReference. - */ - public static final class SoftCleanableRef extends SoftCleanable { - private final Runnable action; - - /** - * Constructor for a soft cleanable reference. - * @param obj the object to monitor - * @param cleaner the cleaner - * @param action the action Runnable - */ - SoftCleanableRef(Object obj, Cleaner cleaner, Runnable action) { - super(obj, cleaner); - this.action = action; - } - - /** - * Constructor used only for root of soft cleanable list. - * @param cleanerImpl the cleanerImpl - */ - SoftCleanableRef(CleanerImpl cleanerImpl) { - super(cleanerImpl); - this.action = null; - } - - @Override - protected void performCleanup() { - action.run(); - } - - /** - * Prevent access to referent even when it is still alive. - * - * @throws UnsupportedOperationException always - */ - @Override - public Object get() { - throw new UnsupportedOperationException("get"); - } - - /** - * Direct clearing of the referent is not supported. - * - * @throws UnsupportedOperationException always - */ - @Override - public void clear() { - throw new UnsupportedOperationException("clear"); - } - - } - - /** - * A ThreadFactory for InnocuousThreads. - * The factory is a singleton. - */ - static final class InnocuousThreadFactory implements ThreadFactory { - final static ThreadFactory factory = new InnocuousThreadFactory(); - - static ThreadFactory factory() { - return factory; - } - - public Thread newThread(Runnable r) { - return AccessController.doPrivileged((PrivilegedAction) () -> { - Thread t = new InnocuousThread(r); - t.setPriority(Thread.MAX_PRIORITY - 2); - t.setName("Cleaner-" + t.getId()); - return t; - }); - } - } - -} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/internal/misc/Unsafe.java --- a/jdk/src/java.base/share/classes/jdk/internal/misc/Unsafe.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/jdk/internal/misc/Unsafe.java Tue Jan 12 13:13:16 2016 -0800 @@ -30,7 +30,7 @@ import sun.reflect.CallerSensitive; import sun.reflect.Reflection; -import sun.misc.VM; +import jdk.internal.misc.VM; import jdk.internal.HotSpotIntrinsicCandidate; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/internal/misc/VM.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/java.base/share/classes/jdk/internal/misc/VM.java Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,433 @@ +/* + * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * 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. + */ + +package jdk.internal.misc; + +import static java.lang.Thread.State.*; +import java.util.Properties; + +public class VM { + + /* The following methods used to be native methods that instruct + * the VM to selectively suspend certain threads in low-memory + * situations. They are inherently dangerous and not implementable + * on native threads. We removed them in JDK 1.2. The skeletons + * remain so that existing applications that use these methods + * will still work. + */ + private static boolean suspended = false; + + /** @deprecated */ + @Deprecated + public static boolean threadsSuspended() { + return suspended; + } + + @SuppressWarnings("deprecation") + public static boolean allowThreadSuspension(ThreadGroup g, boolean b) { + return g.allowThreadSuspension(b); + } + + /** @deprecated */ + @Deprecated + public static boolean suspendThreads() { + suspended = true; + return true; + } + + // Causes any suspended threadgroups to be resumed. + /** @deprecated */ + @Deprecated + public static void unsuspendThreads() { + suspended = false; + } + + // Causes threadgroups no longer marked suspendable to be resumed. + /** @deprecated */ + @Deprecated + public static void unsuspendSomeThreads() { + } + + /* Deprecated fields and methods -- Memory advice not supported in 1.2 */ + + /** @deprecated */ + @Deprecated + public static final int STATE_GREEN = 1; + + /** @deprecated */ + @Deprecated + public static final int STATE_YELLOW = 2; + + /** @deprecated */ + @Deprecated + public static final int STATE_RED = 3; + + /** @deprecated */ + @Deprecated + public static final int getState() { + return STATE_GREEN; + } + + /** @deprecated */ + @Deprecated + public static void registerVMNotification(VMNotification n) { } + + /** @deprecated */ + @Deprecated + public static void asChange(int as_old, int as_new) { } + + /** @deprecated */ + @Deprecated + public static void asChange_otherthread(int as_old, int as_new) { } + + /* + * Not supported in 1.2 because these will have to be exported as + * JVM functions, and we are not sure we want do that. Leaving + * here so it can be easily resurrected -- just remove the // + * comments. + */ + + /** + * Resume Java profiling. All profiling data is added to any + * earlier profiling, unless resetJavaProfiler is + * called in between. If profiling was not started from the + * command line, resumeJavaProfiler will start it. + *

+ * + * NOTE: Profiling must be enabled from the command line for a + * java.prof report to be automatically generated on exit; if not, + * writeJavaProfilerReport must be invoked to write a report. + * + * @see resetJavaProfiler + * @see writeJavaProfilerReport + */ + + // public native static void resumeJavaProfiler(); + + /** + * Suspend Java profiling. + */ + // public native static void suspendJavaProfiler(); + + /** + * Initialize Java profiling. Any accumulated profiling + * information is discarded. + */ + // public native static void resetJavaProfiler(); + + /** + * Write the current profiling contents to the file "java.prof". + * If the file already exists, it will be overwritten. + */ + // public native static void writeJavaProfilerReport(); + + + private static volatile boolean booted = false; + private static final Object lock = new Object(); + + // 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. + // + public static void booted() { + synchronized (lock) { + booted = true; + lock.notifyAll(); + } + } + + public static boolean isBooted() { + return booted; + } + + // Waits until VM completes initialization + // + // This method is invoked by the Finalizer thread + public static void awaitBooted() throws InterruptedException { + synchronized (lock) { + while (!booted) { + lock.wait(); + } + } + } + + // A user-settable upper limit on the maximum amount of allocatable direct + // buffer memory. This value may be changed during VM initialization if + // "java" is launched with "-XX:MaxDirectMemorySize=". + // + // The initial value of this field is arbitrary; during JRE initialization + // it will be reset to the value specified on the command line, if any, + // otherwise to Runtime.getRuntime().maxMemory(). + // + private static long directMemory = 64 * 1024 * 1024; + + // Returns the maximum amount of allocatable direct buffer memory. + // The directMemory variable is initialized during system initialization + // in the saveAndRemoveProperties method. + // + public static long maxDirectMemory() { + return directMemory; + } + + // User-controllable flag that determines if direct buffers should be page + // aligned. The "-XX:+PageAlignDirectMemory" option can be used to force + // buffers, allocated by ByteBuffer.allocateDirect, to be page aligned. + private static boolean pageAlignDirectMemory; + + // Returns {@code true} if the direct buffers should be page aligned. This + // variable is initialized by saveAndRemoveProperties. + public static boolean isDirectMemoryPageAligned() { + return pageAlignDirectMemory; + } + + /** + * Returns true if the given class loader is in the system domain + * in which all permissions are granted. + */ + public static boolean isSystemDomainLoader(ClassLoader loader) { + return loader == null; + } + + /** + * Returns the system property of the specified key saved at + * system initialization time. This method should only be used + * for the system properties that are not changed during runtime. + * It accesses a private copy of the system properties so + * that user's locking of the system properties object will not + * cause the library to deadlock. + * + * Note that the saved system properties do not include + * the ones set by sun.misc.Version.init(). + * + */ + public static String getSavedProperty(String key) { + if (savedProps.isEmpty()) + throw new IllegalStateException("Should be non-empty if initialized"); + + return savedProps.getProperty(key); + } + + // TODO: the Property Management needs to be refactored and + // the appropriate prop keys need to be accessible to the + // calling classes to avoid duplication of keys. + private static final Properties savedProps = new Properties(); + + // Save a private copy of the system properties and remove + // the system properties that are not intended for public access. + // + // This method can only be invoked during system initialization. + public static void saveAndRemoveProperties(Properties props) { + if (booted) + throw new IllegalStateException("System initialization has completed"); + + savedProps.putAll(props); + + // Set the maximum amount of direct memory. This value is controlled + // by the vm option -XX:MaxDirectMemorySize=. + // The maximum amount of allocatable direct buffer memory (in bytes) + // from the system property sun.nio.MaxDirectMemorySize set by the VM. + // The system property will be removed. + String s = (String)props.remove("sun.nio.MaxDirectMemorySize"); + if (s != null) { + if (s.equals("-1")) { + // -XX:MaxDirectMemorySize not given, take default + directMemory = Runtime.getRuntime().maxMemory(); + } else { + long l = Long.parseLong(s); + if (l > -1) + directMemory = l; + } + } + + // Check if direct buffers should be page aligned + s = (String)props.remove("sun.nio.PageAlignDirectMemory"); + if ("true".equals(s)) + pageAlignDirectMemory = true; + + // Remove other private system properties + // used by java.lang.Integer.IntegerCache + props.remove("java.lang.Integer.IntegerCache.high"); + + // used by sun.launcher.LauncherHelper + props.remove("sun.java.launcher.diag"); + } + + // Initialize any miscellenous operating system settings that need to be + // set for the class libraries. + // + public static void initializeOSEnvironment() { + if (!booted) { + OSEnvironment.initialize(); + } + } + + /* Current count of objects pending for finalization */ + private static volatile int finalRefCount; + + /* Peak count of objects pending for finalization */ + private static volatile int peakFinalRefCount; + + /* + * Gets the number of objects pending for finalization. + * + * @return the number of objects pending for finalization. + */ + public static int getFinalRefCount() { + return finalRefCount; + } + + /* + * Gets the peak number of objects pending for finalization. + * + * @return the peak number of objects pending for finalization. + */ + public static int getPeakFinalRefCount() { + return peakFinalRefCount; + } + + /* + * Add {@code n} to the objects pending for finalization count. + * + * @param n an integer value to be added to the objects pending + * for finalization count + */ + public static void addFinalRefCount(int n) { + // The caller must hold lock to synchronize the update. + + finalRefCount += n; + if (finalRefCount > peakFinalRefCount) { + peakFinalRefCount = finalRefCount; + } + } + + /** + * Returns Thread.State for the given threadStatus + */ + public static Thread.State toThreadState(int threadStatus) { + if ((threadStatus & JVMTI_THREAD_STATE_RUNNABLE) != 0) { + return RUNNABLE; + } else if ((threadStatus & JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER) != 0) { + return BLOCKED; + } else if ((threadStatus & JVMTI_THREAD_STATE_WAITING_INDEFINITELY) != 0) { + return WAITING; + } else if ((threadStatus & JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT) != 0) { + return TIMED_WAITING; + } else if ((threadStatus & JVMTI_THREAD_STATE_TERMINATED) != 0) { + return TERMINATED; + } else if ((threadStatus & JVMTI_THREAD_STATE_ALIVE) == 0) { + return NEW; + } else { + return RUNNABLE; + } + } + + /* The threadStatus field is set by the VM at state transition + * in the hotspot implementation. Its value is set according to + * the JVM TI specification GetThreadState function. + */ + private static final int JVMTI_THREAD_STATE_ALIVE = 0x0001; + private static final int JVMTI_THREAD_STATE_TERMINATED = 0x0002; + private static final int JVMTI_THREAD_STATE_RUNNABLE = 0x0004; + private static final int JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER = 0x0400; + private static final int JVMTI_THREAD_STATE_WAITING_INDEFINITELY = 0x0010; + private static final int JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT = 0x0020; + + /* + * Returns the first non-null class loader up the execution stack, + * or null if only code from the null class loader is on the stack. + */ + public static native ClassLoader latestUserDefinedLoader(); + + /** + * Returns {@code true} if we are in a set UID program. + */ + public static boolean isSetUID() { + long uid = getuid(); + long euid = geteuid(); + long gid = getgid(); + long egid = getegid(); + return uid != euid || gid != egid; + } + + /** + * Returns the real user ID of the calling process, + * or -1 if the value is not available. + */ + public static native long getuid(); + + /** + * Returns the effective user ID of the calling process, + * or -1 if the value is not available. + */ + public static native long geteuid(); + + /** + * Returns the real group ID of the calling process, + * or -1 if the value is not available. + */ + public static native long getgid(); + + /** + * Returns the effective group ID of the calling process, + * or -1 if the value is not available. + */ + public static native long getegid(); + + /** + * Get a nanosecond time stamp adjustment in the form of a single long. + * + * This value can be used to create an instant using + * {@link java.time.Instant#ofEpochSecond(long, long) + * java.time.Instant.ofEpochSecond(offsetInSeconds, + * getNanoTimeAdjustment(offsetInSeconds))}. + *

+ * The value returned has the best resolution available to the JVM on + * the current system. + * This is usually down to microseconds - or tenth of microseconds - + * depending on the OS/Hardware and the JVM implementation. + * + * @param offsetInSeconds The offset in seconds from which the nanosecond + * time stamp should be computed. + * + * @apiNote The offset should be recent enough - so that + * {@code offsetInSeconds} is within {@code +/- 2^32} seconds of the + * current UTC time. If the offset is too far off, {@code -1} will be + * returned. As such, {@code -1} must not be considered as a valid + * nano time adjustment, but as an exception value indicating + * that an offset closer to the current time should be used. + * + * @return A nanosecond time stamp adjustment in the form of a single long. + * If the offset is too far off the current time, this method returns -1. + * In that case, the caller should call this method again, passing a + * more accurate offset. + */ + public static native long getNanoTimeAdjustment(long offsetInSeconds); + + static { + initialize(); + } + private static native void initialize(); +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/internal/misc/VMNotification.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/java.base/share/classes/jdk/internal/misc/VMNotification.java Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,39 @@ +/* + * Copyright (c) 1996, 2004, 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. + */ + +package jdk.internal.misc; + +/** @deprecated */ +@Deprecated +public interface VMNotification { + + // when the vm switches allocation states, we get notified + // (possible semantics: if the state changes while in this + // notification, don't recursively notify). + // oldState and newState may be the same if we are just releasing + // suspended threads. + void newAllocState(int oldState, int newState, + boolean threadsSuspended); +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/internal/ref/CleanerFactory.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/java.base/share/classes/jdk/internal/ref/CleanerFactory.java Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2016, 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. + */ + +package jdk.internal.ref; + +import java.lang.ref.Cleaner; + +/** + * CleanerFactory provides a Cleaner for use within OpenJDK modules. + * The cleaner is created on the first reference to the CleanerFactory. + */ +public final class CleanerFactory { + + /* The common Cleaner. */ + private final static Cleaner commonCleaner = Cleaner.create(); + + /** + * Cleaner for use within OpenJDK modules. + * + * @return a Cleaner for use within OpenJDK modules + */ + public static Cleaner cleaner() { + return commonCleaner; + } + +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/internal/ref/CleanerImpl.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/java.base/share/classes/jdk/internal/ref/CleanerImpl.java Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,333 @@ +/* + * Copyright (c) 2015, 2016, 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. + */ + +package jdk.internal.ref; + +import java.lang.ref.Cleaner; +import java.lang.ref.Cleaner.Cleanable; +import java.lang.ref.ReferenceQueue; +import java.security.AccessController; +import java.security.PrivilegedAction; +import java.util.concurrent.ThreadFactory; +import java.util.function.Function; + +import sun.misc.InnocuousThread; + +/** + * CleanerImpl manages a set of object references and corresponding cleaning actions. + * CleanerImpl provides the functionality of {@link java.lang.ref.Cleaner}. + */ +public final class CleanerImpl { + + /** + * An object to access the CleanerImpl from a Cleaner; set by Cleaner init. + */ + private static Function cleanerImplAccess = null; + + /** + * Heads of a CleanableList for each reference type. + */ + final PhantomCleanable phantomCleanableList; + + final WeakCleanable weakCleanableList; + + final SoftCleanable softCleanableList; + + // The ReferenceQueue of pending cleaning actions + final ReferenceQueue queue; + + /** + * Called by Cleaner static initialization to provide the function + * to map from Cleaner to CleanerImpl. + * @param access a function to map from Cleaner to CleanerImpl + */ + public static void setCleanerImplAccess(Function access) { + if (cleanerImplAccess == null) { + cleanerImplAccess = access; + } else { + throw new InternalError("cleanerImplAccess"); + } + } + + /** + * Called to get the CleanerImpl for a Cleaner. + * @param cleaner the cleaner + * @return the corresponding CleanerImpl + */ + static CleanerImpl getCleanerImpl(Cleaner cleaner) { + return cleanerImplAccess.apply(cleaner); + } + + /** + * Constructor for CleanerImpl. + */ + public CleanerImpl() { + queue = new ReferenceQueue<>(); + phantomCleanableList = new PhantomCleanableRef(); + weakCleanableList = new WeakCleanableRef(); + softCleanableList = new SoftCleanableRef(); + } + + /** + * Starts the Cleaner implementation. + * Ensure this is the CleanerImpl for the Cleaner. + * When started waits for Cleanables to be queued. + * @param cleaner the cleaner + * @param threadFactory the thread factory + */ + public void start(Cleaner cleaner, ThreadFactory threadFactory) { + if (getCleanerImpl(cleaner) != this) { + throw new AssertionError("wrong cleaner"); + } + // schedule a nop cleaning action for the cleaner, so the associated thread + // will continue to run at least until the cleaner is reclaimable. + new PhantomCleanableRef(cleaner, cleaner, () -> {}); + + if (threadFactory == null) { + threadFactory = CleanerImpl.InnocuousThreadFactory.factory(); + } + + // now that there's at least one cleaning action, for the cleaner, + // we can start the associated thread, which runs until + // all cleaning actions have been run. + Thread thread = threadFactory.newThread(this::run); + thread.setDaemon(true); + thread.start(); + } + + /** + * Process queued Cleanables as long as the cleanable lists are not empty. + * A Cleanable is in one of the lists for each Object and for the Cleaner + * itself. + * Terminates when the Cleaner is no longer reachable and + * has been cleaned and there are no more Cleanable instances + * for which the object is reachable. + *

+ * If the thread is a ManagedLocalsThread, the threadlocals + * are erased before each cleanup + */ + private void run() { + Thread t = Thread.currentThread(); + InnocuousThread mlThread = (t instanceof InnocuousThread) + ? (InnocuousThread) t + : null; + while (!phantomCleanableList.isListEmpty() || + !weakCleanableList.isListEmpty() || + !softCleanableList.isListEmpty()) { + if (mlThread != null) { + // Clear the thread locals + mlThread.eraseThreadLocals(); + } + try { + // Wait for a Ref, with a timeout to avoid getting hung + // due to a race with clear/clean + Cleanable ref = (Cleanable) queue.remove(60 * 1000L); + if (ref != null) { + ref.clean(); + } + } catch (InterruptedException i) { + continue; // ignore the interruption + } catch (Throwable e) { + // ignore exceptions from the cleanup action + } + } + } + + /** + * Perform cleaning on an unreachable PhantomReference. + */ + public static final class PhantomCleanableRef extends PhantomCleanable { + private final Runnable action; + + /** + * Constructor for a phantom cleanable reference. + * @param obj the object to monitor + * @param cleaner the cleaner + * @param action the action Runnable + */ + public PhantomCleanableRef(Object obj, Cleaner cleaner, Runnable action) { + super(obj, cleaner); + this.action = action; + } + + /** + * Constructor used only for root of phantom cleanable list. + */ + PhantomCleanableRef() { + super(); + this.action = null; + } + + @Override + protected void performCleanup() { + action.run(); + } + + /** + * Prevent access to referent even when it is still alive. + * + * @throws UnsupportedOperationException always + */ + @Override + public Object get() { + throw new UnsupportedOperationException("get"); + } + + /** + * Direct clearing of the referent is not supported. + * + * @throws UnsupportedOperationException always + */ + @Override + public void clear() { + throw new UnsupportedOperationException("clear"); + } + } + + /** + * Perform cleaning on an unreachable WeakReference. + */ + public static final class WeakCleanableRef extends WeakCleanable { + private final Runnable action; + + /** + * Constructor for a weak cleanable reference. + * @param obj the object to monitor + * @param cleaner the cleaner + * @param action the action Runnable + */ + WeakCleanableRef(Object obj, Cleaner cleaner, Runnable action) { + super(obj, cleaner); + this.action = action; + } + + /** + * Constructor used only for root of weak cleanable list. + */ + WeakCleanableRef() { + super(); + this.action = null; + } + + @Override + protected void performCleanup() { + action.run(); + } + + /** + * Prevent access to referent even when it is still alive. + * + * @throws UnsupportedOperationException always + */ + @Override + public Object get() { + throw new UnsupportedOperationException("get"); + } + + /** + * Direct clearing of the referent is not supported. + * + * @throws UnsupportedOperationException always + */ + @Override + public void clear() { + throw new UnsupportedOperationException("clear"); + } + } + + /** + * Perform cleaning on an unreachable SoftReference. + */ + public static final class SoftCleanableRef extends SoftCleanable { + private final Runnable action; + + /** + * Constructor for a soft cleanable reference. + * @param obj the object to monitor + * @param cleaner the cleaner + * @param action the action Runnable + */ + SoftCleanableRef(Object obj, Cleaner cleaner, Runnable action) { + super(obj, cleaner); + this.action = action; + } + + /** + * Constructor used only for root of soft cleanable list. + */ + SoftCleanableRef() { + super(); + this.action = null; + } + + @Override + protected void performCleanup() { + action.run(); + } + + /** + * Prevent access to referent even when it is still alive. + * + * @throws UnsupportedOperationException always + */ + @Override + public Object get() { + throw new UnsupportedOperationException("get"); + } + + /** + * Direct clearing of the referent is not supported. + * + * @throws UnsupportedOperationException always + */ + @Override + public void clear() { + throw new UnsupportedOperationException("clear"); + } + + } + + /** + * A ThreadFactory for InnocuousThreads. + * The factory is a singleton. + */ + static final class InnocuousThreadFactory implements ThreadFactory { + final static ThreadFactory factory = new InnocuousThreadFactory(); + + static ThreadFactory factory() { + return factory; + } + + public Thread newThread(Runnable r) { + return AccessController.doPrivileged((PrivilegedAction) () -> { + Thread t = new InnocuousThread(r); + t.setPriority(Thread.MAX_PRIORITY - 2); + t.setName("Cleaner-" + t.getId()); + return t; + }); + } + } + +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/internal/ref/PhantomCleanable.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/java.base/share/classes/jdk/internal/ref/PhantomCleanable.java Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,178 @@ +/* + * Copyright (c) 2015, 2016, 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. + */ + +package jdk.internal.ref; + +import java.lang.ref.Cleaner; +import java.lang.ref.PhantomReference; +import java.util.Objects; + +/** + * PhantomCleanable subclasses efficiently encapsulate cleanup state and + * the cleaning action. + * Subclasses implement the abstract {@link #performCleanup()} method + * to provide the cleaning action. + * When constructed, the object reference and the {@link Cleaner.Cleanable Cleanable} + * are registered with the {@link Cleaner}. + * The Cleaner invokes {@link Cleaner.Cleanable#clean() clean} after the + * referent becomes phantom reachable. + */ +public abstract class PhantomCleanable extends PhantomReference + implements Cleaner.Cleanable { + + /** + * Links to previous and next in a doubly-linked list. + */ + PhantomCleanable prev = this, next = this; + + /** + * The list of PhantomCleanable; synchronizes insert and remove. + */ + private final PhantomCleanable list; + + /** + * Constructs new {@code PhantomCleanable} with + * {@code non-null referent} and {@code non-null cleaner}. + * The {@code cleaner} is not retained; it is only used to + * register the newly constructed {@link Cleaner.Cleanable Cleanable}. + * + * @param referent the referent to track + * @param cleaner the {@code Cleaner} to register with + */ + public PhantomCleanable(T referent, Cleaner cleaner) { + super(Objects.requireNonNull(referent), CleanerImpl.getCleanerImpl(cleaner).queue); + this.list = CleanerImpl.getCleanerImpl(cleaner).phantomCleanableList; + insert(); + + // TODO: Replace getClass() with ReachabilityFence when it is available + cleaner.getClass(); + referent.getClass(); + } + + /** + * Construct a new root of the list; not inserted. + */ + PhantomCleanable() { + super(null, null); + this.list = this; + } + + /** + * Insert this PhantomCleanable after the list head. + */ + private void insert() { + synchronized (list) { + prev = list; + next = list.next; + next.prev = this; + list.next = this; + } + } + + /** + * Remove this PhantomCleanable from the list. + * + * @return true if Cleanable was removed or false if not because + * it had already been removed before + */ + private boolean remove() { + synchronized (list) { + if (next != this) { + next.prev = prev; + prev.next = next; + prev = this; + next = this; + return true; + } + return false; + } + } + + /** + * Returns true if the list's next reference refers to itself. + * + * @return true if the list is empty + */ + boolean isListEmpty() { + synchronized (list) { + return list == list.next; + } + } + + /** + * Unregister this PhantomCleanable and invoke {@link #performCleanup()}, + * ensuring at-most-once semantics. + */ + @Override + public final void clean() { + if (remove()) { + super.clear(); + performCleanup(); + } + } + + /** + * Unregister this PhantomCleanable and clear the reference. + * Due to inherent concurrency, {@link #performCleanup()} may still be invoked. + */ + @Override + public void clear() { + if (remove()) { + super.clear(); + } + } + + /** + * The {@code performCleanup} abstract method is overridden + * to implement the cleaning logic. + * The {@code performCleanup} method should not be called except + * by the {@link #clean} method which ensures at most once semantics. + */ + protected abstract void performCleanup(); + + /** + * This method always throws {@link UnsupportedOperationException}. + * Enqueuing details of {@link Cleaner.Cleanable} + * are a private implementation detail. + * + * @throws UnsupportedOperationException always + */ + @Override + public final boolean isEnqueued() { + throw new UnsupportedOperationException("isEnqueued"); + } + + /** + * This method always throws {@link UnsupportedOperationException}. + * Enqueuing details of {@link Cleaner.Cleanable} + * are a private implementation detail. + * + * @throws UnsupportedOperationException always + */ + @Override + public final boolean enqueue() { + throw new UnsupportedOperationException("enqueue"); + } +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/internal/ref/SoftCleanable.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/java.base/share/classes/jdk/internal/ref/SoftCleanable.java Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,178 @@ +/* + * Copyright (c) 2015, 2016, 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. + */ + +package jdk.internal.ref; + +import java.lang.ref.Cleaner; +import java.lang.ref.SoftReference; +import java.util.Objects; + +/** + * SoftCleanable subclasses efficiently encapsulate cleanup state and + * the cleaning action. + * Subclasses implement the abstract {@link #performCleanup()} method + * to provide the cleaning action. + * When constructed, the object reference and the {@link Cleaner.Cleanable Cleanable} + * are registered with the {@link Cleaner}. + * The Cleaner invokes {@link Cleaner.Cleanable#clean() clean} after the + * referent becomes softly reachable. + */ +public abstract class SoftCleanable extends SoftReference + implements Cleaner.Cleanable { + + /** + * Links to previous and next in a doubly-linked list. + */ + SoftCleanable prev = this, next = this; + + /** + * The list of SoftCleanable; synchronizes insert and remove. + */ + private final SoftCleanable list; + + /** + * Constructs new {@code SoftCleanableReference} with + * {@code non-null referent} and {@code non-null cleaner}. + * The {@code cleaner} is not retained by this reference; it is only used + * to register the newly constructed {@link Cleaner.Cleanable Cleanable}. + * + * @param referent the referent to track + * @param cleaner the {@code Cleaner} to register with + */ + public SoftCleanable(T referent, Cleaner cleaner) { + super(Objects.requireNonNull(referent), CleanerImpl.getCleanerImpl(cleaner).queue); + list = CleanerImpl.getCleanerImpl(cleaner).softCleanableList; + insert(); + + // TODO: Replace getClass() with ReachabilityFence when it is available + cleaner.getClass(); + referent.getClass(); + } + + /** + * Construct a new root of the list; not inserted. + */ + SoftCleanable() { + super(null, null); + this.list = this; + } + + /** + * Insert this SoftCleanableReference after the list head. + */ + private void insert() { + synchronized (list) { + prev = list; + next = list.next; + next.prev = this; + list.next = this; + } + } + + /** + * Remove this SoftCleanableReference from the list. + * + * @return true if Cleanable was removed or false if not because + * it had already been removed before + */ + private boolean remove() { + synchronized (list) { + if (next != this) { + next.prev = prev; + prev.next = next; + prev = this; + next = this; + return true; + } + return false; + } + } + + /** + * Returns true if the list's next reference refers to itself. + * + * @return true if the list is empty + */ + boolean isListEmpty() { + synchronized (list) { + return list == list.next; + } + } + + /** + * Unregister this SoftCleanable reference and invoke {@link #performCleanup()}, + * ensuring at-most-once semantics. + */ + @Override + public final void clean() { + if (remove()) { + super.clear(); + performCleanup(); + } + } + + /** + * Unregister this SoftCleanable and clear the reference. + * Due to inherent concurrency, {@link #performCleanup()} may still be invoked. + */ + @Override + public void clear() { + if (remove()) { + super.clear(); + } + } + + /** + * The {@code performCleanup} abstract method is overridden + * to implement the cleaning logic. + * The {@code performCleanup} method should not be called except + * by the {@link #clean} method which ensures at most once semantics. + */ + protected abstract void performCleanup(); + + /** + * This method always throws {@link UnsupportedOperationException}. + * Enqueuing details of {@link Cleaner.Cleanable} + * are a private implementation detail. + * + * @throws UnsupportedOperationException always + */ + @Override + public final boolean isEnqueued() { + throw new UnsupportedOperationException("isEnqueued"); + } + + /** + * This method always throws {@link UnsupportedOperationException}. + * Enqueuing details of {@link Cleaner.Cleanable} + * are a private implementation detail. + * + * @throws UnsupportedOperationException always + */ + @Override + public final boolean enqueue() { + throw new UnsupportedOperationException("enqueue"); + } +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/internal/ref/WeakCleanable.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/java.base/share/classes/jdk/internal/ref/WeakCleanable.java Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,178 @@ +package jdk.internal.ref; + +/* + * Copyright (c) 2015, 2016, 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. + */ + +import java.lang.ref.Cleaner; +import java.lang.ref.WeakReference; +import java.util.Objects; + +/** + * WeakCleanable subclasses efficiently encapsulate cleanup state and + * the cleaning action. + * Subclasses implement the abstract {@link #performCleanup()} method + * to provide the cleaning action. + * When constructed, the object reference and the {@link Cleaner.Cleanable Cleanable} + * are registered with the {@link Cleaner}. + * The Cleaner invokes {@link Cleaner.Cleanable#clean() clean} after the + * referent becomes weakly reachable. + */ +public abstract class WeakCleanable extends WeakReference + implements Cleaner.Cleanable { + + /** + * Links to previous and next in a doubly-linked list. + */ + WeakCleanable prev = this, next = this; + + /** + * The list of WeakCleanable; synchronizes insert and remove. + */ + private final WeakCleanable list; + + /** + * Constructs new {@code WeakCleanableReference} with + * {@code non-null referent} and {@code non-null cleaner}. + * The {@code cleaner} is not retained by this reference; it is only used + * to register the newly constructed {@link Cleaner.Cleanable Cleanable}. + * + * @param referent the referent to track + * @param cleaner the {@code Cleaner} to register new reference with + */ + public WeakCleanable(T referent, Cleaner cleaner) { + super(Objects.requireNonNull(referent), CleanerImpl.getCleanerImpl(cleaner).queue); + list = CleanerImpl.getCleanerImpl(cleaner).weakCleanableList; + insert(); + + // TODO: Replace getClass() with ReachabilityFence when it is available + cleaner.getClass(); + referent.getClass(); + } + + /** + * Construct a new root of the list; not inserted. + */ + WeakCleanable() { + super(null, null); + this.list = this; + } + + /** + * Insert this WeakCleanableReference after the list head. + */ + private void insert() { + synchronized (list) { + prev = list; + next = list.next; + next.prev = this; + list.next = this; + } + } + + /** + * Remove this WeakCleanableReference from the list. + * + * @return true if Cleanable was removed or false if not because + * it had already been removed before + */ + private boolean remove() { + synchronized (list) { + if (next != this) { + next.prev = prev; + prev.next = next; + prev = this; + next = this; + return true; + } + return false; + } + } + + /** + * Returns true if the list's next reference refers to itself. + * + * @return true if the list is empty + */ + boolean isListEmpty() { + synchronized (list) { + return list == list.next; + } + } + + /** + * Unregister this WeakCleanable reference and invoke {@link #performCleanup()}, + * ensuring at-most-once semantics. + */ + @Override + public final void clean() { + if (remove()) { + super.clear(); + performCleanup(); + } + } + + /** + * Unregister this WeakCleanable and clear the reference. + * Due to inherent concurrency, {@link #performCleanup()} may still be invoked. + */ + @Override + public void clear() { + if (remove()) { + super.clear(); + } + } + + /** + * The {@code performCleanup} abstract method is overridden + * to implement the cleaning logic. + * The {@code performCleanup} method should not be called except + * by the {@link #clean} method which ensures at most once semantics. + */ + protected abstract void performCleanup(); + + /** + * This method always throws {@link UnsupportedOperationException}. + * Enqueuing details of {@link Cleaner.Cleanable} + * are a private implementation detail. + * + * @throws UnsupportedOperationException always + */ + @Override + public final boolean isEnqueued() { + throw new UnsupportedOperationException("isEnqueued"); + } + + /** + * This method always throws {@link UnsupportedOperationException}. + * Enqueuing details of {@link Cleaner.Cleanable} + * are a private implementation detail. + * + * @throws UnsupportedOperationException always + */ + @Override + public final boolean enqueue() { + throw new UnsupportedOperationException("enqueue"); + } +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/net/ExtendedSocketOptions.java --- a/jdk/src/java.base/share/classes/jdk/net/ExtendedSocketOptions.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/jdk/net/ExtendedSocketOptions.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * * @since 1.8 */ -@jdk.Exported public final class ExtendedSocketOptions { private static class ExtSocketOption implements SocketOption { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/net/NetworkPermission.java --- a/jdk/src/java.base/share/classes/jdk/net/NetworkPermission.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/jdk/net/NetworkPermission.java Tue Jan 12 13:13:16 2016 -0800 @@ -61,7 +61,6 @@ * @since 1.8 */ -@jdk.Exported public final class NetworkPermission extends BasicPermission { private static final long serialVersionUID = -2012939586906722291L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/net/SocketFlow.java --- a/jdk/src/java.base/share/classes/jdk/net/SocketFlow.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/jdk/net/SocketFlow.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * * @since 1.8 */ -@jdk.Exported public class SocketFlow { private static final int UNSET = -1; @@ -68,7 +67,6 @@ * * @since 1.8 */ - @jdk.Exported public enum Status { /** * Set or get socket option has not been called yet. Status diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/net/Sockets.java --- a/jdk/src/java.base/share/classes/jdk/net/Sockets.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/jdk/net/Sockets.java Tue Jan 12 13:13:16 2016 -0800 @@ -55,7 +55,6 @@ * * @see java.nio.channels.NetworkChannel */ -@jdk.Exported public class Sockets { private static final HashMap,Set>> diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/jdk/net/package-info.java --- a/jdk/src/java.base/share/classes/jdk/net/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/jdk/net/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -30,5 +30,4 @@ * @since 1.8 */ -@jdk.Exported package jdk.net; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/sun/launcher/LauncherHelper.java --- a/jdk/src/java.base/share/classes/sun/launcher/LauncherHelper.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/sun/launcher/LauncherHelper.java Tue Jan 12 13:13:16 2016 -0800 @@ -66,6 +66,7 @@ import java.util.jar.Attributes; import java.util.jar.JarFile; import java.util.jar.Manifest; +import jdk.internal.misc.VM; public enum LauncherHelper { INSTANCE; @@ -86,9 +87,9 @@ private static final String PROP_SETTINGS = "Property settings:"; private static final String LOCALE_SETTINGS = "Locale settings:"; - // sync with java.c and sun.misc.VM + // sync with java.c and jdk.internal.misc.VM private static final String diagprop = "sun.java.launcher.diag"; - static final boolean trace = sun.misc.VM.getSavedProperty(diagprop) != null; + static final boolean trace = VM.getSavedProperty(diagprop) != null; private static final String defaultBundleName = "sun.launcher.resources.launcher"; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/sun/misc/MessageUtils.java --- a/jdk/src/java.base/share/classes/sun/misc/MessageUtils.java Tue Jan 12 18:02:07 2016 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,127 +0,0 @@ -/* - * Copyright (c) 1995, 2000, 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. - */ - -package sun.misc; - -/** - * MessageUtils: miscellaneous utilities for handling error and status - * properties and messages. - * - * @author Herb Jellinek - */ - -public class MessageUtils { - // can instantiate it for to allow less verbose use - via instance - // instead of classname - - public MessageUtils() { } - - public static String subst(String patt, String arg) { - String args[] = { arg }; - return subst(patt, args); - } - - public static String subst(String patt, String arg1, String arg2) { - String args[] = { arg1, arg2 }; - return subst(patt, args); - } - - public static String subst(String patt, String arg1, String arg2, - String arg3) { - String args[] = { arg1, arg2, arg3 }; - return subst(patt, args); - } - - public static String subst(String patt, String args[]) { - StringBuilder result = new StringBuilder(); - int len = patt.length(); - for (int i = 0; i >= 0 && i < len; i++) { - char ch = patt.charAt(i); - if (ch == '%') { - if (i != len) { - int index = Character.digit(patt.charAt(i + 1), 10); - if (index == -1) { - result.append(patt.charAt(i + 1)); - i++; - } else if (index < args.length) { - result.append(args[index]); - i++; - } - } - } else { - result.append(ch); - } - } - return result.toString(); - } - - public static String substProp(String propName, String arg) { - return subst(System.getProperty(propName), arg); - } - - public static String substProp(String propName, String arg1, String arg2) { - return subst(System.getProperty(propName), arg1, arg2); - } - - public static String substProp(String propName, String arg1, String arg2, - String arg3) { - return subst(System.getProperty(propName), arg1, arg2, arg3); - } - - /** - * Print a message directly to stderr, bypassing all the - * character conversion methods. - * @param msg message to print - */ - public static native void toStderr(String msg); - - /** - * Print a message directly to stdout, bypassing all the - * character conversion methods. - * @param msg message to print - */ - public static native void toStdout(String msg); - - - // Short forms of the above - - public static void err(String s) { - toStderr(s + "\n"); - } - - public static void out(String s) { - toStdout(s + "\n"); - } - - // Print a stack trace to stderr - // - public static void where() { - Throwable t = new Throwable(); - StackTraceElement[] es = t.getStackTrace(); - for (int i = 1; i < es.length; i++) - toStderr("\t" + es[i].toString() + "\n"); - } - -} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/sun/misc/Unsafe.java --- a/jdk/src/java.base/share/classes/sun/misc/Unsafe.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/sun/misc/Unsafe.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,6 +32,7 @@ import sun.reflect.Reflection; import jdk.internal.HotSpotIntrinsicCandidate; +import jdk.internal.misc.VM; /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/sun/misc/VM.java --- a/jdk/src/java.base/share/classes/sun/misc/VM.java Tue Jan 12 18:02:07 2016 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,433 +0,0 @@ -/* - * Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * 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. - */ - -package sun.misc; - -import static java.lang.Thread.State.*; -import java.util.Properties; - -public class VM { - - /* The following methods used to be native methods that instruct - * the VM to selectively suspend certain threads in low-memory - * situations. They are inherently dangerous and not implementable - * on native threads. We removed them in JDK 1.2. The skeletons - * remain so that existing applications that use these methods - * will still work. - */ - private static boolean suspended = false; - - /** @deprecated */ - @Deprecated - public static boolean threadsSuspended() { - return suspended; - } - - @SuppressWarnings("deprecation") - public static boolean allowThreadSuspension(ThreadGroup g, boolean b) { - return g.allowThreadSuspension(b); - } - - /** @deprecated */ - @Deprecated - public static boolean suspendThreads() { - suspended = true; - return true; - } - - // Causes any suspended threadgroups to be resumed. - /** @deprecated */ - @Deprecated - public static void unsuspendThreads() { - suspended = false; - } - - // Causes threadgroups no longer marked suspendable to be resumed. - /** @deprecated */ - @Deprecated - public static void unsuspendSomeThreads() { - } - - /* Deprecated fields and methods -- Memory advice not supported in 1.2 */ - - /** @deprecated */ - @Deprecated - public static final int STATE_GREEN = 1; - - /** @deprecated */ - @Deprecated - public static final int STATE_YELLOW = 2; - - /** @deprecated */ - @Deprecated - public static final int STATE_RED = 3; - - /** @deprecated */ - @Deprecated - public static final int getState() { - return STATE_GREEN; - } - - /** @deprecated */ - @Deprecated - public static void registerVMNotification(VMNotification n) { } - - /** @deprecated */ - @Deprecated - public static void asChange(int as_old, int as_new) { } - - /** @deprecated */ - @Deprecated - public static void asChange_otherthread(int as_old, int as_new) { } - - /* - * Not supported in 1.2 because these will have to be exported as - * JVM functions, and we are not sure we want do that. Leaving - * here so it can be easily resurrected -- just remove the // - * comments. - */ - - /** - * Resume Java profiling. All profiling data is added to any - * earlier profiling, unless resetJavaProfiler is - * called in between. If profiling was not started from the - * command line, resumeJavaProfiler will start it. - *

- * - * NOTE: Profiling must be enabled from the command line for a - * java.prof report to be automatically generated on exit; if not, - * writeJavaProfilerReport must be invoked to write a report. - * - * @see resetJavaProfiler - * @see writeJavaProfilerReport - */ - - // public native static void resumeJavaProfiler(); - - /** - * Suspend Java profiling. - */ - // public native static void suspendJavaProfiler(); - - /** - * Initialize Java profiling. Any accumulated profiling - * information is discarded. - */ - // public native static void resetJavaProfiler(); - - /** - * Write the current profiling contents to the file "java.prof". - * If the file already exists, it will be overwritten. - */ - // public native static void writeJavaProfilerReport(); - - - private static volatile boolean booted = false; - private static final Object lock = new Object(); - - // 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. - // - public static void booted() { - synchronized (lock) { - booted = true; - lock.notifyAll(); - } - } - - public static boolean isBooted() { - return booted; - } - - // Waits until VM completes initialization - // - // This method is invoked by the Finalizer thread - public static void awaitBooted() throws InterruptedException { - synchronized (lock) { - while (!booted) { - lock.wait(); - } - } - } - - // A user-settable upper limit on the maximum amount of allocatable direct - // buffer memory. This value may be changed during VM initialization if - // "java" is launched with "-XX:MaxDirectMemorySize=". - // - // The initial value of this field is arbitrary; during JRE initialization - // it will be reset to the value specified on the command line, if any, - // otherwise to Runtime.getRuntime().maxMemory(). - // - private static long directMemory = 64 * 1024 * 1024; - - // Returns the maximum amount of allocatable direct buffer memory. - // The directMemory variable is initialized during system initialization - // in the saveAndRemoveProperties method. - // - public static long maxDirectMemory() { - return directMemory; - } - - // User-controllable flag that determines if direct buffers should be page - // aligned. The "-XX:+PageAlignDirectMemory" option can be used to force - // buffers, allocated by ByteBuffer.allocateDirect, to be page aligned. - private static boolean pageAlignDirectMemory; - - // Returns {@code true} if the direct buffers should be page aligned. This - // variable is initialized by saveAndRemoveProperties. - public static boolean isDirectMemoryPageAligned() { - return pageAlignDirectMemory; - } - - /** - * Returns true if the given class loader is in the system domain - * in which all permissions are granted. - */ - public static boolean isSystemDomainLoader(ClassLoader loader) { - return loader == null; - } - - /** - * Returns the system property of the specified key saved at - * system initialization time. This method should only be used - * for the system properties that are not changed during runtime. - * It accesses a private copy of the system properties so - * that user's locking of the system properties object will not - * cause the library to deadlock. - * - * Note that the saved system properties do not include - * the ones set by sun.misc.Version.init(). - * - */ - public static String getSavedProperty(String key) { - if (savedProps.isEmpty()) - throw new IllegalStateException("Should be non-empty if initialized"); - - return savedProps.getProperty(key); - } - - // TODO: the Property Management needs to be refactored and - // the appropriate prop keys need to be accessible to the - // calling classes to avoid duplication of keys. - private static final Properties savedProps = new Properties(); - - // Save a private copy of the system properties and remove - // the system properties that are not intended for public access. - // - // This method can only be invoked during system initialization. - public static void saveAndRemoveProperties(Properties props) { - if (booted) - throw new IllegalStateException("System initialization has completed"); - - savedProps.putAll(props); - - // Set the maximum amount of direct memory. This value is controlled - // by the vm option -XX:MaxDirectMemorySize=. - // The maximum amount of allocatable direct buffer memory (in bytes) - // from the system property sun.nio.MaxDirectMemorySize set by the VM. - // The system property will be removed. - String s = (String)props.remove("sun.nio.MaxDirectMemorySize"); - if (s != null) { - if (s.equals("-1")) { - // -XX:MaxDirectMemorySize not given, take default - directMemory = Runtime.getRuntime().maxMemory(); - } else { - long l = Long.parseLong(s); - if (l > -1) - directMemory = l; - } - } - - // Check if direct buffers should be page aligned - s = (String)props.remove("sun.nio.PageAlignDirectMemory"); - if ("true".equals(s)) - pageAlignDirectMemory = true; - - // Remove other private system properties - // used by java.lang.Integer.IntegerCache - props.remove("java.lang.Integer.IntegerCache.high"); - - // used by sun.launcher.LauncherHelper - props.remove("sun.java.launcher.diag"); - } - - // Initialize any miscellenous operating system settings that need to be - // set for the class libraries. - // - public static void initializeOSEnvironment() { - if (!booted) { - OSEnvironment.initialize(); - } - } - - /* Current count of objects pending for finalization */ - private static volatile int finalRefCount; - - /* Peak count of objects pending for finalization */ - private static volatile int peakFinalRefCount; - - /* - * Gets the number of objects pending for finalization. - * - * @return the number of objects pending for finalization. - */ - public static int getFinalRefCount() { - return finalRefCount; - } - - /* - * Gets the peak number of objects pending for finalization. - * - * @return the peak number of objects pending for finalization. - */ - public static int getPeakFinalRefCount() { - return peakFinalRefCount; - } - - /* - * Add {@code n} to the objects pending for finalization count. - * - * @param n an integer value to be added to the objects pending - * for finalization count - */ - public static void addFinalRefCount(int n) { - // The caller must hold lock to synchronize the update. - - finalRefCount += n; - if (finalRefCount > peakFinalRefCount) { - peakFinalRefCount = finalRefCount; - } - } - - /** - * Returns Thread.State for the given threadStatus - */ - public static Thread.State toThreadState(int threadStatus) { - if ((threadStatus & JVMTI_THREAD_STATE_RUNNABLE) != 0) { - return RUNNABLE; - } else if ((threadStatus & JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER) != 0) { - return BLOCKED; - } else if ((threadStatus & JVMTI_THREAD_STATE_WAITING_INDEFINITELY) != 0) { - return WAITING; - } else if ((threadStatus & JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT) != 0) { - return TIMED_WAITING; - } else if ((threadStatus & JVMTI_THREAD_STATE_TERMINATED) != 0) { - return TERMINATED; - } else if ((threadStatus & JVMTI_THREAD_STATE_ALIVE) == 0) { - return NEW; - } else { - return RUNNABLE; - } - } - - /* The threadStatus field is set by the VM at state transition - * in the hotspot implementation. Its value is set according to - * the JVM TI specification GetThreadState function. - */ - private static final int JVMTI_THREAD_STATE_ALIVE = 0x0001; - private static final int JVMTI_THREAD_STATE_TERMINATED = 0x0002; - private static final int JVMTI_THREAD_STATE_RUNNABLE = 0x0004; - private static final int JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER = 0x0400; - private static final int JVMTI_THREAD_STATE_WAITING_INDEFINITELY = 0x0010; - private static final int JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT = 0x0020; - - /* - * Returns the first non-null class loader up the execution stack, - * or null if only code from the null class loader is on the stack. - */ - public static native ClassLoader latestUserDefinedLoader(); - - /** - * Returns {@code true} if we are in a set UID program. - */ - public static boolean isSetUID() { - long uid = getuid(); - long euid = geteuid(); - long gid = getgid(); - long egid = getegid(); - return uid != euid || gid != egid; - } - - /** - * Returns the real user ID of the calling process, - * or -1 if the value is not available. - */ - public static native long getuid(); - - /** - * Returns the effective user ID of the calling process, - * or -1 if the value is not available. - */ - public static native long geteuid(); - - /** - * Returns the real group ID of the calling process, - * or -1 if the value is not available. - */ - public static native long getgid(); - - /** - * Returns the effective group ID of the calling process, - * or -1 if the value is not available. - */ - public static native long getegid(); - - /** - * Get a nanosecond time stamp adjustment in the form of a single long. - * - * This value can be used to create an instant using - * {@link java.time.Instant#ofEpochSecond(long, long) - * java.time.Instant.ofEpochSecond(offsetInSeconds, - * getNanoTimeAdjustment(offsetInSeconds))}. - *

- * The value returned has the best resolution available to the JVM on - * the current system. - * This is usually down to microseconds - or tenth of microseconds - - * depending on the OS/Hardware and the JVM implementation. - * - * @param offsetInSeconds The offset in seconds from which the nanosecond - * time stamp should be computed. - * - * @apiNote The offset should be recent enough - so that - * {@code offsetInSeconds} is within {@code +/- 2^32} seconds of the - * current UTC time. If the offset is too far off, {@code -1} will be - * returned. As such, {@code -1} must not be considered as a valid - * nano time adjustment, but as an exception value indicating - * that an offset closer to the current time should be used. - * - * @return A nanosecond time stamp adjustment in the form of a single long. - * If the offset is too far off the current time, this method returns -1. - * In that case, the caller should call this method again, passing a - * more accurate offset. - */ - public static native long getNanoTimeAdjustment(long offsetInSeconds); - - static { - initialize(); - } - private static native void initialize(); -} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/sun/misc/VMNotification.java --- a/jdk/src/java.base/share/classes/sun/misc/VMNotification.java Tue Jan 12 18:02:07 2016 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -/* - * Copyright (c) 1996, 2004, 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. - */ - -package sun.misc; - -/** @deprecated */ -@Deprecated -public interface VMNotification { - - // when the vm switches allocation states, we get notified - // (possible semantics: if the state changes while in this - // notification, don't recursively notify). - // oldState and newState may be the same if we are just releasing - // suspended threads. - void newAllocState(int oldState, int newState, - boolean threadsSuspended); -} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/sun/net/www/http/HttpClient.java --- a/jdk/src/java.base/share/classes/sun/net/www/http/HttpClient.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/sun/net/www/http/HttpClient.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1994, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1994, 2016, 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 @@ -967,12 +967,6 @@ return ""; } - @Override - protected void finalize() throws Throwable { - // This should do nothing. The stream finalizer will - // close the fd. - } - public void setDoNotRetry(boolean value) { // failedOnce is used to determine if a request should be retried. failedOnce = value; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/sun/net/www/protocol/jar/URLJarFile.java --- a/jdk/src/java.base/share/classes/sun/net/www/protocol/jar/URLJarFile.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/sun/net/www/protocol/jar/URLJarFile.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2016, 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 @@ -108,13 +108,6 @@ return false; } - /* - * close the jar file. - */ - protected void finalize() throws IOException { - close(); - } - /** * Returns the ZipEntry for the given entry name or * null if not found. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/sun/nio/ch/Util.java --- a/jdk/src/java.base/share/classes/sun/nio/ch/Util.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/sun/nio/ch/Util.java Tue Jan 12 13:13:16 2016 -0800 @@ -389,7 +389,7 @@ static boolean atBugLevel(String bl) { // package-private if (bugLevel == null) { - if (!sun.misc.VM.isBooted()) + if (!jdk.internal.misc.VM.isBooted()) return false; String value = AccessController.doPrivileged( new GetPropertyAction("sun.nio.ch.bugLevel")); diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/sun/nio/cs/StandardCharsets.java.template --- a/jdk/src/java.base/share/classes/sun/nio/cs/StandardCharsets.java.template Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/sun/nio/cs/StandardCharsets.java.template Tue Jan 12 13:13:16 2016 -0800 @@ -156,12 +156,12 @@ private boolean initialized = false; - /* provider the sun.nio.cs.map property fir sjis/ms932 mapping hack + /* provider the sun.nio.cs.map property fir sjis/ms932 mapping hack */ private void init() { if (initialized) return; - if (!sun.misc.VM.isBooted()) + if (!jdk.internal.misc.VM.isBooted()) return; initialized = true; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/sun/reflect/Reflection.java --- a/jdk/src/java.base/share/classes/sun/reflect/Reflection.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/sun/reflect/Reflection.java Tue Jan 12 13:13:16 2016 -0800 @@ -29,6 +29,7 @@ import java.util.HashMap; import java.util.Map; import jdk.internal.HotSpotIntrinsicCandidate; +import jdk.internal.misc.VM; /** Common utility routines used by both java.lang and java.lang.reflect */ @@ -335,7 +336,7 @@ */ public static boolean isCallerSensitive(Method m) { final ClassLoader loader = m.getDeclaringClass().getClassLoader(); - if (sun.misc.VM.isSystemDomainLoader(loader) || isExtClassLoader(loader)) { + if (VM.isSystemDomainLoader(loader) || isExtClassLoader(loader)) { return m.isAnnotationPresent(CallerSensitive.class); } return false; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java --- a/jdk/src/java.base/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/classes/sun/security/ssl/SignatureAndHashAlgorithm.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2010, 2016, 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 @@ -153,13 +153,11 @@ getSupportedAlgorithms(AlgorithmConstraints constraints) { Collection supported = new ArrayList<>(); - synchronized (priorityMap) { - for (SignatureAndHashAlgorithm sigAlg : priorityMap.values()) { - if (sigAlg.priority <= SUPPORTED_ALG_PRIORITY_MAX_NUM && - constraints.permits(SIGNATURE_PRIMITIVE_SET, - sigAlg.algorithm, null)) { - supported.add(sigAlg); - } + for (SignatureAndHashAlgorithm sigAlg : priorityMap.values()) { + if (sigAlg.priority <= SUPPORTED_ALG_PRIORITY_MAX_NUM && + constraints.permits(SIGNATURE_PRIMITIVE_SET, + sigAlg.algorithm, null)) { + supported.add(sigAlg); } } @@ -417,14 +415,12 @@ supports(HashAlgorithm.SHA1, SignatureAlgorithm.ECDSA, "SHA1withECDSA", --p); - if (Security.getProvider("SunMSCAPI") == null) { supports(HashAlgorithm.SHA224, SignatureAlgorithm.DSA, "SHA224withDSA", --p); supports(HashAlgorithm.SHA224, SignatureAlgorithm.RSA, "SHA224withRSA", --p); supports(HashAlgorithm.SHA224, SignatureAlgorithm.ECDSA, "SHA224withECDSA", --p); - } supports(HashAlgorithm.SHA256, SignatureAlgorithm.DSA, "SHA256withDSA", --p); diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/native/libjava/MessageUtils.c --- a/jdk/src/java.base/share/native/libjava/MessageUtils.c Tue Jan 12 18:02:07 2016 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,82 +0,0 @@ -/* - * 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 - * 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 -#include -#include -#include -#include -#include - -#include "sun_misc_MessageUtils.h" - -static void -printToFile(JNIEnv *env, jstring s, FILE *file) -{ - char *sConverted; - int length = 0; - int i; - const jchar *sAsArray; - - if (s == NULL) { - s = (*env)->NewStringUTF(env, "null"); - if (s == NULL) return; - } - - sAsArray = (*env)->GetStringChars(env, s, NULL); - if (!sAsArray) - return; - length = (*env)->GetStringLength(env, s); - if (length == 0) { - (*env)->ReleaseStringChars(env, s, sAsArray); - return; - } - sConverted = (char *) malloc(length + 1); - if (!sConverted) { - (*env)->ReleaseStringChars(env, s, sAsArray); - JNU_ThrowOutOfMemoryError(env, NULL); - return; - } - - for(i = 0; i < length; i++) { - sConverted[i] = (0x7f & sAsArray[i]); - } - sConverted[length] = '\0'; - jio_fprintf(file, "%s", sConverted); - (*env)->ReleaseStringChars(env, s, sAsArray); - free(sConverted); -} - -JNIEXPORT void JNICALL -Java_sun_misc_MessageUtils_toStderr(JNIEnv *env, jclass cls, jstring s) -{ - printToFile(env, s, stderr); -} - -JNIEXPORT void JNICALL -Java_sun_misc_MessageUtils_toStdout(JNIEnv *env, jclass cls, jstring s) -{ - printToFile(env, s, stdout); -} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/native/libjava/RandomAccessFile.c --- a/jdk/src/java.base/share/native/libjava/RandomAccessFile.c Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/native/libjava/RandomAccessFile.c Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -103,23 +103,19 @@ JNIEXPORT jlong JNICALL Java_java_io_RandomAccessFile_length(JNIEnv *env, jobject this) { + FD fd; - jlong cur = jlong_zero; - jlong end = jlong_zero; + jlong length = jlong_zero; fd = GET_FD(this, raf_fd); if (fd == -1) { JNU_ThrowIOException(env, "Stream Closed"); return -1; } - if ((cur = IO_Lseek(fd, 0L, SEEK_CUR)) == -1) { - JNU_ThrowIOExceptionWithLastError(env, "Seek failed"); - } else if ((end = IO_Lseek(fd, 0L, SEEK_END)) == -1) { - JNU_ThrowIOExceptionWithLastError(env, "Seek failed"); - } else if (IO_Lseek(fd, cur, SEEK_SET) == -1) { - JNU_ThrowIOExceptionWithLastError(env, "Seek failed"); + if ((length = IO_GetLength(fd)) == -1) { + JNU_ThrowIOExceptionWithLastError(env, "GetLength failed"); } - return end; + return length; } JNIEXPORT void JNICALL diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/native/libjava/StringCoding.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/java.base/share/native/libjava/StringCoding.c Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,75 @@ +/* + * 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 + * 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 +#include +#include +#include +#include + +#include "java_lang_StringCoding.h" + +static void +printToFile(JNIEnv *env, jstring s, FILE *file) +{ + char *sConverted; + int length = 0; + int i; + const jchar *sAsArray; + + if (s == NULL) { + JNU_ThrowNullPointerException(env, NULL); + return; + } + + sAsArray = (*env)->GetStringChars(env, s, NULL); + if (!sAsArray) + return; + length = (*env)->GetStringLength(env, s); + if (length == 0) { + (*env)->ReleaseStringChars(env, s, sAsArray); + return; + } + sConverted = (char *) malloc(length + 1); + if (!sConverted) { + (*env)->ReleaseStringChars(env, s, sAsArray); + JNU_ThrowOutOfMemoryError(env, NULL); + return; + } + + for(i = 0; i < length; i++) { + sConverted[i] = (0x7f & sAsArray[i]); + } + sConverted[length] = '\0'; + jio_fprintf(file, "%s", sConverted); + (*env)->ReleaseStringChars(env, s, sAsArray); + free(sConverted); +} + +JNIEXPORT void JNICALL +Java_java_lang_StringCoding_err(JNIEnv *env, jclass cls, jstring s) +{ + printToFile(env, s, stderr); +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/share/native/libjava/VM.c --- a/jdk/src/java.base/share/native/libjava/VM.c Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/share/native/libjava/VM.c Tue Jan 12 13:13:16 2016 -0800 @@ -28,7 +28,7 @@ #include "jvm.h" #include "jdk_util.h" -#include "sun_misc_VM.h" +#include "jdk_internal_misc_VM.h" /* Only register the performance-critical methods */ static JNINativeMethod methods[] = { @@ -36,12 +36,12 @@ }; JNIEXPORT jobject JNICALL -Java_sun_misc_VM_latestUserDefinedLoader(JNIEnv *env, jclass cls) { +Java_jdk_internal_misc_VM_latestUserDefinedLoader(JNIEnv *env, jclass cls) { return JVM_LatestUserDefinedLoader(env); } JNIEXPORT void JNICALL -Java_sun_misc_VM_initialize(JNIEnv *env, jclass cls) { +Java_jdk_internal_misc_VM_initialize(JNIEnv *env, jclass cls) { if (!JDK_InitJvmHandle()) { JNU_ThrowInternalError(env, "Handle for JVM not found for symbol lookup"); return; @@ -50,8 +50,8 @@ // Registers implementations of native methods described in methods[] // above. // In particular, registers JVM_GetNanoTimeAdjustment as the implementation - // of the native sun.misc.VM.getNanoTimeAdjustment - avoiding the cost of - // introducing a Java_sun_misc_VM_getNanoTimeAdjustment wrapper + // of the native VM.getNanoTimeAdjustment - avoiding the cost of + // introducing a Java_jdk_internal_misc_VM_getNanoTimeAdjustment wrapper (*env)->RegisterNatives(env, cls, methods, sizeof(methods)/sizeof(methods[0])); } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/unix/classes/jdk/internal/misc/OSEnvironment.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/java.base/unix/classes/jdk/internal/misc/OSEnvironment.java Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2005, 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. + */ + +package jdk.internal.misc; + +public class OSEnvironment { + + /* + * Initialize any miscellaneous operating system settings that need to be set + * for the class libraries. + */ + public static void initialize() { + // no-op on Solaris and Linux + } + +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/unix/classes/sun/misc/OSEnvironment.java --- a/jdk/src/java.base/unix/classes/sun/misc/OSEnvironment.java Tue Jan 12 18:02:07 2016 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -/* - * Copyright (c) 2005, 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. - */ - -package sun.misc; - -public class OSEnvironment { - - /* - * Initialize any miscellenous operating system settings that need to be set - * for the class libraries. - */ - public static void initialize() { - // no-op on Solaris and Linux - } - -} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/unix/native/libjava/VM_md.c --- a/jdk/src/java.base/unix/native/libjava/VM_md.c Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/unix/native/libjava/VM_md.c Tue Jan 12 13:13:16 2016 -0800 @@ -28,25 +28,25 @@ JNIEXPORT jlong JNICALL -Java_sun_misc_VM_getuid(JNIEnv *env, jclass thisclass) { +Java_jdk_internal_misc_VM_getuid(JNIEnv *env, jclass thisclass) { return getuid(); } JNIEXPORT jlong JNICALL -Java_sun_misc_VM_geteuid(JNIEnv *env, jclass thisclass) { +Java_jdk_internal_misc_VM_geteuid(JNIEnv *env, jclass thisclass) { return geteuid(); } JNIEXPORT jlong JNICALL -Java_sun_misc_VM_getgid(JNIEnv *env, jclass thisclass) { +Java_jdk_internal_misc_VM_getgid(JNIEnv *env, jclass thisclass) { return getgid(); } JNIEXPORT jlong JNICALL -Java_sun_misc_VM_getegid(JNIEnv *env, jclass thisclass) { +Java_jdk_internal_misc_VM_getegid(JNIEnv *env, jclass thisclass) { return getegid(); } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/unix/native/libjava/io_util_md.c --- a/jdk/src/java.base/unix/native/libjava/io_util_md.c Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/unix/native/libjava/io_util_md.c Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -22,7 +22,6 @@ * or visit www.oracle.com if you need additional information or have any * questions. */ - #include "jni.h" #include "jni_util.h" #include "jvm.h" @@ -219,3 +218,14 @@ RESTARTABLE(ftruncate64(fd, length), result); return result; } + +jlong +handleGetLength(FD fd) +{ + struct stat64 sb; + if (fstat64(fd, &sb) == 0) { + return sb.st_size; + } else { + return -1; + } +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/unix/native/libjava/io_util_md.h --- a/jdk/src/java.base/unix/native/libjava/io_util_md.h Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/unix/native/libjava/io_util_md.h Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -39,7 +39,7 @@ ssize_t handleRead(FD fd, void *buf, jint len); jint handleAvailable(FD fd, jlong *pbytes); jint handleSetLength(FD fd, jlong length); - +jlong handleGetLength(FD fd); FD handleOpen(const char *path, int oflag, int mode); /* @@ -72,6 +72,7 @@ #define IO_Append handleWrite #define IO_Available handleAvailable #define IO_SetLength handleSetLength +#define IO_GetLength handleGetLength #ifdef _ALLBSD_SOURCE #define open64 open diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/unix/native/libnio/ch/NativeThread.c --- a/jdk/src/java.base/unix/native/libnio/ch/NativeThread.c Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/unix/native/libnio/ch/NativeThread.c Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2002, 2006, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2002, 2016, 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 @@ -93,6 +93,10 @@ #else ret = pthread_kill((pthread_t)thread, INTERRUPT_SIGNAL); #endif +#ifdef MACOSX + if (ret != 0 && ret != ESRCH) +#else if (ret != 0) +#endif JNU_ThrowIOExceptionWithLastError(env, "Thread signal failed"); } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/windows/classes/java/lang/ProcessImpl.java --- a/jdk/src/java.base/windows/classes/java/lang/ProcessImpl.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/windows/classes/java/lang/ProcessImpl.java Tue Jan 12 13:13:16 2016 -0800 @@ -42,8 +42,10 @@ import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; + import jdk.internal.misc.JavaIOFileDescriptorAccess; import jdk.internal.misc.SharedSecrets; +import jdk.internal.ref.CleanerFactory; /* This class is for the exclusive use of ProcessBuilder.start() to * create new processes. @@ -417,6 +419,10 @@ handle = create(cmdstr, envblock, path, stdHandles, redirectErrorStream); + // Register a cleaning function to close the handle + final long local_handle = handle; // local to prevent capture of this + CleanerFactory.cleaner().register(this, () -> closeHandle(local_handle)); + processHandle = ProcessHandleImpl.getInternal(getProcessId0(handle)); java.security.AccessController.doPrivileged( @@ -463,10 +469,6 @@ return stderr_stream; } - protected void finalize() { - closeHandle(handle); - } - private static final int STILL_ACTIVE = getStillActive(); private static native int getStillActive(); diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/windows/classes/jdk/internal/misc/OSEnvironment.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/java.base/windows/classes/jdk/internal/misc/OSEnvironment.java Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2005, 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. + */ + +package jdk.internal.misc; + +import sun.io.Win32ErrorMode; + +public class OSEnvironment { + + /* + * Initialize any miscellaneous operating system settings that need to be set + * for the class libraries. + *

+ * At this time only the process-wide error mode needs to be set. + */ + public static void initialize() { + Win32ErrorMode.initialize(); + } + +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/windows/classes/sun/io/Win32ErrorMode.java --- a/jdk/src/java.base/windows/classes/sun/io/Win32ErrorMode.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/windows/classes/sun/io/Win32ErrorMode.java Tue Jan 12 13:13:16 2016 -0800 @@ -66,7 +66,7 @@ * has completed. */ public static void initialize() { - if (!sun.misc.VM.isBooted()) { + if (!jdk.internal.misc.VM.isBooted()) { String s = System.getProperty("sun.io.allowCriticalErrorMessageBox"); if (s == null || s.equals(Boolean.FALSE.toString())) { long mode = setErrorMode(0); diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/windows/classes/sun/misc/OSEnvironment.java --- a/jdk/src/java.base/windows/classes/sun/misc/OSEnvironment.java Tue Jan 12 18:02:07 2016 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2005, 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. - */ - -package sun.misc; - -import sun.io.Win32ErrorMode; - -public class OSEnvironment { - - /* - * Initialize any miscellenous operating system settings that need to be set - * for the class libraries. - *

- * At this time only the process-wide error mode needs to be set. - */ - public static void initialize() { - Win32ErrorMode.initialize(); - } - -} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/windows/native/libjava/VM_md.c --- a/jdk/src/java.base/windows/native/libjava/VM_md.c Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/windows/native/libjava/VM_md.c Tue Jan 12 13:13:16 2016 -0800 @@ -27,28 +27,28 @@ JNIEXPORT jlong JNICALL -Java_sun_misc_VM_getuid(JNIEnv *env, jclass thisclass) { +Java_jdk_internal_misc_VM_getuid(JNIEnv *env, jclass thisclass) { /* -1 means function not available. */ return -1; } JNIEXPORT jlong JNICALL -Java_sun_misc_VM_geteuid(JNIEnv *env, jclass thisclass) { +Java_jdk_internal_misc_VM_geteuid(JNIEnv *env, jclass thisclass) { /* -1 means function not available. */ return -1; } JNIEXPORT jlong JNICALL -Java_sun_misc_VM_getgid(JNIEnv *env, jclass thisclass) { +Java_jdk_internal_misc_VM_getgid(JNIEnv *env, jclass thisclass) { /* -1 means function not available. */ return -1; } JNIEXPORT jlong JNICALL -Java_sun_misc_VM_getegid(JNIEnv *env, jclass thisclass) { +Java_jdk_internal_misc_VM_getegid(JNIEnv *env, jclass thisclass) { /* -1 means function not available. */ return -1; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/windows/native/libjava/io_util_md.c --- a/jdk/src/java.base/windows/native/libjava/io_util_md.c Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/windows/native/libjava/io_util_md.c Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -584,3 +584,14 @@ } return long_to_jlong(pos.QuadPart); } + +jlong +handleGetLength(FD fd) { + HANDLE h = (HANDLE) fd; + LARGE_INTEGER length; + if (GetFileSizeEx(h, &length) != 0) { + return long_to_jlong(length.QuadPart); + } else { + return -1; + } +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.base/windows/native/libjava/io_util_md.h --- a/jdk/src/java.base/windows/native/libjava/io_util_md.h Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.base/windows/native/libjava/io_util_md.h Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -44,6 +44,7 @@ int handleAvailable(FD fd, jlong *pbytes); int handleSync(FD fd); int handleSetLength(FD fd, jlong length); +jlong handleGetLength(FD fd); JNIEXPORT jint handleRead(FD fd, void *buf, jint len); jint handleWrite(FD fd, const void *buf, jint len); jint handleAppend(FD fd, const void *buf, jint len); @@ -84,6 +85,7 @@ #define IO_Lseek handleLseek #define IO_Available handleAvailable #define IO_SetLength handleSetLength +#define IO_GetLength handleGetLength /* * Setting the handle field in Java_java_io_FileDescriptor_set for diff -r 21c2a1c93810 -r 9ff296647fde 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 Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/parser/Parser.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,8 +35,6 @@ import java.util.Enumeration; import java.net.URL; -import sun.misc.MessageUtils; - /** * A simple DTD-driven HTML parser. The parser reads an * HTML file from an InputStream and calls various methods diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.desktop/share/classes/sun/applet/AppletPanel.java --- a/jdk/src/java.desktop/share/classes/sun/applet/AppletPanel.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.desktop/share/classes/sun/applet/AppletPanel.java Tue Jan 12 13:13:16 2016 -0800 @@ -44,7 +44,6 @@ import sun.awt.EmbeddedFrame; import sun.awt.SunToolkit; import sun.misc.ManagedLocalsThread; -import sun.misc.MessageUtils; import sun.misc.PerformanceLogger; import sun.security.util.SecurityConstants; @@ -118,8 +117,6 @@ */ Dimension currentAppletSize = new Dimension(10, 10); - MessageUtils mu = new MessageUtils(); - /** * The thread to use during applet loading */ diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.logging/share/classes/java/util/logging/FileHandler.java --- a/jdk/src/java.logging/share/classes/java/util/logging/FileHandler.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.logging/share/classes/java/util/logging/FileHandler.java Tue Jan 12 13:13:16 2016 -0800 @@ -639,7 +639,7 @@ continue; } else if (ch2 == 'h') { file = new File(System.getProperty("user.home")); - if (sun.misc.VM.isSetUID()) { + if (jdk.internal.misc.VM.isSetUID()) { // Ok, we are in a set UID program. For safety's sake // we disallow attempts to open files relative to %h. throw new IOException("can't use %h in set UID program"); diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.management/share/classes/java/lang/management/ManagementFactory.java --- a/jdk/src/java.management/share/classes/java/lang/management/ManagementFactory.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.management/share/classes/java/lang/management/ManagementFactory.java Tue Jan 12 13:13:16 2016 -0800 @@ -583,7 +583,7 @@ ClassLoader loader = AccessController.doPrivileged( (PrivilegedAction) () -> cls.getClassLoader()); - if (!sun.misc.VM.isSystemDomainLoader(loader)) { + if (!jdk.internal.misc.VM.isSystemDomainLoader(loader)) { throw new IllegalArgumentException(mxbeanName + " is not a platform MXBean"); } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.management/share/classes/sun/management/ManagementFactoryHelper.java --- a/jdk/src/java.management/share/classes/sun/management/ManagementFactoryHelper.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.management/share/classes/sun/management/ManagementFactoryHelper.java Tue Jan 12 13:13:16 2016 -0800 @@ -473,7 +473,7 @@ public static Thread.State toThreadState(int state) { // suspended and native bits may be set in state int threadStatus = state & ~JMM_THREAD_STATE_FLAG_MASK; - return sun.misc.VM.toThreadState(threadStatus); + return jdk.internal.misc.VM.toThreadState(threadStatus); } // These values are defined in jmm.h diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.management/share/classes/sun/management/MemoryImpl.java --- a/jdk/src/java.management/share/classes/sun/management/MemoryImpl.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.management/share/classes/sun/management/MemoryImpl.java Tue Jan 12 13:13:16 2016 -0800 @@ -59,7 +59,7 @@ } public int getObjectPendingFinalizationCount() { - return sun.misc.VM.getFinalRefCount(); + return jdk.internal.misc.VM.getFinalRefCount(); } public void gc() { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.rmi/share/classes/sun/rmi/server/MarshalInputStream.java --- a/jdk/src/java.rmi/share/classes/sun/rmi/server/MarshalInputStream.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.rmi/share/classes/sun/rmi/server/MarshalInputStream.java Tue Jan 12 13:13:16 2016 -0800 @@ -262,7 +262,7 @@ * if only code from the null class loader is on the stack. */ private static ClassLoader latestUserDefinedLoader() { - return sun.misc.VM.latestUserDefinedLoader(); + return jdk.internal.misc.VM.latestUserDefinedLoader(); } /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.scripting/share/classes/javax/script/ScriptEngineFactory.java --- a/jdk/src/java.scripting/share/classes/javax/script/ScriptEngineFactory.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.scripting/share/classes/javax/script/ScriptEngineFactory.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,12 +31,14 @@ * ScriptEngineFactory is used to describe and instantiate * ScriptEngines. *

- * Each class implementing ScriptEngine has a corresponding factory - * that exposes metadata describing the engine class. + * Each class implementing ScriptEngine has a corresponding + * factory that exposes metadata describing the engine class. *

The ScriptEngineManager - * uses the service provider mechanism described in the Jar File Specification to obtain - * instances of all ScriptEngineFactories available in - * the current ClassLoader. + * uses the service-provider loader mechanism described in the + * {@link java.util.ServiceLoader} class to obtain + * instances of {@code ScriptEngineFactory} instances. + * See {@link ScriptEngineManager#ScriptEngineManager()} and + * {@link ScriptEngineManager#ScriptEngineManager(java.lang.ClassLoader)}. * * @since 1.6 */ diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.scripting/share/classes/javax/script/ScriptEngineManager.java --- a/jdk/src/java.scripting/share/classes/javax/script/ScriptEngineManager.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.scripting/share/classes/javax/script/ScriptEngineManager.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,7 +33,8 @@ * The ScriptEngineManager implements a discovery and instantiation * mechanism for ScriptEngine classes and also maintains a * collection of key/value pairs storing state shared by all engines created - * by the Manager. This class uses the service provider mechanism to enumerate all the + * by the Manager. This class uses the service provider mechanism described in the + * {@link java.util.ServiceLoader} class to enumerate all the * implementations of ScriptEngineFactory.

* The ScriptEngineManager provides a method to return a list of all these factories * as well as utility methods which look up factories on the basis of language name, file extension @@ -64,7 +65,7 @@ /** * This constructor loads the implementations of * ScriptEngineFactory visible to the given - * ClassLoader using the service provider mechanism.

+ * ClassLoader using the service provider mechanism.

* If loader is null, the script engine factories that are * bundled with the platform are loaded.
* diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.scripting/share/classes/javax/script/package-info.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/java.scripting/share/classes/javax/script/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,94 @@ +/* + * Copyright (c) 2005, 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. + */ + +/** + +

The scripting API consists of interfaces and classes that define +Java™ Scripting Engines and provides +a framework for their use in Java applications. This API is intended +for use by application programmers who wish to execute programs +written in scripting languages in their Java applications. The +scripting language programs are usually provided by the end-users of +the applications. +

+

The main areas of functionality of javax.script +package include +

+
    +
  1. Script execution: Scripts +are streams of characters used as sources for programs executed by +script engines. Script execution uses +{@link javax.script.ScriptEngine#eval eval} methods of +{@link javax.script.ScriptEngine ScriptEngine} and methods of the +{@link javax.script.Invocable Invocable} interface. +

    +
  2. Binding: This facility +allows Java objects to be exposed to script programs as named +variables. {@link javax.script.Bindings Bindings} and +{@link javax.script.ScriptContext ScriptContext} +classes are used for this purpose. +

    +
  3. Compilation: This +functionality allows the intermediate code generated by the +front-end of a script engine to be stored and executed repeatedly. +This benefits applications that execute the same script multiple +times. These applications can gain efficiency since the engines' +front-ends only need to execute once per script rather than once per +script execution. Note that this functionality is optional and +script engines may choose not to implement it. Callers need to check +for availability of the {@link javax.script.Compilable Compilable} +interface using an instanceof check. +

    +
  4. Invocation: This +functionality allows the reuse of intermediate code generated by a +script engine's front-end. Whereas Compilation allows entire scripts +represented by intermediate code to be re-executed, Invocation +functionality allows individual procedures/methods in the scripts to +be re-executed. As in the case with compilation, not all script +engines are required to provide this facility. Caller has to check +for {@link javax.script.Invocable Invocable} availability. +

    +
  5. Script engine discovery: Applications +written to the Scripting API might have specific requirements on +script engines. Some may require a specific scripting language +and/or version while others may require a specific implementation +engine and/or version. Script engines are packaged in a specified +way so that engines can be discovered at runtime and queried for +attributes. The Engine discovery mechanism is based on the service-provider +loading facility described in the {@link java.util.ServiceLoader} class. +{@link javax.script.ScriptEngineManager ScriptEngineManager} +includes +{@link javax.script.ScriptEngineManager#getEngineFactories getEngineFactories} method to get all +{@link javax.script.ScriptEngineFactory ScriptEngineFactory} instances +discovered using this mechanism. ScriptEngineFactory has +methods to query attributes about script engine. +

    +
+ +@since 1.6 +*/ + +package javax.script; + diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.scripting/share/classes/javax/script/package.html --- a/jdk/src/java.scripting/share/classes/javax/script/package.html Tue Jan 12 18:02:07 2016 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,102 +0,0 @@ - - - - - - - -

The scripting API consists of interfaces and classes that define -Java™ Scripting Engines and provides -a framework for their use in Java applications. This API is intended -for use by application programmers who wish to execute programs -written in scripting languages in their Java applications. The -scripting language programs are usually provided by the end-users of -the applications. -

-

The main areas of functionality of javax.script -package include -

-
    -
  1. Script execution: Scripts - are streams of characters used as sources for programs executed by - script engines. Script execution uses - {@link javax.script.ScriptEngine#eval eval} methods of - {@link javax.script.ScriptEngine ScriptEngine} and methods of the - {@link javax.script.Invocable Invocable} interface. -

    -
  2. Binding: This facility - allows Java objects to be exposed to script programs as named - variables. {@link javax.script.Bindings Bindings} and - {@link javax.script.ScriptContext ScriptContext} - classes are used for this purpose. -

    -
  3. Compilation: This - functionality allows the intermediate code generated by the - front-end of a script engine to be stored and executed repeatedly. - This benefits applications that execute the same script multiple - times. These applications can gain efficiency since the engines' - front-ends only need to execute once per script rather than once per - script execution. Note that this functionality is optional and - script engines may choose not to implement it. Callers need to check - for availability of the {@link javax.script.Compilable Compilable} - interface using an instanceof check. -

    -
  4. Invocation: This - functionality allows the reuse of intermediate code generated by a - script engine's front-end. Whereas Compilation allows entire scripts - represented by intermediate code to be re-executed, Invocation - functionality allows individual procedures/methods in the scripts to - be re-executed. As in the case with compilation, not all script - engines are required to provide this facility. Caller has to check - for {@link javax.script.Invocable Invocable} availability. -

    -
  5. Script engine discovery and Metadata: Applications - written to the Scripting API might have specific requirements on - script engines. Some may require a specific scripting language - and/or version while others may require a specific implementation - engine and/or version. Script engines are packaged in a specified - way so that engines can be discovered at runtime and queried for - attributes. The Engine discovery mechanism is based on the Service - discovery mechanism described in the Jar File Specification. - Script engine implementing classes are packaged in jar files that - include a text resource named - META-INF/services/javax.script.ScriptEngineFactory. This - resource must include a line for each - {@link javax.script.ScriptEngineFactory ScriptEngineFactory} - that is packaged in the jar file. - {@link javax.script.ScriptEngineManager ScriptEngineManager} - includes - {@link javax.script.ScriptEngineManager#getEngineFactories getEngineFactories} method to get all - {@link javax.script.ScriptEngineFactory ScriptEngineFactory} instances - discovered using this mechanism. ScriptEngineFactory has - methods to query attributes about script engine. -

    -
- -@since 1.6 - - - diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java --- a/jdk/src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.security.jgss/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java Tue Jan 12 13:13:16 2016 -0800 @@ -397,7 +397,7 @@ */ if (osname != null && !osname.startsWith("Windows")) { - long uid = sun.misc.VM.getuid(); + long uid = jdk.internal.misc.VM.getuid(); if (uid != -1) { name = File.separator + "tmp" + File.separator + stdCacheNameComponent + "_" + uid; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/java.security.jgss/share/classes/sun/security/krb5/internal/rcache/DflCache.java --- a/jdk/src/java.security.jgss/share/classes/sun/security/krb5/internal/rcache/DflCache.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/java.security.jgss/share/classes/sun/security/krb5/internal/rcache/DflCache.java Tue Jan 12 13:13:16 2016 -0800 @@ -60,7 +60,7 @@ * * service_euid * - * in which euid is available as sun.misc.VM.geteuid(). + * in which euid is available as jdk.internal.misc.VM.geteuid(). * * The file has a header: * @@ -107,7 +107,7 @@ private static long uid; static { // Available on Solaris, Linux and Mac. Otherwise, -1 and no _euid suffix - uid = sun.misc.VM.geteuid(); + uid = jdk.internal.misc.VM.geteuid(); } public DflCache (String source) { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AWTEventMonitor.java --- a/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AWTEventMonitor.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AWTEventMonitor.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * level support for capturing the top-level containers as they are created. */ -@jdk.Exported public class AWTEventMonitor { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AccessibilityEventMonitor.java --- a/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AccessibilityEventMonitor.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AccessibilityEventMonitor.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,7 +43,6 @@ * */ -@jdk.Exported public class AccessibilityEventMonitor { // listeners diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AccessibilityListenerList.java --- a/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AccessibilityListenerList.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AccessibilityListenerList.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * */ -@jdk.Exported public class AccessibilityListenerList { /* A null array to be shared by all empty listener lists */ private final static Object[] NULL_ARRAY = new Object[0]; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/EventID.java --- a/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/EventID.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/EventID.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * @see SwingEventMonitor * */ -@jdk.Exported public class EventID { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/EventQueueMonitor.java --- a/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/EventQueueMonitor.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/EventQueueMonitor.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,7 +40,6 @@ * @see AWTEventMonitor * @see SwingEventMonitor */ -@jdk.Exported public class EventQueueMonitor implements AWTEventListener { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/GUIInitializedListener.java --- a/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/GUIInitializedListener.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/GUIInitializedListener.java Tue Jan 12 13:13:16 2016 -0800 @@ -49,7 +49,6 @@ * @see EventQueueMonitor#removeGUIInitializedListener * */ -@jdk.Exported public interface GUIInitializedListener extends EventListener { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/SwingEventMonitor.java --- a/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/SwingEventMonitor.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/SwingEventMonitor.java Tue Jan 12 13:13:16 2016 -0800 @@ -56,7 +56,6 @@ * @see AWTEventMonitor * */ -@jdk.Exported public class SwingEventMonitor extends AWTEventMonitor { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/TopLevelWindowListener.java --- a/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/TopLevelWindowListener.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/TopLevelWindowListener.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,7 +43,6 @@ * @see EventQueueMonitor#removeTopLevelWindowListener * */ -@jdk.Exported public interface TopLevelWindowListener extends EventListener { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/Translator.java --- a/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/Translator.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/Translator.java Tue Jan 12 13:13:16 2016 -0800 @@ -58,7 +58,6 @@ * to implement accessibility features for a toolkit. Instead of relying upon this * code, a toolkit's components should implement interface {@code Accessible} directly. */ -@jdk.Exported public class Translator extends AccessibleContext implements Accessible, AccessibleComponent { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java --- a/jdk/src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java Tue Jan 12 13:13:16 2016 -0800 @@ -53,7 +53,6 @@ * Note: This class has to be public. It's loaded from the VM like this: * Class.forName(atName).newInstance(); */ -@jdk.Exported(false) final public class AccessBridge { private static AccessBridge theAccessBridge; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.attach/share/classes/com/sun/tools/attach/AgentInitializationException.java --- a/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/AgentInitializationException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/AgentInitializationException.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,7 +40,6 @@ * the error returned by the agent's {@code Agent_OnAttach} function. * This error code can be obtained by invoking the {@link #returnValue() returnValue} method. */ -@jdk.Exported public class AgentInitializationException extends Exception { /** use serialVersionUID for interoperability */ diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.attach/share/classes/com/sun/tools/attach/AgentLoadException.java --- a/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/AgentLoadException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/AgentLoadException.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * com.sun.tools.attach.VirtualMachine#loadAgentPath loadAgentPath} methods * if the agent, or agent library, cannot be loaded. */ -@jdk.Exported public class AgentLoadException extends Exception { /** use serialVersionUID for interoperability */ diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.attach/share/classes/com/sun/tools/attach/AttachNotSupportedException.java --- a/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/AttachNotSupportedException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/AttachNotSupportedException.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * AttachProvider.attachVirtualMachine} if the provider attempts to * attach to a Java virtual machine with which it not comptatible. */ -@jdk.Exported public class AttachNotSupportedException extends Exception { /** use serialVersionUID for interoperability */ diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.attach/share/classes/com/sun/tools/attach/AttachOperationFailedException.java --- a/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/AttachOperationFailedException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/AttachOperationFailedException.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * * @since 1.9 */ -@jdk.Exported public class AttachOperationFailedException extends IOException { private static final long serialVersionUID = 2140308168167478043L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.attach/share/classes/com/sun/tools/attach/AttachPermission.java --- a/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/AttachPermission.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/AttachPermission.java Tue Jan 12 13:13:16 2016 -0800 @@ -79,7 +79,6 @@ * @see com.sun.tools.attach.spi.AttachProvider */ -@jdk.Exported public final class AttachPermission extends java.security.BasicPermission { /** use serialVersionUID for interoperability */ diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.attach/share/classes/com/sun/tools/attach/VirtualMachine.java --- a/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/VirtualMachine.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/VirtualMachine.java Tue Jan 12 13:13:16 2016 -0800 @@ -96,7 +96,6 @@ * @since 1.6 */ -@jdk.Exported public abstract class VirtualMachine { private AttachProvider provider; private String id; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.attach/share/classes/com/sun/tools/attach/VirtualMachineDescriptor.java --- a/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/VirtualMachineDescriptor.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/VirtualMachineDescriptor.java Tue Jan 12 13:13:16 2016 -0800 @@ -55,7 +55,6 @@ * * @since 1.6 */ -@jdk.Exported public class VirtualMachineDescriptor { private AttachProvider provider; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.attach/share/classes/com/sun/tools/attach/package-info.java --- a/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,5 +38,4 @@ * @since 1.6 */ -@jdk.Exported package com.sun.tools.attach; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.attach/share/classes/com/sun/tools/attach/spi/AttachProvider.java --- a/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/spi/AttachProvider.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/spi/AttachProvider.java Tue Jan 12 13:13:16 2016 -0800 @@ -74,7 +74,6 @@ * @since 1.6 */ -@jdk.Exported public abstract class AttachProvider { private static final Object lock = new Object(); diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.attach/share/classes/com/sun/tools/attach/spi/package-info.java --- a/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/spi/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.attach/share/classes/com/sun/tools/attach/spi/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,5 +31,4 @@ * @since 1.6 */ -@jdk.Exported package com.sun.tools.attach.spi; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.charsets/share/classes/sun/nio/cs/ext/ExtendedCharsets.java.template --- a/jdk/src/jdk.charsets/share/classes/sun/nio/cs/ext/ExtendedCharsets.java.template Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.charsets/share/classes/sun/nio/cs/ext/ExtendedCharsets.java.template Tue Jan 12 13:13:16 2016 -0800 @@ -97,7 +97,7 @@ protected void init() { if (initialized) return; - if (!sun.misc.VM.isBooted()) + if (!jdk.internal.misc.VM.isBooted()) return; String map = getProperty("sun.nio.cs.map"); diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/Authenticator.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/Authenticator.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/Authenticator.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * Note. This implies that any caching of credentials or other authentication * information must be done outside of this class. */ -@jdk.Exported public abstract class Authenticator { /** @@ -48,7 +47,6 @@ * Indicates an authentication failure. The authentication * attempt has completed. */ - @jdk.Exported public static class Failure extends Result { private int responseCode; @@ -70,7 +68,6 @@ * authenticated user principal can be acquired by calling * getPrincipal(). */ - @jdk.Exported public static class Success extends Result { private HttpPrincipal principal; @@ -92,7 +89,6 @@ * set any necessary response headers in the given HttpExchange * before returning this Retry object. */ - @jdk.Exported public static class Retry extends Result { private int responseCode; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/BasicAuthenticator.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/BasicAuthenticator.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/BasicAuthenticator.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,7 +33,6 @@ * to provide an implementation of {@link #checkCredentials(String,String)} * which is called to verify each incoming request. */ -@jdk.Exported public abstract class BasicAuthenticator extends Authenticator { protected String realm; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/Filter.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/Filter.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/Filter.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * exchange handler. * @since 1.6 */ -@jdk.Exported public abstract class Filter { protected Filter () {} @@ -49,7 +48,6 @@ * Each filter in the chain is given one of these * so it can invoke the next filter in the chain */ - @jdk.Exported public static class Chain { /* the last element in the chain must invoke the users * handler diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/Headers.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/Headers.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/Headers.java Tue Jan 12 13:13:16 2016 -0800 @@ -61,7 +61,6 @@ * as a header line containing the key but no associated value. * @since 1.6 */ -@jdk.Exported public class Headers implements Map> { HashMap> map; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpContext.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpContext.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpContext.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,7 +40,6 @@ * context can be pre- and post-processed by each Filter in the chain. * @since 1.6 */ -@jdk.Exported public abstract class HttpContext { protected HttpContext () { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpExchange.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpExchange.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpExchange.java Tue Jan 12 13:13:16 2016 -0800 @@ -64,7 +64,6 @@ * @since 1.6 */ -@jdk.Exported public abstract class HttpExchange { protected HttpExchange () { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpHandler.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpHandler.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpHandler.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * HTTP exchange is handled by one of these handlers. * @since 1.6 */ -@jdk.Exported public interface HttpHandler { /** * Handle the given request and generate an appropriate response. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpPrincipal.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpPrincipal.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpPrincipal.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,7 +33,6 @@ * Represents a user authenticated by HTTP Basic or Digest * authentication. */ -@jdk.Exported public class HttpPrincipal implements Principal { private String username, realm; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpServer.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpServer.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpServer.java Tue Jan 12 13:13:16 2016 -0800 @@ -87,7 +87,6 @@ * @since 1.6 */ -@jdk.Exported public abstract class HttpServer { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsConfigurator.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsConfigurator.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsConfigurator.java Tue Jan 12 13:13:16 2016 -0800 @@ -67,7 +67,6 @@ * * @since 1.6 */ -@jdk.Exported public class HttpsConfigurator { private SSLContext context; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsExchange.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsExchange.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsExchange.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @since 1.6 */ -@jdk.Exported public abstract class HttpsExchange extends HttpExchange { protected HttpsExchange () { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsParameters.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsParameters.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsParameters.java Tue Jan 12 13:13:16 2016 -0800 @@ -49,7 +49,6 @@ * are used, and any settings made in this object are ignored. * @since 1.6 */ -@jdk.Exported public abstract class HttpsParameters { private String[] cipherSuites; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsServer.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsServer.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsServer.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * @since 1.6 */ -@jdk.Exported public abstract class HttpsServer extends HttpServer { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/package-info.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -123,5 +123,4 @@ @since 1.6 */ -@jdk.Exported package com.sun.net.httpserver; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/spi/HttpServerProvider.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,7 +40,6 @@ * {@link HttpServer} and associated classes. Applications do not normally use * this class. See {@link #provider()} for how providers are found and loaded. */ -@jdk.Exported public abstract class HttpServerProvider { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/spi/package-info.java --- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/spi/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/spi/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -27,5 +27,4 @@ * Provides a pluggable service provider interface, which allows the HTTP server * implementation to be replaced with other implementations. */ -@jdk.Exported package com.sun.net.httpserver.spi; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jartool/share/classes/com/sun/jarsigner/ContentSigner.java --- a/jdk/src/jdk.jartool/share/classes/com/sun/jarsigner/ContentSigner.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jartool/share/classes/com/sun/jarsigner/ContentSigner.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,7 +38,6 @@ * @deprecated This class has been deprecated. */ -@jdk.Exported @Deprecated public abstract class ContentSigner { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jartool/share/classes/com/sun/jarsigner/ContentSignerParameters.java --- a/jdk/src/jdk.jartool/share/classes/com/sun/jarsigner/ContentSignerParameters.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jartool/share/classes/com/sun/jarsigner/ContentSignerParameters.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * @author Vincent Ryan * @deprecated This class has been deprecated. */ -@jdk.Exported @Deprecated public interface ContentSignerParameters { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jartool/share/classes/com/sun/jarsigner/package-info.java --- a/jdk/src/jdk.jartool/share/classes/com/sun/jarsigner/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jartool/share/classes/com/sun/jarsigner/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,5 +35,4 @@ * to sign JAR files. */ -@jdk.Exported package com.sun.jarsigner; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java --- a/jdk/src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSigner.java Tue Jan 12 13:13:16 2016 -0800 @@ -79,7 +79,6 @@ * * @since 1.9 */ -@jdk.Exported public final class JarSigner { /** @@ -88,7 +87,6 @@ * * @since 1.9 */ - @jdk.Exported public static class Builder { // Signer materials: diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSignerException.java --- a/jdk/src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSignerException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jartool/share/classes/jdk/security/jarsigner/JarSignerException.java Tue Jan 12 13:13:16 2016 -0800 @@ -30,7 +30,6 @@ * * @since 1.9 */ -@jdk.Exported public class JarSignerException extends RuntimeException { private static final long serialVersionUID = -4732217075689309530L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jconsole/share/classes/com/sun/tools/jconsole/JConsoleContext.java --- a/jdk/src/jdk.jconsole/share/classes/com/sun/tools/jconsole/JConsoleContext.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jconsole/share/classes/com/sun/tools/jconsole/JConsoleContext.java Tue Jan 12 13:13:16 2016 -0800 @@ -42,7 +42,6 @@ * * @since 1.6 */ -@jdk.Exported public interface JConsoleContext { /** * The {@link ConnectionState ConnectionState} bound property name. @@ -53,7 +52,6 @@ * Values for the {@linkplain #CONNECTION_STATE_PROPERTY * ConnectionState} bound property. */ - @jdk.Exported public enum ConnectionState { /** * The connection has been successfully established. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jconsole/share/classes/com/sun/tools/jconsole/JConsolePlugin.java --- a/jdk/src/jdk.jconsole/share/classes/com/sun/tools/jconsole/JConsolePlugin.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jconsole/share/classes/com/sun/tools/jconsole/JConsolePlugin.java Tue Jan 12 13:13:16 2016 -0800 @@ -72,7 +72,6 @@ * * @since 1.6 */ -@jdk.Exported public abstract class JConsolePlugin { private volatile JConsoleContext context = null; private List listeners = null; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jconsole/share/classes/com/sun/tools/jconsole/package-info.java --- a/jdk/src/jdk.jconsole/share/classes/com/sun/tools/jconsole/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jconsole/share/classes/com/sun/tools/jconsole/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -29,5 +29,4 @@ * @since 1.6 */ -@jdk.Exported package com.sun.tools.jconsole; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/AbsentInformationException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/AbsentInformationException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/AbsentInformationException.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,7 +31,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public class AbsentInformationException extends Exception { private static final long serialVersionUID = 4988939309582416373L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/Accessible.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Accessible.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Accessible.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface Accessible { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ArrayReference.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ArrayReference.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ArrayReference.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface ArrayReference extends ObjectReference { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ArrayType.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ArrayType.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ArrayType.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,7 +38,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface ArrayType extends ReferenceType { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/BooleanType.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/BooleanType.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/BooleanType.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,6 +35,5 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface BooleanType extends PrimitiveType { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/BooleanValue.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/BooleanValue.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/BooleanValue.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface BooleanValue extends PrimitiveValue { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/Bootstrap.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Bootstrap.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Bootstrap.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * @since 1.3 */ -@jdk.Exported public class Bootstrap extends Object { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ByteType.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ByteType.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ByteType.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,6 +35,5 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface ByteType extends PrimitiveType { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ByteValue.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ByteValue.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ByteValue.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,7 +33,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface ByteValue extends PrimitiveValue, Comparable { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/CharType.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/CharType.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/CharType.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,6 +35,5 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface CharType extends PrimitiveType { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/CharValue.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/CharValue.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/CharValue.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface CharValue extends PrimitiveValue, Comparable { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ClassLoaderReference.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ClassLoaderReference.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ClassLoaderReference.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public interface ClassLoaderReference extends ObjectReference { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ClassNotLoadedException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ClassNotLoadedException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ClassNotLoadedException.java Tue Jan 12 13:13:16 2016 -0800 @@ -67,7 +67,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public class ClassNotLoadedException extends Exception { private static final long serialVersionUID = -6242978768444298722L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ClassNotPreparedException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ClassNotPreparedException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ClassNotPreparedException.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public class ClassNotPreparedException extends RuntimeException { private static final long serialVersionUID = -6120698967144079642L; public ClassNotPreparedException() diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ClassObjectReference.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ClassObjectReference.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ClassObjectReference.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public interface ClassObjectReference extends ObjectReference { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ClassType.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ClassType.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ClassType.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface ClassType extends ReferenceType { /** * Gets the superclass of this class. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/DoubleType.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/DoubleType.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/DoubleType.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,6 +35,5 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface DoubleType extends PrimitiveType { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/DoubleValue.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/DoubleValue.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/DoubleValue.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface DoubleValue extends PrimitiveValue, Comparable { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/Field.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Field.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Field.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,7 +38,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface Field extends TypeComponent, Comparable { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/FloatType.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/FloatType.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/FloatType.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,6 +35,5 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface FloatType extends PrimitiveType { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/FloatValue.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/FloatValue.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/FloatValue.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface FloatValue extends PrimitiveValue, Comparable { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/IncompatibleThreadStateException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/IncompatibleThreadStateException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/IncompatibleThreadStateException.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public class IncompatibleThreadStateException extends Exception { private static final long serialVersionUID = 6199174323414551389L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/InconsistentDebugInfoException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InconsistentDebugInfoException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InconsistentDebugInfoException.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public class InconsistentDebugInfoException extends RuntimeException { private static final long serialVersionUID = 7964236415376861808L; public InconsistentDebugInfoException() { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/IntegerType.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/IntegerType.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/IntegerType.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,6 +35,5 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface IntegerType extends PrimitiveType { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/IntegerValue.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/IntegerValue.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/IntegerValue.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface IntegerValue extends PrimitiveValue, Comparable { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/InterfaceType.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InterfaceType.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InterfaceType.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,7 +43,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface InterfaceType extends ReferenceType { /** * Gets the interfaces directly extended by this interface. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/InternalException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InternalException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InternalException.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public class InternalException extends RuntimeException { private static final long serialVersionUID = -9171606393104480607L; private int errorCode; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/InvalidCodeIndexException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InvalidCodeIndexException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InvalidCodeIndexException.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported @Deprecated public class InvalidCodeIndexException extends RuntimeException { private static final long serialVersionUID = 7416010225133747805L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/InvalidLineNumberException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InvalidLineNumberException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InvalidLineNumberException.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported @Deprecated public class InvalidLineNumberException extends RuntimeException { private static final long serialVersionUID = 4048709912372692875L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/InvalidStackFrameException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InvalidStackFrameException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InvalidStackFrameException.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public class InvalidStackFrameException extends RuntimeException { private static final long serialVersionUID = -1919378296505827922L; public InvalidStackFrameException() { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/InvalidTypeException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InvalidTypeException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InvalidTypeException.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public class InvalidTypeException extends Exception { private static final long serialVersionUID = 2256667231949650806L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/InvocationException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InvocationException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/InvocationException.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public class InvocationException extends Exception { private static final long serialVersionUID = 6066780907971918568L; ObjectReference exception; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/JDIPermission.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/JDIPermission.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/JDIPermission.java Tue Jan 12 13:13:16 2016 -0800 @@ -78,7 +78,6 @@ * */ -@jdk.Exported public final class JDIPermission extends java.security.BasicPermission { private static final long serialVersionUID = -6988461416938786271L; /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/LocalVariable.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/LocalVariable.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/LocalVariable.java Tue Jan 12 13:13:16 2016 -0800 @@ -42,7 +42,6 @@ * @since 1.3 */ -@jdk.Exported public interface LocalVariable extends Mirror, Comparable { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/Locatable.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Locatable.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Locatable.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,7 +33,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface Locatable { /** * Returns the {@link Location} of this mirror, if there is diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/Location.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Location.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Location.java Tue Jan 12 13:13:16 2016 -0800 @@ -86,7 +86,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface Location extends Mirror, Comparable { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/LongType.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/LongType.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/LongType.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,6 +35,5 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface LongType extends PrimitiveType { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/LongValue.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/LongValue.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/LongValue.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface LongValue extends PrimitiveValue, Comparable { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/Method.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Method.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Method.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface Method extends TypeComponent, Locatable, Comparable { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/Mirror.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Mirror.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Mirror.java Tue Jan 12 13:13:16 2016 -0800 @@ -56,7 +56,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface Mirror { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/MonitorInfo.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/MonitorInfo.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/MonitorInfo.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * @since 1.6 */ -@jdk.Exported public interface MonitorInfo extends Mirror { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/NativeMethodException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/NativeMethodException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/NativeMethodException.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public class NativeMethodException extends RuntimeException { private static final long serialVersionUID = 3924951669039469992L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ObjectCollectedException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ObjectCollectedException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ObjectCollectedException.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public class ObjectCollectedException extends RuntimeException { private static final long serialVersionUID = -1928428056197269588L; public ObjectCollectedException() { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ObjectReference.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ObjectReference.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ObjectReference.java Tue Jan 12 13:13:16 2016 -0800 @@ -55,7 +55,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface ObjectReference extends Value { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/PathSearchingVirtualMachine.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/PathSearchingVirtualMachine.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/PathSearchingVirtualMachine.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,7 +33,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public interface PathSearchingVirtualMachine extends VirtualMachine { /** * Get the class path for this virtual machine. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/PrimitiveType.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/PrimitiveType.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/PrimitiveType.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,6 +37,5 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface PrimitiveType extends Type { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/PrimitiveValue.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/PrimitiveValue.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/PrimitiveValue.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface PrimitiveValue extends Value { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ReferenceType.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ReferenceType.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ReferenceType.java Tue Jan 12 13:13:16 2016 -0800 @@ -77,7 +77,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface ReferenceType extends Type, Comparable, Accessible { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ShortType.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ShortType.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ShortType.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,6 +35,5 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface ShortType extends PrimitiveType { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ShortValue.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ShortValue.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ShortValue.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface ShortValue extends PrimitiveValue, Comparable { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/StackFrame.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/StackFrame.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/StackFrame.java Tue Jan 12 13:13:16 2016 -0800 @@ -58,7 +58,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface StackFrame extends Mirror, Locatable { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/StringReference.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/StringReference.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/StringReference.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface StringReference extends ObjectReference { /** * Returns the StringReference as a String. The returned string diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ThreadGroupReference.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ThreadGroupReference.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ThreadGroupReference.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface ThreadGroupReference extends ObjectReference { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/ThreadReference.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ThreadReference.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/ThreadReference.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface ThreadReference extends ObjectReference { /** Thread status is unknown */ public final int THREAD_STATUS_UNKNOWN =-1; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/Type.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Type.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Type.java Tue Jan 12 13:13:16 2016 -0800 @@ -127,7 +127,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface Type extends Mirror { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/TypeComponent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/TypeComponent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/TypeComponent.java Tue Jan 12 13:13:16 2016 -0800 @@ -44,7 +44,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface TypeComponent extends Mirror, Accessible { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/VMCannotBeModifiedException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VMCannotBeModifiedException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VMCannotBeModifiedException.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * @author Jim Holmlund * @since 1.5 */ -@jdk.Exported public class VMCannotBeModifiedException extends UnsupportedOperationException { private static final long serialVersionUID = -4063879815130164009L; public VMCannotBeModifiedException() { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/VMDisconnectedException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VMDisconnectedException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VMDisconnectedException.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,7 +33,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public class VMDisconnectedException extends RuntimeException { private static final long serialVersionUID = 2892975269768351637L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/VMMismatchException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VMMismatchException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VMMismatchException.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,7 +33,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public class VMMismatchException extends RuntimeException { private static final long serialVersionUID = 289169358790459564L; public VMMismatchException() { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/VMOutOfMemoryException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VMOutOfMemoryException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VMOutOfMemoryException.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public class VMOutOfMemoryException extends RuntimeException { private static final long serialVersionUID = 71504228548910686L; public VMOutOfMemoryException() { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/Value.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Value.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/Value.java Tue Jan 12 13:13:16 2016 -0800 @@ -168,7 +168,6 @@ * @since 1.3 */ -@jdk.Exported public interface Value extends Mirror { /** * Returns the run-time type of this value. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachine.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachine.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachine.java Tue Jan 12 13:13:16 2016 -0800 @@ -70,7 +70,6 @@ * @author James McIlree * @since 1.3 */ -@jdk.Exported public interface VirtualMachine extends Mirror { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachineManager.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachineManager.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VirtualMachineManager.java Tue Jan 12 13:13:16 2016 -0800 @@ -275,7 +275,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public interface VirtualMachineManager { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/VoidType.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VoidType.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VoidType.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,6 +35,5 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface VoidType extends Type { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/VoidValue.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VoidValue.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/VoidValue.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface VoidValue extends Value { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/AttachingConnector.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/AttachingConnector.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/AttachingConnector.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public interface AttachingConnector extends Connector { /** * Attaches to a running application and returns a diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/Connector.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/Connector.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/Connector.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public interface Connector { /** * Returns a short identifier for the connector. Connector implementors @@ -92,7 +91,6 @@ * {@link Connector.IntegerArgument}, * or {@link Connector.SelectedArgument}. */ - @jdk.Exported public interface Argument extends Serializable { /** * Returns a short, unique identifier for the argument. @@ -158,7 +156,6 @@ * whose value is Boolean. Boolean values are represented * by the localized versions of the strings "true" and "false". */ - @jdk.Exported public interface BooleanArgument extends Argument { /** * Sets the value of the argument. @@ -199,7 +196,6 @@ * whose value is an integer. Integer values are represented * by their corresponding strings. */ - @jdk.Exported public interface IntegerArgument extends Argument { /** * Sets the value of the argument. @@ -261,7 +257,6 @@ * Specification for and value of a Connector argument, * whose value is a String. */ - @jdk.Exported public interface StringArgument extends Argument { /** * Performs basic sanity check of argument. @@ -274,7 +269,6 @@ * Specification for and value of a Connector argument, * whose value is a String selected from a list of choices. */ - @jdk.Exported public interface SelectedArgument extends Argument { /** * Return the possible values for the argument diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/IllegalConnectorArgumentsException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/IllegalConnectorArgumentsException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/IllegalConnectorArgumentsException.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public class IllegalConnectorArgumentsException extends Exception { private static final long serialVersionUID = -3042212603611350941L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/LaunchingConnector.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/LaunchingConnector.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/LaunchingConnector.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public interface LaunchingConnector extends Connector { /** * Launches an application and connects to its VM. Properties diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/ListeningConnector.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/ListeningConnector.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/ListeningConnector.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public interface ListeningConnector extends Connector { /** * Indicates whether this listening connector supports multiple diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/Transport.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/Transport.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/Transport.java Tue Jan 12 13:13:16 2016 -0800 @@ -42,7 +42,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public interface Transport { /** * Returns a short identifier for the transport. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/TransportTimeoutException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/TransportTimeoutException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/TransportTimeoutException.java Tue Jan 12 13:13:16 2016 -0800 @@ -54,7 +54,6 @@ * * @since 1.5 */ -@jdk.Exported public class TransportTimeoutException extends java.io.IOException { private static final long serialVersionUID = 4107035242623365074L; /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/VMStartException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/VMStartException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/VMStartException.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * @author Gordon Hirsch * @since 1.3 */ -@jdk.Exported public class VMStartException extends Exception { private static final long serialVersionUID = 6408644824640801020L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/package-info.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,5 +35,4 @@ * extension. */ -@jdk.Exported package com.sun.jdi.connect; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/ClosedConnectionException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/ClosedConnectionException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/ClosedConnectionException.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * * @since 1.5 */ -@jdk.Exported public class ClosedConnectionException extends java.io.IOException { private static final long serialVersionUID = 3877032124297204774L; /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/Connection.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/Connection.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/Connection.java Tue Jan 12 13:13:16 2016 -0800 @@ -56,7 +56,6 @@ * @since 1.5 */ -@jdk.Exported public abstract class Connection { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/TransportService.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/TransportService.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/TransportService.java Tue Jan 12 13:13:16 2016 -0800 @@ -77,7 +77,6 @@ * @since 1.5 */ -@jdk.Exported public abstract class TransportService { /** @@ -97,7 +96,6 @@ /** * The transport service capabilities. */ - @jdk.Exported public static abstract class Capabilities { /** @@ -231,7 +229,6 @@ * #stopListening stopListening} to stop the transport * service from listening on an address. */ - @jdk.Exported public static abstract class ListenKey { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/package-info.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/connect/spi/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -29,5 +29,4 @@ * implementations. */ -@jdk.Exported package com.sun.jdi.connect.spi; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/AccessWatchpointEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/AccessWatchpointEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/AccessWatchpointEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,6 +37,5 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface AccessWatchpointEvent extends WatchpointEvent { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/BreakpointEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/BreakpointEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/BreakpointEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -47,6 +47,5 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface BreakpointEvent extends LocatableEvent { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ClassPrepareEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ClassPrepareEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ClassPrepareEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface ClassPrepareEvent extends Event { /** * Returns the thread in which this event has occurred. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ClassUnloadEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ClassUnloadEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ClassUnloadEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface ClassUnloadEvent extends Event { /** * Returns the name of the class that has been unloaded. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/Event.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/Event.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/Event.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,7 +43,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface Event extends Mirror { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/EventIterator.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/EventIterator.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/EventIterator.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,7 +40,6 @@ * @since 1.3 */ -@jdk.Exported public interface EventIterator extends Iterator { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/EventQueue.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/EventQueue.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/EventQueue.java Tue Jan 12 13:13:16 2016 -0800 @@ -57,7 +57,6 @@ * @since 1.3 */ -@jdk.Exported public interface EventQueue extends Mirror { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/EventSet.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/EventSet.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/EventSet.java Tue Jan 12 13:13:16 2016 -0800 @@ -126,7 +126,6 @@ * @since 1.3 */ -@jdk.Exported public interface EventSet extends Mirror, Set { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ExceptionEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ExceptionEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ExceptionEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -44,7 +44,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface ExceptionEvent extends LocatableEvent { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/LocatableEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/LocatableEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/LocatableEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface LocatableEvent extends Event, Locatable { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MethodEntryEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MethodEntryEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MethodEntryEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,7 +43,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface MethodEntryEvent extends LocatableEvent { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MethodExitEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MethodExitEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MethodExitEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,7 +40,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface MethodExitEvent extends LocatableEvent { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ModificationWatchpointEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ModificationWatchpointEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ModificationWatchpointEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,7 +38,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface ModificationWatchpointEvent extends WatchpointEvent { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorContendedEnterEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorContendedEnterEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorContendedEnterEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author Swamy Venkataramanappa * @since 1.6 */ -@jdk.Exported public interface MonitorContendedEnterEvent extends LocatableEvent { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorContendedEnteredEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorContendedEnteredEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorContendedEnteredEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,7 +38,6 @@ * @author Swamy Venkataramanappa * @since 1.6 */ -@jdk.Exported public interface MonitorContendedEnteredEvent extends LocatableEvent { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorWaitEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorWaitEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorWaitEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * @author Swamy Venkataramanappa * @since 1.6 */ -@jdk.Exported public interface MonitorWaitEvent extends LocatableEvent { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorWaitedEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorWaitedEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/MonitorWaitedEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * @author Swamy Venkataramanappa * @since 1.6 */ -@jdk.Exported public interface MonitorWaitedEvent extends LocatableEvent { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/StepEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/StepEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/StepEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -46,6 +46,5 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface StepEvent extends LocatableEvent { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ThreadDeathEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ThreadDeathEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ThreadDeathEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface ThreadDeathEvent extends Event { /** * Returns the thread which is terminating. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ThreadStartEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ThreadStartEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/ThreadStartEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -52,7 +52,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface ThreadStartEvent extends Event { /** * Returns the thread which has started. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/VMDeathEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/VMDeathEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/VMDeathEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -68,6 +68,5 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface VMDeathEvent extends Event { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/VMDisconnectEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/VMDisconnectEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/VMDisconnectEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -52,6 +52,5 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface VMDisconnectEvent extends Event { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/VMStartEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/VMStartEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/VMStartEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,7 +43,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface VMStartEvent extends Event { /** * Returns the initial thread of the VM which has started. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/WatchpointEvent.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/WatchpointEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/WatchpointEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface WatchpointEvent extends LocatableEvent { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/package-info.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/event/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,5 +43,4 @@ * extension. */ -@jdk.Exported package com.sun.jdi.event; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/package-info.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -44,5 +44,4 @@ * extension. */ -@jdk.Exported package com.sun.jdi; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/AccessWatchpointRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/AccessWatchpointRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/AccessWatchpointRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -55,6 +55,5 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface AccessWatchpointRequest extends WatchpointRequest { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/BreakpointRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/BreakpointRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/BreakpointRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -46,7 +46,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface BreakpointRequest extends EventRequest, Locatable { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ClassPrepareRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ClassPrepareRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ClassPrepareRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -47,7 +47,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface ClassPrepareRequest extends EventRequest { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ClassUnloadRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ClassUnloadRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ClassUnloadRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -46,7 +46,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface ClassUnloadRequest extends EventRequest { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/DuplicateRequestException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/DuplicateRequestException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/DuplicateRequestException.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,7 +31,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public class DuplicateRequestException extends RuntimeException { private static final long serialVersionUID = -3719784920313411060L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/EventRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/EventRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/EventRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -78,7 +78,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface EventRequest extends Mirror { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/EventRequestManager.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/EventRequestManager.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/EventRequestManager.java Tue Jan 12 13:13:16 2016 -0800 @@ -44,7 +44,6 @@ * @since 1.3 */ -@jdk.Exported public interface EventRequestManager extends Mirror { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ExceptionRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ExceptionRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ExceptionRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,7 +43,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface ExceptionRequest extends EventRequest { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/InvalidRequestStateException.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/InvalidRequestStateException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/InvalidRequestStateException.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public class InvalidRequestStateException extends RuntimeException { private static final long serialVersionUID = -3774632428543322148L; public InvalidRequestStateException() diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MethodEntryRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MethodEntryRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MethodEntryRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -44,7 +44,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface MethodEntryRequest extends EventRequest { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MethodExitRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MethodExitRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MethodExitRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -44,7 +44,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface MethodExitRequest extends EventRequest { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ModificationWatchpointRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ModificationWatchpointRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ModificationWatchpointRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -55,6 +55,5 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface ModificationWatchpointRequest extends WatchpointRequest { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MonitorContendedEnterRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MonitorContendedEnterRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MonitorContendedEnterRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * @author Swamy Venkataramanappa * @since 1.6 */ -@jdk.Exported public interface MonitorContendedEnterRequest extends EventRequest { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MonitorContendedEnteredRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MonitorContendedEnteredRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MonitorContendedEnteredRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * @author Swamy Venkataramanappa * @since 1.6 */ -@jdk.Exported public interface MonitorContendedEnteredRequest extends EventRequest { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MonitorWaitRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MonitorWaitRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MonitorWaitRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * @author Swamy Venkataramanappa * @since 1.6 */ -@jdk.Exported public interface MonitorWaitRequest extends EventRequest { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MonitorWaitedRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MonitorWaitedRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/MonitorWaitedRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * @author Swamy Venkataramanappa * @since 1.6 */ -@jdk.Exported public interface MonitorWaitedRequest extends EventRequest { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/StepRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/StepRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/StepRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,7 +43,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface StepRequest extends EventRequest { /** Step into any newly pushed frames */ diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ThreadDeathRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ThreadDeathRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ThreadDeathRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -44,7 +44,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface ThreadDeathRequest extends EventRequest { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ThreadStartRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ThreadStartRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/ThreadStartRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -44,7 +44,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface ThreadStartRequest extends EventRequest { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/VMDeathRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/VMDeathRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/VMDeathRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -56,7 +56,6 @@ * @author Robert Field * @since 1.4 */ -@jdk.Exported public interface VMDeathRequest extends EventRequest { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/WatchpointRequest.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/WatchpointRequest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/WatchpointRequest.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,7 +38,6 @@ * @author Robert Field * @since 1.3 */ -@jdk.Exported public interface WatchpointRequest extends EventRequest { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/package-info.java --- a/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.jdi/share/classes/com/sun/jdi/request/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -42,5 +42,4 @@ * extension. */ -@jdk.Exported package com.sun.jdi.request; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.management/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java --- a/jdk/src/jdk.management/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.management/share/classes/com/sun/management/GarbageCollectionNotificationInfo.java Tue Jan 12 13:13:16 2016 -0800 @@ -82,7 +82,6 @@ * **/ -@jdk.Exported public class GarbageCollectionNotificationInfo implements CompositeDataView { private final String gcName; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.management/share/classes/com/sun/management/GarbageCollectorMXBean.java --- a/jdk/src/jdk.management/share/classes/com/sun/management/GarbageCollectorMXBean.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.management/share/classes/com/sun/management/GarbageCollectorMXBean.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * @author Mandy Chung * @since 1.5 */ -@jdk.Exported public interface GarbageCollectorMXBean extends java.lang.management.GarbageCollectorMXBean { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.management/share/classes/com/sun/management/GcInfo.java --- a/jdk/src/jdk.management/share/classes/com/sun/management/GcInfo.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.management/share/classes/com/sun/management/GcInfo.java Tue Jan 12 13:13:16 2016 -0800 @@ -63,7 +63,6 @@ * @author Mandy Chung * @since 1.5 */ -@jdk.Exported public class GcInfo implements CompositeData, CompositeDataView { private final long index; private final long startTime; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.management/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java --- a/jdk/src/jdk.management/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.management/share/classes/com/sun/management/HotSpotDiagnosticMXBean.java Tue Jan 12 13:13:16 2016 -0800 @@ -47,7 +47,6 @@ * * @see java.lang.management.ManagementFactory#getPlatformMXBeans(Class) */ -@jdk.Exported public interface HotSpotDiagnosticMXBean extends PlatformManagedObject { /** * Dumps the heap to the {@code outputFile} file in the same diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.management/share/classes/com/sun/management/OperatingSystemMXBean.java --- a/jdk/src/jdk.management/share/classes/com/sun/management/OperatingSystemMXBean.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.management/share/classes/com/sun/management/OperatingSystemMXBean.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author Mandy Chung * @since 1.5 */ -@jdk.Exported public interface OperatingSystemMXBean extends java.lang.management.OperatingSystemMXBean { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.management/share/classes/com/sun/management/ThreadMXBean.java --- a/jdk/src/jdk.management/share/classes/com/sun/management/ThreadMXBean.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.management/share/classes/com/sun/management/ThreadMXBean.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,7 +38,6 @@ * @since 6u25 */ -@jdk.Exported public interface ThreadMXBean extends java.lang.management.ThreadMXBean { /** * Returns the total CPU time for each thread whose ID is diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.management/share/classes/com/sun/management/UnixOperatingSystemMXBean.java --- a/jdk/src/jdk.management/share/classes/com/sun/management/UnixOperatingSystemMXBean.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.management/share/classes/com/sun/management/UnixOperatingSystemMXBean.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * @author Mandy Chung * @since 1.5 */ -@jdk.Exported public interface UnixOperatingSystemMXBean extends com.sun.management.OperatingSystemMXBean { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.management/share/classes/com/sun/management/VMOption.java --- a/jdk/src/jdk.management/share/classes/com/sun/management/VMOption.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.management/share/classes/com/sun/management/VMOption.java Tue Jan 12 13:13:16 2016 -0800 @@ -52,7 +52,6 @@ * @author Mandy Chung * @since 1.6 */ -@jdk.Exported public class VMOption { private String name; private String value; @@ -65,7 +64,6 @@ * * @since 1.6 */ - @jdk.Exported public enum Origin { /** * The VM option has not been set and its value diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.management/share/classes/com/sun/management/package-info.java --- a/jdk/src/jdk.management/share/classes/com/sun/management/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.management/share/classes/com/sun/management/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,5 +40,4 @@ * @since 1.5 */ -@jdk.Exported package com.sun.management; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/AbstractNotificationHandler.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/AbstractNotificationHandler.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/AbstractNotificationHandler.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * * @since 1.7 */ -@jdk.Exported public class AbstractNotificationHandler implements NotificationHandler { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/Association.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/Association.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/Association.java Tue Jan 12 13:13:16 2016 -0800 @@ -51,7 +51,6 @@ * * @since 1.7 */ -@jdk.Exported public class Association { private final int associationID; private final int maxInStreams; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/AssociationChangeNotification.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/AssociationChangeNotification.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/AssociationChangeNotification.java Tue Jan 12 13:13:16 2016 -0800 @@ -29,7 +29,6 @@ * * @since 1.7 */ -@jdk.Exported public abstract class AssociationChangeNotification implements Notification { @@ -38,7 +37,6 @@ * * @since 1.7 */ - @jdk.Exported public enum AssocChangeEvent { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/HandlerResult.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/HandlerResult.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/HandlerResult.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * * @since 1.7 */ -@jdk.Exported public enum HandlerResult { /** * Try to receieve another message or notification. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/IllegalReceiveException.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/IllegalReceiveException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/IllegalReceiveException.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,7 +31,6 @@ * * @since 1.7 */ -@jdk.Exported public class IllegalReceiveException extends IllegalStateException { private static final long serialVersionUID = 2296619040988576224L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/IllegalUnbindException.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/IllegalUnbindException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/IllegalUnbindException.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,7 +31,6 @@ * * @since 1.7 */ -@jdk.Exported public class IllegalUnbindException extends IllegalStateException { private static final long serialVersionUID = -310540883995532224L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/InvalidStreamException.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/InvalidStreamException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/InvalidStreamException.java Tue Jan 12 13:13:16 2016 -0800 @@ -30,7 +30,6 @@ * * @since 1.7 */ -@jdk.Exported public class InvalidStreamException extends IllegalArgumentException { private static final long serialVersionUID = -9172703378046665558L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/MessageInfo.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/MessageInfo.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/MessageInfo.java Tue Jan 12 13:13:16 2016 -0800 @@ -56,7 +56,6 @@ * * @since 1.7 */ -@jdk.Exported public abstract class MessageInfo { /** * Initializes a new instance of this class. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/Notification.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/Notification.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/Notification.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * * @since 1.7 */ -@jdk.Exported public interface Notification { /** * Returns the association that this notification is applicable to. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/NotificationHandler.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/NotificationHandler.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/NotificationHandler.java Tue Jan 12 13:13:16 2016 -0800 @@ -49,7 +49,6 @@ * * @since 1.7 */ -@jdk.Exported public interface NotificationHandler { /** * Invoked when a notification is received from the SCTP stack. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/PeerAddressChangeNotification.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/PeerAddressChangeNotification.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/PeerAddressChangeNotification.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * * @since 1.7 */ -@jdk.Exported public abstract class PeerAddressChangeNotification implements Notification { @@ -47,7 +46,6 @@ * * @since 1.7 */ - @jdk.Exported public enum AddressChangeEvent { /** * This address is now reachable. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpChannel.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpChannel.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpChannel.java Tue Jan 12 13:13:16 2016 -0800 @@ -134,7 +134,6 @@ * * @since 1.7 */ -@jdk.Exported public abstract class SctpChannel extends AbstractSelectableChannel { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpMultiChannel.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpMultiChannel.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpMultiChannel.java Tue Jan 12 13:13:16 2016 -0800 @@ -134,7 +134,6 @@ * * @since 1.7 */ -@jdk.Exported public abstract class SctpMultiChannel extends AbstractSelectableChannel { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpServerChannel.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpServerChannel.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpServerChannel.java Tue Jan 12 13:13:16 2016 -0800 @@ -68,7 +68,6 @@ * * @since 1.7 */ -@jdk.Exported public abstract class SctpServerChannel extends AbstractSelectableChannel { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpSocketOption.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpSocketOption.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpSocketOption.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,5 +35,4 @@ * * @see SctpStandardSocketOptions */ -@jdk.Exported public interface SctpSocketOption extends SocketOption { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpStandardSocketOptions.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * * @since 1.7 */ -@jdk.Exported public class SctpStandardSocketOptions { private SctpStandardSocketOptions() {} /** @@ -316,7 +315,6 @@ * * @since 1.7 */ - @jdk.Exported public static class InitMaxStreams { private int maxInStreams; private int maxOutStreams; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SendFailedNotification.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SendFailedNotification.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SendFailedNotification.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * * @since 1.7 */ -@jdk.Exported public abstract class SendFailedNotification implements Notification { /** * Initializes a new instance of this class. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/ShutdownNotification.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/ShutdownNotification.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/ShutdownNotification.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * * @since 1.7 */ -@jdk.Exported public abstract class ShutdownNotification implements Notification { /** * Initializes a new instance of this class. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/package-info.java --- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -72,5 +72,4 @@ * @since 1.7 */ -@jdk.Exported package com.sun.nio.sctp; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/LdapPrincipal.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/LdapPrincipal.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/LdapPrincipal.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * * @since 1.6 */ -@jdk.Exported public final class LdapPrincipal implements Principal, java.io.Serializable { private static final long serialVersionUID = 6820120005580754861L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTDomainPrincipal.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTDomainPrincipal.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTDomainPrincipal.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * @see java.security.Principal * @see javax.security.auth.Subject */ -@jdk.Exported public class NTDomainPrincipal implements Principal, java.io.Serializable { private static final long serialVersionUID = -4408637351440771220L; diff -r 21c2a1c93810 -r 9ff296647fde 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 Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTNumericCredential.java Tue Jan 12 13:13:16 2016 -0800 @@ -30,7 +30,6 @@ * and provides a mechanism to do same-process security impersonation. */ -@jdk.Exported public class NTNumericCredential { private long impersonationToken; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSid.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSid.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSid.java Tue Jan 12 13:13:16 2016 -0800 @@ -47,7 +47,6 @@ * @see java.security.Principal * @see javax.security.auth.Subject */ -@jdk.Exported public class NTSid implements Principal, java.io.Serializable { private static final long serialVersionUID = 4412290580770249885L; diff -r 21c2a1c93810 -r 9ff296647fde 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 Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidDomainPrincipal.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,7 +43,6 @@ * @see java.security.Principal * @see javax.security.auth.Subject */ -@jdk.Exported public class NTSidDomainPrincipal extends NTSid { private static final long serialVersionUID = 5247810785821650912L; diff -r 21c2a1c93810 -r 9ff296647fde 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 Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidGroupPrincipal.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,7 +40,6 @@ * @see javax.security.auth.Subject * @see com.sun.security.auth.NTSid */ -@jdk.Exported public class NTSidGroupPrincipal extends NTSid { private static final long serialVersionUID = -1373347438636198229L; diff -r 21c2a1c93810 -r 9ff296647fde 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 Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidPrimaryGroupPrincipal.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @see java.security.Principal * @see javax.security.auth.Subject */ -@jdk.Exported public class NTSidPrimaryGroupPrincipal extends NTSid { private static final long serialVersionUID = 8011978367305190527L; diff -r 21c2a1c93810 -r 9ff296647fde 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 Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTSidUserPrincipal.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @see java.security.Principal * @see javax.security.auth.Subject */ -@jdk.Exported public class NTSidUserPrincipal extends NTSid { private static final long serialVersionUID = -5573239889517749525L; diff -r 21c2a1c93810 -r 9ff296647fde 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 Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/NTUserPrincipal.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * @see java.security.Principal * @see javax.security.auth.Subject */ -@jdk.Exported public class NTUserPrincipal implements Principal, java.io.Serializable { private static final long serialVersionUID = -8737649811939033735L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/PolicyFile.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/PolicyFile.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/PolicyFile.java Tue Jan 12 13:13:16 2016 -0800 @@ -215,7 +215,6 @@ * @see java.security.ProtectionDomain * @see java.security.Security security properties */ -@jdk.Exported(false) @Deprecated public class PolicyFile extends javax.security.auth.Policy { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/PrincipalComparator.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/PrincipalComparator.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/PrincipalComparator.java Tue Jan 12 13:13:16 2016 -0800 @@ -50,7 +50,6 @@ * @see java.security.Principal * @see javax.security.auth.Subject */ -@jdk.Exported public interface PrincipalComparator { /** * Check if the specified {@code Subject} is implied by diff -r 21c2a1c93810 -r 9ff296647fde 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 Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericGroupPrincipal.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * @see java.security.Principal * @see javax.security.auth.Subject */ -@jdk.Exported(false) @Deprecated public class SolarisNumericGroupPrincipal implements Principal, diff -r 21c2a1c93810 -r 9ff296647fde 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 Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisNumericUserPrincipal.java Tue Jan 12 13:13:16 2016 -0800 @@ -44,7 +44,6 @@ * @see java.security.Principal * @see javax.security.auth.Subject */ -@jdk.Exported(false) @Deprecated public class SolarisNumericUserPrincipal implements Principal, diff -r 21c2a1c93810 -r 9ff296647fde 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 Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/SolarisPrincipal.java Tue Jan 12 13:13:16 2016 -0800 @@ -44,7 +44,6 @@ * @see java.security.Principal * @see javax.security.auth.Subject */ -@jdk.Exported(false) @Deprecated public class SolarisPrincipal implements Principal, java.io.Serializable { diff -r 21c2a1c93810 -r 9ff296647fde 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 Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericGroupPrincipal.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * @see java.security.Principal * @see javax.security.auth.Subject */ -@jdk.Exported public class UnixNumericGroupPrincipal implements Principal, java.io.Serializable { diff -r 21c2a1c93810 -r 9ff296647fde 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 Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixNumericUserPrincipal.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * @see java.security.Principal * @see javax.security.auth.Subject */ -@jdk.Exported public class UnixNumericUserPrincipal implements Principal, java.io.Serializable { diff -r 21c2a1c93810 -r 9ff296647fde 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 Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UnixPrincipal.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * @see java.security.Principal * @see javax.security.auth.Subject */ -@jdk.Exported public class UnixPrincipal implements Principal, java.io.Serializable { private static final long serialVersionUID = -2951667807323493631L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UserPrincipal.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UserPrincipal.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/UserPrincipal.java Tue Jan 12 13:13:16 2016 -0800 @@ -42,7 +42,6 @@ * * @since 1.6 */ -@jdk.Exported public final class UserPrincipal implements Principal, java.io.Serializable { private static final long serialVersionUID = 892106070870210969L; diff -r 21c2a1c93810 -r 9ff296647fde 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 Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/X500Principal.java Tue Jan 12 13:13:16 2016 -0800 @@ -49,7 +49,6 @@ * class. * @see javax.security.auth.x500.X500Principal */ -@jdk.Exported(false) @Deprecated public class X500Principal implements Principal, java.io.Serializable { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/callback/TextCallbackHandler.java Tue Jan 12 13:13:16 2016 -0800 @@ -46,7 +46,6 @@ * @see javax.security.auth.callback */ -@jdk.Exported public class TextCallbackHandler implements CallbackHandler { private final CallbackHandler consoleHandler; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/callback/package-info.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/callback/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/callback/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -23,5 +23,4 @@ * questions. */ -@jdk.Exported package com.sun.security.auth.callback; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/login/ConfigFile.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/login/ConfigFile.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/login/ConfigFile.java Tue Jan 12 13:13:16 2016 -0800 @@ -83,7 +83,6 @@ * @see javax.security.auth.login.LoginContext * @see java.security.Security security properties */ -@jdk.Exported public class ConfigFile extends Configuration { private final sun.security.provider.ConfigFile.Spi spi; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/login/package-info.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/login/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/login/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -23,5 +23,4 @@ * questions. */ -@jdk.Exported package com.sun.security.auth.login; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/JndiLoginModule.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/JndiLoginModule.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/JndiLoginModule.java Tue Jan 12 13:13:16 2016 -0800 @@ -151,7 +151,6 @@ * * */ -@jdk.Exported public class JndiLoginModule implements LoginModule { private static final ResourceBundle rb = AccessController.doPrivileged( diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/KeyStoreLoginModule.java Tue Jan 12 13:13:16 2016 -0800 @@ -110,7 +110,6 @@ * * */ -@jdk.Exported public class KeyStoreLoginModule implements LoginModule { private static final ResourceBundle rb = AccessController.doPrivileged( diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/Krb5LoginModule.java Tue Jan 12 13:13:16 2016 -0800 @@ -367,7 +367,6 @@ * @author Ram Marti */ -@jdk.Exported public class Krb5LoginModule implements LoginModule { // initial state diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/LdapLoginModule.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/LdapLoginModule.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/LdapLoginModule.java Tue Jan 12 13:13:16 2016 -0800 @@ -303,7 +303,6 @@ * * @since 1.6 */ -@jdk.Exported public class LdapLoginModule implements LoginModule { // Use the default classloader for this class to load the prompt strings. diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/NTLoginModule.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/NTLoginModule.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/NTLoginModule.java Tue Jan 12 13:13:16 2016 -0800 @@ -57,7 +57,6 @@ * * @see javax.security.auth.spi.LoginModule */ -@jdk.Exported public class NTLoginModule implements LoginModule { private NTSystem ntSystem; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/NTSystem.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/NTSystem.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/NTSystem.java Tue Jan 12 13:13:16 2016 -0800 @@ -30,7 +30,6 @@ * security information for the current user. * */ -@jdk.Exported public class NTSystem { private native void getCurrent(boolean debug); diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/SolarisLoginModule.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/SolarisLoginModule.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/SolarisLoginModule.java Tue Jan 12 13:13:16 2016 -0800 @@ -52,7 +52,6 @@ * UnixLoginModule. * */ -@jdk.Exported(false) @Deprecated public class SolarisLoginModule implements LoginModule { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/SolarisSystem.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/SolarisSystem.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/SolarisSystem.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,7 +31,6 @@ * * @deprecated replaced by {@link UnixSystem}. */ -@jdk.Exported(false) @Deprecated public class SolarisSystem { diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixLoginModule.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixLoginModule.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixLoginModule.java Tue Jan 12 13:13:16 2016 -0800 @@ -47,7 +47,6 @@ * debug messages will be output to the output stream, System.out. * */ -@jdk.Exported public class UnixLoginModule implements LoginModule { // initial state diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixSystem.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixSystem.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/UnixSystem.java Tue Jan 12 13:13:16 2016 -0800 @@ -29,7 +29,6 @@ * This class implementation retrieves and makes available Unix * UID/GID/groups information for the current user. */ -@jdk.Exported public class UnixSystem { private native void getUnixInfo(); diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/package-info.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/module/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -23,5 +23,4 @@ * questions. */ -@jdk.Exported package com.sun.security.auth.module; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/package-info.java --- a/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.auth/share/classes/com/sun/security/auth/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -23,5 +23,4 @@ * questions. */ -@jdk.Exported package com.sun.security.auth; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/AuthorizationDataEntry.java --- a/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/AuthorizationDataEntry.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/AuthorizationDataEntry.java Tue Jan 12 13:13:16 2016 -0800 @@ -28,7 +28,6 @@ /** * Kerberos 5 AuthorizationData entry. */ -@jdk.Exported public final class AuthorizationDataEntry { private final int type; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSContext.java --- a/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSContext.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSContext.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * functionalities not defined by {@code org.ietf.jgss.GSSContext}, * such as querying context-specific attributes. */ -@jdk.Exported public interface ExtendedGSSContext extends GSSContext { // The impl is almost identical to GSSContextImpl with only 2 differences: diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSCredential.java --- a/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSCredential.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSCredential.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,7 +33,6 @@ * functionalities not defined by {@code org.ietf.jgss.GSSCredential}. * @since 1.8 */ -@jdk.Exported public interface ExtendedGSSCredential extends GSSCredential { static class ExtendedGSSCredentialImpl extends GSSCredentialImpl diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/GSSUtil.java --- a/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/GSSUtil.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/GSSUtil.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,7 +33,6 @@ * GSS-API Utilities for using in conjunction with Sun Microsystem's * implementation of Java GSS-API. */ -@jdk.Exported public class GSSUtil { /** diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/InquireSecContextPermission.java --- a/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/InquireSecContextPermission.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/InquireSecContextPermission.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * *

The target name is the {@link InquireType} allowed. */ -@jdk.Exported public final class InquireSecContextPermission extends BasicPermission { private static final long serialVersionUID = -7131173349668647297L; diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/InquireType.java --- a/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/InquireType.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/InquireType.java Tue Jan 12 13:13:16 2016 -0800 @@ -29,7 +29,6 @@ * Attribute types that can be specified as an argument of * {@link com.sun.security.jgss.ExtendedGSSContext#inquireSecContext} */ -@jdk.Exported public enum InquireType { /** * Attribute type for retrieving the session key of an established diff -r 21c2a1c93810 -r 9ff296647fde jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/package-info.java --- a/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -23,5 +23,4 @@ * questions. */ -@jdk.Exported package com.sun.security.jgss; diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/ProblemList.txt --- a/jdk/test/ProblemList.txt Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/ProblemList.txt Tue Jan 12 13:13:16 2016 -0800 @@ -1,6 +1,6 @@ ########################################################################### # -# Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved. +# Copyright (c) 2009, 2016, 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 @@ -299,6 +299,9 @@ # 8074580 sun/security/pkcs11/rsa/TestKeyPairGenerator.java generic-all +# 8146387 +javax/net/ssl/SSLSession/SessionCacheSizeTests.java windows-all,solaris-all + ############################################################################ # jdk_sound diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/TEST.groups --- a/jdk/test/TEST.groups Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/TEST.groups Tue Jan 12 13:13:16 2016 -0800 @@ -77,7 +77,6 @@ sun/misc \ sun/reflect \ jdk/lambda \ - jdk/internal/jimage \ vm # All of the java.util package diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/io/RandomAccessFile/FileLengthTest.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/java/io/RandomAccessFile/FileLengthTest.java Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,137 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * 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 randomAccessFile 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. + */ + +/* + * @test + * @bug 4823133 + * @summary optimize RandomAccessFile.length() and length() is thread safe now. + */ +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.RandomAccessFile; + +/** + * + * @author vyom.tewari@oracle.com + */ +public class FileLengthTest { + + private static final int BUF_SIZE = 4096; + private static RandomAccessFile randomAccessFile; + private static Thread fileLengthCaller; + private static Thread fileContentReader; + private static StringBuilder fileContents; + private static volatile boolean isFailed = false; + + /** + * this thread will call length() in loop + */ + private static void startLengthThread() { + if (randomAccessFile == null) { + return; + } + fileLengthCaller = new Thread(() -> { + while (true) { + try { + long length = randomAccessFile.length(); + if (length < 0) { + return; + } + } catch (IOException ex) { + return; + } + } + }); + fileLengthCaller.setName("RandomAccessFile-length-caller"); + fileLengthCaller.setDaemon(true); + fileLengthCaller.start(); + } + + /** + * this thread will call read() and store the content in internal buffer. + */ + private static void startReaderThread() { + if (randomAccessFile == null) { + return; + } + fileContentReader = new Thread(() -> { + StringBuilder sb = new StringBuilder(BUF_SIZE); + int i; + byte arr[] = new byte[8]; + try { + while ((i = randomAccessFile.read(arr)) != -1) { + sb.append(new String(arr, 0, i)); + } + if (!sb.toString().equals(fileContents.toString())) { + isFailed = true; + } + } catch (IOException ex) { + } + }); + fileContentReader.setName("RandomAccessFile-content-reader"); + fileContentReader.setDaemon(true); + fileContentReader.start(); + } + + public static void main(String args[]) { + byte arr[] = new byte[BUF_SIZE]; + String testFile = "testfile.txt"; + try { + createDummyFile(testFile); + File file = new File(testFile); + file.deleteOnExit(); + randomAccessFile = new RandomAccessFile(file, "r"); + int count = randomAccessFile.read(arr); + randomAccessFile.seek(0); + fileContents = new StringBuilder(BUF_SIZE); + fileContents.append(new String(arr, 0, count)); + startLengthThread(); + startReaderThread(); + fileContentReader.join(); + } catch (FileNotFoundException | InterruptedException ex) { + } catch (IOException ex) { + } finally { + try { + randomAccessFile.close(); + } catch (IOException ex) { + } + } + if (isFailed) { + throw new RuntimeException("RandomAccessFile.length() changed the underlying file pointer."); + } + } + + private static void createDummyFile(String fileName) throws FileNotFoundException, IOException { + try (FileOutputStream outputStream = new FileOutputStream(new File(fileName))) { + String str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; + int count = 0; + while ((count + str.length()) < BUF_SIZE) { + outputStream.write(str.getBytes()); + count += str.length(); + } + outputStream.flush(); + } + } +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/lang/ProcessHandle/Basic.java --- a/jdk/test/java/lang/ProcessHandle/Basic.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/lang/ProcessHandle/Basic.java Tue Jan 12 13:13:16 2016 -0800 @@ -27,8 +27,8 @@ import static org.testng.Assert.fail; import java.io.IOException; +import java.util.List; import java.util.Optional; -import java.util.List; import java.util.stream.Collectors; import org.testng.TestNG; @@ -36,6 +36,8 @@ /* * @test + * @library /test/lib/share/classes + * @run testng InfoTest * @summary Basic tests for ProcessHandler * @author Roger Riggs */ diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/lang/ProcessHandle/InfoTest.java --- a/jdk/test/java/lang/ProcessHandle/InfoTest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/lang/ProcessHandle/InfoTest.java Tue Jan 12 13:13:16 2016 -0800 @@ -21,11 +21,10 @@ * questions. */ +import java.io.BufferedReader; import java.io.File; -import java.io.BufferedReader; import java.io.IOException; import java.io.UncheckedIOException; -import java.lang.ProcessBuilder; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; @@ -40,18 +39,18 @@ import java.util.Random; import java.util.concurrent.TimeUnit; -import jdk.testlibrary.Platform; -import jdk.testlibrary.Utils; - +import jdk.test.lib.Platform; +import jdk.test.lib.Utils; import org.testng.Assert; +import org.testng.TestNG; import org.testng.annotations.Test; -import org.testng.TestNG; /* * @test * @bug 8077350 8081566 8081567 8098852 8136597 - * @build jdk.testlibrary.* - * @library /lib/testlibrary + * @library /test/lib/share/classes + * @build jdk.test.lib.Platform jdk.test.lib.Utils + * @run testng InfoTest * @summary Functions of ProcessHandle.Info * @author Roger Riggs * @key intermittent diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/lang/ProcessHandle/OnExitTest.java --- a/jdk/test/java/lang/ProcessHandle/OnExitTest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/lang/ProcessHandle/OnExitTest.java Tue Jan 12 13:13:16 2016 -0800 @@ -22,7 +22,6 @@ */ import java.io.IOException; -import java.lang.InterruptedException; import java.time.Duration; import java.time.Instant; import java.util.ArrayList; @@ -31,7 +30,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutionException; -import jdk.testlibrary.Utils; +import jdk.test.lib.Utils; import org.testng.annotations.Test; import org.testng.Assert; @@ -39,7 +38,9 @@ /* * @test - * @build jdk.testlibrary.Utils + * @library /test/lib/share/classes + * @build jdk.test.lib.Platform jdk.test.lib.Utils + * @run testng OnExitTest * @summary Functions of Process.onExit and ProcessHandle.onExit * @author Roger Riggs */ diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/lang/ProcessHandle/PermissionTest.java --- a/jdk/test/java/lang/ProcessHandle/PermissionTest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/lang/ProcessHandle/PermissionTest.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,7 +31,6 @@ import java.security.ProtectionDomain; import java.security.SecurityPermission; import java.util.Arrays; -import java.util.Optional; import java.util.PropertyPermission; import org.testng.Assert; @@ -39,6 +38,12 @@ import org.testng.annotations.BeforeGroups; import org.testng.annotations.Test; +/* + * @test + * @run testng/othervm PermissionTest + * @summary Test Permissions to access Info + */ + public class PermissionTest { /** * Backing up policy. diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/lang/ProcessHandle/ProcessUtil.java --- a/jdk/test/java/lang/ProcessHandle/ProcessUtil.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/lang/ProcessHandle/ProcessUtil.java Tue Jan 12 13:13:16 2016 -0800 @@ -23,18 +23,13 @@ import java.io.IOException; import java.lang.management.ManagementFactory; -import java.lang.ProcessBuilder; import java.time.Duration; import java.util.List; -import java.util.Objects; import java.util.stream.Collectors; +import java.util.stream.Stream; import com.sun.management.OperatingSystemMXBean; - -import jdk.testlibrary.Platform; - -import java.util.stream.Collectors; -import java.util.stream.Stream; +import jdk.test.lib.Platform; /** * Useful utilities for testing Process and ProcessHandle. diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/lang/ProcessHandle/TEST.properties --- a/jdk/test/java/lang/ProcessHandle/TEST.properties Tue Jan 12 18:02:07 2016 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,4 +0,0 @@ -# ProcessHandle tests use TestNG -TestNG.dirs = . -lib.dirs = /lib/testlibrary -modules = jdk.management diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/lang/ProcessHandle/TreeTest.java --- a/jdk/test/java/lang/ProcessHandle/TreeTest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/lang/ProcessHandle/TreeTest.java Tue Jan 12 13:13:16 2016 -0800 @@ -23,30 +23,31 @@ import java.io.IOException; -import java.util.ArrayList; import java.time.Duration; import java.time.Instant; +import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.Optional; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CountDownLatch; +import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import java.util.stream.Stream; -import java.util.concurrent.ExecutionException; -import jdk.testlibrary.Utils; + +import jdk.test.lib.Utils; import org.testng.Assert; import org.testng.TestNG; import org.testng.annotations.Test; /* * @test - * @library /lib/testlibrary - * Test counting and JavaChild.spawning and counting of Processes. - * @run testng/othervm InfoTest + * @library /test/lib/share/classes + * @build jdk.test.lib.Utils + * @run testng/othervm TreeTest + * @summary Test counting and JavaChild.spawning and counting of Processes. * @key intermittent * @author Roger Riggs */ diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/lang/StackWalker/LocalsAndOperands.java --- a/jdk/test/java/lang/StackWalker/LocalsAndOperands.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/lang/StackWalker/LocalsAndOperands.java Tue Jan 12 13:13:16 2016 -0800 @@ -86,29 +86,43 @@ System.out.println("frame: " + f); Object[] locals = (Object[]) getLocals.invoke(f); for (int i = 0; i < locals.length; i++) { - System.out.format("local %d: %s type %s%n", i, locals[i], type(locals[i])); + System.out.format(" local %d: %s type %s\n", i, locals[i], type(locals[i])); + + // check for non-null locals in LocalsAndOperands.test() + if (f.getClassName().equals("LocalsAndOperands") && + f.getMethodName().equals("test")) { + if (locals[i] == null) { + throw new RuntimeException("kept-alive locals should not be null"); + } + } } Object[] operands = (Object[]) getOperands.invoke(f); for (int i = 0; i < operands.length; i++) { - System.out.format("operand %d: %s type %s%n", i, operands[i], type(operands[i])); + System.out.format(" operand %d: %s type %s%n", i, operands[i], + type(operands[i])); } Object[] monitors = (Object[]) getMonitors.invoke(f); for (int i = 0; i < monitors.length; i++) { - System.out.format("monitor %d: %s%n", i, monitors[i]); + System.out.format(" monitor %d: %s%n", i, monitors[i]); } } } else { for (StackFrame f : frames) { - if (liveStackFrameClass.isInstance(f)) + if (liveStackFrameClass.isInstance(f)) { throw new RuntimeException("should not be LiveStackFrame"); + } } } + // Use local variables so they stay alive + System.out.println("Stayin' alive: "+x+" "+c+" "+hi+" "+l+" "+d); } String type(Object o) throws Exception { - if (primitiveValueClass.isInstance(o)) { + if (o == null) { + return "null"; + } else if (primitiveValueClass.isInstance(o)) { char c = (char)primitiveType.invoke(o); return String.valueOf(c); } else { diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/lang/invoke/8076596/Test8076596.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/java/lang/invoke/8076596/Test8076596.java Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2015, 2016, 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. + */ + +/* @test + * @bug 8076596 + * @run main/othervm/policy=Test8076596.security.policy/secure=Test8076596 -ea -esa Test8076596 + */ + +import java.security.AccessController; +import java.security.PrivilegedAction; + +public class Test8076596 extends SecurityManager { + public Test8076596() { + // 1. Using lambda + AccessController.doPrivileged((PrivilegedAction) () -> null); + // 2. Using inner class + AccessController.doPrivileged(new PrivilegedAction() { + @Override + public Void run() { + return null; + } + }); + } + + public static void main(String[] args) { + // empty + } +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/lang/invoke/8076596/Test8076596.security.policy --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/java/lang/invoke/8076596/Test8076596.security.policy Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,8 @@ +/* + * Security policy used by the Test8076596. + * Must allow file reads so that jtreg itself can run. + */ + +grant { + permission java.io.FilePermission "*", "read"; +}; diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/lang/invoke/FindClassSecurityManager.java --- a/jdk/test/java/lang/invoke/FindClassSecurityManager.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/lang/invoke/FindClassSecurityManager.java Tue Jan 12 13:13:16 2016 -0800 @@ -24,6 +24,7 @@ */ /* @test + * @bug 8139885 * @run main/othervm/policy=findclass.security.policy/secure=java.lang.SecurityManager -ea -esa test.java.lang.invoke.FindClassSecurityManager */ diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/lang/invoke/T8139885.java --- a/jdk/test/java/lang/invoke/T8139885.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/lang/invoke/T8139885.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, 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,6 +24,8 @@ */ /* @test + * @bug 8139885 + * @bug 8143798 * @run testng/othervm -ea -esa test.java.lang.invoke.T8139885 */ diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/lang/management/MemoryMXBean/Pending.java --- a/jdk/test/java/lang/management/MemoryMXBean/Pending.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/lang/management/MemoryMXBean/Pending.java Tue Jan 12 13:13:16 2016 -0800 @@ -24,7 +24,7 @@ /* * @test * @bug 4530538 - * @modules java.base/sun.misc + * @modules java.base/jdk.internal.misc * java.management * @summary Basic unit test of * RuntimeMXBean.getObjectPendingFinalizationCount() @@ -50,10 +50,10 @@ private static void printFinalizerInstanceCount() { if (!trace) return; - int count = sun.misc.VM.getFinalRefCount(); + int count = jdk.internal.misc.VM.getFinalRefCount(); System.out.println(INDENT + "Finalizable object Count = " + count); - count = sun.misc.VM.getPeakFinalRefCount(); + count = jdk.internal.misc.VM.getPeakFinalRefCount(); System.out.println(INDENT + "Peak Finalizable object Count = " + count); } diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/lang/ref/CleanerTest.java --- a/jdk/test/java/lang/ref/CleanerTest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/lang/ref/CleanerTest.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, 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 @@ -34,9 +34,10 @@ import java.util.function.Consumer; import java.util.function.Supplier; -import jdk.internal.misc.CleanerImpl.PhantomCleanable; -import jdk.internal.misc.CleanerImpl.WeakCleanable; -import jdk.internal.misc.CleanerImpl.SoftCleanable; +import jdk.internal.ref.PhantomCleanable; +import jdk.internal.ref.WeakCleanable; +import jdk.internal.ref.SoftCleanable; +import jdk.internal.ref.CleanerFactory; import sun.hotspot.WhiteBox; @@ -48,7 +49,7 @@ * @test * @library /lib/testlibrary /test/lib * @build sun.hotspot.WhiteBox - * @modules java.base/jdk.internal.misc + * @modules java.base/jdk.internal.misc java.base/jdk.internal.ref * @run main ClassFileInstaller sun.hotspot.WhiteBox * @run testng/othervm * -XX:+UnlockDiagnosticVMOptions -XX:+WhiteBoxAPI -Xbootclasspath/a:. @@ -58,7 +59,7 @@ @Test public class CleanerTest { // A common CleaningService used by the test for notifications - static final Cleaner COMMON = Cleaner.create(); + static final Cleaner COMMON = CleanerFactory.cleaner(); // Access to WhiteBox utilities static final WhiteBox whitebox = WhiteBox.getWhiteBox(); @@ -702,4 +703,17 @@ cleaner = null; } + /** + * Test the Cleaner from the CleanerFactory. + */ + @Test + void testCleanerFactory() { + Cleaner cleaner = CleanerFactory.cleaner(); + + Object obj = new Object(); + CleanableCase s = setupPhantom(cleaner, obj); + obj = null; + Assert.assertTrue(checkCleaned(s.getSemaphore()), + "Object cleaning should have occurred using CleanerFactor.cleaner()"); + } } diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.java --- a/jdk/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2016, 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 @@ -41,7 +41,11 @@ } catch (Exception ex) { throw new RuntimeException("Setting DatagramSocketImplFactory failed!"); } - new QuoteServerThread().start(); + + QuoteServerThread server = new QuoteServerThread(); + int port = server.getPort(); + System.out.println("Server port is " + port); + server.start(); // get a datagram socket DatagramSocket socket = new DatagramSocket(); @@ -49,7 +53,7 @@ // send request byte[] buf = new byte[256]; InetAddress address = InetAddress.getLocalHost(); - DatagramPacket packet = new DatagramPacket(buf, buf.length, address, 4445); + DatagramPacket packet = new DatagramPacket(buf, buf.length, address, port); socket.send(packet); // get response @@ -67,6 +71,7 @@ class QuoteServerThread extends Thread { protected DatagramSocket socket = null; + private final int port; public QuoteServerThread() throws IOException { this("QuoteServerThread"); @@ -74,7 +79,11 @@ public QuoteServerThread(String name) throws IOException { super(name); - socket = new DatagramSocket(4445); + socket = new DatagramSocket(0); + port = socket.getLocalPort(); + } + public int getPort(){ + return port; } public void run() { @@ -101,3 +110,4 @@ socket.close(); } } + diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/net/SocketOption/OptionsTest.java --- a/jdk/test/java/net/SocketOption/OptionsTest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/net/SocketOption/OptionsTest.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2014, 2016, 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 @@ -80,8 +80,11 @@ static NetworkInterface getNetworkInterface() { try { Enumeration nifs = NetworkInterface.getNetworkInterfaces(); - if (nifs.hasMoreElements()) { - return (NetworkInterface)nifs.nextElement(); + while (nifs.hasMoreElements()) { + NetworkInterface ni = (NetworkInterface)nifs.nextElement(); + if (ni.supportsMulticast()) { + return ni; + } } } catch (Exception e) { } diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/net/URLConnection/TIFFContentGuesser.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/java/net/URLConnection/TIFFContentGuesser.java Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,66 @@ +/* + * Copyright (c) 2016, 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. + */ + +/* + * @test + * @bug 8146041 + * @summary java.net.URLConnection.guessContentTypeFromStream() does not + * recognize TIFF streams + */ + +import java.io.ByteArrayInputStream; +import java.io.InputStream; +import java.net.URLConnection; + +public class TIFFContentGuesser { + private static final byte[] LITTLE_ENDIAN_MAGIC = + new byte[] {(byte)0x49, (byte)0x49, (byte)0x2a, (byte)0}; + private static final byte[] BIG_ENDIAN_MAGIC = + new byte[] {(byte)0x4d, (byte)0x4d, (byte)0, (byte)0x2a}; + + private static final String TIFF_MIME_TYPE = "image/tiff"; + + public static void main(String[] args) throws Throwable { + int failures = 0; + + InputStream stream = new ByteArrayInputStream(LITTLE_ENDIAN_MAGIC); + String contentType = URLConnection.guessContentTypeFromStream(stream); + if (contentType == null || !contentType.equals(TIFF_MIME_TYPE)) { + failures++; + System.err.println("Test failed for little endian magic"); + } + + stream = new ByteArrayInputStream(BIG_ENDIAN_MAGIC); + contentType = URLConnection.guessContentTypeFromStream(stream); + if (contentType == null || !contentType.equals(TIFF_MIME_TYPE)) { + failures++; + System.err.println("Test failed for big endian magic"); + } + + if (failures != 0) { + throw new RuntimeException + ("Test failed with " + failures + " error(s)"); + } + } +} + diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/net/ipv6tests/TcpTest.java --- a/jdk/test/java/net/ipv6tests/TcpTest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/net/ipv6tests/TcpTest.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2016, 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 @@ -60,8 +60,7 @@ dprintln ("Local Addresses"); dprintln (ia4addr.toString()); dprintln (ia6addr.toString()); - test1 (0); - test1 (5100); + test1(); test2(); test3(); test4(); @@ -69,11 +68,9 @@ /* basic TCP connectivity test using IPv6 only and IPv4/IPv6 together */ - static void test1 (int port) throws Exception { - server = new ServerSocket (port); - if (port == 0) { - port = server.getLocalPort(); - } + static void test1 () throws Exception { + server = new ServerSocket (0); + int port = server.getLocalPort(); // try Ipv6 only c1 = new Socket ("::1", port); s1 = server.accept (); @@ -107,9 +104,7 @@ /** bind tests: * 1. bind to specific address IPv4 only (any port) * 2. bind to specific address IPv6 only (any port) - * 3. bind to specific address IPv4 only (specific port) - * 4. bind to specific address IPv4 only (specific port) - * 5. bind to any address IPv4 (test collision) + * 3. bind to any address IPv4 (test collision) */ static void test2 () throws Exception { @@ -147,39 +142,6 @@ server.close (); c1.close (); - /* now try IPv6 specific port only */ - - server = new ServerSocket (); - sadr = new InetSocketAddress (ia6addr, 5200); - server.bind (sadr); - port = server.getLocalPort(); - t_assert (port == 5200); - - c1 = new Socket (ia6addr, port); - try { - c2 = new Socket (ia4addr, port); - throw new RuntimeException ("connect to IPv4 address should be refused"); - } catch (IOException e) { } - server.close (); - c1.close (); - - /* now try IPv4 specific port only */ - - server = new ServerSocket (); - sadr = new InetSocketAddress (ia4addr, 5200); - server.bind (sadr); - port = server.getLocalPort(); - t_assert (port == 5200); - - c1 = new Socket (ia4addr, port); - - try { - c2 = new Socket (ia6addr, port); - throw new RuntimeException ("connect to IPv6 address should be refused"); - } catch (IOException e) { } - server.accept().close(); - c1.close (); - server.close(); System.out.println ("Test2: OK"); } @@ -242,3 +204,4 @@ System.out.println ("Test4: OK"); } } + diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/nio/channels/DatagramChannel/StressNativeSignal.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/java/nio/channels/DatagramChannel/StressNativeSignal.java Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,147 @@ +/* + * Copyright (c) 2016, 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. + */ + +/* @test + * @bug 8050499 + * @summary Attempt to provoke error 316 on OS X in NativeSignal.signal() + */ + +import java.io.*; +import java.net.*; +import java.nio.ByteBuffer; +import java.nio.channels.DatagramChannel; + +public class StressNativeSignal { + private UDPThread udpThread; + private ServerSocketThread serverSocketThread; + + StressNativeSignal() { + try { + serverSocketThread = new ServerSocketThread(); + serverSocketThread.start(); + + udpThread = new UDPThread(); + udpThread.start(); + } catch (Exception z) { + z.printStackTrace(); + } + } + + public static void main(String[] args) throws Throwable { + StressNativeSignal test = new StressNativeSignal(); + try { + Thread.sleep(3000); + } catch (Exception z) { + z.printStackTrace(System.err); + } + + test.shutdown(); + } + + public void shutdown() { + udpThread.terminate(); + try { + udpThread.join(); + } catch (Exception z) { + z.printStackTrace(System.err); + } + + serverSocketThread.terminate(); + try { + serverSocketThread.join(); + } catch (Exception z) { + z.printStackTrace(System.err); + } + } + + public class ServerSocketThread extends Thread { + private volatile boolean shouldTerminate; + private ServerSocket socket; + + public void run() { + try { + socket = new ServerSocket(1122); + Socket client = socket.accept(); + BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream())); + shouldTerminate = false; + while (!shouldTerminate) { + String msg = reader.readLine(); + } + } catch (Exception z) { + if (!shouldTerminate) { + z.printStackTrace(System.err); + } + } + } + + public void terminate() { + shouldTerminate = true; + try { + socket.close(); + } catch (Exception z) { + z.printStackTrace(System.err); + // ignore + } + } + } + + public class UDPThread extends Thread { + private DatagramChannel channel; + private volatile boolean shouldTerminate; + + @Override + public void run() { + try { + channel = DatagramChannel.open(); + channel.setOption(StandardSocketOptions.SO_RCVBUF, 6553600); + channel.bind(new InetSocketAddress(19870)); + } catch (IOException z) { + z.printStackTrace(System.err); + } + + ByteBuffer buf = ByteBuffer.allocate(6553600); + shouldTerminate = false; + while (!shouldTerminate) { + try { + buf.rewind(); + channel.receive(buf); + } catch (IOException z) { + if (!shouldTerminate) { + z.printStackTrace(System.err); + } + } + } + } + + public void terminate() { + shouldTerminate = true; + try { + channel.close(); + } catch (Exception z) { + z.printStackTrace(System.err); + // ignore + } + } + } + +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/nio/file/attribute/BasicFileAttributeView/UnixSocketFile.java --- a/jdk/test/java/nio/file/attribute/BasicFileAttributeView/UnixSocketFile.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/nio/file/attribute/BasicFileAttributeView/UnixSocketFile.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016 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 @@ -28,6 +28,7 @@ */ import java.io.File; +import java.io.InputStream; import java.io.IOException; import java.nio.file.FileSystem; import java.nio.file.FileSystems; @@ -49,6 +50,17 @@ public static void main(String[] args) throws InterruptedException, IOException { + // Use 'which' to verify that 'nc' is available and skip the test + // if it is not. + Process proc = Runtime.getRuntime().exec("which nc"); + InputStream stdout = proc.getInputStream(); + int b = stdout.read(); + proc.destroy(); + if (b == -1) { + System.err.println("Netcat command unavailable; skipping test."); + return; + } + // Create a new sub-directory of the nominal test directory in which // 'nc' will create the socket file. String testSubDir = System.getProperty("test.dir", ".") @@ -62,7 +74,6 @@ // Create a process which executes the nc (netcat) utility to create // a socket file at the indicated location. - Process proc; FileSystem fs = FileSystems.getDefault(); try (WatchService ws = fs.newWatchService()) { // Watch the test sub-directory to receive notification when an diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/time/tck/java/time/TCKLocalDate.java --- a/jdk/test/java/time/tck/java/time/TCKLocalDate.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/time/tck/java/time/TCKLocalDate.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2016, 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 @@ -1285,12 +1285,36 @@ public void test_plusWeeks_invalidMaxMinusMin() { LocalDate.of(Year.MAX_VALUE, 12, 25).plusWeeks(Long.MIN_VALUE); } + //----------------------------------------------------------------------- + @DataProvider(name="PlusDays") + Object[][] provider_plusDays() { + return new Object[][] { + {LocalDate.of(2007, 7, 15), 1, LocalDate.of(2007, 7, 16)}, + {LocalDate.of(2007, 7, 15), 17, LocalDate.of(2007, 8, 1)}, + {LocalDate.of(2007, 12, 31), 1, LocalDate.of(2008, 1, 1)}, + {LocalDate.of(2007, 1, 1), 58, LocalDate.of(2007, 2, 28)}, + {LocalDate.of(2007, 1, 1), 59, LocalDate.of(2007, 3, 1)}, + {LocalDate.of(2008, 1, 1), 60, LocalDate.of(2008, 3, 1)}, + {LocalDate.of(2007, 2, 1), 27, LocalDate.of(2007, 2, 28)}, + {LocalDate.of(2007, 2, 1), 28, LocalDate.of(2007, 3, 1)}, + {LocalDate.of(2007, 1, 1), 29, LocalDate.of(2007, 1, 30)}, + {LocalDate.of(2007, 1, 1), 30, LocalDate.of(2007, 1, 31)}, + {LocalDate.of(2007, 1, 15), 13, LocalDate.of(2007, 1, 28)}, + {LocalDate.of(2007, 1, 15), 14, LocalDate.of(2007, 1, 29)}, + {LocalDate.of(2007, 1, 15), 15, LocalDate.of(2007, 1, 30)}, + {LocalDate.of(2007, 1, 15), 16, LocalDate.of(2007, 1, 31)}, + {LocalDate.of(2007, 2, 15), 13, LocalDate.of(2007, 2, 28)}, + {LocalDate.of(2007, 2, 15), 14, LocalDate.of(2007, 3, 1)}, + {LocalDate.of(2007, 2, 15), 15, LocalDate.of(2007, 3, 2)}, + {LocalDate.of(2007, 2, 15), 16, LocalDate.of(2007, 3, 3)}, + }; + } - @Test - public void test_plusDays_normal() { - LocalDate t = TEST_2007_07_15.plusDays(1); - assertEquals(t, LocalDate.of(2007, 7, 16)); - } + @Test(dataProvider="PlusDays") + public void test_plusDays_normal(LocalDate input, int amountsToAdd, LocalDate expected) { + LocalDate actual = input.plusDays(amountsToAdd); + assertEquals(actual, expected); + } @Test public void test_plusDays_overMonths() { diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/java/util/logging/LogManager/Configuration/updateConfiguration/UpdateConfigurationTest.java --- a/jdk/test/java/util/logging/LogManager/Configuration/updateConfiguration/UpdateConfigurationTest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/java/util/logging/LogManager/Configuration/updateConfiguration/UpdateConfigurationTest.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, 2016, 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 @@ -209,8 +209,9 @@ + barChild.getParent() +"\n\texpected: " + barRef.get()); } Reference ref2; - int max = 3; + int max = 10; barChild = null; + System.gc(); while ((ref2 = queue.poll()) == null) { System.gc(); Thread.sleep(100); @@ -276,24 +277,27 @@ } }); - // Now we need to forget the child, so that loggers are released, - // and so that we can run the test with the next configuration... - - fooChild = null; - System.out.println("Setting fooChild to: " + fooChild); - while ((ref2 = queue.poll()) == null) { - System.gc(); - Thread.sleep(1000); + if (suppressed == null) { + // Now we need to forget the child, so that loggers are released, + // and so that we can run the test with the next configuration... + // No need to do that if failed!=null however, as the first + // ref might not have been cleared yet and failing here would + // hide the original failure. + fooChild = null; + System.out.println("Setting fooChild to: " + fooChild); + while ((ref2 = queue.poll()) == null) { + System.gc(); + Thread.sleep(1000); + } + if (ref2 != fooRef) { + throw new RuntimeException("Unexpected reference: " + + ref2 +"\n\texpected: " + fooRef); + } + if (ref2.get() != null) { + throw new RuntimeException("Referent not cleared: " + ref2.get()); + } + System.out.println("Got fooRef after reset(), fooChild is " + fooChild); } - if (ref2 != fooRef) { - throw new RuntimeException("Unexpected reference: " - + ref2 +"\n\texpected: " + fooRef); - } - if (ref2.get() != null) { - throw new RuntimeException("Referent not cleared: " + ref2.get()); - } - System.out.println("Got fooRef after reset(), fooChild is " + fooChild); - } } if (failed != null) { diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/javax/management/ImplementationVersion/ImplVersionCommand.java --- a/jdk/test/javax/management/ImplementationVersion/ImplVersionCommand.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/javax/management/ImplementationVersion/ImplVersionCommand.java Tue Jan 12 13:13:16 2016 -0800 @@ -53,21 +53,13 @@ // Check JMX implementation version vs. JVM implementation version // - if (Boolean.valueOf(args[1]).booleanValue()) { - if (!mbsdVersion.equals(args[0])) - throw new IllegalArgumentException( - "JMX and Java Runtime implementation versions do not match!"); - // Test OK! - // - System.out.println("JMX and Java Runtime implementation " + - "versions match!"); - } else { - // Test OK! - // - System.out.println("JMX and Java Runtime implementation " + - "versions do not match because the test " + - "is using an unbundled version of JMX!"); - } + if (!mbsdVersion.equals(args[0])) + throw new IllegalArgumentException( + "JMX and Java Runtime implementation versions do not match!"); + // Test OK! + // + System.out.println("JMX and Java Runtime implementation " + + "versions match!"); System.out.println("Bye! Bye!"); } } diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/javax/management/ImplementationVersion/ImplVersionTest.java --- a/jdk/test/javax/management/ImplementationVersion/ImplVersionTest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/javax/management/ImplementationVersion/ImplVersionTest.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2016, 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 @@ -25,9 +25,9 @@ * @test * @bug 4842196 * @summary Test that there is no difference between the JMX version and the - * JDK version when JMX is bundled into the Java platform and the application - * is run with a security manager and the test codebase has the java permission - * to read the "java.runtime.version" system property. + * JDK version when the application is run with a security manager and the + * test codebase has the java permission to read the "java.runtime.version" + * system property. * @author Luis-Miguel Alventosa * @modules java.management * @run clean ImplVersionTest ImplVersionCommand @@ -36,8 +36,6 @@ */ import java.io.File; -import java.security.CodeSource; -import javax.management.MBeanServer; public class ImplVersionTest { @@ -70,18 +68,13 @@ System.out.println("testClasses = " + testClasses); // Get boot class path // - boolean checkVersion = true; - String bootClassPath = System.getProperty("sun.boot.class.path"); - if (bootClassPath != null && - bootClassPath.indexOf("jmxri.jar") != -1) - checkVersion = false; String command = javaHome + File.separator + "bin" + File.separator + "java " + " -classpath " + testClasses + " -Djava.security.manager -Djava.security.policy==" + testSrc + File.separator + "policy -Dtest.classes=" + testClasses + " ImplVersionCommand " + - System.getProperty("java.runtime.version") + " " + checkVersion; + System.getProperty("java.runtime.version"); System.out.println("ImplVersionCommand Exec Command = " +command); Process proc = Runtime.getRuntime().exec(command); new ImplVersionReader(proc, proc.getInputStream()).start(); diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/javax/management/remote/mandatory/version/ImplVersionTest.java --- a/jdk/test/javax/management/remote/mandatory/version/ImplVersionTest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/javax/management/remote/mandatory/version/ImplVersionTest.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2004, 2016, 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 @@ -25,9 +25,9 @@ * @test * @bug 5046815 * @summary Test that RMIServer.getVersion() reflects the JDK version when - * JMX is bundled into the Java platform and the application is run with a - * security manager and the test codebase has the java permission to read - * the "java.runtime.version" system property. + * the Java platform and the application is run with a security manager and the + * test codebase has the java permission to read the "java.runtime.version" + * system property. * @author Luis-Miguel Alventosa, Joel Feraud * @modules java.management * @run clean ImplVersionTest ImplVersionCommand @@ -36,8 +36,6 @@ */ import java.io.File; -import java.security.CodeSource; -import javax.management.MBeanServer; public class ImplVersionTest { diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/javax/net/ssl/SSLSession/SessionCacheSizeTests.java --- a/jdk/test/javax/net/ssl/SSLSession/SessionCacheSizeTests.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/javax/net/ssl/SSLSession/SessionCacheSizeTests.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2016, 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 @@ -31,6 +31,7 @@ * @bug 4366807 * @summary Need new APIs to get/set session timeout and session cache size. * @run main/othervm SessionCacheSizeTests + * @key intermittent */ import java.io.*; @@ -108,28 +109,34 @@ void doServerSide(int serverPort, int serverConns) throws Exception { - SSLServerSocket sslServerSocket = - (SSLServerSocket) sslssf.createServerSocket(serverPort); - sslServerSocket.setSoTimeout(45000); // timeout to accept a connection - serverPorts[createdPorts++] = sslServerSocket.getLocalPort(); + try (SSLServerSocket sslServerSocket = + (SSLServerSocket) sslssf.createServerSocket(serverPort)) { + + // timeout to accept a connection + sslServerSocket.setSoTimeout(45000); + + // make sure createdPorts++ is atomic + synchronized(serverPorts) { + serverPorts[createdPorts++] = sslServerSocket.getLocalPort(); - /* - * Signal Client, we're ready for his connect. - */ - if (createdPorts == serverPorts.length) { - serverReady = true; - } - int read = 0; - int nConnections = 0; - /* - * Divide the max connections among the available server ports. - * The use of more than one server port ensures creation of more - * than one session. - */ - SSLSession sessions [] = new SSLSession [serverConns]; - SSLSessionContext sessCtx = sslctx.getServerSessionContext(); + /* + * Signal Client, we're ready for his connect. + */ + if (createdPorts == serverPorts.length) { + serverReady = true; + } + } + int read = 0; + int nConnections = 0; - try { + /* + * Divide the max connections among the available server ports. + * The use of more than one server port ensures creation of more + * than one session. + */ + SSLSession sessions [] = new SSLSession [serverConns]; + SSLSessionContext sessCtx = sslctx.getServerSessionContext(); + while (nConnections < serverConns) { try (SSLSocket sslSocket = (SSLSocket)sslServerSocket.accept()) { @@ -143,8 +150,6 @@ nConnections++; } } - } finally { - sslServerSocket.close(); } } @@ -270,8 +275,8 @@ * Using four ports (one per each connection), we are able to create * alteast four sessions. */ - volatile int serverPorts[] = new int[]{0, 0, 0, 0}; - volatile int createdPorts = 0; + int serverPorts[] = new int[]{0, 0, 0, 0}; // MAX_ACTIVE_CONNECTIONS: 4 + int createdPorts = 0; static SSLServerSocketFactory sslssf; static SSLSocketFactory sslsf; static SSLContext sslctx; diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/jdk/internal/jimage/JImageReadTest.java --- a/jdk/test/jdk/internal/jimage/JImageReadTest.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/jdk/internal/jimage/JImageReadTest.java Tue Jan 12 13:13:16 2016 -0800 @@ -313,7 +313,7 @@ static boolean isMetaName(String name) { return name.startsWith("/modules") || name.startsWith("/packages") - || name.startsWith("META-INF/services") + || name.startsWith("META-INF") || name.equals("bootmodules.jdata"); } diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/jdk/internal/misc/VM/GetNanoTimeAdjustment.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/test/jdk/internal/misc/VM/GetNanoTimeAdjustment.java Tue Jan 12 13:13:16 2016 -0800 @@ -0,0 +1,250 @@ +/* + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * 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.util.Objects; +import jdk.internal.misc.VM; + +/** + * @test + * @bug 8068730 + * @summary tests that VM.getgetNanoTimeAdjustment() works as expected. + * @modules java.base/jdk.internal.misc + * @run main GetNanoTimeAdjustment + * @author danielfuchs + */ +public class GetNanoTimeAdjustment { + + static final int MILLIS_IN_SECOND = 1000; + static final int NANOS_IN_MILLI = 1000_000; + static final int NANOS_IN_MICRO = 1000; + static final int NANOS_IN_SECOND = 1000_000_000; + + static final boolean verbose = true; + + static final class TestAssertException extends RuntimeException { + TestAssertException(String msg) { super(msg); } + } + + private static void assertEquals(long expected, long received, String msg) { + if (expected != received) { + throw new TestAssertException("Unexpected result for " + msg + + ".\n\texpected: " + expected + + "\n\tactual: " + received); + } else if (verbose) { + System.out.println("Got expected " + msg + ": " + received); + } + } + + private static void assertEquals(Object expected, Object received, String msg) { + if (!Objects.equals(expected, received)) { + throw new TestAssertException("Unexpected result for " + msg + + ".\n\texpected: " + expected + + "\n\tactual: " + received); + } else if (verbose) { + System.out.println("Got expected " + msg + ": " + received); + } + } + + static final long MAX_OFFSET = 0x0100000000L; + static final long MIN_OFFSET = -MAX_OFFSET; + static enum Answer { + YES, // isOffLimit = YES: we must get -1 + NO, // isOffLimit = NO: we must not not get -1 + MAYBE // isOffLimit = MAYBE: we might get -1 or a valid adjustment. + }; + static long distance(long one, long two) { + return one > two ? Math.subtractExact(one, two) + : Math.subtractExact(two, one); + } + + + static Answer isOffLimits(long before, long after, long offset) { + long relativeDistanceBefore = distance(before, offset); + long relativeDistanceAfter = distance(after, offset); + if (relativeDistanceBefore >= MAX_OFFSET && relativeDistanceAfter >= MAX_OFFSET) { + return Answer.YES; + } + if (relativeDistanceBefore < MAX_OFFSET && relativeDistanceAfter < MAX_OFFSET) { + if (relativeDistanceBefore == 0 || relativeDistanceAfter == 0) { + return Answer.MAYBE; // unlucky case where + } + return Answer.NO; + } + return Answer.MAYBE; + } + + static void testWithOffset(String name, long offset) { + System.out.println("Testing with offset: " + name); + long beforeMillis = System.currentTimeMillis(); + long adjustment = VM.getNanoTimeAdjustment(offset); + long afterMillis = System.currentTimeMillis(); + + if (offset >= beforeMillis/MILLIS_IN_SECOND + && offset <= afterMillis/MILLIS_IN_SECOND) { + if (adjustment == -1) { + // it's possible that we have fallen in the unlucky case + // where -1 was the genuine result. let's go backward a bit. + offset = offset - 10; + beforeMillis = System.currentTimeMillis(); + adjustment = VM.getNanoTimeAdjustment(offset); + afterMillis = System.currentTimeMillis(); + if (adjustment == -1) { + throw new RuntimeException(name + ": VM says " + offset + + " secs is too far off, " + + " when time in seconds is in [" + + beforeMillis/MILLIS_IN_SECOND + ", " + + afterMillis/MILLIS_IN_SECOND + + "]"); + } + } + } + + Answer isOffLimit = isOffLimits(beforeMillis/MILLIS_IN_SECOND, + afterMillis/MILLIS_IN_SECOND, offset); + switch (isOffLimit) { + case YES: + if (adjustment != -1) { + throw new RuntimeException(name + + ": VM should have returned -1 for " + + offset + + " when time in seconds is in [" + + beforeMillis/MILLIS_IN_SECOND + ", " + + afterMillis/MILLIS_IN_SECOND + "]"); + } + System.out.println("Got expected exception value: " + adjustment); + break; + case NO: + if (adjustment == -1) { + throw new RuntimeException(name + + "VM says " + offset + + " secs is too far off, " + + " when time in seconds is in [" + + beforeMillis/MILLIS_IN_SECOND + ", " + + afterMillis/MILLIS_IN_SECOND + + "]"); + } + break; + case MAYBE: + System.out.println("Adjustment: " + adjustment); + System.out.println("Can't assert for -1 with offset " + + offset + "(" + name + ")" + + " when time in seconds is in [" + + beforeMillis/MILLIS_IN_SECOND + ", " + + afterMillis/MILLIS_IN_SECOND + + "]"); + // not conclusive + } + + if (isOffLimit == Answer.NO || adjustment != -1) { + System.out.println("Validating adjustment: " + adjustment); + long expectedMax = distance(offset, beforeMillis/MILLIS_IN_SECOND) + * NANOS_IN_SECOND + + (beforeMillis % MILLIS_IN_SECOND) * NANOS_IN_MILLI + + (afterMillis - beforeMillis + 1) * NANOS_IN_MILLI; + long absoluteAdjustment = distance(0, adjustment); + if (absoluteAdjustment > expectedMax) { + long adjSec = absoluteAdjustment / NANOS_IN_SECOND; + long adjMil = (absoluteAdjustment % NANOS_IN_SECOND) / NANOS_IN_MILLI; + long adjMic = (absoluteAdjustment % NANOS_IN_MILLI) / NANOS_IN_MICRO; + long adjNan = (absoluteAdjustment % NANOS_IN_MICRO); + long expSec = expectedMax / NANOS_IN_SECOND; + long expMil = (expectedMax % NANOS_IN_SECOND) / NANOS_IN_MILLI; + long expMic = (expectedMax % NANOS_IN_MILLI) / NANOS_IN_MICRO; + long expNan = (expectedMax % NANOS_IN_MICRO); + System.err.println("Excessive adjustment: " + adjSec + "s, " + + adjMil + "ms, " + adjMic + "mics, " + adjNan + "ns"); + System.err.println("Epected max: " + expSec + "s, " + + expMil + "ms, " + expMic + "mics, " + expNan + "ns"); + + throw new RuntimeException(name + + ": Excessive adjustment: " + adjustment + + " when time in millis is in [" + + beforeMillis + ", " + afterMillis + + "] and offset in seconds is " + offset); + } + } + + } + + static void regular() { + System.out.println("*** Testing regular cases ***"); + final long start = System.currentTimeMillis(); + long offset = start/1000; + long adjustment = VM.getNanoTimeAdjustment(offset); + if (start != offset*1000) { + if (adjustment == -1) { + throw new RuntimeException("VM says " + offset + + " secs is too far off, but time millis is " + + System.currentTimeMillis()); + } + } + if (adjustment == -1) { + offset = System.currentTimeMillis()/1000 - 1024; + adjustment = VM.getNanoTimeAdjustment(offset); + if (adjustment == -1) { + throw new RuntimeException("VM says " + offset + + " secs is too far off, but time millis is " + + System.currentTimeMillis()); + } + } + if (adjustment > (start/1000 - offset + 20)*NANOS_IN_SECOND) { + throw new RuntimeException("Excessive adjustment: " + adjustment); + } + testWithOffset("System.currentTimeMillis()/1000", + System.currentTimeMillis()/1000); + testWithOffset("System.currentTimeMillis()/1000 - 1024", + System.currentTimeMillis()/1000 - 1024); + testWithOffset("System.currentTimeMillis()/1000 + 1024", + System.currentTimeMillis()/1000 + 1024); + } + + static void testLimits() { + System.out.println("*** Testing limits ***"); + testWithOffset("System.currentTimeMillis()/1000 - MAX_OFFSET + 1", + System.currentTimeMillis()/1000 - MAX_OFFSET + 1); + testWithOffset("System.currentTimeMillis()/1000 + MAX_OFFSET - 1", + System.currentTimeMillis()/1000 + MAX_OFFSET - 1); + testWithOffset("System.currentTimeMillis()/1000 - MAX_OFFSET", + System.currentTimeMillis()/1000 - MAX_OFFSET); + testWithOffset("System.currentTimeMillis()/1000 + MAX_OFFSET", + System.currentTimeMillis()/1000 + MAX_OFFSET); + testWithOffset("System.currentTimeMillis()/1000 - MAX_OFFSET - 1024", + System.currentTimeMillis()/1000 - MAX_OFFSET - 1024); + testWithOffset("System.currentTimeMillis()/1000 + MAX_OFFSET + 1024", + System.currentTimeMillis()/1000 + MAX_OFFSET + 1024); + testWithOffset("0", 0); + testWithOffset("-1", -1); + testWithOffset("Integer.MAX_VALUE + System.currentTimeMillis()/1000", + ((long)Integer.MAX_VALUE) + System.currentTimeMillis()/1000); + testWithOffset("System.currentTimeMillis()/1000 - Integer.MIN_VALUE", + System.currentTimeMillis()/1000 - Integer.MIN_VALUE); + testWithOffset("Long.MAX_VALUE", Long.MAX_VALUE); + testWithOffset("System.currentTimeMillis()/1000 - Long.MIN_VALUE", + (Long.MIN_VALUE + System.currentTimeMillis()/1000)*-1); + } + + public static void main(String[] args) throws Exception { + regular(); + testLimits(); + } + +} diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/sun/misc/VM/GetNanoTimeAdjustment.java --- a/jdk/test/sun/misc/VM/GetNanoTimeAdjustment.java Tue Jan 12 18:02:07 2016 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,250 +0,0 @@ -/* - * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * 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.util.Objects; -import sun.misc.VM; - -/** - * @test - * @bug 8068730 - * @summary tests that VM.getgetNanoTimeAdjustment() works as expected. - * @modules java.base/sun.misc - * @run main GetNanoTimeAdjustment - * @author danielfuchs - */ -public class GetNanoTimeAdjustment { - - static final int MILLIS_IN_SECOND = 1000; - static final int NANOS_IN_MILLI = 1000_000; - static final int NANOS_IN_MICRO = 1000; - static final int NANOS_IN_SECOND = 1000_000_000; - - static final boolean verbose = true; - - static final class TestAssertException extends RuntimeException { - TestAssertException(String msg) { super(msg); } - } - - private static void assertEquals(long expected, long received, String msg) { - if (expected != received) { - throw new TestAssertException("Unexpected result for " + msg - + ".\n\texpected: " + expected - + "\n\tactual: " + received); - } else if (verbose) { - System.out.println("Got expected " + msg + ": " + received); - } - } - - private static void assertEquals(Object expected, Object received, String msg) { - if (!Objects.equals(expected, received)) { - throw new TestAssertException("Unexpected result for " + msg - + ".\n\texpected: " + expected - + "\n\tactual: " + received); - } else if (verbose) { - System.out.println("Got expected " + msg + ": " + received); - } - } - - static final long MAX_OFFSET = 0x0100000000L; - static final long MIN_OFFSET = -MAX_OFFSET; - static enum Answer { - YES, // isOffLimit = YES: we must get -1 - NO, // isOffLimit = NO: we must not not get -1 - MAYBE // isOffLimit = MAYBE: we might get -1 or a valid adjustment. - }; - static long distance(long one, long two) { - return one > two ? Math.subtractExact(one, two) - : Math.subtractExact(two, one); - } - - - static Answer isOffLimits(long before, long after, long offset) { - long relativeDistanceBefore = distance(before, offset); - long relativeDistanceAfter = distance(after, offset); - if (relativeDistanceBefore >= MAX_OFFSET && relativeDistanceAfter >= MAX_OFFSET) { - return Answer.YES; - } - if (relativeDistanceBefore < MAX_OFFSET && relativeDistanceAfter < MAX_OFFSET) { - if (relativeDistanceBefore == 0 || relativeDistanceAfter == 0) { - return Answer.MAYBE; // unlucky case where - } - return Answer.NO; - } - return Answer.MAYBE; - } - - static void testWithOffset(String name, long offset) { - System.out.println("Testing with offset: " + name); - long beforeMillis = System.currentTimeMillis(); - long adjustment = VM.getNanoTimeAdjustment(offset); - long afterMillis = System.currentTimeMillis(); - - if (offset >= beforeMillis/MILLIS_IN_SECOND - && offset <= afterMillis/MILLIS_IN_SECOND) { - if (adjustment == -1) { - // it's possible that we have fallen in the unlucky case - // where -1 was the genuine result. let's go backward a bit. - offset = offset - 10; - beforeMillis = System.currentTimeMillis(); - adjustment = VM.getNanoTimeAdjustment(offset); - afterMillis = System.currentTimeMillis(); - if (adjustment == -1) { - throw new RuntimeException(name + ": VM says " + offset - + " secs is too far off, " - + " when time in seconds is in [" - + beforeMillis/MILLIS_IN_SECOND + ", " - + afterMillis/MILLIS_IN_SECOND - + "]"); - } - } - } - - Answer isOffLimit = isOffLimits(beforeMillis/MILLIS_IN_SECOND, - afterMillis/MILLIS_IN_SECOND, offset); - switch (isOffLimit) { - case YES: - if (adjustment != -1) { - throw new RuntimeException(name - + ": VM should have returned -1 for " - + offset - + " when time in seconds is in [" - + beforeMillis/MILLIS_IN_SECOND + ", " - + afterMillis/MILLIS_IN_SECOND + "]"); - } - System.out.println("Got expected exception value: " + adjustment); - break; - case NO: - if (adjustment == -1) { - throw new RuntimeException(name - + "VM says " + offset - + " secs is too far off, " - + " when time in seconds is in [" - + beforeMillis/MILLIS_IN_SECOND + ", " - + afterMillis/MILLIS_IN_SECOND - + "]"); - } - break; - case MAYBE: - System.out.println("Adjustment: " + adjustment); - System.out.println("Can't assert for -1 with offset " - + offset + "(" + name + ")" - + " when time in seconds is in [" - + beforeMillis/MILLIS_IN_SECOND + ", " - + afterMillis/MILLIS_IN_SECOND - + "]"); - // not conclusive - } - - if (isOffLimit == Answer.NO || adjustment != -1) { - System.out.println("Validating adjustment: " + adjustment); - long expectedMax = distance(offset, beforeMillis/MILLIS_IN_SECOND) - * NANOS_IN_SECOND - + (beforeMillis % MILLIS_IN_SECOND) * NANOS_IN_MILLI - + (afterMillis - beforeMillis + 1) * NANOS_IN_MILLI; - long absoluteAdjustment = distance(0, adjustment); - if (absoluteAdjustment > expectedMax) { - long adjSec = absoluteAdjustment / NANOS_IN_SECOND; - long adjMil = (absoluteAdjustment % NANOS_IN_SECOND) / NANOS_IN_MILLI; - long adjMic = (absoluteAdjustment % NANOS_IN_MILLI) / NANOS_IN_MICRO; - long adjNan = (absoluteAdjustment % NANOS_IN_MICRO); - long expSec = expectedMax / NANOS_IN_SECOND; - long expMil = (expectedMax % NANOS_IN_SECOND) / NANOS_IN_MILLI; - long expMic = (expectedMax % NANOS_IN_MILLI) / NANOS_IN_MICRO; - long expNan = (expectedMax % NANOS_IN_MICRO); - System.err.println("Excessive adjustment: " + adjSec + "s, " - + adjMil + "ms, " + adjMic + "mics, " + adjNan + "ns"); - System.err.println("Epected max: " + expSec + "s, " - + expMil + "ms, " + expMic + "mics, " + expNan + "ns"); - - throw new RuntimeException(name - + ": Excessive adjustment: " + adjustment - + " when time in millis is in [" - + beforeMillis + ", " + afterMillis - + "] and offset in seconds is " + offset); - } - } - - } - - static void regular() { - System.out.println("*** Testing regular cases ***"); - final long start = System.currentTimeMillis(); - long offset = start/1000; - long adjustment = VM.getNanoTimeAdjustment(offset); - if (start != offset*1000) { - if (adjustment == -1) { - throw new RuntimeException("VM says " + offset - + " secs is too far off, but time millis is " - + System.currentTimeMillis()); - } - } - if (adjustment == -1) { - offset = System.currentTimeMillis()/1000 - 1024; - adjustment = VM.getNanoTimeAdjustment(offset); - if (adjustment == -1) { - throw new RuntimeException("VM says " + offset - + " secs is too far off, but time millis is " - + System.currentTimeMillis()); - } - } - if (adjustment > (start/1000 - offset + 20)*NANOS_IN_SECOND) { - throw new RuntimeException("Excessive adjustment: " + adjustment); - } - testWithOffset("System.currentTimeMillis()/1000", - System.currentTimeMillis()/1000); - testWithOffset("System.currentTimeMillis()/1000 - 1024", - System.currentTimeMillis()/1000 - 1024); - testWithOffset("System.currentTimeMillis()/1000 + 1024", - System.currentTimeMillis()/1000 + 1024); - } - - static void testLimits() { - System.out.println("*** Testing limits ***"); - testWithOffset("System.currentTimeMillis()/1000 - MAX_OFFSET + 1", - System.currentTimeMillis()/1000 - MAX_OFFSET + 1); - testWithOffset("System.currentTimeMillis()/1000 + MAX_OFFSET - 1", - System.currentTimeMillis()/1000 + MAX_OFFSET - 1); - testWithOffset("System.currentTimeMillis()/1000 - MAX_OFFSET", - System.currentTimeMillis()/1000 - MAX_OFFSET); - testWithOffset("System.currentTimeMillis()/1000 + MAX_OFFSET", - System.currentTimeMillis()/1000 + MAX_OFFSET); - testWithOffset("System.currentTimeMillis()/1000 - MAX_OFFSET - 1024", - System.currentTimeMillis()/1000 - MAX_OFFSET - 1024); - testWithOffset("System.currentTimeMillis()/1000 + MAX_OFFSET + 1024", - System.currentTimeMillis()/1000 + MAX_OFFSET + 1024); - testWithOffset("0", 0); - testWithOffset("-1", -1); - testWithOffset("Integer.MAX_VALUE + System.currentTimeMillis()/1000", - ((long)Integer.MAX_VALUE) + System.currentTimeMillis()/1000); - testWithOffset("System.currentTimeMillis()/1000 - Integer.MIN_VALUE", - System.currentTimeMillis()/1000 - Integer.MIN_VALUE); - testWithOffset("Long.MAX_VALUE", Long.MAX_VALUE); - testWithOffset("System.currentTimeMillis()/1000 - Long.MIN_VALUE", - (Long.MIN_VALUE + System.currentTimeMillis()/1000)*-1); - } - - public static void main(String[] args) throws Exception { - regular(); - testLimits(); - } - -} diff -r 21c2a1c93810 -r 9ff296647fde jdk/test/sun/security/krb5/auto/ReplayCacheTestProc.java --- a/jdk/test/sun/security/krb5/auto/ReplayCacheTestProc.java Tue Jan 12 18:02:07 2016 +0300 +++ b/jdk/test/sun/security/krb5/auto/ReplayCacheTestProc.java Tue Jan 12 13:13:16 2016 -0800 @@ -78,7 +78,7 @@ mode = -1; } - uid = sun.misc.VM.geteuid(); + uid = jdk.internal.misc.VM.geteuid(); KDC kdc = KDC.create(OneKDC.REALM, HOST, 0, true); for (int i=0; i extends AbstractAnnotationValueVisitor8 { diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java --- a/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractElementVisitor9.java Tue Jan 12 13:13:16 2016 -0800 @@ -61,7 +61,7 @@ * @see AbstractElementVisitor6 * @see AbstractElementVisitor7 * @see AbstractElementVisitor8 - * @since 1.9 + * @since 9 */ @SupportedSourceVersion(RELEASE_9) public abstract class AbstractElementVisitor9 extends AbstractElementVisitor8 { diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java --- a/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/java.compiler/share/classes/javax/lang/model/util/AbstractTypeVisitor9.java Tue Jan 12 13:13:16 2016 -0800 @@ -61,7 +61,7 @@ * @see AbstractTypeVisitor6 * @see AbstractTypeVisitor7 * @see AbstractTypeVisitor8 - * @since 1.9 + * @since 9 */ @SupportedSourceVersion(RELEASE_9) public abstract class AbstractTypeVisitor9 extends AbstractTypeVisitor8 { diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java --- a/langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementKindVisitor9.java Tue Jan 12 13:13:16 2016 -0800 @@ -74,7 +74,7 @@ * @see ElementKindVisitor6 * @see ElementKindVisitor7 * @see ElementKindVisitor8 - * @since 1.9 + * @since 9 */ @SupportedSourceVersion(RELEASE_9) public class ElementKindVisitor9 extends ElementKindVisitor8 { diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java --- a/langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/java.compiler/share/classes/javax/lang/model/util/ElementScanner9.java Tue Jan 12 13:13:16 2016 -0800 @@ -87,7 +87,7 @@ * @see ElementScanner6 * @see ElementScanner7 * @see ElementScanner8 - * @since 1.9 + * @since 9 */ @SupportedSourceVersion(RELEASE_9) public class ElementScanner9 extends ElementScanner8 { diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java --- a/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleAnnotationValueVisitor9.java Tue Jan 12 13:13:16 2016 -0800 @@ -64,7 +64,7 @@ * @see SimpleAnnotationValueVisitor6 * @see SimpleAnnotationValueVisitor7 * @see SimpleAnnotationValueVisitor8 - * @since 1.9 + * @since 9 */ @SupportedSourceVersion(RELEASE_9) public class SimpleAnnotationValueVisitor9 extends SimpleAnnotationValueVisitor8 { diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java --- a/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/java.compiler/share/classes/javax/lang/model/util/SimpleElementVisitor9.java Tue Jan 12 13:13:16 2016 -0800 @@ -69,7 +69,7 @@ * @see SimpleElementVisitor6 * @see SimpleElementVisitor7 * @see SimpleElementVisitor8 - * @since 1.9 + * @since 9 */ @SupportedSourceVersion(RELEASE_9) public class SimpleElementVisitor9 extends SimpleElementVisitor8 { diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java --- a/langtools/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/java.compiler/share/classes/javax/lang/model/util/TypeKindVisitor9.java Tue Jan 12 13:13:16 2016 -0800 @@ -72,7 +72,7 @@ * @see TypeKindVisitor6 * @see TypeKindVisitor7 * @see TypeKindVisitor8 - * @since 1.9 + * @since 9 */ @SupportedSourceVersion(RELEASE_9) public class TypeKindVisitor9 extends TypeKindVisitor8 { diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/java.compiler/share/classes/javax/tools/FileManagerUtils.java --- a/langtools/src/java.compiler/share/classes/javax/tools/FileManagerUtils.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/java.compiler/share/classes/javax/tools/FileManagerUtils.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,7 @@ /** * Package-private utility methods to convert between files and paths. * - * @since 1.9 + * @since 9 */ class FileManagerUtils { private FileManagerUtils() { } diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/java.compiler/share/classes/javax/tools/StandardJavaFileManager.java --- a/langtools/src/java.compiler/share/classes/javax/tools/StandardJavaFileManager.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/java.compiler/share/classes/javax/tools/StandardJavaFileManager.java Tue Jan 12 13:13:16 2016 -0800 @@ -187,7 +187,7 @@ * a directory or if this file manager does not support any of the * given paths. * - * @since 1.9 + * @since 9 */ default Iterable getJavaFileObjectsFromPaths( Iterable paths) { @@ -226,7 +226,7 @@ * @throws NullPointerException if the given array contains null * elements * - * @since 1.9 + * @since 9 */ default Iterable getJavaFileObjects(Path... paths) { return getJavaFileObjectsFromPaths(Arrays.asList(paths)); @@ -295,7 +295,7 @@ * @throws IOException if {@code location} is an output location and * {@code paths} does not represent an existing directory * - * @since 1.9 + * @since 9 */ default void setLocationFromPaths(Location location, Iterable paths) throws IOException { @@ -324,7 +324,7 @@ * associated search path * * @see #setLocationFromPaths - * @since 1.9 + * @since 9 */ default Iterable getLocationAsPaths(Location location) { return asPaths(getLocation(location)); @@ -345,7 +345,7 @@ * @throws IllegalArgumentException if the file object does not have an underlying path * @throws UnsupportedOperationException if the operation is not supported by this file manager * - * @since 1.9 + * @since 9 */ default Path asPath(FileObject file) { throw new UnsupportedOperationException(); diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/AttributeTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/AttributeTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/AttributeTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,12 +33,10 @@ * * @since 1.8 */ -@jdk.Exported public interface AttributeTree extends DocTree { /** * The kind of an attribute value. */ - @jdk.Exported enum ValueKind { /** The attribute value is empty. */ EMPTY, diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/AuthorTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/AuthorTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/AuthorTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.8 */ -@jdk.Exported public interface AuthorTree extends BlockTagTree { /** * Returns the name of the author. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/BlockTagTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/BlockTagTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/BlockTagTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,7 +31,6 @@ * * @since 1.8 */ -@jdk.Exported public interface BlockTagTree extends DocTree { /** * Returns the name of the tag. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/CommentTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/CommentTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/CommentTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,7 +33,6 @@ * * @since 1.8 */ -@jdk.Exported public interface CommentTree extends DocTree { /** * Returns the text of the comment. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DeprecatedTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DeprecatedTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DeprecatedTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.8 */ -@jdk.Exported public interface DeprecatedTree extends BlockTagTree { /** * Returns the description explaining why an item is deprecated. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocCommentTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocCommentTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocCommentTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.8 */ -@jdk.Exported public interface DocCommentTree extends DocTree { /** * Returns the first sentence of a documentation comment. @@ -49,7 +48,7 @@ * before any block tags, including the first sentence. * @return body of a documentation comment first sentence inclusive * - * @since 1.9 + * @since 9 */ default List getFullBody() { ArrayList bodyList = new ArrayList<>(); diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocRootTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocRootTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocRootTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,5 +33,4 @@ * * @since 1.8 */ -@jdk.Exported public interface DocRootTree extends InlineTagTree { } diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -30,12 +30,10 @@ * * @since 1.8 */ -@jdk.Exported public interface DocTree { /** * Enumerates all kinds of trees. */ - @jdk.Exported enum Kind { /** * Used for instances of {@link AttributeTree} diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocTreeVisitor.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocTreeVisitor.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/DocTreeVisitor.java Tue Jan 12 13:13:16 2016 -0800 @@ -54,7 +54,6 @@ * * @since 1.8 */ -@jdk.Exported public interface DocTreeVisitor { /** diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/EndElementTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/EndElementTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/EndElementTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.8 */ -@jdk.Exported public interface EndElementTree extends DocTree { /** * Returns the name of this element. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/EntityTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/EntityTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/EntityTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,7 +38,6 @@ * * @since 1.8 */ -@jdk.Exported public interface EntityTree extends DocTree { /** * Returns the name or value of the entity. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ErroneousTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ErroneousTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ErroneousTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,7 +33,6 @@ * * @since 1.8 */ -@jdk.Exported public interface ErroneousTree extends TextTree { /** * Returns a diagnostic object giving details about diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/IdentifierTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/IdentifierTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/IdentifierTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.8 */ -@jdk.Exported public interface IdentifierTree extends DocTree { /** * Returns the name of the identifier. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/IndexTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/IndexTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/IndexTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,9 +33,8 @@ *

* {@index keyword optional description}
* - * @since 1.9 + * @since 9 */ -@jdk.Exported public interface IndexTree extends InlineTagTree { /** * Returns the specified search term. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/InheritDocTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/InheritDocTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/InheritDocTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,5 +34,4 @@ * * @since 1.8 */ -@jdk.Exported public interface InheritDocTree extends InlineTagTree { } diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/InlineTagTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/InlineTagTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/InlineTagTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,7 +31,6 @@ * * @since 1.8 */ -@jdk.Exported public interface InlineTagTree extends DocTree { /** * Returns the name of the tag. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/LinkTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/LinkTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/LinkTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.8 */ -@jdk.Exported public interface LinkTree extends InlineTagTree { /** * Returns the reference of a link. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/LiteralTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/LiteralTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/LiteralTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * * @since 1.8 */ -@jdk.Exported public interface LiteralTree extends InlineTagTree { /** * Returns the body of the {@code @code} or {@code @literal} tag. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ParamTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ParamTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ParamTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.8 */ -@jdk.Exported public interface ParamTree extends BlockTagTree { /** * Returns true if this is documenting a type parameter. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ReferenceTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ReferenceTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ReferenceTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * * @since 1.8 */ -@jdk.Exported public interface ReferenceTree extends DocTree { /** * Returns the signature of the Java language element being referenced, diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ReturnTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ReturnTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ReturnTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.8 */ -@jdk.Exported public interface ReturnTree extends BlockTagTree { /** * Returns the description of the return value of a method. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SeeTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SeeTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SeeTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,7 +38,6 @@ * * @since 1.8 */ -@jdk.Exported public interface SeeTree extends BlockTagTree { /** * Returns the reference. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SerialDataTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SerialDataTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SerialDataTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.8 */ -@jdk.Exported public interface SerialDataTree extends BlockTagTree { /** * Returns the description of the serial data. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SerialFieldTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SerialFieldTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SerialFieldTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.8 */ -@jdk.Exported public interface SerialFieldTree extends BlockTagTree { /** * Returns the name of the serial field. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SerialTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SerialTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SerialTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.8 */ -@jdk.Exported public interface SerialTree extends BlockTagTree { /** * Returns the description of the field, or the word diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SinceTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SinceTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/SinceTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.8 */ -@jdk.Exported public interface SinceTree extends BlockTagTree { /** * Returns the text explaining the availability of the item being documented. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/StartElementTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/StartElementTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/StartElementTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.8 */ -@jdk.Exported public interface StartElementTree extends DocTree { /** * Returns the name of the element. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/TextTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/TextTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/TextTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -30,7 +30,6 @@ * * @since 1.8 */ -@jdk.Exported public interface TextTree extends DocTree { /** * Returns the text. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ThrowsTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ThrowsTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ThrowsTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,7 +38,6 @@ * * @since 1.8 */ -@jdk.Exported public interface ThrowsTree extends BlockTagTree { /** * Returns a name of the exception being documented. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/UnknownBlockTagTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/UnknownBlockTagTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/UnknownBlockTagTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * @since 1.8 * */ -@jdk.Exported public interface UnknownBlockTagTree extends BlockTagTree { /** * Returns the content of an unrecognized block tag. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/UnknownInlineTagTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/UnknownInlineTagTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/UnknownInlineTagTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * @since 1.8 * */ -@jdk.Exported public interface UnknownInlineTagTree extends InlineTagTree { /** * Returns the content of an unrecognized inline tag. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ValueTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ValueTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/ValueTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,7 +33,6 @@ * * @since 1.8 */ -@jdk.Exported public interface ValueTree extends InlineTagTree { /** * Returns the reference to the value. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/VersionTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/VersionTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/VersionTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.8 */ -@jdk.Exported public interface VersionTree extends BlockTagTree { /** * Returns the body of the tag. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/package-info.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/doctree/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,5 +31,4 @@ * @since 1.8 * @see http://download.oracle.com/javase/6/docs/technotes/tools/solaris/javadoc.html#javadoctags */ -@jdk.Exported package com.sun.source.doctree; diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AnnotatedTypeTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AnnotatedTypeTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AnnotatedTypeTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * @author Mahmood Ali * @since 1.8 */ -@jdk.Exported public interface AnnotatedTypeTree extends ExpressionTree { /** * Returns the annotations associated with this type expression. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AnnotationTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AnnotationTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AnnotationTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -42,7 +42,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface AnnotationTree extends ExpressionTree { /** * Returns the annotation type. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ArrayAccessTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ArrayAccessTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ArrayAccessTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface ArrayAccessTree extends ExpressionTree { /** * Returns the expression for the array being accessed. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ArrayTypeTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ArrayTypeTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ArrayTypeTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface ArrayTypeTree extends Tree { /** * Returns the element type of this array type. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AssertTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AssertTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AssertTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface AssertTree extends StatementTree { /** * Returns the condition being asserted. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AssignmentTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AssignmentTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/AssignmentTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface AssignmentTree extends ExpressionTree { /** * Returns the variable being assigned to. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/BinaryTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/BinaryTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/BinaryTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,7 +40,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface BinaryTree extends ExpressionTree { /** * Returns the left (first) operand of the expression. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/BlockTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/BlockTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/BlockTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface BlockTree extends StatementTree { /** * Returns true if and only if this is a static initializer block. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/BreakTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/BreakTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/BreakTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,7 +43,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface BreakTree extends StatementTree { /** * Returns the label for this {@code break} statement. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CaseTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CaseTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CaseTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface CaseTree extends Tree { /** * Returns the expression for the case, or diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CatchTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CatchTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CatchTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,7 +40,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface CatchTree extends Tree { /** * Returns the catch variable. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ClassTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ClassTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ClassTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -48,7 +48,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface ClassTree extends StatementTree { /** * Returns the modifiers, including any annotations, diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CompilationUnitTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CompilationUnitTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CompilationUnitTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * @author Peter von der Ahé * @since 1.6 */ -@jdk.Exported public interface CompilationUnitTree extends Tree { /** * Returns the annotations listed on any package declaration @@ -59,7 +58,7 @@ * Returns the package tree associated with this compilation unit, * or {@code null} if there is no package declaration. * @return the package tree - * @since 1.9 + * @since 9 */ PackageTree getPackage(); diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CompoundAssignmentTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CompoundAssignmentTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/CompoundAssignmentTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,7 +40,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface CompoundAssignmentTree extends ExpressionTree { /** * Returns the variable on the left hand side of the compound assignment. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ConditionalExpressionTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ConditionalExpressionTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ConditionalExpressionTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface ConditionalExpressionTree extends ExpressionTree { /** * Returns the condition. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ContinueTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ContinueTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ContinueTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -42,7 +42,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface ContinueTree extends StatementTree { /** * Returns the label for this {@code continue} statement. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/DoWhileLoopTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/DoWhileLoopTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/DoWhileLoopTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface DoWhileLoopTree extends StatementTree { /** * Returns the condition of the loop. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/EmptyStatementTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/EmptyStatementTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/EmptyStatementTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,5 +39,4 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface EmptyStatementTree extends StatementTree {} diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/EnhancedForLoopTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/EnhancedForLoopTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/EnhancedForLoopTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,7 +40,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface EnhancedForLoopTree extends StatementTree { /** * Returns the control variable for the loop. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ErroneousTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ErroneousTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ErroneousTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface ErroneousTree extends ExpressionTree { /** * Returns any trees that were saved in this node. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ExpressionStatementTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ExpressionStatementTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ExpressionStatementTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface ExpressionStatementTree extends StatementTree { /** * Returns the expression constituting this statement. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ExpressionTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ExpressionTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ExpressionTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,5 +35,4 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface ExpressionTree extends Tree {} diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ForLoopTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ForLoopTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ForLoopTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -42,7 +42,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface ForLoopTree extends StatementTree { /** * Returns any initializers of the {@code for} statement. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/IdentifierTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/IdentifierTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/IdentifierTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface IdentifierTree extends ExpressionTree { /** * Returns the name of the identifier. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/IfTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/IfTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/IfTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface IfTree extends StatementTree { /** * Returns the condition of the if-statement. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ImportTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ImportTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ImportTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface ImportTree extends Tree { /** * Returns true if this is a static import declaration. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/InstanceOfTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/InstanceOfTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/InstanceOfTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface InstanceOfTree extends ExpressionTree { /** * Returns the expression to be tested. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/IntersectionTypeTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/IntersectionTypeTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/IntersectionTypeTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -34,7 +34,6 @@ * * @since 1.8 */ -@jdk.Exported public interface IntersectionTypeTree extends Tree { /** * Returns the bounds of the type. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LabeledStatementTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LabeledStatementTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LabeledStatementTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface LabeledStatementTree extends StatementTree { /** * Returns the label. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LambdaExpressionTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LambdaExpressionTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LambdaExpressionTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * (x,y)-> { return x + y; } * } */ -@jdk.Exported public interface LambdaExpressionTree extends ExpressionTree { /** @@ -47,7 +46,6 @@ *

  • statement lambdas, whose body is a block * */ - @jdk.Exported public enum BodyKind { /** enum constant for expression lambdas */ EXPRESSION, diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LineMap.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LineMap.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LineMap.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,7 +31,6 @@ * * @since 1.6 */ -@jdk.Exported public interface LineMap { /** * Finds the start position of a line. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LiteralTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LiteralTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/LiteralTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,7 +40,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface LiteralTree extends ExpressionTree { /** * Returns the value of the literal expression. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MemberReferenceTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MemberReferenceTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MemberReferenceTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,14 +39,12 @@ * * @since 1.8 */ -@jdk.Exported public interface MemberReferenceTree extends ExpressionTree { /** * There are two kinds of member references: (i) method references and * (ii) constructor references */ - @jdk.Exported public enum ReferenceMode { /** enum constant for method references. */ INVOKE, diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MemberSelectTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MemberSelectTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MemberSelectTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface MemberSelectTree extends ExpressionTree { /** * Returns the expression for which a member is to be selected. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MethodInvocationTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MethodInvocationTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MethodInvocationTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,7 +43,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface MethodInvocationTree extends ExpressionTree { /** * Returns the type arguments for this method invocation. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MethodTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MethodTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/MethodTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -46,7 +46,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface MethodTree extends Tree { /** * Returns the modifiers, including any annotations for the method being declared. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ModifiersTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ModifiersTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ModifiersTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface ModifiersTree extends Tree { /** * Returns the flags in this modifiers tree. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/NewArrayTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/NewArrayTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/NewArrayTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,7 +43,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface NewArrayTree extends ExpressionTree { /** * Returns the base type of the expression. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/NewClassTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/NewClassTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/NewClassTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -48,7 +48,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface NewClassTree extends ExpressionTree { /** * Returns the enclosing expression, or {@code null} if none. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/PackageTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/PackageTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/PackageTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,9 +33,8 @@ * @jls sections 7.3, and 7.4 * * @author Paul Govereau - * @since 1.9 + * @since 9 */ -@jdk.Exported public interface PackageTree extends Tree { /** * Returns the annotations associated with this package declaration. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ParameterizedTypeTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ParameterizedTypeTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ParameterizedTypeTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface ParameterizedTypeTree extends Tree { /** * Returns the base type. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ParenthesizedTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ParenthesizedTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ParenthesizedTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,7 +40,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface ParenthesizedTree extends ExpressionTree { /** * Returns the expression within the parentheses. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/PrimitiveTypeTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/PrimitiveTypeTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/PrimitiveTypeTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface PrimitiveTypeTree extends Tree { /** * Returns the kind of this primitive type. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ReturnTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ReturnTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ReturnTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,7 +40,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface ReturnTree extends StatementTree { /** * Returns the expression to be returned. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/Scope.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/Scope.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/Scope.java Tue Jan 12 13:13:16 2016 -0800 @@ -48,7 +48,6 @@ * * @since 1.6 */ -@jdk.Exported public interface Scope { /** * Returns the enclosing scope. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/StatementTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/StatementTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/StatementTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,5 +35,4 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface StatementTree extends Tree {} diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/SwitchTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/SwitchTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/SwitchTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,7 +43,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface SwitchTree extends StatementTree { /** * Returns the expression for the {@code switch} statement. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/SynchronizedTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/SynchronizedTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/SynchronizedTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -40,7 +40,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface SynchronizedTree extends StatementTree { /** * Returns the expression on which to synchronize. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ThrowTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ThrowTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/ThrowTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface ThrowTree extends StatementTree { /** * Returns the expression to be thrown. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/Tree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/Tree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/Tree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,13 +39,11 @@ * * @since 1.6 */ -@jdk.Exported public interface Tree { /** * Enumerates all kinds of trees. */ - @jdk.Exported public enum Kind { /** * Used for instances of {@link AnnotatedTypeTree} @@ -212,7 +210,7 @@ /** * Used for instances of {@link PackageTree}. - * @since 1.9 + * @since 9 */ PACKAGE(PackageTree.class), diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TreeVisitor.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TreeVisitor.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TreeVisitor.java Tue Jan 12 13:13:16 2016 -0800 @@ -56,7 +56,6 @@ * * @since 1.6 */ -@jdk.Exported public interface TreeVisitor { /** * Visits an AnnotatedTypeTree node. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TryTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TryTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TryTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -45,7 +45,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface TryTree extends StatementTree { /** * Returns the block of the {@code try} statement. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TypeCastTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TypeCastTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TypeCastTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface TypeCastTree extends ExpressionTree { /** * Returns the target type of the cast. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TypeParameterTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TypeParameterTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/TypeParameterTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -46,7 +46,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface TypeParameterTree extends Tree { /** * Returns the name of the type parameter. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/UnaryTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/UnaryTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/UnaryTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -42,7 +42,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface UnaryTree extends ExpressionTree { /** * Returns the expression that is the operand of the unary operator. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/UnionTypeTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/UnionTypeTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/UnionTypeTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.7 */ -@jdk.Exported public interface UnionTypeTree extends Tree { /** * Returns the alternative type expressions. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/VariableTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/VariableTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/VariableTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -42,7 +42,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface VariableTree extends StatementTree { /** * Returns the modifiers, including any annotations, on the declaration. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/WhileLoopTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/WhileLoopTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/WhileLoopTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface WhileLoopTree extends StatementTree { /** * Returns the condition of the loop. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/WildcardTree.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/WildcardTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/WildcardTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -44,7 +44,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface WildcardTree extends Tree { /** * Returns the bound of the wildcard. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/tree/package-info.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/tree/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,5 +31,4 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported package com.sun.source.tree; diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocSourcePositions.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocSourcePositions.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocSourcePositions.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.8 */ -@jdk.Exported public interface DocSourcePositions extends SourcePositions { /** diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreePath.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreePath.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreePath.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * * @since 1.8 */ -@jdk.Exported public class DocTreePath implements Iterable { /** * Returns a documentation tree path for a tree node within a compilation unit, diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreePathScanner.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreePathScanner.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreePathScanner.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * * @since 1.8 */ -@jdk.Exported public class DocTreePathScanner extends DocTreeScanner { /** * Scans a tree from a position identified by a tree path. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreeScanner.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreeScanner.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTreeScanner.java Tue Jan 12 13:13:16 2016 -0800 @@ -68,7 +68,6 @@ * * @since 1.8 */ -@jdk.Exported public class DocTreeScanner implements DocTreeVisitor { /** diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTrees.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTrees.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/DocTrees.java Tue Jan 12 13:13:16 2016 -0800 @@ -43,7 +43,6 @@ * * @since 1.8 */ -@jdk.Exported public abstract class DocTrees extends Trees { /** * Returns a DocTrees object for a given CompilationTask. @@ -73,7 +72,7 @@ * Returns {@code null} if none has been specified. * @return the break iterator * - * @since 1.9 + * @since 9 */ public abstract BreakIterator getBreakIterator(); @@ -91,7 +90,7 @@ * @param e an element whose documentation is required * @return the doc comment tree * - * @since 1.9 + * @since 9 */ public abstract DocCommentTree getDocCommentTree(Element e); @@ -105,7 +104,7 @@ * @param fileObject the content container * @return the doc comment tree * - * @since 1.9 + * @since 9 */ public abstract DocCommentTree getDocCommentTree(FileObject fileObject); @@ -122,7 +121,7 @@ * @return the doc comment tree * @throws java.io.IOException if an exception occurs * - * @since 1.9 + * @since 9 */ public abstract DocCommentTree getDocCommentTree(Element e, String relativePath) throws IOException; @@ -141,7 +140,7 @@ * @param list the DocTree list to interrogate * @return the first sentence * - * @since 1.9 + * @since 9 */ public abstract List getFirstSentence(List list); @@ -173,7 +172,7 @@ * @param breakiterator a break iterator or {@code null} to specify the default * sentence breaker * - * @since 1.9 + * @since 9 */ public abstract void setBreakIterator(BreakIterator breakiterator); } diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/JavacTask.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/JavacTask.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/JavacTask.java Tue Jan 12 13:13:16 2016 -0800 @@ -48,7 +48,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public abstract class JavacTask implements CompilationTask { /** diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/Plugin.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/Plugin.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/Plugin.java Tue Jan 12 13:13:16 2016 -0800 @@ -49,7 +49,6 @@ * * @since 1.8 */ -@jdk.Exported public interface Plugin { /** * Returns the user-friendly name of this plug-in. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/SimpleDocTreeVisitor.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,7 +38,6 @@ * * @since 1.8 */ -@jdk.Exported public class SimpleDocTreeVisitor implements DocTreeVisitor { /** * The default value, returned by the {@link #defaultAction default action}. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/SimpleTreeVisitor.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/SimpleTreeVisitor.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/SimpleTreeVisitor.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * @author Peter von der Ahé * @since 1.6 */ -@jdk.Exported public class SimpleTreeVisitor implements TreeVisitor { /** * The default value, returned by the {@link #defaultAction default action}. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/SourcePositions.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/SourcePositions.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/SourcePositions.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * @author Peter von der Ahé * @since 1.6 */ -@jdk.Exported public interface SourcePositions { /** diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/TaskEvent.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/TaskEvent.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/TaskEvent.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,14 +36,12 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public final class TaskEvent { /** * Kind of task event. * @since 1.6 */ - @jdk.Exported public enum Kind { /** * For events related to the parsing of a file. @@ -74,7 +72,7 @@ * This event is not sent when using {@link JavacTask#parse()}, * {@link JavacTask#analyze()} or {@link JavacTask#generate()}. * - * @since 1.9 + * @since 9 */ COMPILATION, } diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/TaskListener.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/TaskListener.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/TaskListener.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public interface TaskListener { /** diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/TreePath.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/TreePath.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/TreePath.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public class TreePath implements Iterable { /** * Returns a tree path for a tree node within a compilation unit, diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/TreePathScanner.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/TreePathScanner.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/TreePathScanner.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,7 +38,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public class TreePathScanner extends TreeScanner { /** diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/TreeScanner.java Tue Jan 12 13:13:16 2016 -0800 @@ -74,7 +74,6 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported public class TreeScanner implements TreeVisitor { /** diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/Trees.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/Trees.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/Trees.java Tue Jan 12 13:13:16 2016 -0800 @@ -51,7 +51,6 @@ * * @author Peter von der Ahé */ -@jdk.Exported public abstract class Trees { /** * Returns a Trees object for a given CompilationTask. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/source/util/package-info.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/source/util/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/source/util/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -30,5 +30,4 @@ * @author Jonathan Gibbons * @since 1.6 */ -@jdk.Exported package com.sun.source.util; diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/Main.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/Main.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/Main.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,7 +31,6 @@ * The programmatic interface for the Java Programming Language * compiler, javac. */ -@jdk.Exported public class Main { /** Main entry point for the launcher. diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/platform/package-info.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/platform/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/javac/platform/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,5 +31,4 @@ * This code and its internal interfaces are subject to change or * deletion without notice. */ -@jdk.Exported(false) package com.sun.tools.javac.platform; diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CleanProperties.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CleanProperties.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CleanProperties.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2001, 2016, 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 @@ -66,7 +66,6 @@ public boolean transform(CompilationService sjavac, Map> pkgSrcs, Set visibleSrcs, - Map> visibleClasses, Map> oldPackageDependencies, URI destRoot, Map> packageArtifacts, diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileJavaPackages.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2016, 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 @@ -80,7 +80,6 @@ public boolean transform(final CompilationService sjavac, Map> pkgSrcs, final Set visibleSources, - final Map> visibleClasses, Map> oldPackageDependents, URI destRoot, final Map> packageArtifacts, diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileProperties.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileProperties.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CompileProperties.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2016, 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 @@ -74,7 +74,6 @@ public boolean transform(CompilationService compilationService, Map> pkgSrcs, Set visibleSrcs, - Map> visibleClasses, Map> oldPackageDependents, URI destRoot, Map> packageArtifacts, diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CopyFile.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CopyFile.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/CopyFile.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2016, 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 @@ -61,7 +61,6 @@ public boolean transform(CompilationService compilationService, Map> pkgSrcs, Set visibleSrcs, - Map> visibleClasses, Map> oldPackageDependents, URI destRoot, Map> packageArtifacts, diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/JavacState.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/JavacState.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/JavacState.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2016, 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 @@ -120,13 +120,6 @@ // ones that -sourcepath is allowed to see. Set visibleSrcs; - // Visible classes for linking. These are the only - // ones that -classpath is allowed to see. - // It maps from a classpath root to the set of visible classes for that root. - // If the set is empty, then all classes are visible for that root. - // It can also map from a jar file to the set of visible classes for that jar file. - Map> visibleClasses; - // Setup transform that always exist. private CompileJavaPackages compileJavaPackages = new CompileJavaPackages(); @@ -214,16 +207,6 @@ } /** - * Specify which classes are visible to the compiler through -classpath. - */ - public void setVisibleClasses(Map vs) { - visibleSrcs = new HashSet<>(); - for (String s : vs.keySet()) { - Source src = vs.get(s); - visibleSrcs.add(src.file().toURI()); - } - } - /** * Returns true if this is an incremental build. */ public boolean isIncremental() { @@ -820,7 +803,6 @@ boolean r = t.transform(sjavac, srcs, visibleSrcs, - visibleClasses, prev.dependents(), outputDir.toURI(), packageArtifacts, @@ -954,8 +936,7 @@ } } // Read in the file and create another set of filenames with full paths. - try { - BufferedReader in = new BufferedReader(new FileReader(makefileSourceList)); + try(BufferedReader in = new BufferedReader(new FileReader(makefileSourceList))) { for (;;) { String l = in.readLine(); if (l==null) break; diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Transformer.java --- a/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Transformer.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.compiler/share/classes/com/sun/tools/sjavac/Transformer.java Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2012, 2016, 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 @@ -86,7 +86,6 @@ boolean transform(CompilationService sjavac, Map> pkgSrcs, Set visibleSources, - Map> visibleClasses, Map> oldPackageDependencies, URI destRoot, Map> packageArtifacts, diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/package-info.java --- a/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.javadoc/share/classes/com/sun/javadoc/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -144,5 +144,4 @@ @see com.sun.javadoc.Doclet @see com.sun.javadoc.RootDoc */ -@jdk.Exported package com.sun.javadoc; diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/package-info.java --- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/markup/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,5 +31,4 @@ This code and its internal interfaces are subject to change or deletion without notice. */ -@jdk.Exported(false) package com.sun.tools.doclets.formats.html.markup; diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/package-info.java --- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/formats/html/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,5 +36,4 @@ This code and its internal interfaces are subject to change or deletion without notice. */ -@jdk.Exported(false) package com.sun.tools.doclets.formats.html; diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/package-info.java --- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/builders/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,5 +37,4 @@ This code and its internal interfaces are subject to change or deletion without notice. */ -@jdk.Exported(false) package com.sun.tools.doclets.internal.toolkit.builders; diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/package-info.java --- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -53,5 +53,4 @@ This code and its internal interfaces are subject to change or deletion without notice. */ -@jdk.Exported(false) package com.sun.tools.doclets.internal.toolkit; diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/package-info.java --- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/taglets/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -48,5 +48,4 @@ This code and its internal interfaces are subject to change or deletion without notice. */ -@jdk.Exported(false) package com.sun.tools.doclets.internal.toolkit.taglets; diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/package-info.java --- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/links/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,5 +31,4 @@ This code and its internal interfaces are subject to change or deletion without notice. */ -@jdk.Exported(false) package com.sun.tools.doclets.internal.toolkit.util.links; diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/package-info.java --- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/internal/toolkit/util/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,5 +32,4 @@ This code and its internal interfaces are subject to change or deletion without notice. */ -@jdk.Exported(false) package com.sun.tools.doclets.internal.toolkit.util; diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/package-info.java --- a/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.javadoc/share/classes/com/sun/tools/doclets/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,5 +32,4 @@ This code and its internal interfaces are subject to change or deletion without notice. */ -@jdk.Exported(false) package com.sun.tools.doclets; diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.jdeps/share/classes/com/sun/tools/classfile/package-info.java --- a/langtools/src/jdk.jdeps/share/classes/com/sun/tools/classfile/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.jdeps/share/classes/com/sun/tools/classfile/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,5 +33,4 @@ This code and its internal interfaces are subject to change or deletion without notice. */ -@jdk.Exported(false) package com.sun.tools.classfile; diff -r 21c2a1c93810 -r 9ff296647fde langtools/src/jdk.jdeps/share/classes/com/sun/tools/javap/package-info.java --- a/langtools/src/jdk.jdeps/share/classes/com/sun/tools/javap/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/src/jdk.jdeps/share/classes/com/sun/tools/javap/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,5 +31,4 @@ This code and its internal interfaces are subject to change or deletion without notice. */ -@jdk.Exported(false) package com.sun.tools.javap; diff -r 21c2a1c93810 -r 9ff296647fde langtools/test/tools/javac/proprietary/WarnImport.java --- a/langtools/test/tools/javac/proprietary/WarnImport.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/test/tools/javac/proprietary/WarnImport.java Tue Jan 12 13:13:16 2016 -0800 @@ -9,6 +9,6 @@ * @compile/fail/ref=WarnImport.out -XDrawDiagnostics -Werror -Xlint:none WarnImport.java */ -import sun.misc.VM; +import sun.security.x509.X509CertInfo; public class WarnImport {} diff -r 21c2a1c93810 -r 9ff296647fde langtools/test/tools/javac/proprietary/WarnImport.out --- a/langtools/test/tools/javac/proprietary/WarnImport.out Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/test/tools/javac/proprietary/WarnImport.out Tue Jan 12 13:13:16 2016 -0800 @@ -1,4 +1,4 @@ -WarnImport.java:12:16: compiler.warn.sun.proprietary: sun.misc.VM +WarnImport.java:12:25: compiler.warn.sun.proprietary: sun.security.x509.X509CertInfo - compiler.err.warnings.and.werror 1 error 1 warning diff -r 21c2a1c93810 -r 9ff296647fde langtools/test/tools/javac/proprietary/WarnMethod.java --- a/langtools/test/tools/javac/proprietary/WarnMethod.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/test/tools/javac/proprietary/WarnMethod.java Tue Jan 12 13:13:16 2016 -0800 @@ -3,7 +3,7 @@ * @bug 6380059 * @summary Emit warnings for proprietary packages in the boot class path * @author Peter von der Ah\u00e9 - * @modules java.base/sun.misc + * @modules java.base/sun.security.x509 * @compile WarnMethod.java * @compile/fail/ref=WarnMethod.out -XDrawDiagnostics -Werror WarnMethod.java * @compile/fail/ref=WarnMethod.out -XDrawDiagnostics -Werror -nowarn WarnMethod.java @@ -12,6 +12,6 @@ public class WarnMethod { public static void main(String... args) { - System.out.println(sun.misc.VM.getFinalRefCount()); + System.out.println(sun.security.x509.OIDMap.getOID("")); } } diff -r 21c2a1c93810 -r 9ff296647fde langtools/test/tools/javac/proprietary/WarnMethod.out --- a/langtools/test/tools/javac/proprietary/WarnMethod.out Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/test/tools/javac/proprietary/WarnMethod.out Tue Jan 12 13:13:16 2016 -0800 @@ -1,4 +1,4 @@ -WarnMethod.java:15:36: compiler.warn.sun.proprietary: sun.misc.VM +WarnMethod.java:15:45: compiler.warn.sun.proprietary: sun.security.x509.OIDMap - compiler.err.warnings.and.werror 1 error 1 warning diff -r 21c2a1c93810 -r 9ff296647fde langtools/test/tools/javac/proprietary/WarnStaticImport.java --- a/langtools/test/tools/javac/proprietary/WarnStaticImport.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/test/tools/javac/proprietary/WarnStaticImport.java Tue Jan 12 13:13:16 2016 -0800 @@ -9,6 +9,6 @@ * @compile/fail/ref=WarnStaticImport.out -XDrawDiagnostics -Werror -Xlint:none WarnStaticImport.java */ -import static sun.misc.VM.getFinalRefCount; +import static sun.security.x509.OIDMap.getOID; public class WarnStaticImport {} diff -r 21c2a1c93810 -r 9ff296647fde langtools/test/tools/javac/proprietary/WarnStaticImport.out --- a/langtools/test/tools/javac/proprietary/WarnStaticImport.out Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/test/tools/javac/proprietary/WarnStaticImport.out Tue Jan 12 13:13:16 2016 -0800 @@ -1,4 +1,4 @@ -WarnStaticImport.java:12:23: compiler.warn.sun.proprietary: sun.misc.VM +WarnStaticImport.java:12:32: compiler.warn.sun.proprietary: sun.security.x509.OIDMap - compiler.err.warnings.and.werror 1 error 1 warning diff -r 21c2a1c93810 -r 9ff296647fde langtools/test/tools/javac/tree/NoPrivateTypesExported.java --- a/langtools/test/tools/javac/tree/NoPrivateTypesExported.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/test/tools/javac/tree/NoPrivateTypesExported.java Tue Jan 12 13:13:16 2016 -0800 @@ -90,8 +90,7 @@ "java.text.", "java.util.", "javax.lang.model.", - "javax.annotation.processing.SupportedSourceVersion", - "jdk.Exported" + "javax.annotation.processing.SupportedSourceVersion" )); Set javaxToolsProcessingAcceptableTemp = new HashSet<>(); javaxToolsProcessingAcceptableTemp.addAll(javaxLangModelAcceptable); diff -r 21c2a1c93810 -r 9ff296647fde langtools/test/tools/javac/util/context/T7021650.java --- a/langtools/test/tools/javac/util/context/T7021650.java Tue Jan 12 18:02:07 2016 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,223 +0,0 @@ -/* - * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * 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. - */ - -/** - * @test - * @bug 7021650 - * @summary Fix Context issues - * @library /tools/javac/lib - * @modules jdk.compiler/com.sun.tools.javac.comp - * jdk.compiler/com.sun.tools.javac.file - * jdk.compiler/com.sun.tools.javac.main - * jdk.compiler/com.sun.tools.javac.processing - * jdk.compiler/com.sun.tools.javac.util - * @build JavacTestingAbstractProcessor T7021650 - * @run main T7021650 - */ - -import java.io.*; -import java.net.*; -import java.util.*; -import javax.annotation.processing.*; -import javax.lang.model.element.*; -import javax.tools.*; - -import com.sun.tools.javac.comp.Attr; -import com.sun.tools.javac.file.JavacFileManager; -import com.sun.tools.javac.main.Main; -import com.sun.tools.javac.processing.JavacProcessingEnvironment; -import com.sun.tools.javac.util.Context; - -public class T7021650 extends JavacTestingAbstractProcessor { - public static void main(String... args) throws Exception { - new T7021650().run(); - } - - static File testSrc = new File(System.getProperty("test.src")); - static final int MAX_ROUNDS = 3; - - /** - * Perform a compilation with custom factories registered in the context, - * and verify that corresponding objects are created in each round. - */ - void run() throws Exception { - Counter myDemoCounter = new Counter(); - Counter myAttrCounter = new Counter(); - - Context context = new Context(); - // Use a custom file manager which creates classloaders for annotation - // processors with a sensible delegation parent, so that all instances - // of test classes come from the same class loader. This is important - // because the test performs class checks on the instances of classes - // found in the context for each round or processing. - context.put(JavaFileManager.class, new Context.Factory() { - public JavaFileManager make(Context c) { - return new JavacFileManager(c, true, null) { - @Override - protected ClassLoader getClassLoader(URL[] urls) { - return new URLClassLoader(urls, T7021650.class.getClassLoader()); - } - }; - } - }); - - MyDemo.preRegister(context, myDemoCounter); - MyAttr.preRegister(context, myAttrCounter); - - String[] args = { - "-d", ".", - "-processor", T7021650.class.getName(), - "-XprintRounds", - new File(testSrc, T7021650.class.getName() + ".java").getPath() - }; - - compile(context, args); - - // the services should only be created once in the current scheme: - checkEqual("demoCounter", myDemoCounter.count, 1); - checkEqual("myAttrCounter", myAttrCounter.count, 1); - } - - void compile(Context context, String... args) throws Exception { - StringWriter sw = new StringWriter(); - PrintWriter pw = new PrintWriter(sw); - Main m = new Main("javac", pw); - Main.Result res = m.compile(args, context); - pw.close(); - String out = sw.toString(); - if (!out.isEmpty()) - System.err.println(out); - if (!res.isOK()) - throw new Exception("compilation failed unexpectedly: result=" + res); - } - - void checkEqual(String label, int found, int expect) throws Exception { - if (found != expect) - throw new Exception("unexpected value for " + label - + ": expected " + expect - + ": found " + found); - } - - //--------------- - - /* - * A custom class unknown to javac but nonetheless registered in the context. - */ - static class Demo { - Demo(Context c) { - c.put(Demo.class, this); - } - - static Demo instance(Context context) { - return context.get(Demo.class); - } - } - - static class MyDemo extends Demo { - static void preRegister(Context context, final Counter counter) { - context.put(Demo.class, new Context.Factory() { - public Demo make(Context c) { - counter.count++; - return new MyDemo(c); - } - }); - } - - MyDemo(Context c) { - super(c); - } - } - - /** - * A custom version of a standard javac component. - */ - static class MyAttr extends Attr { - static void preRegister(Context context, final Counter counter) { - context.put(attrKey, new Context.Factory() { - public Attr make(Context c) { - counter.count++; - return new MyAttr(c); - } - }); - } - - MyAttr(Context c) { - super(c); - } - } - - static class Counter { - int count; - } - - //--------------- - - int round = 0; - - @Override - public boolean process(Set annotations, RoundEnvironment roundEnv) { - round++; - - Context context = ((JavacProcessingEnvironment) processingEnv).getContext(); - - // verify items in context as expected - check("Demo", Demo.instance(context), MyDemo.class); - check("Attr", Attr.instance(context), MyAttr.class); - - // For a few rounds, generate new source files, so that we can check whether - // values in the context are correctly handled in subsequent processing rounds - if (round <= MAX_ROUNDS) { - String pkg = "p"; - String currClass = "Gen" + round; - String curr = pkg + "." + currClass; - String next = (pkg + ".Gen" + (round + 1)); - StringBuilder text = new StringBuilder(); - text.append("package ").append(pkg).append(";\n"); - text.append("public class ").append(currClass).append(" {\n"); - if (round < MAX_ROUNDS) - text.append(" ").append(next).append(" x;\n"); - text.append("}\n"); - - try { - JavaFileObject fo = filer.createSourceFile(curr); - Writer out = fo.openWriter(); - try { - out.write(text.toString()); - } finally { - out.close(); - } - } catch (IOException e) { - throw new Error(e); - } - } - - return true; - } - - void check(String label, Object o, Class clazz) { - if (o == null) - throw new IllegalStateException(label + ": no item found"); - if (!clazz.isAssignableFrom(o.getClass())) - throw new IllegalStateException(label + ": unexpected class: " + o.getClass()); - } -} diff -r 21c2a1c93810 -r 9ff296647fde langtools/test/tools/jdeps/m/Gee.java --- a/langtools/test/tools/jdeps/m/Gee.java Tue Jan 12 18:02:07 2016 +0300 +++ b/langtools/test/tools/jdeps/m/Gee.java Tue Jan 12 13:13:16 2016 -0800 @@ -26,7 +26,7 @@ class Gee extends g.G { public sun.security.x509.X509CertInfo cert; - public com.sun.tools.classfile.ClassFile cf; // @jdk.Exported(false) - public com.sun.source.tree.BinaryTree tree; // @jdk.Exported - public com.sun.management.ThreadMXBean mxbean; // @jdk.Exported on package-info + public com.sun.tools.classfile.ClassFile cf; // not exported + public com.sun.source.tree.BinaryTree tree; // exported + public com.sun.management.ThreadMXBean mxbean; // exported } diff -r 21c2a1c93810 -r 9ff296647fde make/common/NON_CORE_PKGS.gmk --- a/make/common/NON_CORE_PKGS.gmk Tue Jan 12 18:02:07 2016 +0300 +++ b/make/common/NON_CORE_PKGS.gmk Tue Jan 12 13:13:16 2016 -0800 @@ -79,8 +79,7 @@ TREEAPI_PKGS = com.sun.source.doctree \ com.sun.source.tree \ - com.sun.source.util \ - jdk + com.sun.source.util NASHORNAPI_PKGS = jdk.nashorn.api.scripting \ jdk.nashorn.api.tree diff -r 21c2a1c93810 -r 9ff296647fde make/common/NativeCompilation.gmk --- a/make/common/NativeCompilation.gmk Tue Jan 12 18:02:07 2016 +0300 +++ b/make/common/NativeCompilation.gmk Tue Jan 12 13:13:16 2016 -0800 @@ -783,13 +783,13 @@ $1_LD_OBJ_ARG := $$($1_ALL_OBJS) - # If there are many object files, use an @-file. + # If there are many object files, use an @-file... ifneq ($$(word 17, $$($1_ALL_OBJS)), ) $1_OBJ_FILE_LIST := $$($1_OBJECT_DIR)/_$1_objectfilenames.txt - ifneq ($(TOOLCHAIN_TYPE),solstudio) + ifneq ($(COMPILER_COMMAND_FILE_FLAG),) $1_LD_OBJ_ARG := $(COMPILER_COMMAND_FILE_FLAG)$$($1_OBJ_FILE_LIST) else - # The solstudio linker does not support @-files. + # ...except for toolchains which don't support them. $1_LD_OBJ_ARG := `cat $$($1_OBJ_FILE_LIST)` endif endif diff -r 21c2a1c93810 -r 9ff296647fde modules.xml --- a/modules.xml Tue Jan 12 18:02:07 2016 +0300 +++ b/modules.xml Tue Jan 12 13:13:16 2016 -0800 @@ -205,9 +205,6 @@ javax.security.cert - jdk - - jdk.net @@ -233,9 +230,11 @@ java.logging java.management java.naming + java.rmi java.security.jgss java.sql java.xml + jdk.charsets jdk.management.resource jdk.scripting.nashorn diff -r 21c2a1c93810 -r 9ff296647fde nashorn/.hgtags --- a/nashorn/.hgtags Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/.hgtags Tue Jan 12 13:13:16 2016 -0800 @@ -333,3 +333,4 @@ 2beaef2b6a880c0bff8c9f57ffca33477d647f8b jdk-9+97 68a36216f70c0de4c7e36f8978995934fc72ec03 jdk-9+98 74ddd1339c57cf2c2a13e34e1760006c2e54d1fc jdk-9+99 +da397aea8adad7e6f743b60bfe0c415fc8508df5 jdk-9+100 diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/beans/ClassLinker.java --- a/nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/beans/ClassLinker.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/beans/ClassLinker.java Tue Jan 12 13:13:16 2016 -0800 @@ -102,7 +102,7 @@ setPropertyGetter("static", FOR_CLASS, ValidationType.EXACT_CLASS); } - private static final MethodHandle FOR_CLASS = new Lookup(MethodHandles.lookup()).findStatic(StaticClass.class, + private static final MethodHandle FOR_CLASS = Lookup.PUBLIC.findStatic(StaticClass.class, "forClass", MethodType.methodType(StaticClass.class, Class.class)); } diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/beans/OverloadedDynamicMethod.java --- a/nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/beans/OverloadedDynamicMethod.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/beans/OverloadedDynamicMethod.java Tue Jan 12 13:13:16 2016 -0800 @@ -112,8 +112,7 @@ /** * Holds a list of all methods. */ - private final LinkedList methods; - private final ClassLoader classLoader; + private final LinkedList methods = new LinkedList<>(); /** * Creates a new overloaded dynamic method. @@ -122,13 +121,7 @@ * @param name the name of the method */ OverloadedDynamicMethod(final Class clazz, final String name) { - this(new LinkedList(), clazz.getClassLoader(), getClassAndMethodName(clazz, name)); - } - - private OverloadedDynamicMethod(final LinkedList methods, final ClassLoader classLoader, final String name) { - super(name); - this.methods = methods; - this.classLoader = classLoader; + super(getClassAndMethodName(clazz, name)); } @Override @@ -288,10 +281,6 @@ return b.toString(); }; - ClassLoader getClassLoader() { - return classLoader; - } - private static boolean isApplicableDynamically(final LinkerServices linkerServices, final MethodType callSiteType, final SingleDynamicMethod m) { final MethodType methodType = m.getMethodType(); diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/beans/package-info.java --- a/nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/beans/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/beans/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -85,5 +85,4 @@ * Contains the linker for ordinary Java objects. * @since 1.9 */ -@jdk.Exported package jdk.dynalink.beans; diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/linker/package-info.java --- a/nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/linker/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/linker/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -113,5 +113,4 @@ *

    * @since 1.9 */ -@jdk.Exported package jdk.dynalink.linker; diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/package-info.java --- a/nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -89,5 +89,4 @@ *

    * @since 1.9 */ -@jdk.Exported package jdk.dynalink.linker.support; diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/package-info.java --- a/nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -273,5 +273,4 @@ * from B will get a chance to link the call site in A when it encounters the * object from B. */ -@jdk.Exported package jdk.dynalink; diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/support/package-info.java --- a/nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/support/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.dynalink/share/classes/jdk/dynalink/support/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -87,5 +87,4 @@ *

    * @since 1.9 */ -@jdk.Exported package jdk.dynalink.support; diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/AbstractJSObject.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/AbstractJSObject.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/AbstractJSObject.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * * @since 1.8u40 */ -@jdk.Exported public abstract class AbstractJSObject implements JSObject { /** * Call this object as a JavaScript function. This is equivalent to diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ClassFilter.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ClassFilter.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ClassFilter.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,7 +31,6 @@ * * @since 1.8u40 */ -@jdk.Exported public interface ClassFilter { /** * Should the Java class of the specified name be exposed to scripts? diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/JSObject.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/JSObject.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/JSObject.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * * @since 1.8u40 */ -@jdk.Exported public interface JSObject { /** * Call this object as a JavaScript function. This is equivalent to diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/NashornException.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/NashornException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/NashornException.java Tue Jan 12 13:13:16 2016 -0800 @@ -44,7 +44,6 @@ * * @since 1.8u40 */ -@jdk.Exported @SuppressWarnings("serial") public abstract class NashornException extends RuntimeException { // script file name diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/NashornScriptEngine.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/NashornScriptEngine.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/NashornScriptEngine.java Tue Jan 12 13:13:16 2016 -0800 @@ -69,7 +69,6 @@ * * @since 1.8u40 */ -@jdk.Exported public final class NashornScriptEngine extends AbstractScriptEngine implements Compilable, Invocable { /** * Key used to associate Nashorn global object mirror with arbitrary Bindings instance. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/NashornScriptEngineFactory.java Tue Jan 12 13:13:16 2016 -0800 @@ -48,7 +48,6 @@ * * @since 1.8u40 */ -@jdk.Exported public final class NashornScriptEngineFactory implements ScriptEngineFactory { @Override public String getEngineName() { diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ScriptObjectMirror.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ScriptObjectMirror.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ScriptObjectMirror.java Tue Jan 12 13:13:16 2016 -0800 @@ -60,7 +60,6 @@ * * @since 1.8u40 */ -@jdk.Exported public final class ScriptObjectMirror extends AbstractJSObject implements Bindings { private static AccessControlContext getContextAccCtxt() { final Permissions perms = new Permissions(); diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ScriptUtils.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ScriptUtils.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ScriptUtils.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * * @since 1.8u40 */ -@jdk.Exported public final class ScriptUtils { private ScriptUtils() {} diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/URLReader.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/URLReader.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/URLReader.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * * @since 1.8u40 */ -@jdk.Exported public final class URLReader extends Reader { // underlying URL private final URL url; diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/package-info.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,5 +38,4 @@ * * @since 1.8u40 */ -@jdk.Exported package jdk.nashorn.api.scripting; diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ArrayAccessTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ArrayAccessTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ArrayAccessTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.9 */ -@jdk.Exported public interface ArrayAccessTree extends ExpressionTree { /** * Returns the array that is accessed. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ArrayLiteralTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ArrayLiteralTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ArrayLiteralTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * * @since 1.9 */ -@jdk.Exported public interface ArrayLiteralTree extends ExpressionTree { /** * Returns the list of Array element expressions. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/AssignmentTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/AssignmentTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/AssignmentTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.9 */ -@jdk.Exported public interface AssignmentTree extends ExpressionTree { /** * Returns the left hand side (LHS) of this assignment. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/BinaryTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/BinaryTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/BinaryTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.9 */ -@jdk.Exported public interface BinaryTree extends ExpressionTree { /** * Returns left hand side (LHS) of this binary expression. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/BlockTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/BlockTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/BlockTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * * @since 1.9 */ -@jdk.Exported public interface BlockTree extends StatementTree { /** * Returns the list of statements in this block. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/BreakTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/BreakTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/BreakTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * * @since 1.9 */ -@jdk.Exported public interface BreakTree extends GotoTree { /** * Label associated with this break statement. This is null diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CaseTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CaseTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CaseTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * * @since 1.9 */ -@jdk.Exported public interface CaseTree extends Tree { /** * Case expression of this 'case' statement. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CatchTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CatchTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CatchTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.9 */ -@jdk.Exported public interface CatchTree extends Tree { /** * Returns the catch parameter identifier of the exception caught. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CompilationUnitTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CompilationUnitTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CompilationUnitTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,7 +33,6 @@ * * @since 1.9 */ -@jdk.Exported public interface CompilationUnitTree extends Tree { /** * Return the list of source elements in this compilation unit. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CompoundAssignmentTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CompoundAssignmentTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/CompoundAssignmentTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.9 */ -@jdk.Exported public interface CompoundAssignmentTree extends ExpressionTree { /** * Returns the left hand side (LHS) of this assignment. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ConditionalExpressionTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ConditionalExpressionTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ConditionalExpressionTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.9 */ -@jdk.Exported public interface ConditionalExpressionTree extends ExpressionTree { /** * Returns the condition expression of this ternary expression. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ConditionalLoopTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ConditionalLoopTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ConditionalLoopTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -30,7 +30,6 @@ * * @since 1.9 */ -@jdk.Exported public interface ConditionalLoopTree extends LoopTree { /** * Returns the condition expression of this 'loop' statement. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ContinueTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ContinueTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ContinueTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.9 */ -@jdk.Exported public interface ContinueTree extends GotoTree { /** * Label associated with this continue statement. This is null diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/DebuggerTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/DebuggerTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/DebuggerTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,6 +35,5 @@ * * @since 1.9 */ -@jdk.Exported public interface DebuggerTree extends StatementTree { } diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/Diagnostic.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/Diagnostic.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/Diagnostic.java Tue Jan 12 13:13:16 2016 -0800 @@ -42,7 +42,6 @@ * * @since 1.9 */ -@jdk.Exported public interface Diagnostic { /** diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/DiagnosticListener.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/DiagnosticListener.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/DiagnosticListener.java Tue Jan 12 13:13:16 2016 -0800 @@ -30,7 +30,6 @@ * * @since 1.9 */ -@jdk.Exported @FunctionalInterface public interface DiagnosticListener { /** diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/DoWhileLoopTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/DoWhileLoopTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/DoWhileLoopTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * * @since 1.9 */ -@jdk.Exported public interface DoWhileLoopTree extends ConditionalLoopTree { /** * Returns the condition expression of this do-while statement. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/EmptyStatementTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/EmptyStatementTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/EmptyStatementTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,5 +35,4 @@ * * @since 1.9 */ -@jdk.Exported public interface EmptyStatementTree extends StatementTree {} diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ErroneousTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ErroneousTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ErroneousTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -30,6 +30,5 @@ * * @since 1.9 */ -@jdk.Exported public interface ErroneousTree extends ExpressionTree { } diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ExpressionStatementTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ExpressionStatementTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ExpressionStatementTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.9 */ -@jdk.Exported public interface ExpressionStatementTree extends StatementTree { /** * Returns the expression of this expression statement. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ExpressionTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ExpressionTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ExpressionTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,5 +31,4 @@ * * @since 1.9 */ -@jdk.Exported public interface ExpressionTree extends Tree {} diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ForInLoopTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ForInLoopTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ForInLoopTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.9 */ -@jdk.Exported public interface ForInLoopTree extends LoopTree { /** * The for..in left hand side expression. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ForLoopTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ForLoopTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ForLoopTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.9 */ -@jdk.Exported public interface ForLoopTree extends ConditionalLoopTree { /** * Returns the initializer expression of this 'for' statement. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/FunctionCallTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/FunctionCallTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/FunctionCallTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * * @since 1.9 */ -@jdk.Exported public interface FunctionCallTree extends ExpressionTree { /** * Returns the function being called. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/FunctionDeclarationTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/FunctionDeclarationTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/FunctionDeclarationTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * * @since 1.9 */ -@jdk.Exported public interface FunctionDeclarationTree extends StatementTree { /** * Returns the name of the function being declared. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/FunctionExpressionTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/FunctionExpressionTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/FunctionExpressionTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * * @since 1.9 */ -@jdk.Exported public interface FunctionExpressionTree extends ExpressionTree { /** * Returns the name of the function being declared. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/GotoTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/GotoTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/GotoTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,7 +33,6 @@ * * @since 1.9 */ -@jdk.Exported public interface GotoTree extends StatementTree { /** * Label associated with this goto statement. This is null diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/IdentifierTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/IdentifierTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/IdentifierTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.9 */ -@jdk.Exported public interface IdentifierTree extends ExpressionTree { /** * Returns the name of this identifier. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/IfTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/IfTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/IfTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * * @since 1.9 */ -@jdk.Exported public interface IfTree extends StatementTree { /** * Returns the condition expression of this 'if' statement. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/InstanceOfTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/InstanceOfTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/InstanceOfTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.9 */ -@jdk.Exported public interface InstanceOfTree extends ExpressionTree { /** * Returns the expression whose type is being checked. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LabeledStatementTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LabeledStatementTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LabeledStatementTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.9 */ -@jdk.Exported public interface LabeledStatementTree extends StatementTree { /** * Returns the label associated with this statement. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LineMap.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LineMap.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LineMap.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,7 +31,6 @@ * * @since 1.9 */ -@jdk.Exported public interface LineMap { /** * Find the line containing a position; a line termination diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LiteralTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LiteralTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LiteralTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.9 */ -@jdk.Exported public interface LiteralTree extends ExpressionTree { /** * Returns the value of this literal. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LoopTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LoopTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/LoopTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -30,7 +30,6 @@ * * @since 1.9 */ -@jdk.Exported public interface LoopTree extends StatementTree { /** * Returns the statement contained in this 'loop' statement. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/MemberSelectTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/MemberSelectTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/MemberSelectTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.9 */ -@jdk.Exported public interface MemberSelectTree extends ExpressionTree { /** * The object expression whose member is being selected. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/NewTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/NewTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/NewTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -37,7 +37,6 @@ * * @since 1.9 */ -@jdk.Exported public interface NewTree extends ExpressionTree { /** * Returns the constructor expression of this 'new' expression. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ObjectLiteralTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ObjectLiteralTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ObjectLiteralTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -32,7 +32,6 @@ * * @since 1.9 */ -@jdk.Exported public interface ObjectLiteralTree extends ExpressionTree { /** * Returns the list of properties of this object literal. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ParenthesizedTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ParenthesizedTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ParenthesizedTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.9 */ -@jdk.Exported public interface ParenthesizedTree extends ExpressionTree { /** * Returns the expression within the parenthesis. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/Parser.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/Parser.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/Parser.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,7 +38,6 @@ * * @since 1.9 */ -@jdk.Exported public interface Parser { /** * Parses the source file and returns compilation unit tree diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/PropertyTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/PropertyTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/PropertyTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -30,7 +30,6 @@ * * @since 1.9 */ -@jdk.Exported public interface PropertyTree extends Tree { /** * Returns the name of this property. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/RegExpLiteralTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/RegExpLiteralTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/RegExpLiteralTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -30,7 +30,6 @@ * * @since 1.9 */ -@jdk.Exported public interface RegExpLiteralTree extends Tree { /** * Regular expression pattern to match. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ReturnTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ReturnTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ReturnTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.9 */ -@jdk.Exported public interface ReturnTree extends StatementTree { /** * Returns the expression being returned. This is null if no value diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/StatementTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/StatementTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/StatementTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -31,6 +31,5 @@ * * @since 1.9 */ -@jdk.Exported public interface StatementTree extends Tree { } diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/SwitchTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/SwitchTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/SwitchTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -39,7 +39,6 @@ * * @since 1.9 */ -@jdk.Exported public interface SwitchTree extends StatementTree { /** * Returns the expression on which this statement switches. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ThrowTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ThrowTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/ThrowTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.9 */ -@jdk.Exported public interface ThrowTree extends StatementTree { /** * Returns the expression being thrown. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/Tree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/Tree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/Tree.java Tue Jan 12 13:13:16 2016 -0800 @@ -33,13 +33,11 @@ * * @since 1.9 */ -@jdk.Exported public interface Tree { /** * Enumerates all kinds of trees. */ - @jdk.Exported public enum Kind { /** * Used for instances of {@link ArrayAccessTree}. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/TreeVisitor.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/TreeVisitor.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/TreeVisitor.java Tue Jan 12 13:13:16 2016 -0800 @@ -53,7 +53,6 @@ * * @since 1.9 */ -@jdk.Exported public interface TreeVisitor { /** * Visit assignment tree. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/TryTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/TryTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/TryTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -41,7 +41,6 @@ * * @since 1.9 */ -@jdk.Exported public interface TryTree extends StatementTree { /** * Returns the 'try' block of this 'try' statement. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/UnaryTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/UnaryTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/UnaryTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -38,7 +38,6 @@ * * @since 1.9 */ -@jdk.Exported public interface UnaryTree extends ExpressionTree { /** * Returns the expression operated by the unary operator. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/UnknownTreeException.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/UnknownTreeException.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/UnknownTreeException.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.9 */ -@jdk.Exported public class UnknownTreeException extends RuntimeException { private static final long serialVersionUID = 1L; diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/VariableTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/VariableTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/VariableTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -35,7 +35,6 @@ * * @since 1.9 */ -@jdk.Exported public interface VariableTree extends StatementTree { /** * Returns the name of this variable. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/WhileLoopTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/WhileLoopTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/WhileLoopTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.9 */ -@jdk.Exported public interface WhileLoopTree extends ConditionalLoopTree { /** * The condition expression of this 'while' statement. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/WithTree.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/WithTree.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/WithTree.java Tue Jan 12 13:13:16 2016 -0800 @@ -36,7 +36,6 @@ * * @since 1.9 */ -@jdk.Exported public interface WithTree extends StatementTree { /** * The scope object expression for this 'with' statement. diff -r 21c2a1c93810 -r 9ff296647fde nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/package-info.java --- a/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/package-info.java Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/tree/package-info.java Tue Jan 12 13:13:16 2016 -0800 @@ -70,6 +70,5 @@ * * @since 1.9 */ -@jdk.Exported package jdk.nashorn.api.tree; diff -r 21c2a1c93810 -r 9ff296647fde nashorn/test/script/basic/JDK-8134488.js --- a/nashorn/test/script/basic/JDK-8134488.js Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/test/script/basic/JDK-8134488.js Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it diff -r 21c2a1c93810 -r 9ff296647fde nashorn/test/script/basic/JDK-8134490.js --- a/nashorn/test/script/basic/JDK-8134490.js Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/test/script/basic/JDK-8134490.js Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it diff -r 21c2a1c93810 -r 9ff296647fde nashorn/test/script/basic/JDK-8134939.js --- a/nashorn/test/script/basic/JDK-8134939.js Tue Jan 12 18:02:07 2016 +0300 +++ b/nashorn/test/script/basic/JDK-8134939.js Tue Jan 12 13:13:16 2016 -0800 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015 Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it