--- a/.hgtags-top-repo Tue Oct 06 08:43:02 2015 -0700
+++ b/.hgtags-top-repo Wed Jul 05 20:52:10 2017 +0200
@@ -326,3 +326,4 @@
b8afcf91331d78626a583ec1b63164468d6f4181 jdk9-b81
42b56d1f418523ecb61a49d7493302c80c8009cc jdk9-b82
ce5c14d97d95084504c32b9320cb33cce4235588 jdk9-b83
+1c8134475511ffe6726677e1418a89a7a45e92d6 jdk9-b84
--- a/common/autoconf/compare.sh.in Tue Oct 06 08:43:02 2015 -0700
+++ b/common/autoconf/compare.sh.in Wed Jul 05 20:52:10 2017 +0200
@@ -62,7 +62,7 @@
export SED="@SED@"
export SORT="@SORT@"
export STAT="@STAT@"
-export STRIP="@POST_STRIP_CMD@"
+export STRIP="@STRIP@ @STRIPFLAGS@"
export TEE="@TEE@"
export UNIQ="@UNIQ@"
export UNPACK200="@FIXPATH@ @BOOT_JDK@/bin/unpack200"
--- a/common/autoconf/configure.ac Tue Oct 06 08:43:02 2015 -0700
+++ b/common/autoconf/configure.ac Wed Jul 05 20:52:10 2017 +0200
@@ -165,6 +165,11 @@
# First determine the toolchain type (compiler family)
TOOLCHAIN_DETERMINE_TOOLCHAIN_TYPE
+# User supplied flags should be used when configure detects compilers
+FLAGS_SETUP_USER_SUPPLIED_FLAGS
+# The sysroot cflags are needed for configure to be able to run the compilers
+FLAGS_SETUP_SYSROOT_FLAGS
+
# Then detect the actual binaries needed
TOOLCHAIN_PRE_DETECTION
TOOLCHAIN_DETECT_TOOLCHAIN_CORE
--- a/common/autoconf/flags.m4 Tue Oct 06 08:43:02 2015 -0700
+++ b/common/autoconf/flags.m4 Wed Jul 05 20:52:10 2017 +0200
@@ -23,6 +23,100 @@
# questions.
#
+# Reset the global CFLAGS/LDFLAGS variables and initialize them with the
+# corresponding configure arguments instead
+AC_DEFUN_ONCE([FLAGS_SETUP_USER_SUPPLIED_FLAGS],
+[
+ if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
+ AC_MSG_WARN([Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags])
+ fi
+
+ if test "x$CXXFLAGS" != "x${ADDED_CXXFLAGS}"; then
+ AC_MSG_WARN([Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags])
+ fi
+
+ if test "x$LDFLAGS" != "x${ADDED_LDFLAGS}"; then
+ AC_MSG_WARN([Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags])
+ fi
+
+ AC_ARG_WITH(extra-cflags, [AS_HELP_STRING([--with-extra-cflags],
+ [extra flags to be used when compiling jdk c-files])])
+
+ AC_ARG_WITH(extra-cxxflags, [AS_HELP_STRING([--with-extra-cxxflags],
+ [extra flags to be used when compiling jdk c++-files])])
+
+ AC_ARG_WITH(extra-ldflags, [AS_HELP_STRING([--with-extra-ldflags],
+ [extra flags to be used when linking jdk])])
+
+ EXTRA_CFLAGS="$with_extra_cflags"
+ EXTRA_CXXFLAGS="$with_extra_cxxflags"
+ EXTRA_LDFLAGS="$with_extra_ldflags"
+
+ # Hotspot needs these set in their legacy form
+ LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $EXTRA_CFLAGS"
+ LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $EXTRA_CXXFLAGS"
+ LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $EXTRA_LDFLAGS"
+
+ AC_SUBST(LEGACY_EXTRA_CFLAGS)
+ AC_SUBST(LEGACY_EXTRA_CXXFLAGS)
+ AC_SUBST(LEGACY_EXTRA_LDFLAGS)
+
+ # The global CFLAGS and LDLAGS variables are used by configure tests and
+ # should include the extra parameters
+ CFLAGS="$EXTRA_CFLAGS"
+ CXXFLAGS="$EXTRA_CXXFLAGS"
+ LDFLAGS="$EXTRA_LDFLAGS"
+ CPPFLAGS=""
+])
+
+# Setup the sysroot flags and add them to global CFLAGS and LDFLAGS so
+# that configure can use them while detecting compilers.
+# TOOLCHAIN_TYPE is available here.
+AC_DEFUN_ONCE([FLAGS_SETUP_SYSROOT_FLAGS],
+[
+ if test "x$SYSROOT" != "x"; then
+ if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+ # Solaris Studio does not have a concept of sysroot. Instead we must
+ # make sure the default include and lib dirs are appended to each
+ # compile and link command line.
+ SYSROOT_CFLAGS="-I$SYSROOT/usr/include"
+ SYSROOT_LDFLAGS="-L$SYSROOT/usr/lib$OPENJDK_TARGET_CPU_ISADIR \
+ -L$SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR \
+ -L$SYSROOT/usr/ccs/lib$OPENJDK_TARGET_CPU_ISADIR"
+ fi
+ elif test "x$TOOLCHAIN_TYPE" = xgcc; then
+ SYSROOT_CFLAGS="--sysroot=$SYSROOT"
+ SYSROOT_LDFLAGS="--sysroot=$SYSROOT"
+ elif test "x$TOOLCHAIN_TYPE" = xclang; then
+ SYSROOT_CFLAGS="-isysroot $SYSROOT"
+ SYSROOT_LDFLAGS="-isysroot $SYSROOT"
+ fi
+ # Propagate the sysroot args to hotspot
+ LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $SYSROOT_CFLAGS"
+ LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $SYSROOT_CFLAGS"
+ LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $SYSROOT_LDFLAGS"
+ # The global CFLAGS and LDFLAGS variables need these for configure to function
+ CFLAGS="$CFLAGS $SYSROOT_CFLAGS"
+ CPPFLAGS="$CPPFLAGS $SYSROOT_CFLAGS"
+ CXXFLAGS="$CXXFLAGS $SYSROOT_CFLAGS"
+ LDFLAGS="$LDFLAGS $SYSROOT_LDFLAGS"
+ fi
+
+ if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ # We also need -iframework<path>/System/Library/Frameworks
+ SYSROOT_CFLAGS="$SYSROOT_CFLAGS -iframework $SYSROOT/System/Library/Frameworks"
+ SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -iframework $SYSROOT/System/Library/Frameworks"
+ # These always need to be set, or we can't find the frameworks embedded in JavaVM.framework
+ # set this here so it doesn't have to be peppered throughout the forest
+ SYSROOT_CFLAGS="$SYSROOT_CFLAGS -F $SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks"
+ SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -F $SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks"
+ fi
+
+ AC_SUBST(SYSROOT_CFLAGS)
+ AC_SUBST(SYSROOT_LDFLAGS)
+])
+
AC_DEFUN_ONCE([FLAGS_SETUP_INIT_FLAGS],
[
# Option used to tell the compiler whether to create 32- or 64-bit executables
@@ -60,10 +154,7 @@
STRIPFLAGS="-X32_64"
fi
- if test "x$OPENJDK_TARGET_OS" != xwindows; then
- POST_STRIP_CMD="$STRIP $STRIPFLAGS"
- fi
- AC_SUBST(POST_STRIP_CMD)
+ AC_SUBST(STRIPFLAGS)
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
CC_OUT_OPTION=-Fo
@@ -113,44 +204,6 @@
# silence copyright notice and other headers.
COMMON_CCXXFLAGS="$COMMON_CCXXFLAGS -nologo"
fi
-
- if test "x$SYSROOT" != "x"; then
- if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- # Solaris Studio does not have a concept of sysroot. Instead we must
- # make sure the default include and lib dirs are appended to each
- # compile and link command line.
- SYSROOT_CFLAGS="-I$SYSROOT/usr/include"
- SYSROOT_LDFLAGS="-L$SYSROOT/usr/lib$OPENJDK_TARGET_CPU_ISADIR \
- -L$SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR \
- -L$SYSROOT/usr/ccs/lib$OPENJDK_TARGET_CPU_ISADIR"
- fi
- elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
- # Apple only wants -isysroot <path>, but we also need -iframework<path>/System/Library/Frameworks
- SYSROOT_CFLAGS="-isysroot \"$SYSROOT\" -iframework\"$SYSROOT/System/Library/Frameworks\""
- SYSROOT_LDFLAGS=$SYSROOT_CFLAGS
- elif test "x$TOOLCHAIN_TYPE" = xgcc; then
- SYSROOT_CFLAGS="--sysroot=$SYSROOT"
- SYSROOT_LDFLAGS="--sysroot=$SYSROOT"
- elif test "x$TOOLCHAIN_TYPE" = xclang; then
- SYSROOT_CFLAGS="-isysroot \"$SYSROOT\""
- SYSROOT_LDFLAGS="-isysroot \"$SYSROOT\""
- fi
- # Propagate the sysroot args to hotspot
- LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $SYSROOT_CFLAGS"
- LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $SYSROOT_CFLAGS"
- LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $SYSROOT_LDFLAGS"
- fi
-
- # These always need to be set, or we can't find the frameworks embedded in JavaVM.framework
- # set this here so it doesn't have to be peppered throughout the forest
- if test "x$OPENJDK_TARGET_OS" = xmacosx; then
- SYSROOT_CFLAGS="$SYSROOT_CFLAGS -F\"$SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks\""
- SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -F\"$SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks\""
- fi
-
- AC_SUBST(SYSROOT_CFLAGS)
- AC_SUBST(SYSROOT_LDFLAGS)
])
AC_DEFUN_ONCE([FLAGS_SETUP_COMPILER_FLAGS_FOR_LIBS],
@@ -480,39 +533,9 @@
CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt"
fi
- if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
- AC_MSG_WARN([Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags])
- fi
-
- if test "x$CXXFLAGS" != "x${ADDED_CXXFLAGS}"; then
- AC_MSG_WARN([Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags])
- fi
-
- if test "x$LDFLAGS" != "x${ADDED_LDFLAGS}"; then
- AC_MSG_WARN([Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags])
- fi
-
- AC_ARG_WITH(extra-cflags, [AS_HELP_STRING([--with-extra-cflags],
- [extra flags to be used when compiling jdk c-files])])
-
- AC_ARG_WITH(extra-cxxflags, [AS_HELP_STRING([--with-extra-cxxflags],
- [extra flags to be used when compiling jdk c++-files])])
-
- AC_ARG_WITH(extra-ldflags, [AS_HELP_STRING([--with-extra-ldflags],
- [extra flags to be used when linking jdk])])
-
- CFLAGS_JDK="${CFLAGS_JDK} $with_extra_cflags"
- CXXFLAGS_JDK="${CXXFLAGS_JDK} $with_extra_cxxflags"
- LDFLAGS_JDK="${LDFLAGS_JDK} $with_extra_ldflags"
-
- # Hotspot needs these set in their legacy form
- LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $with_extra_cflags"
- LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $with_extra_cxxflags"
- LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $with_extra_ldflags"
-
- AC_SUBST(LEGACY_EXTRA_CFLAGS)
- AC_SUBST(LEGACY_EXTRA_CXXFLAGS)
- AC_SUBST(LEGACY_EXTRA_LDFLAGS)
+ CFLAGS_JDK="${CFLAGS_JDK} $EXTRA_CFLAGS"
+ CXXFLAGS_JDK="${CXXFLAGS_JDK} $EXTRA_CXXFLAGS"
+ LDFLAGS_JDK="${LDFLAGS_JDK} $EXTRA_LDFLAGS"
###############################################################################
#
--- a/common/autoconf/generated-configure.sh Tue Oct 06 08:43:02 2015 -0700
+++ b/common/autoconf/generated-configure.sh Wed Jul 05 20:52:10 2017 +0200
@@ -705,9 +705,6 @@
CFLAGS_JDKEXE
CFLAGS_JDKLIB
MACOSX_VERSION_MIN
-LEGACY_EXTRA_LDFLAGS
-LEGACY_EXTRA_CXXFLAGS
-LEGACY_EXTRA_CFLAGS
CXX_O_FLAG_NONE
CXX_O_FLAG_DEBUG
CXX_O_FLAG_NORM
@@ -728,14 +725,12 @@
SET_EXECUTABLE_ORIGIN
CXX_FLAG_REORDER
C_FLAG_REORDER
-SYSROOT_LDFLAGS
-SYSROOT_CFLAGS
RC_FLAGS
AR_OUT_OPTION
LD_OUT_OPTION
EXE_OUT_OPTION
CC_OUT_OPTION
-POST_STRIP_CMD
+STRIPFLAGS
ARFLAGS
COMPILER_TARGET_BITS_FLAG
JT_HOME
@@ -747,6 +742,8 @@
HOTSPOT_CXX
HOTSPOT_RC
HOTSPOT_MT
+BUILD_SYSROOT_LDFLAGS
+BUILD_SYSROOT_CFLAGS
BUILD_LD
BUILD_CXX
BUILD_CC
@@ -793,6 +790,11 @@
VS_INCLUDE
VS_PATH
CYGWIN_LINK
+SYSROOT_LDFLAGS
+SYSROOT_CFLAGS
+LEGACY_EXTRA_LDFLAGS
+LEGACY_EXTRA_CXXFLAGS
+LEGACY_EXTRA_CFLAGS
EXE_SUFFIX
OBJ_SUFFIX
STATIC_LIBRARY
@@ -1078,11 +1080,11 @@
with_override_jdk
with_import_hotspot
with_toolchain_type
-with_toolchain_version
-with_jtreg
with_extra_cflags
with_extra_cxxflags
with_extra_ldflags
+with_toolchain_version
+with_jtreg
enable_warnings_as_errors
enable_debug_symbols
enable_zip_debug_info
@@ -1937,14 +1939,14 @@
source
--with-toolchain-type the toolchain type (or family) to use, use '--help'
to show possible values [platform dependent]
+ --with-extra-cflags extra flags to be used when compiling jdk c-files
+ --with-extra-cxxflags extra flags to be used when compiling jdk c++-files
+ --with-extra-ldflags extra flags to be used when linking jdk
--with-toolchain-version
the version of the toolchain to look for, use
'--help' to show possible values [platform
dependent]
--with-jtreg Regression Test Harness [probed]
- --with-extra-cflags extra flags to be used when compiling jdk c-files
- --with-extra-cxxflags extra flags to be used when compiling jdk c++-files
- --with-extra-ldflags extra flags to be used when linking jdk
--with-x use the X Window System
--with-cups specify prefix directory for the cups package
(expecting the headers under PATH/include)
@@ -3767,6 +3769,15 @@
# questions.
#
+# Reset the global CFLAGS/LDFLAGS variables and initialize them with the
+# corresponding configure arguments instead
+
+
+# Setup the sysroot flags and add them to global CFLAGS and LDFLAGS so
+# that configure can use them while detecting compilers.
+# TOOLCHAIN_TYPE is available here.
+
+
@@ -3886,6 +3897,8 @@
apt_help() {
case $1 in
+ reduced)
+ PKGHANDLER_COMMAND="sudo apt-get install gcc-multilib g++-multilib" ;;
devkit)
PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
openjdk)
@@ -4362,7 +4375,7 @@
#CUSTOM_AUTOCONF_INCLUDE
# Do not change or remove the following line, it is needed for consistency checks:
-DATE_WHEN_GENERATED=1442820958
+DATE_WHEN_GENERATED=1444077934
###############################################################################
#
@@ -26825,6 +26838,109 @@
fi
+# User supplied flags should be used when configure detects compilers
+
+ if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags" >&5
+$as_echo "$as_me: WARNING: Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags" >&2;}
+ fi
+
+ if test "x$CXXFLAGS" != "x${ADDED_CXXFLAGS}"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags" >&5
+$as_echo "$as_me: WARNING: Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags" >&2;}
+ fi
+
+ if test "x$LDFLAGS" != "x${ADDED_LDFLAGS}"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags" >&5
+$as_echo "$as_me: WARNING: Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags" >&2;}
+ fi
+
+
+# Check whether --with-extra-cflags was given.
+if test "${with_extra_cflags+set}" = set; then :
+ withval=$with_extra_cflags;
+fi
+
+
+
+# Check whether --with-extra-cxxflags was given.
+if test "${with_extra_cxxflags+set}" = set; then :
+ withval=$with_extra_cxxflags;
+fi
+
+
+
+# Check whether --with-extra-ldflags was given.
+if test "${with_extra_ldflags+set}" = set; then :
+ withval=$with_extra_ldflags;
+fi
+
+
+ EXTRA_CFLAGS="$with_extra_cflags"
+ EXTRA_CXXFLAGS="$with_extra_cxxflags"
+ EXTRA_LDFLAGS="$with_extra_ldflags"
+
+ # Hotspot needs these set in their legacy form
+ LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $EXTRA_CFLAGS"
+ LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $EXTRA_CXXFLAGS"
+ LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $EXTRA_LDFLAGS"
+
+
+
+
+
+ # The global CFLAGS and LDLAGS variables are used by configure tests and
+ # should include the extra parameters
+ CFLAGS="$EXTRA_CFLAGS"
+ CXXFLAGS="$EXTRA_CXXFLAGS"
+ LDFLAGS="$EXTRA_LDFLAGS"
+ CPPFLAGS=""
+
+# The sysroot cflags are needed for configure to be able to run the compilers
+
+ if test "x$SYSROOT" != "x"; then
+ if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
+ if test "x$OPENJDK_TARGET_OS" = xsolaris; then
+ # Solaris Studio does not have a concept of sysroot. Instead we must
+ # make sure the default include and lib dirs are appended to each
+ # compile and link command line.
+ SYSROOT_CFLAGS="-I$SYSROOT/usr/include"
+ SYSROOT_LDFLAGS="-L$SYSROOT/usr/lib$OPENJDK_TARGET_CPU_ISADIR \
+ -L$SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR \
+ -L$SYSROOT/usr/ccs/lib$OPENJDK_TARGET_CPU_ISADIR"
+ fi
+ elif test "x$TOOLCHAIN_TYPE" = xgcc; then
+ SYSROOT_CFLAGS="--sysroot=$SYSROOT"
+ SYSROOT_LDFLAGS="--sysroot=$SYSROOT"
+ elif test "x$TOOLCHAIN_TYPE" = xclang; then
+ SYSROOT_CFLAGS="-isysroot $SYSROOT"
+ SYSROOT_LDFLAGS="-isysroot $SYSROOT"
+ fi
+ # Propagate the sysroot args to hotspot
+ LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $SYSROOT_CFLAGS"
+ LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $SYSROOT_CFLAGS"
+ LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $SYSROOT_LDFLAGS"
+ # The global CFLAGS and LDFLAGS variables need these for configure to function
+ CFLAGS="$CFLAGS $SYSROOT_CFLAGS"
+ CPPFLAGS="$CPPFLAGS $SYSROOT_CFLAGS"
+ CXXFLAGS="$CXXFLAGS $SYSROOT_CFLAGS"
+ LDFLAGS="$LDFLAGS $SYSROOT_LDFLAGS"
+ fi
+
+ if test "x$OPENJDK_TARGET_OS" = xmacosx; then
+ # We also need -iframework<path>/System/Library/Frameworks
+ SYSROOT_CFLAGS="$SYSROOT_CFLAGS -iframework $SYSROOT/System/Library/Frameworks"
+ SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -iframework $SYSROOT/System/Library/Frameworks"
+ # These always need to be set, or we can't find the frameworks embedded in JavaVM.framework
+ # set this here so it doesn't have to be peppered throughout the forest
+ SYSROOT_CFLAGS="$SYSROOT_CFLAGS -F $SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks"
+ SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -F $SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks"
+ fi
+
+
+
+
+
# Then detect the actual binaries needed
# FIXME: Is this needed?
@@ -40555,13 +40671,19 @@
fi
fi
+ BUILD_SYSROOT_CFLAGS=""
+ BUILD_SYSROOT_LDFLAGS=""
else
# If we are not cross compiling, use the normal target compilers for
# building the build platform executables.
BUILD_CC="$CC"
BUILD_CXX="$CXX"
BUILD_LD="$LD"
- fi
+ BUILD_SYSROOT_CFLAGS="$SYSROOT_CFLAGS"
+ BUILD_SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS"
+ fi
+
+
@@ -41252,9 +41374,6 @@
STRIPFLAGS="-X32_64"
fi
- if test "x$OPENJDK_TARGET_OS" != xwindows; then
- POST_STRIP_CMD="$STRIP $STRIPFLAGS"
- fi
if test "x$TOOLCHAIN_TYPE" = xmicrosoft; then
@@ -41306,44 +41425,6 @@
COMMON_CCXXFLAGS="$COMMON_CCXXFLAGS -nologo"
fi
- if test "x$SYSROOT" != "x"; then
- if test "x$TOOLCHAIN_TYPE" = xsolstudio; then
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- # Solaris Studio does not have a concept of sysroot. Instead we must
- # make sure the default include and lib dirs are appended to each
- # compile and link command line.
- SYSROOT_CFLAGS="-I$SYSROOT/usr/include"
- SYSROOT_LDFLAGS="-L$SYSROOT/usr/lib$OPENJDK_TARGET_CPU_ISADIR \
- -L$SYSROOT/lib$OPENJDK_TARGET_CPU_ISADIR \
- -L$SYSROOT/usr/ccs/lib$OPENJDK_TARGET_CPU_ISADIR"
- fi
- elif test "x$OPENJDK_TARGET_OS" = xmacosx; then
- # Apple only wants -isysroot <path>, but we also need -iframework<path>/System/Library/Frameworks
- SYSROOT_CFLAGS="-isysroot \"$SYSROOT\" -iframework\"$SYSROOT/System/Library/Frameworks\""
- SYSROOT_LDFLAGS=$SYSROOT_CFLAGS
- elif test "x$TOOLCHAIN_TYPE" = xgcc; then
- SYSROOT_CFLAGS="--sysroot=$SYSROOT"
- SYSROOT_LDFLAGS="--sysroot=$SYSROOT"
- elif test "x$TOOLCHAIN_TYPE" = xclang; then
- SYSROOT_CFLAGS="-isysroot \"$SYSROOT\""
- SYSROOT_LDFLAGS="-isysroot \"$SYSROOT\""
- fi
- # Propagate the sysroot args to hotspot
- LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $SYSROOT_CFLAGS"
- LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $SYSROOT_CFLAGS"
- LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $SYSROOT_LDFLAGS"
- fi
-
- # These always need to be set, or we can't find the frameworks embedded in JavaVM.framework
- # set this here so it doesn't have to be peppered throughout the forest
- if test "x$OPENJDK_TARGET_OS" = xmacosx; then
- SYSROOT_CFLAGS="$SYSROOT_CFLAGS -F\"$SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks\""
- SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS -F\"$SYSROOT/System/Library/Frameworks/JavaVM.framework/Frameworks\""
- fi
-
-
-
-
# FIXME: Currently we must test this after toolchain but before flags. Fix!
@@ -41543,8 +41624,38 @@
{ $as_echo "$as_me:${as_lineno-$LINENO}: Failed to compile stdio.h. This likely implies missing compile dependencies." >&5
$as_echo "$as_me: Failed to compile stdio.h. This likely implies missing compile dependencies." >&6;}
if test "x$COMPILE_TYPE" = xreduced; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: You are doing a reduced build. Check that you have 32-bit libraries installed." >&5
-$as_echo "$as_me: You are doing a reduced build. Check that you have 32-bit libraries installed." >&6;}
+
+ # Print a helpful message on how to acquire the necessary build dependency.
+ # reduced is the help tag: freetype, cups, pulse, alsa etc
+ MISSING_DEPENDENCY=reduced
+
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ cygwin_help $MISSING_DEPENDENCY
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ msys_help $MISSING_DEPENDENCY
+ else
+ PKGHANDLER_COMMAND=
+
+ case $PKGHANDLER in
+ apt-get)
+ apt_help $MISSING_DEPENDENCY ;;
+ yum)
+ yum_help $MISSING_DEPENDENCY ;;
+ port)
+ port_help $MISSING_DEPENDENCY ;;
+ pkgutil)
+ pkgutil_help $MISSING_DEPENDENCY ;;
+ pkgadd)
+ pkgadd_help $MISSING_DEPENDENCY ;;
+ esac
+
+ if test "x$PKGHANDLER_COMMAND" != x; then
+ HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
+ fi
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You are doing a reduced build. Check that you have 32-bit libraries installed. $HELP_MSG" >&5
+$as_echo "$as_me: You are doing a reduced build. Check that you have 32-bit libraries installed. $HELP_MSG" >&6;}
elif test "x$COMPILE_TYPE" = xcross; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: You are doing a cross-compilation. Check that you have all target platform libraries installed." >&5
$as_echo "$as_me: You are doing a cross-compilation. Check that you have all target platform libraries installed." >&6;}
@@ -41603,8 +41714,8 @@
# Let's try to implicitely set the compilers target architecture and retry the test
{ $as_echo "$as_me:${as_lineno-$LINENO}: The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)." >&5
$as_echo "$as_me: The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)." >&6;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: I'll retry after setting the platforms compiler target bits flag to ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" >&5
-$as_echo "$as_me: I'll retry after setting the platforms compiler target bits flag to ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" >&6;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: Retrying with platforms compiler target bits flag to ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" >&5
+$as_echo "$as_me: Retrying with platforms compiler target bits flag to ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}" >&6;}
# When we add flags to the "official" CFLAGS etc, we need to
# keep track of these additions in ADDED_CFLAGS etc. These
@@ -41667,7 +41778,46 @@
TESTED_TARGET_CPU_BITS=`expr 8 \* $ac_cv_sizeof_int_p`
if test "x$TESTED_TARGET_CPU_BITS" != "x$OPENJDK_TARGET_CPU_BITS"; then
- as_fn_error $? "The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)" "$LINENO" 5
+ { $as_echo "$as_me:${as_lineno-$LINENO}: The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)" >&5
+$as_echo "$as_me: The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)" >&6;}
+ if test "x$COMPILE_TYPE" = xreduced; then
+
+ # Print a helpful message on how to acquire the necessary build dependency.
+ # reduced is the help tag: freetype, cups, pulse, alsa etc
+ MISSING_DEPENDENCY=reduced
+
+ if test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.cygwin"; then
+ cygwin_help $MISSING_DEPENDENCY
+ elif test "x$OPENJDK_BUILD_OS_ENV" = "xwindows.msys"; then
+ msys_help $MISSING_DEPENDENCY
+ else
+ PKGHANDLER_COMMAND=
+
+ case $PKGHANDLER in
+ apt-get)
+ apt_help $MISSING_DEPENDENCY ;;
+ yum)
+ yum_help $MISSING_DEPENDENCY ;;
+ port)
+ port_help $MISSING_DEPENDENCY ;;
+ pkgutil)
+ pkgutil_help $MISSING_DEPENDENCY ;;
+ pkgadd)
+ pkgadd_help $MISSING_DEPENDENCY ;;
+ esac
+
+ if test "x$PKGHANDLER_COMMAND" != x; then
+ HELP_MSG="You might be able to fix this by running '$PKGHANDLER_COMMAND'."
+ fi
+ fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You are doing a reduced build. Check that you have 32-bit libraries installed. $HELP_MSG" >&5
+$as_echo "$as_me: You are doing a reduced build. Check that you have 32-bit libraries installed. $HELP_MSG" >&6;}
+ elif test "x$COMPILE_TYPE" = xcross; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: You are doing a cross-compilation. Check that you have all target platform libraries installed." >&5
+$as_echo "$as_me: You are doing a cross-compilation. Check that you have all target platform libraries installed." >&6;}
+ fi
+ as_fn_error $? "Cannot continue." "$LINENO" 5
fi
fi
fi
@@ -42267,54 +42417,9 @@
CXXFLAGS_JDK="${CXXFLAGS_JDK} -qchars=signed -qfullpath -qsaveopt"
fi
- if test "x$CFLAGS" != "x${ADDED_CFLAGS}"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags" >&5
-$as_echo "$as_me: WARNING: Ignoring CFLAGS($CFLAGS) found in environment. Use --with-extra-cflags" >&2;}
- fi
-
- if test "x$CXXFLAGS" != "x${ADDED_CXXFLAGS}"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags" >&5
-$as_echo "$as_me: WARNING: Ignoring CXXFLAGS($CXXFLAGS) found in environment. Use --with-extra-cxxflags" >&2;}
- fi
-
- if test "x$LDFLAGS" != "x${ADDED_LDFLAGS}"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags" >&5
-$as_echo "$as_me: WARNING: Ignoring LDFLAGS($LDFLAGS) found in environment. Use --with-extra-ldflags" >&2;}
- fi
-
-
-# Check whether --with-extra-cflags was given.
-if test "${with_extra_cflags+set}" = set; then :
- withval=$with_extra_cflags;
-fi
-
-
-
-# Check whether --with-extra-cxxflags was given.
-if test "${with_extra_cxxflags+set}" = set; then :
- withval=$with_extra_cxxflags;
-fi
-
-
-
-# Check whether --with-extra-ldflags was given.
-if test "${with_extra_ldflags+set}" = set; then :
- withval=$with_extra_ldflags;
-fi
-
-
- CFLAGS_JDK="${CFLAGS_JDK} $with_extra_cflags"
- CXXFLAGS_JDK="${CXXFLAGS_JDK} $with_extra_cxxflags"
- LDFLAGS_JDK="${LDFLAGS_JDK} $with_extra_ldflags"
-
- # Hotspot needs these set in their legacy form
- LEGACY_EXTRA_CFLAGS="$LEGACY_EXTRA_CFLAGS $with_extra_cflags"
- LEGACY_EXTRA_CXXFLAGS="$LEGACY_EXTRA_CXXFLAGS $with_extra_cxxflags"
- LEGACY_EXTRA_LDFLAGS="$LEGACY_EXTRA_LDFLAGS $with_extra_ldflags"
-
-
-
-
+ CFLAGS_JDK="${CFLAGS_JDK} $EXTRA_CFLAGS"
+ CXXFLAGS_JDK="${CXXFLAGS_JDK} $EXTRA_CXXFLAGS"
+ LDFLAGS_JDK="${LDFLAGS_JDK} $EXTRA_LDFLAGS"
###############################################################################
#
--- a/common/autoconf/help.m4 Tue Oct 06 08:43:02 2015 -0700
+++ b/common/autoconf/help.m4 Wed Jul 05 20:52:10 2017 +0200
@@ -97,6 +97,8 @@
apt_help() {
case $1 in
+ reduced)
+ PKGHANDLER_COMMAND="sudo apt-get install gcc-multilib g++-multilib" ;;
devkit)
PKGHANDLER_COMMAND="sudo apt-get install build-essential" ;;
openjdk)
--- a/common/autoconf/hotspot-spec.gmk.in Tue Oct 06 08:43:02 2015 -0700
+++ b/common/autoconf/hotspot-spec.gmk.in Wed Jul 05 20:52:10 2017 +0200
@@ -48,8 +48,8 @@
# The HOSTCC/HOSTCXX is Hotspot terminology for the BUILD_CC/BUILD_CXX, i.e. the
# compiler that produces code that can be run on the build platform.
-HOSTCC:=@FIXPATH@ @BUILD_CC@
-HOSTCXX:=@FIXPATH@ @BUILD_CXX@
+HOSTCC:=@FIXPATH@ @BUILD_CC@ $(BUILD_SYSROOT_CFLAGS)
+HOSTCXX:=@FIXPATH@ @BUILD_CXX@ $(BUILD_SYSROOT_CFLAGS)
####################################################
#
--- a/common/autoconf/platform.m4 Tue Oct 06 08:43:02 2015 -0700
+++ b/common/autoconf/platform.m4 Wed Jul 05 20:52:10 2017 +0200
@@ -489,7 +489,8 @@
AC_CHECK_HEADERS([stdio.h], , [
AC_MSG_NOTICE([Failed to compile stdio.h. This likely implies missing compile dependencies.])
if test "x$COMPILE_TYPE" = xreduced; then
- AC_MSG_NOTICE([You are doing a reduced build. Check that you have 32-bit libraries installed.])
+ HELP_MSG_MISSING_DEPENDENCY([reduced])
+ AC_MSG_NOTICE([You are doing a reduced build. Check that you have 32-bit libraries installed. $HELP_MSG])
elif test "x$COMPILE_TYPE" = xcross; then
AC_MSG_NOTICE([You are doing a cross-compilation. Check that you have all target platform libraries installed.])
fi
@@ -509,7 +510,7 @@
# This situation may happen on 64-bit platforms where the compiler by default only generates 32-bit objects
# Let's try to implicitely set the compilers target architecture and retry the test
AC_MSG_NOTICE([The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS).])
- AC_MSG_NOTICE([I'll retry after setting the platforms compiler target bits flag to ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}])
+ AC_MSG_NOTICE([Retrying with platforms compiler target bits flag to ${COMPILER_TARGET_BITS_FLAG}${OPENJDK_TARGET_CPU_BITS}])
PLATFORM_SET_COMPILER_TARGET_BITS_FLAGS
# We have to unset 'ac_cv_sizeof_int_p' first, otherwise AC_CHECK_SIZEOF will use the previously cached value!
@@ -524,7 +525,14 @@
TESTED_TARGET_CPU_BITS=`expr 8 \* $ac_cv_sizeof_int_p`
if test "x$TESTED_TARGET_CPU_BITS" != "x$OPENJDK_TARGET_CPU_BITS"; then
- AC_MSG_ERROR([The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)])
+ AC_MSG_NOTICE([The tested number of bits in the target ($TESTED_TARGET_CPU_BITS) differs from the number of bits expected to be found in the target ($OPENJDK_TARGET_CPU_BITS)])
+ if test "x$COMPILE_TYPE" = xreduced; then
+ HELP_MSG_MISSING_DEPENDENCY([reduced])
+ AC_MSG_NOTICE([You are doing a reduced build. Check that you have 32-bit libraries installed. $HELP_MSG])
+ elif test "x$COMPILE_TYPE" = xcross; then
+ AC_MSG_NOTICE([You are doing a cross-compilation. Check that you have all target platform libraries installed.])
+ fi
+ AC_MSG_ERROR([Cannot continue.])
fi
fi
fi
--- a/common/autoconf/spec.gmk.in Tue Oct 06 08:43:02 2015 -0700
+++ b/common/autoconf/spec.gmk.in Wed Jul 05 20:52:10 2017 +0200
@@ -367,6 +367,8 @@
# build platform.
BUILD_CC:=@FIXPATH@ @BUILD_CC@
BUILD_LD:=@FIXPATH@ @BUILD_LD@
+BUILD_SYSROOT_CFLAGS:=@BUILD_SYSROOT_CFLAGS@
+BUILD_SYSROOT_LDFLAGS:=@BUILD_SYSROOT_LDFLAGS@
AS:=@FIXPATH@ @AS@
@@ -421,7 +423,7 @@
EXE_SUFFIX:=@EXE_SUFFIX@
OBJ_SUFFIX:=@OBJ_SUFFIX@
-POST_STRIP_CMD:=@POST_STRIP_CMD@
+STRIPFLAGS:=@STRIPFLAGS@
JAVA_FLAGS:=@JAVA_FLAGS@
JAVA_FLAGS_BIG:=@JAVA_FLAGS_BIG@
@@ -461,9 +463,6 @@
NEW_JAVAC = $(INTERIM_LANGTOOLS_ARGS) com.sun.tools.javac.Main
NEW_JAVADOC = $(INTERIM_LANGTOOLS_ARGS) com.sun.tools.javadoc.Main
-# The interim corba jar is needed for running rmic
-INTERIM_CORBA_JAR = $(BUILDTOOLS_OUTPUTDIR)/interim_corba.jar
-
# Base flags for RC
# Guarding this against resetting value. Legacy make files include spec multiple
# times.
--- a/common/autoconf/toolchain.m4 Tue Oct 06 08:43:02 2015 -0700
+++ b/common/autoconf/toolchain.m4 Wed Jul 05 20:52:10 2017 +0200
@@ -656,17 +656,23 @@
BASIC_FIXUP_EXECUTABLE(BUILD_CXX)
BASIC_PATH_PROGS(BUILD_LD, ld)
BASIC_FIXUP_EXECUTABLE(BUILD_LD)
+ BUILD_SYSROOT_CFLAGS=""
+ BUILD_SYSROOT_LDFLAGS=""
else
# If we are not cross compiling, use the normal target compilers for
# building the build platform executables.
BUILD_CC="$CC"
BUILD_CXX="$CXX"
BUILD_LD="$LD"
+ BUILD_SYSROOT_CFLAGS="$SYSROOT_CFLAGS"
+ BUILD_SYSROOT_LDFLAGS="$SYSROOT_LDFLAGS"
fi
AC_SUBST(BUILD_CC)
AC_SUBST(BUILD_CXX)
AC_SUBST(BUILD_LD)
+ AC_SUBST(BUILD_SYSROOT_CFLAGS)
+ AC_SUBST(BUILD_SYSROOT_LDFLAGS)
])
# Setup legacy variables that are still needed as alternative ways to refer to
--- a/hotspot/.hgtags Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/.hgtags Wed Jul 05 20:52:10 2017 +0200
@@ -486,3 +486,4 @@
4142c190cd5ca4fb70ec367b4f97ef936272d8ef jdk9-b81
1c453a12be3036d482abef1dd470f8aff536b6b9 jdk9-b82
3ed0df2c553a80e0e26b91a6ce08806ea17a066a jdk9-b83
+184c4328444974edd6b3b490b9d0177ace7e331c jdk9-b84
--- a/hotspot/make/aix/makefiles/mapfile-vers-debug Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/make/aix/makefiles/mapfile-vers-debug Wed Jul 05 20:52:10 2017 +0200
@@ -26,169 +26,6 @@
SUNWprivate_1.1 {
global:
- # JNI
- JNI_CreateJavaVM;
- JNI_GetCreatedJavaVMs;
- JNI_GetDefaultJavaVMInitArgs;
-
- # JVM
- JVM_ActiveProcessorCount;
- JVM_ArrayCopy;
- JVM_AssertionStatusDirectives;
- JVM_ClassDepth;
- JVM_ClassLoaderDepth;
- JVM_Clone;
- JVM_ConstantPoolGetClassAt;
- JVM_ConstantPoolGetClassAtIfLoaded;
- JVM_ConstantPoolGetDoubleAt;
- JVM_ConstantPoolGetFieldAt;
- JVM_ConstantPoolGetFieldAtIfLoaded;
- JVM_ConstantPoolGetFloatAt;
- JVM_ConstantPoolGetIntAt;
- JVM_ConstantPoolGetLongAt;
- JVM_ConstantPoolGetMethodAt;
- JVM_ConstantPoolGetMethodAtIfLoaded;
- JVM_ConstantPoolGetMemberRefInfoAt;
- JVM_ConstantPoolGetSize;
- JVM_ConstantPoolGetStringAt;
- JVM_ConstantPoolGetUTF8At;
- JVM_CountStackFrames;
- JVM_CurrentClassLoader;
- JVM_CurrentLoadedClass;
- JVM_CurrentThread;
- JVM_CurrentTimeMillis;
- JVM_DefineClass;
- JVM_DefineClassWithSource;
- JVM_DefineClassWithSourceCond;
- JVM_DesiredAssertionStatus;
- JVM_DoPrivileged;
- JVM_DumpAllStacks;
- JVM_DumpThreads;
- JVM_FillInStackTrace;
- JVM_FindClassFromCaller;
- JVM_FindClassFromClass;
- JVM_FindClassFromBootLoader;
- JVM_FindLibraryEntry;
- JVM_FindLoadedClass;
- JVM_FindPrimitiveClass;
- JVM_FindSignal;
- JVM_FreeMemory;
- JVM_GC;
- JVM_GetAllThreads;
- JVM_GetArrayElement;
- JVM_GetArrayLength;
- JVM_GetCPClassNameUTF;
- JVM_GetCPFieldClassNameUTF;
- JVM_GetCPFieldModifiers;
- JVM_GetCPFieldNameUTF;
- JVM_GetCPFieldSignatureUTF;
- JVM_GetCPMethodClassNameUTF;
- JVM_GetCPMethodModifiers;
- JVM_GetCPMethodNameUTF;
- JVM_GetCPMethodSignatureUTF;
- JVM_GetCallerClass;
- JVM_GetClassAccessFlags;
- JVM_GetClassAnnotations;
- JVM_GetClassCPEntriesCount;
- JVM_GetClassCPTypes;
- JVM_GetClassConstantPool;
- JVM_GetClassContext;
- JVM_GetClassDeclaredConstructors;
- JVM_GetClassDeclaredFields;
- JVM_GetClassDeclaredMethods;
- JVM_GetClassFieldsCount;
- JVM_GetClassInterfaces;
- JVM_GetClassMethodsCount;
- JVM_GetClassModifiers;
- JVM_GetClassName;
- JVM_GetClassNameUTF;
- JVM_GetClassSignature;
- JVM_GetClassSigners;
- JVM_GetClassTypeAnnotations;
- JVM_GetDeclaredClasses;
- JVM_GetDeclaringClass;
- JVM_GetSimpleBinaryName;
- JVM_GetEnclosingMethodInfo;
- JVM_GetFieldIxModifiers;
- JVM_GetFieldTypeAnnotations;
- JVM_GetInheritedAccessControlContext;
- JVM_GetInterfaceVersion;
- JVM_GetManagement;
- JVM_GetMethodIxArgsSize;
- JVM_GetMethodIxByteCode;
- JVM_GetMethodIxByteCodeLength;
- JVM_GetMethodIxExceptionIndexes;
- JVM_GetMethodIxExceptionTableEntry;
- JVM_GetMethodIxExceptionTableLength;
- JVM_GetMethodIxExceptionsCount;
- JVM_GetMethodIxLocalsCount;
- JVM_GetMethodIxMaxStack;
- JVM_GetMethodIxModifiers;
- JVM_GetMethodIxNameUTF;
- JVM_GetMethodIxSignatureUTF;
- JVM_GetMethodParameters;
- JVM_GetMethodTypeAnnotations;
- JVM_GetNanoTimeAdjustment;
- JVM_GetPrimitiveArrayElement;
- JVM_GetProtectionDomain;
- JVM_GetStackAccessControlContext;
- JVM_GetStackTraceDepth;
- JVM_GetStackTraceElement;
- JVM_GetSystemPackage;
- JVM_GetSystemPackages;
- JVM_GetTemporaryDirectory;
- JVM_GetVersionInfo;
- JVM_Halt;
- JVM_HoldsLock;
- JVM_IHashCode;
- JVM_InitAgentProperties;
- JVM_InitProperties;
- JVM_InternString;
- JVM_Interrupt;
- JVM_InvokeMethod;
- JVM_IsArrayClass;
- JVM_IsConstructorIx;
- JVM_IsInterface;
- JVM_IsInterrupted;
- JVM_IsPrimitiveClass;
- JVM_IsSameClassPackage;
- JVM_IsSupportedJNIVersion;
- JVM_IsThreadAlive;
- JVM_IsVMGeneratedMethodIx;
- JVM_LatestUserDefinedLoader;
- JVM_LoadLibrary;
- JVM_MaxObjectInspectionAge;
- JVM_MaxMemory;
- JVM_MonitorNotify;
- JVM_MonitorNotifyAll;
- JVM_MonitorWait;
- JVM_NanoTime;
- JVM_NativePath;
- JVM_NewArray;
- JVM_NewInstanceFromConstructor;
- JVM_NewMultiArray;
- JVM_RaiseSignal;
- JVM_RawMonitorCreate;
- JVM_RawMonitorDestroy;
- JVM_RawMonitorEnter;
- JVM_RawMonitorExit;
- JVM_RegisterSignal;
- JVM_ReleaseUTF;
- JVM_ResumeThread;
- JVM_SetArrayElement;
- JVM_SetClassSigners;
- JVM_SetNativeThreadName;
- JVM_SetPrimitiveArrayElement;
- JVM_SetProtectionDomain;
- JVM_SetThreadPriority;
- JVM_Sleep;
- JVM_StartThread;
- JVM_StopThread;
- JVM_SuspendThread;
- JVM_SupportsCX8;
- JVM_TotalMemory;
- JVM_UnloadLibrary;
- JVM_Yield;
JVM_handle_linux_signal;
# debug JVM
--- a/hotspot/make/aix/makefiles/mapfile-vers-product Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/make/aix/makefiles/mapfile-vers-product Wed Jul 05 20:52:10 2017 +0200
@@ -26,167 +26,6 @@
SUNWprivate_1.1 {
global:
- # JNI
- JNI_CreateJavaVM;
- JNI_GetCreatedJavaVMs;
- JNI_GetDefaultJavaVMInitArgs;
-
- # JVM
- JVM_ActiveProcessorCount;
- JVM_ArrayCopy;
- JVM_AssertionStatusDirectives;
- JVM_ClassDepth;
- JVM_ClassLoaderDepth;
- JVM_Clone;
- JVM_ConstantPoolGetClassAt;
- JVM_ConstantPoolGetClassAtIfLoaded;
- JVM_ConstantPoolGetDoubleAt;
- JVM_ConstantPoolGetFieldAt;
- JVM_ConstantPoolGetFieldAtIfLoaded;
- JVM_ConstantPoolGetFloatAt;
- JVM_ConstantPoolGetIntAt;
- JVM_ConstantPoolGetLongAt;
- JVM_ConstantPoolGetMethodAt;
- JVM_ConstantPoolGetMethodAtIfLoaded;
- JVM_ConstantPoolGetMemberRefInfoAt;
- JVM_ConstantPoolGetSize;
- JVM_ConstantPoolGetStringAt;
- JVM_ConstantPoolGetUTF8At;
- JVM_CountStackFrames;
- JVM_CurrentClassLoader;
- JVM_CurrentLoadedClass;
- JVM_CurrentThread;
- JVM_CurrentTimeMillis;
- JVM_DefineClass;
- JVM_DefineClassWithSource;
- JVM_DefineClassWithSourceCond;
- JVM_DesiredAssertionStatus;
- JVM_DoPrivileged;
- JVM_DumpAllStacks;
- JVM_DumpThreads;
- JVM_FillInStackTrace;
- JVM_FindClassFromCaller;
- JVM_FindClassFromClass;
- JVM_FindClassFromBootLoader;
- JVM_FindLibraryEntry;
- JVM_FindLoadedClass;
- JVM_FindPrimitiveClass;
- JVM_FindSignal;
- JVM_FreeMemory;
- JVM_GC;
- JVM_GetAllThreads;
- JVM_GetArrayElement;
- JVM_GetArrayLength;
- JVM_GetCPClassNameUTF;
- JVM_GetCPFieldClassNameUTF;
- JVM_GetCPFieldModifiers;
- JVM_GetCPFieldNameUTF;
- JVM_GetCPFieldSignatureUTF;
- JVM_GetCPMethodClassNameUTF;
- JVM_GetCPMethodModifiers;
- JVM_GetCPMethodNameUTF;
- JVM_GetCPMethodSignatureUTF;
- JVM_GetCallerClass;
- JVM_GetClassAccessFlags;
- JVM_GetClassAnnotations;
- JVM_GetClassCPEntriesCount;
- JVM_GetClassCPTypes;
- JVM_GetClassConstantPool;
- JVM_GetClassContext;
- JVM_GetClassDeclaredConstructors;
- JVM_GetClassDeclaredFields;
- JVM_GetClassDeclaredMethods;
- JVM_GetClassFieldsCount;
- JVM_GetClassInterfaces;
- JVM_GetClassMethodsCount;
- JVM_GetClassModifiers;
- JVM_GetClassName;
- JVM_GetClassNameUTF;
- JVM_GetClassSignature;
- JVM_GetClassSigners;
- JVM_GetClassTypeAnnotations;
- JVM_GetDeclaredClasses;
- JVM_GetDeclaringClass;
- JVM_GetSimpleBinaryName;
- JVM_GetEnclosingMethodInfo;
- JVM_GetFieldIxModifiers;
- JVM_GetInheritedAccessControlContext;
- JVM_GetInterfaceVersion;
- JVM_GetManagement;
- JVM_GetMethodIxArgsSize;
- JVM_GetMethodIxByteCode;
- JVM_GetMethodIxByteCodeLength;
- JVM_GetMethodIxExceptionIndexes;
- JVM_GetMethodIxExceptionTableEntry;
- JVM_GetMethodIxExceptionTableLength;
- JVM_GetMethodIxExceptionsCount;
- JVM_GetMethodIxLocalsCount;
- JVM_GetMethodIxMaxStack;
- JVM_GetMethodIxModifiers;
- JVM_GetMethodIxNameUTF;
- JVM_GetMethodIxSignatureUTF;
- JVM_GetMethodParameters;
- JVM_GetNanoTimeAdjustment;
- JVM_GetPrimitiveArrayElement;
- JVM_GetProtectionDomain;
- JVM_GetStackAccessControlContext;
- JVM_GetStackTraceDepth;
- JVM_GetStackTraceElement;
- JVM_GetSystemPackage;
- JVM_GetSystemPackages;
- JVM_GetTemporaryDirectory;
- JVM_GetVersionInfo;
- JVM_Halt;
- JVM_HoldsLock;
- JVM_IHashCode;
- JVM_InitAgentProperties;
- JVM_InitProperties;
- JVM_InternString;
- JVM_Interrupt;
- JVM_InvokeMethod;
- JVM_IsArrayClass;
- JVM_IsConstructorIx;
- JVM_IsInterface;
- JVM_IsInterrupted;
- JVM_IsPrimitiveClass;
- JVM_IsSameClassPackage;
- JVM_IsSupportedJNIVersion;
- JVM_IsThreadAlive;
- JVM_IsVMGeneratedMethodIx;
- JVM_LatestUserDefinedLoader;
- JVM_LoadLibrary;
- JVM_MaxObjectInspectionAge;
- JVM_MaxMemory;
- JVM_MonitorNotify;
- JVM_MonitorNotifyAll;
- JVM_MonitorWait;
- JVM_NanoTime;
- JVM_NativePath;
- JVM_NewArray;
- JVM_NewInstanceFromConstructor;
- JVM_NewMultiArray;
- JVM_RaiseSignal;
- JVM_RawMonitorCreate;
- JVM_RawMonitorDestroy;
- JVM_RawMonitorEnter;
- JVM_RawMonitorExit;
- JVM_RegisterSignal;
- JVM_ReleaseUTF;
- JVM_ResumeThread;
- JVM_SetArrayElement;
- JVM_SetClassSigners;
- JVM_SetNativeThreadName;
- JVM_SetPrimitiveArrayElement;
- JVM_SetProtectionDomain;
- JVM_SetThreadPriority;
- JVM_Sleep;
- JVM_StartThread;
- JVM_StopThread;
- JVM_SuspendThread;
- JVM_SupportsCX8;
- JVM_TotalMemory;
- JVM_UnloadLibrary;
- JVM_Yield;
JVM_handle_linux_signal;
# miscellaneous functions
--- a/hotspot/make/aix/makefiles/vm.make Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/make/aix/makefiles/vm.make Wed Jul 05 20:52:10 2017 +0200
@@ -220,10 +220,12 @@
vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES))
-mapfile : $(MAPFILE) vm.def
+MAPFILE_SHARE := $(GAMMADIR)/make/share/makefiles/mapfile-vers
+
+mapfile : $(MAPFILE) $(MAPFILE_SHARE) vm.def
rm -f $@
awk '{ if ($$0 ~ "INSERT VTABLE SYMBOLS HERE") \
- { system ("cat vm.def"); } \
+ { system ("cat ${MAPFILE_SHARE} vm.def"); } \
else \
{ print $$0 } \
}' > $@ < $(MAPFILE)
--- a/hotspot/make/bsd/makefiles/mapfile-vers-darwin-debug Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/make/bsd/makefiles/mapfile-vers-darwin-debug Wed Jul 05 20:52:10 2017 +0200
@@ -24,171 +24,9 @@
# Only used for OSX/Darwin builds
# Define public interface.
- # _JNI
- _JNI_CreateJavaVM
- _JNI_GetCreatedJavaVMs
- _JNI_GetDefaultJavaVMInitArgs
-
- # _JVM
- _JVM_ActiveProcessorCount
- _JVM_ArrayCopy
- _JVM_AssertionStatusDirectives
- _JVM_ClassDepth
- _JVM_ClassLoaderDepth
- _JVM_Clone
- _JVM_ConstantPoolGetClassAt
- _JVM_ConstantPoolGetClassAtIfLoaded
- _JVM_ConstantPoolGetDoubleAt
- _JVM_ConstantPoolGetFieldAt
- _JVM_ConstantPoolGetFieldAtIfLoaded
- _JVM_ConstantPoolGetFloatAt
- _JVM_ConstantPoolGetIntAt
- _JVM_ConstantPoolGetLongAt
- _JVM_ConstantPoolGetMethodAt
- _JVM_ConstantPoolGetMethodAtIfLoaded
- _JVM_ConstantPoolGetMemberRefInfoAt
- _JVM_ConstantPoolGetSize
- _JVM_ConstantPoolGetStringAt
- _JVM_ConstantPoolGetUTF8At
- _JVM_CountStackFrames
- _JVM_CurrentClassLoader
- _JVM_CurrentLoadedClass
- _JVM_CurrentThread
- _JVM_CurrentTimeMillis
- _JVM_DefineClass
- _JVM_DefineClassWithSource
- _JVM_DefineClassWithSourceCond
- _JVM_DesiredAssertionStatus
- _JVM_DoPrivileged
- _JVM_DumpAllStacks
- _JVM_DumpThreads
- _JVM_FillInStackTrace
- _JVM_FindClassFromCaller
- _JVM_FindClassFromClass
- _JVM_FindClassFromBootLoader
- _JVM_FindLibraryEntry
- _JVM_FindLoadedClass
- _JVM_FindPrimitiveClass
- _JVM_FindSignal
- _JVM_FreeMemory
- _JVM_GC
- _JVM_GetAllThreads
- _JVM_GetArrayElement
- _JVM_GetArrayLength
- _JVM_GetCPClassNameUTF
- _JVM_GetCPFieldClassNameUTF
- _JVM_GetCPFieldModifiers
- _JVM_GetCPFieldNameUTF
- _JVM_GetCPFieldSignatureUTF
- _JVM_GetCPMethodClassNameUTF
- _JVM_GetCPMethodModifiers
- _JVM_GetCPMethodNameUTF
- _JVM_GetCPMethodSignatureUTF
- _JVM_GetCallerClass
- _JVM_GetClassAccessFlags
- _JVM_GetClassAnnotations
- _JVM_GetClassCPEntriesCount
- _JVM_GetClassCPTypes
- _JVM_GetClassConstantPool
- _JVM_GetClassContext
- _JVM_GetClassDeclaredConstructors
- _JVM_GetClassDeclaredFields
- _JVM_GetClassDeclaredMethods
- _JVM_GetClassFieldsCount
- _JVM_GetClassInterfaces
- _JVM_GetClassMethodsCount
- _JVM_GetClassModifiers
- _JVM_GetClassName
- _JVM_GetClassNameUTF
- _JVM_GetClassSignature
- _JVM_GetClassSigners
- _JVM_GetClassTypeAnnotations
- _JVM_GetDeclaredClasses
- _JVM_GetDeclaringClass
- _JVM_GetSimpleBinaryName
- _JVM_GetEnclosingMethodInfo
- _JVM_GetFieldIxModifiers
- _JVM_GetFieldTypeAnnotations
- _JVM_GetInheritedAccessControlContext
- _JVM_GetInterfaceVersion
- _JVM_GetManagement
- _JVM_GetMethodIxArgsSize
- _JVM_GetMethodIxByteCode
- _JVM_GetMethodIxByteCodeLength
- _JVM_GetMethodIxExceptionIndexes
- _JVM_GetMethodIxExceptionTableEntry
- _JVM_GetMethodIxExceptionTableLength
- _JVM_GetMethodIxExceptionsCount
- _JVM_GetMethodIxLocalsCount
- _JVM_GetMethodIxMaxStack
- _JVM_GetMethodIxModifiers
- _JVM_GetMethodIxNameUTF
- _JVM_GetMethodIxSignatureUTF
- _JVM_GetMethodParameters
- _JVM_GetMethodTypeAnnotations
- _JVM_GetNanoTimeAdjustment
- _JVM_GetPrimitiveArrayElement
- _JVM_GetProtectionDomain
- _JVM_GetStackAccessControlContext
- _JVM_GetStackTraceDepth
- _JVM_GetStackTraceElement
- _JVM_GetSystemPackage
- _JVM_GetSystemPackages
- _JVM_GetTemporaryDirectory
- _JVM_GetVersionInfo
- _JVM_Halt
- _JVM_HoldsLock
- _JVM_IHashCode
- _JVM_InitAgentProperties
- _JVM_InitProperties
- _JVM_InternString
- _JVM_Interrupt
- _JVM_InvokeMethod
- _JVM_IsArrayClass
- _JVM_IsConstructorIx
- _JVM_IsInterface
- _JVM_IsInterrupted
- _JVM_IsPrimitiveClass
- _JVM_IsSameClassPackage
- _JVM_IsSupportedJNIVersion
- _JVM_IsThreadAlive
- _JVM_IsVMGeneratedMethodIx
- _JVM_LatestUserDefinedLoader
- _JVM_LoadLibrary
- _JVM_MaxObjectInspectionAge
- _JVM_MaxMemory
- _JVM_MonitorNotify
- _JVM_MonitorNotifyAll
- _JVM_MonitorWait
- _JVM_NanoTime
- _JVM_NativePath
- _JVM_NewArray
- _JVM_NewInstanceFromConstructor
- _JVM_NewMultiArray
- _JVM_RaiseSignal
- _JVM_RawMonitorCreate
- _JVM_RawMonitorDestroy
- _JVM_RawMonitorEnter
- _JVM_RawMonitorExit
- _JVM_RegisterSignal
- _JVM_ReleaseUTF
- _JVM_ResumeThread
- _JVM_SetArrayElement
- _JVM_SetClassSigners
- _JVM_SetNativeThreadName
- _JVM_SetPrimitiveArrayElement
- _JVM_SetThreadPriority
- _JVM_Sleep
- _JVM_StartThread
- _JVM_StopThread
- _JVM_SuspendThread
- _JVM_SupportsCX8
- _JVM_TotalMemory
- _JVM_UnloadLibrary
- _JVM_Yield
_JVM_handle_bsd_signal
- # miscellaneous functions
+ # miscellaneous functions
_jio_fprintf
_jio_printf
_jio_snprintf
--- a/hotspot/make/bsd/makefiles/mapfile-vers-darwin-product Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/make/bsd/makefiles/mapfile-vers-darwin-product Wed Jul 05 20:52:10 2017 +0200
@@ -24,168 +24,6 @@
# Only used for OSX/Darwin builds
# Define public interface.
- # _JNI
- _JNI_CreateJavaVM
- _JNI_GetCreatedJavaVMs
- _JNI_GetDefaultJavaVMInitArgs
-
- # _JVM
- _JVM_ActiveProcessorCount
- _JVM_ArrayCopy
- _JVM_AssertionStatusDirectives
- _JVM_ClassDepth
- _JVM_ClassLoaderDepth
- _JVM_Clone
- _JVM_ConstantPoolGetClassAt
- _JVM_ConstantPoolGetClassAtIfLoaded
- _JVM_ConstantPoolGetDoubleAt
- _JVM_ConstantPoolGetFieldAt
- _JVM_ConstantPoolGetFieldAtIfLoaded
- _JVM_ConstantPoolGetFloatAt
- _JVM_ConstantPoolGetIntAt
- _JVM_ConstantPoolGetLongAt
- _JVM_ConstantPoolGetMethodAt
- _JVM_ConstantPoolGetMethodAtIfLoaded
- _JVM_ConstantPoolGetMemberRefInfoAt
- _JVM_ConstantPoolGetSize
- _JVM_ConstantPoolGetStringAt
- _JVM_ConstantPoolGetUTF8At
- _JVM_CountStackFrames
- _JVM_CurrentClassLoader
- _JVM_CurrentLoadedClass
- _JVM_CurrentThread
- _JVM_CurrentTimeMillis
- _JVM_DefineClass
- _JVM_DefineClassWithSource
- _JVM_DefineClassWithSourceCond
- _JVM_DesiredAssertionStatus
- _JVM_DoPrivileged
- _JVM_DumpAllStacks
- _JVM_DumpThreads
- _JVM_FillInStackTrace
- _JVM_FindClassFromCaller
- _JVM_FindClassFromClass
- _JVM_FindClassFromBootLoader
- _JVM_FindLibraryEntry
- _JVM_FindLoadedClass
- _JVM_FindPrimitiveClass
- _JVM_FindSignal
- _JVM_FreeMemory
- _JVM_GC
- _JVM_GetAllThreads
- _JVM_GetArrayElement
- _JVM_GetArrayLength
- _JVM_GetCPClassNameUTF
- _JVM_GetCPFieldClassNameUTF
- _JVM_GetCPFieldModifiers
- _JVM_GetCPFieldNameUTF
- _JVM_GetCPFieldSignatureUTF
- _JVM_GetCPMethodClassNameUTF
- _JVM_GetCPMethodModifiers
- _JVM_GetCPMethodNameUTF
- _JVM_GetCPMethodSignatureUTF
- _JVM_GetCallerClass
- _JVM_GetClassAccessFlags
- _JVM_GetClassAnnotations
- _JVM_GetClassCPEntriesCount
- _JVM_GetClassCPTypes
- _JVM_GetClassConstantPool
- _JVM_GetClassContext
- _JVM_GetClassDeclaredConstructors
- _JVM_GetClassDeclaredFields
- _JVM_GetClassDeclaredMethods
- _JVM_GetClassFieldsCount
- _JVM_GetClassInterfaces
- _JVM_GetClassMethodsCount
- _JVM_GetClassModifiers
- _JVM_GetClassName
- _JVM_GetClassNameUTF
- _JVM_GetClassSignature
- _JVM_GetClassSigners
- _JVM_GetClassTypeAnnotations
- _JVM_GetDeclaredClasses
- _JVM_GetDeclaringClass
- _JVM_GetSimpleBinaryName
- _JVM_GetEnclosingMethodInfo
- _JVM_GetFieldIxModifiers
- _JVM_GetFieldTypeAnnotations
- _JVM_GetInheritedAccessControlContext
- _JVM_GetInterfaceVersion
- _JVM_GetManagement
- _JVM_GetMethodIxArgsSize
- _JVM_GetMethodIxByteCode
- _JVM_GetMethodIxByteCodeLength
- _JVM_GetMethodIxExceptionIndexes
- _JVM_GetMethodIxExceptionTableEntry
- _JVM_GetMethodIxExceptionTableLength
- _JVM_GetMethodIxExceptionsCount
- _JVM_GetMethodIxLocalsCount
- _JVM_GetMethodIxMaxStack
- _JVM_GetMethodIxModifiers
- _JVM_GetMethodIxNameUTF
- _JVM_GetMethodIxSignatureUTF
- _JVM_GetMethodParameters
- _JVM_GetMethodTypeAnnotations
- _JVM_GetNanoTimeAdjustment
- _JVM_GetPrimitiveArrayElement
- _JVM_GetProtectionDomain
- _JVM_GetStackAccessControlContext
- _JVM_GetStackTraceDepth
- _JVM_GetStackTraceElement
- _JVM_GetSystemPackage
- _JVM_GetSystemPackages
- _JVM_GetTemporaryDirectory
- _JVM_GetVersionInfo
- _JVM_Halt
- _JVM_HoldsLock
- _JVM_IHashCode
- _JVM_InitAgentProperties
- _JVM_InitProperties
- _JVM_InternString
- _JVM_Interrupt
- _JVM_InvokeMethod
- _JVM_IsArrayClass
- _JVM_IsConstructorIx
- _JVM_IsInterface
- _JVM_IsInterrupted
- _JVM_IsPrimitiveClass
- _JVM_IsSameClassPackage
- _JVM_IsSupportedJNIVersion
- _JVM_IsThreadAlive
- _JVM_IsVMGeneratedMethodIx
- _JVM_LatestUserDefinedLoader
- _JVM_LoadLibrary
- _JVM_MaxObjectInspectionAge
- _JVM_MaxMemory
- _JVM_MonitorNotify
- _JVM_MonitorNotifyAll
- _JVM_MonitorWait
- _JVM_NanoTime
- _JVM_NativePath
- _JVM_NewArray
- _JVM_NewInstanceFromConstructor
- _JVM_NewMultiArray
- _JVM_RaiseSignal
- _JVM_RawMonitorCreate
- _JVM_RawMonitorDestroy
- _JVM_RawMonitorEnter
- _JVM_RawMonitorExit
- _JVM_RegisterSignal
- _JVM_ReleaseUTF
- _JVM_ResumeThread
- _JVM_SetArrayElement
- _JVM_SetClassSigners
- _JVM_SetNativeThreadName
- _JVM_SetPrimitiveArrayElement
- _JVM_SetThreadPriority
- _JVM_Sleep
- _JVM_StartThread
- _JVM_StopThread
- _JVM_SuspendThread
- _JVM_SupportsCX8
- _JVM_TotalMemory
- _JVM_UnloadLibrary
- _JVM_Yield
_JVM_handle_bsd_signal
# miscellaneous functions
--- a/hotspot/make/bsd/makefiles/mapfile-vers-debug Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/make/bsd/makefiles/mapfile-vers-debug Wed Jul 05 20:52:10 2017 +0200
@@ -26,168 +26,6 @@
SUNWprivate_1.1 {
global:
- # JNI
- JNI_CreateJavaVM;
- JNI_GetCreatedJavaVMs;
- JNI_GetDefaultJavaVMInitArgs;
-
- # JVM
- JVM_ActiveProcessorCount;
- JVM_ArrayCopy;
- JVM_AssertionStatusDirectives;
- JVM_ClassDepth;
- JVM_ClassLoaderDepth;
- JVM_Clone;
- JVM_ConstantPoolGetClassAt;
- JVM_ConstantPoolGetClassAtIfLoaded;
- JVM_ConstantPoolGetDoubleAt;
- JVM_ConstantPoolGetFieldAt;
- JVM_ConstantPoolGetFieldAtIfLoaded;
- JVM_ConstantPoolGetFloatAt;
- JVM_ConstantPoolGetIntAt;
- JVM_ConstantPoolGetLongAt;
- JVM_ConstantPoolGetMethodAt;
- JVM_ConstantPoolGetMethodAtIfLoaded;
- JVM_ConstantPoolGetMemberRefInfoAt;
- JVM_ConstantPoolGetSize;
- JVM_ConstantPoolGetStringAt;
- JVM_ConstantPoolGetUTF8At;
- JVM_CountStackFrames;
- JVM_CurrentClassLoader;
- JVM_CurrentLoadedClass;
- JVM_CurrentThread;
- JVM_CurrentTimeMillis;
- JVM_DefineClass;
- JVM_DefineClassWithSource;
- JVM_DefineClassWithSourceCond;
- JVM_DesiredAssertionStatus;
- JVM_DoPrivileged;
- JVM_DumpAllStacks;
- JVM_DumpThreads;
- JVM_FillInStackTrace;
- JVM_FindClassFromCaller;
- JVM_FindClassFromClass;
- JVM_FindClassFromBootLoader;
- JVM_FindLibraryEntry;
- JVM_FindLoadedClass;
- JVM_FindPrimitiveClass;
- JVM_FindSignal;
- JVM_FreeMemory;
- JVM_GC;
- JVM_GetAllThreads;
- JVM_GetArrayElement;
- JVM_GetArrayLength;
- JVM_GetCPClassNameUTF;
- JVM_GetCPFieldClassNameUTF;
- JVM_GetCPFieldModifiers;
- JVM_GetCPFieldNameUTF;
- JVM_GetCPFieldSignatureUTF;
- JVM_GetCPMethodClassNameUTF;
- JVM_GetCPMethodModifiers;
- JVM_GetCPMethodNameUTF;
- JVM_GetCPMethodSignatureUTF;
- JVM_GetCallerClass;
- JVM_GetClassAccessFlags;
- JVM_GetClassAnnotations;
- JVM_GetClassCPEntriesCount;
- JVM_GetClassCPTypes;
- JVM_GetClassConstantPool;
- JVM_GetClassContext;
- JVM_GetClassDeclaredConstructors;
- JVM_GetClassDeclaredFields;
- JVM_GetClassDeclaredMethods;
- JVM_GetClassFieldsCount;
- JVM_GetClassInterfaces;
- JVM_GetClassMethodsCount;
- JVM_GetClassModifiers;
- JVM_GetClassName;
- JVM_GetClassNameUTF;
- JVM_GetClassSignature;
- JVM_GetClassSigners;
- JVM_GetClassTypeAnnotations;
- JVM_GetDeclaredClasses;
- JVM_GetDeclaringClass;
- JVM_GetSimpleBinaryName;
- JVM_GetEnclosingMethodInfo;
- JVM_GetFieldIxModifiers;
- JVM_GetFieldTypeAnnotations;
- JVM_GetInheritedAccessControlContext;
- JVM_GetInterfaceVersion;
- JVM_GetManagement;
- JVM_GetMethodIxArgsSize;
- JVM_GetMethodIxByteCode;
- JVM_GetMethodIxByteCodeLength;
- JVM_GetMethodIxExceptionIndexes;
- JVM_GetMethodIxExceptionTableEntry;
- JVM_GetMethodIxExceptionTableLength;
- JVM_GetMethodIxExceptionsCount;
- JVM_GetMethodIxLocalsCount;
- JVM_GetMethodIxMaxStack;
- JVM_GetMethodIxModifiers;
- JVM_GetMethodIxNameUTF;
- JVM_GetMethodIxSignatureUTF;
- JVM_GetMethodParameters;
- JVM_GetMethodTypeAnnotations;
- JVM_GetNanoTimeAdjustment;
- JVM_GetPrimitiveArrayElement;
- JVM_GetProtectionDomain;
- JVM_GetStackAccessControlContext;
- JVM_GetStackTraceDepth;
- JVM_GetStackTraceElement;
- JVM_GetSystemPackage;
- JVM_GetSystemPackages;
- JVM_GetTemporaryDirectory;
- JVM_GetVersionInfo;
- JVM_Halt;
- JVM_HoldsLock;
- JVM_IHashCode;
- JVM_InitAgentProperties;
- JVM_InitProperties;
- JVM_InternString;
- JVM_Interrupt;
- JVM_InvokeMethod;
- JVM_IsArrayClass;
- JVM_IsConstructorIx;
- JVM_IsInterface;
- JVM_IsInterrupted;
- JVM_IsPrimitiveClass;
- JVM_IsSameClassPackage;
- JVM_IsSupportedJNIVersion;
- JVM_IsThreadAlive;
- JVM_IsVMGeneratedMethodIx;
- JVM_LatestUserDefinedLoader;
- JVM_LoadLibrary;
- JVM_MaxObjectInspectionAge;
- JVM_MaxMemory;
- JVM_MonitorNotify;
- JVM_MonitorNotifyAll;
- JVM_MonitorWait;
- JVM_NanoTime;
- JVM_NativePath;
- JVM_NewArray;
- JVM_NewInstanceFromConstructor;
- JVM_NewMultiArray;
- JVM_RaiseSignal;
- JVM_RawMonitorCreate;
- JVM_RawMonitorDestroy;
- JVM_RawMonitorEnter;
- JVM_RawMonitorExit;
- JVM_RegisterSignal;
- JVM_ReleaseUTF;
- JVM_ResumeThread;
- JVM_SetArrayElement;
- JVM_SetClassSigners;
- JVM_SetNativeThreadName;
- JVM_SetPrimitiveArrayElement;
- JVM_SetThreadPriority;
- JVM_Sleep;
- JVM_StartThread;
- JVM_StopThread;
- JVM_SuspendThread;
- JVM_SupportsCX8;
- JVM_TotalMemory;
- JVM_UnloadLibrary;
- JVM_Yield;
JVM_handle_linux_signal;
# miscellaneous functions
--- a/hotspot/make/bsd/makefiles/mapfile-vers-product Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/make/bsd/makefiles/mapfile-vers-product Wed Jul 05 20:52:10 2017 +0200
@@ -26,168 +26,6 @@
SUNWprivate_1.1 {
global:
- # JNI
- JNI_CreateJavaVM;
- JNI_GetCreatedJavaVMs;
- JNI_GetDefaultJavaVMInitArgs;
-
- # JVM
- JVM_ActiveProcessorCount;
- JVM_ArrayCopy;
- JVM_AssertionStatusDirectives;
- JVM_ClassDepth;
- JVM_ClassLoaderDepth;
- JVM_Clone;
- JVM_ConstantPoolGetClassAt;
- JVM_ConstantPoolGetClassAtIfLoaded;
- JVM_ConstantPoolGetDoubleAt;
- JVM_ConstantPoolGetFieldAt;
- JVM_ConstantPoolGetFieldAtIfLoaded;
- JVM_ConstantPoolGetFloatAt;
- JVM_ConstantPoolGetIntAt;
- JVM_ConstantPoolGetLongAt;
- JVM_ConstantPoolGetMethodAt;
- JVM_ConstantPoolGetMethodAtIfLoaded;
- JVM_ConstantPoolGetMemberRefInfoAt;
- JVM_ConstantPoolGetSize;
- JVM_ConstantPoolGetStringAt;
- JVM_ConstantPoolGetUTF8At;
- JVM_CountStackFrames;
- JVM_CurrentClassLoader;
- JVM_CurrentLoadedClass;
- JVM_CurrentThread;
- JVM_CurrentTimeMillis;
- JVM_DefineClass;
- JVM_DefineClassWithSource;
- JVM_DefineClassWithSourceCond;
- JVM_DesiredAssertionStatus;
- JVM_DoPrivileged;
- JVM_DumpAllStacks;
- JVM_DumpThreads;
- JVM_FillInStackTrace;
- JVM_FindClassFromCaller;
- JVM_FindClassFromClass;
- JVM_FindClassFromBootLoader;
- JVM_FindLibraryEntry;
- JVM_FindLoadedClass;
- JVM_FindPrimitiveClass;
- JVM_FindSignal;
- JVM_FreeMemory;
- JVM_GC;
- JVM_GetAllThreads;
- JVM_GetArrayElement;
- JVM_GetArrayLength;
- JVM_GetCPClassNameUTF;
- JVM_GetCPFieldClassNameUTF;
- JVM_GetCPFieldModifiers;
- JVM_GetCPFieldNameUTF;
- JVM_GetCPFieldSignatureUTF;
- JVM_GetCPMethodClassNameUTF;
- JVM_GetCPMethodModifiers;
- JVM_GetCPMethodNameUTF;
- JVM_GetCPMethodSignatureUTF;
- JVM_GetCallerClass;
- JVM_GetClassAccessFlags;
- JVM_GetClassAnnotations;
- JVM_GetClassCPEntriesCount;
- JVM_GetClassCPTypes;
- JVM_GetClassConstantPool;
- JVM_GetClassContext;
- JVM_GetClassDeclaredConstructors;
- JVM_GetClassDeclaredFields;
- JVM_GetClassDeclaredMethods;
- JVM_GetClassFieldsCount;
- JVM_GetClassInterfaces;
- JVM_GetClassMethodsCount;
- JVM_GetClassModifiers;
- JVM_GetClassName;
- JVM_GetClassNameUTF;
- JVM_GetClassSignature;
- JVM_GetClassSigners;
- JVM_GetClassTypeAnnotations;
- JVM_GetDeclaredClasses;
- JVM_GetDeclaringClass;
- JVM_GetSimpleBinaryName;
- JVM_GetEnclosingMethodInfo;
- JVM_GetFieldIxModifiers;
- JVM_GetFieldTypeAnnotations;
- JVM_GetInheritedAccessControlContext;
- JVM_GetInterfaceVersion;
- JVM_GetManagement;
- JVM_GetMethodIxArgsSize;
- JVM_GetMethodIxByteCode;
- JVM_GetMethodIxByteCodeLength;
- JVM_GetMethodIxExceptionIndexes;
- JVM_GetMethodIxExceptionTableEntry;
- JVM_GetMethodIxExceptionTableLength;
- JVM_GetMethodIxExceptionsCount;
- JVM_GetMethodIxLocalsCount;
- JVM_GetMethodIxMaxStack;
- JVM_GetMethodIxModifiers;
- JVM_GetMethodIxNameUTF;
- JVM_GetMethodIxSignatureUTF;
- JVM_GetMethodParameters;
- JVM_GetMethodTypeAnnotations;
- JVM_GetNanoTimeAdjustment;
- JVM_GetPrimitiveArrayElement;
- JVM_GetProtectionDomain;
- JVM_GetStackAccessControlContext;
- JVM_GetStackTraceDepth;
- JVM_GetStackTraceElement;
- JVM_GetSystemPackage;
- JVM_GetSystemPackages;
- JVM_GetTemporaryDirectory;
- JVM_GetVersionInfo;
- JVM_Halt;
- JVM_HoldsLock;
- JVM_IHashCode;
- JVM_InitAgentProperties;
- JVM_InitProperties;
- JVM_InternString;
- JVM_Interrupt;
- JVM_InvokeMethod;
- JVM_IsArrayClass;
- JVM_IsConstructorIx;
- JVM_IsInterface;
- JVM_IsInterrupted;
- JVM_IsPrimitiveClass;
- JVM_IsSameClassPackage;
- JVM_IsSupportedJNIVersion;
- JVM_IsThreadAlive;
- JVM_IsVMGeneratedMethodIx;
- JVM_LatestUserDefinedLoader;
- JVM_LoadLibrary;
- JVM_MaxObjectInspectionAge;
- JVM_MaxMemory;
- JVM_MonitorNotify;
- JVM_MonitorNotifyAll;
- JVM_MonitorWait;
- JVM_NanoTime;
- JVM_NativePath;
- JVM_NewArray;
- JVM_NewInstanceFromConstructor;
- JVM_NewMultiArray;
- JVM_RaiseSignal;
- JVM_RawMonitorCreate;
- JVM_RawMonitorDestroy;
- JVM_RawMonitorEnter;
- JVM_RawMonitorExit;
- JVM_RegisterSignal;
- JVM_ReleaseUTF;
- JVM_ResumeThread;
- JVM_SetArrayElement;
- JVM_SetClassSigners;
- JVM_SetNativeThreadName;
- JVM_SetPrimitiveArrayElement;
- JVM_SetThreadPriority;
- JVM_Sleep;
- JVM_StartThread;
- JVM_StopThread;
- JVM_SuspendThread;
- JVM_SupportsCX8;
- JVM_TotalMemory;
- JVM_UnloadLibrary;
- JVM_Yield;
JVM_handle_linux_signal;
# miscellaneous functions
--- a/hotspot/make/bsd/makefiles/vm.make Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/make/bsd/makefiles/vm.make Wed Jul 05 20:52:10 2017 +0200
@@ -234,10 +234,29 @@
vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES))
-mapfile : $(MAPFILE) vm.def mapfile_ext
+MAPFILE_SHARE := $(GAMMADIR)/make/share/makefiles/mapfile-vers
+
+MAPFILE_EXT_SRC := $(HS_ALT_MAKE)/share/makefiles/mapfile-ext
+ifneq ("$(wildcard $(MAPFILE_EXT_SRC))","")
+MAPFILE_EXT := $(MAPFILE_EXT_SRC)
+endif
+
+# For Darwin: add _ prefix and remove trailing ;
+mapfile_extra: $(MAPFILE_SHARE) $(MAPFILE_EXT)
+ rm -f $@
+ifeq ($(OS_VENDOR), Darwin)
+ cat $(MAPFILE_SHARE) $(MAPFILE_EXT) | \
+ sed -e 's/#.*//g' -e 's/[ ]*//g' -e 's/;//g' | \
+ awk '{ if ($$0 ~ ".") { print "\t\t_" $$0 } }' \
+ > $@
+else
+ cat $(MAPFILE_SHARE) $(MAPFILE_EXT) > $@
+endif
+
+mapfile : $(MAPFILE) mapfile_extra vm.def
rm -f $@
awk '{ if ($$0 ~ "INSERT VTABLE SYMBOLS HERE") \
- { system ("cat mapfile_ext"); system ("cat vm.def"); } \
+ { system ("cat mapfile_extra vm.def"); } \
else \
{ print $$0 } \
}' > $@ < $(MAPFILE)
--- a/hotspot/make/linux/makefiles/mapfile-vers-debug Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/make/linux/makefiles/mapfile-vers-debug Wed Jul 05 20:52:10 2017 +0200
@@ -26,168 +26,6 @@
SUNWprivate_1.1 {
global:
- # JNI
- JNI_CreateJavaVM;
- JNI_GetCreatedJavaVMs;
- JNI_GetDefaultJavaVMInitArgs;
-
- # JVM
- JVM_ActiveProcessorCount;
- JVM_ArrayCopy;
- JVM_AssertionStatusDirectives;
- JVM_ClassDepth;
- JVM_ClassLoaderDepth;
- JVM_Clone;
- JVM_ConstantPoolGetClassAt;
- JVM_ConstantPoolGetClassAtIfLoaded;
- JVM_ConstantPoolGetDoubleAt;
- JVM_ConstantPoolGetFieldAt;
- JVM_ConstantPoolGetFieldAtIfLoaded;
- JVM_ConstantPoolGetFloatAt;
- JVM_ConstantPoolGetIntAt;
- JVM_ConstantPoolGetLongAt;
- JVM_ConstantPoolGetMethodAt;
- JVM_ConstantPoolGetMethodAtIfLoaded;
- JVM_ConstantPoolGetMemberRefInfoAt;
- JVM_ConstantPoolGetSize;
- JVM_ConstantPoolGetStringAt;
- JVM_ConstantPoolGetUTF8At;
- JVM_CountStackFrames;
- JVM_CurrentClassLoader;
- JVM_CurrentLoadedClass;
- JVM_CurrentThread;
- JVM_CurrentTimeMillis;
- JVM_DefineClass;
- JVM_DefineClassWithSource;
- JVM_DefineClassWithSourceCond;
- JVM_DesiredAssertionStatus;
- JVM_DoPrivileged;
- JVM_DumpAllStacks;
- JVM_DumpThreads;
- JVM_FillInStackTrace;
- JVM_FindClassFromCaller;
- JVM_FindClassFromClass;
- JVM_FindClassFromBootLoader;
- JVM_FindLibraryEntry;
- JVM_FindLoadedClass;
- JVM_FindPrimitiveClass;
- JVM_FindSignal;
- JVM_FreeMemory;
- JVM_GC;
- JVM_GetAllThreads;
- JVM_GetArrayElement;
- JVM_GetArrayLength;
- JVM_GetCPClassNameUTF;
- JVM_GetCPFieldClassNameUTF;
- JVM_GetCPFieldModifiers;
- JVM_GetCPFieldNameUTF;
- JVM_GetCPFieldSignatureUTF;
- JVM_GetCPMethodClassNameUTF;
- JVM_GetCPMethodModifiers;
- JVM_GetCPMethodNameUTF;
- JVM_GetCPMethodSignatureUTF;
- JVM_GetCallerClass;
- JVM_GetClassAccessFlags;
- JVM_GetClassAnnotations;
- JVM_GetClassCPEntriesCount;
- JVM_GetClassCPTypes;
- JVM_GetClassConstantPool;
- JVM_GetClassContext;
- JVM_GetClassDeclaredConstructors;
- JVM_GetClassDeclaredFields;
- JVM_GetClassDeclaredMethods;
- JVM_GetClassFieldsCount;
- JVM_GetClassInterfaces;
- JVM_GetClassMethodsCount;
- JVM_GetClassModifiers;
- JVM_GetClassName;
- JVM_GetClassNameUTF;
- JVM_GetClassSignature;
- JVM_GetClassSigners;
- JVM_GetClassTypeAnnotations;
- JVM_GetDeclaredClasses;
- JVM_GetDeclaringClass;
- JVM_GetSimpleBinaryName;
- JVM_GetEnclosingMethodInfo;
- JVM_GetFieldIxModifiers;
- JVM_GetFieldTypeAnnotations;
- JVM_GetInheritedAccessControlContext;
- JVM_GetInterfaceVersion;
- JVM_GetManagement;
- JVM_GetMethodIxArgsSize;
- JVM_GetMethodIxByteCode;
- JVM_GetMethodIxByteCodeLength;
- JVM_GetMethodIxExceptionIndexes;
- JVM_GetMethodIxExceptionTableEntry;
- JVM_GetMethodIxExceptionTableLength;
- JVM_GetMethodIxExceptionsCount;
- JVM_GetMethodIxLocalsCount;
- JVM_GetMethodIxMaxStack;
- JVM_GetMethodIxModifiers;
- JVM_GetMethodIxNameUTF;
- JVM_GetMethodIxSignatureUTF;
- JVM_GetMethodParameters;
- JVM_GetMethodTypeAnnotations;
- JVM_GetNanoTimeAdjustment;
- JVM_GetPrimitiveArrayElement;
- JVM_GetProtectionDomain;
- JVM_GetStackAccessControlContext;
- JVM_GetStackTraceDepth;
- JVM_GetStackTraceElement;
- JVM_GetSystemPackage;
- JVM_GetSystemPackages;
- JVM_GetTemporaryDirectory;
- JVM_GetVersionInfo;
- JVM_Halt;
- JVM_HoldsLock;
- JVM_IHashCode;
- JVM_InitAgentProperties;
- JVM_InitProperties;
- JVM_InternString;
- JVM_Interrupt;
- JVM_InvokeMethod;
- JVM_IsArrayClass;
- JVM_IsConstructorIx;
- JVM_IsInterface;
- JVM_IsInterrupted;
- JVM_IsPrimitiveClass;
- JVM_IsSameClassPackage;
- JVM_IsSupportedJNIVersion;
- JVM_IsThreadAlive;
- JVM_IsVMGeneratedMethodIx;
- JVM_LatestUserDefinedLoader;
- JVM_LoadLibrary;
- JVM_MaxObjectInspectionAge;
- JVM_MaxMemory;
- JVM_MonitorNotify;
- JVM_MonitorNotifyAll;
- JVM_MonitorWait;
- JVM_NanoTime;
- JVM_NativePath;
- JVM_NewArray;
- JVM_NewInstanceFromConstructor;
- JVM_NewMultiArray;
- JVM_RaiseSignal;
- JVM_RawMonitorCreate;
- JVM_RawMonitorDestroy;
- JVM_RawMonitorEnter;
- JVM_RawMonitorExit;
- JVM_RegisterSignal;
- JVM_ReleaseUTF;
- JVM_ResumeThread;
- JVM_SetArrayElement;
- JVM_SetClassSigners;
- JVM_SetNativeThreadName;
- JVM_SetPrimitiveArrayElement;
- JVM_SetThreadPriority;
- JVM_Sleep;
- JVM_StartThread;
- JVM_StopThread;
- JVM_SuspendThread;
- JVM_SupportsCX8;
- JVM_TotalMemory;
- JVM_UnloadLibrary;
- JVM_Yield;
JVM_handle_linux_signal;
# miscellaneous functions
--- a/hotspot/make/linux/makefiles/mapfile-vers-product Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/make/linux/makefiles/mapfile-vers-product Wed Jul 05 20:52:10 2017 +0200
@@ -26,168 +26,6 @@
SUNWprivate_1.1 {
global:
- # JNI
- JNI_CreateJavaVM;
- JNI_GetCreatedJavaVMs;
- JNI_GetDefaultJavaVMInitArgs;
-
- # JVM
- JVM_ActiveProcessorCount;
- JVM_ArrayCopy;
- JVM_AssertionStatusDirectives;
- JVM_ClassDepth;
- JVM_ClassLoaderDepth;
- JVM_Clone;
- JVM_ConstantPoolGetClassAt;
- JVM_ConstantPoolGetClassAtIfLoaded;
- JVM_ConstantPoolGetDoubleAt;
- JVM_ConstantPoolGetFieldAt;
- JVM_ConstantPoolGetFieldAtIfLoaded;
- JVM_ConstantPoolGetFloatAt;
- JVM_ConstantPoolGetIntAt;
- JVM_ConstantPoolGetLongAt;
- JVM_ConstantPoolGetMethodAt;
- JVM_ConstantPoolGetMethodAtIfLoaded;
- JVM_ConstantPoolGetMemberRefInfoAt;
- JVM_ConstantPoolGetSize;
- JVM_ConstantPoolGetStringAt;
- JVM_ConstantPoolGetUTF8At;
- JVM_CountStackFrames;
- JVM_CurrentClassLoader;
- JVM_CurrentLoadedClass;
- JVM_CurrentThread;
- JVM_CurrentTimeMillis;
- JVM_DefineClass;
- JVM_DefineClassWithSource;
- JVM_DefineClassWithSourceCond;
- JVM_DesiredAssertionStatus;
- JVM_DoPrivileged;
- JVM_DumpAllStacks;
- JVM_DumpThreads;
- JVM_FillInStackTrace;
- JVM_FindClassFromCaller;
- JVM_FindClassFromClass;
- JVM_FindClassFromBootLoader;
- JVM_FindLibraryEntry;
- JVM_FindLoadedClass;
- JVM_FindPrimitiveClass;
- JVM_FindSignal;
- JVM_FreeMemory;
- JVM_GC;
- JVM_GetAllThreads;
- JVM_GetArrayElement;
- JVM_GetArrayLength;
- JVM_GetCPClassNameUTF;
- JVM_GetCPFieldClassNameUTF;
- JVM_GetCPFieldModifiers;
- JVM_GetCPFieldNameUTF;
- JVM_GetCPFieldSignatureUTF;
- JVM_GetCPMethodClassNameUTF;
- JVM_GetCPMethodModifiers;
- JVM_GetCPMethodNameUTF;
- JVM_GetCPMethodSignatureUTF;
- JVM_GetCallerClass;
- JVM_GetClassAccessFlags;
- JVM_GetClassAnnotations;
- JVM_GetClassCPEntriesCount;
- JVM_GetClassCPTypes;
- JVM_GetClassConstantPool;
- JVM_GetClassContext;
- JVM_GetClassDeclaredConstructors;
- JVM_GetClassDeclaredFields;
- JVM_GetClassDeclaredMethods;
- JVM_GetClassFieldsCount;
- JVM_GetClassInterfaces;
- JVM_GetClassMethodsCount;
- JVM_GetClassModifiers;
- JVM_GetClassName;
- JVM_GetClassNameUTF;
- JVM_GetClassSignature;
- JVM_GetClassSigners;
- JVM_GetClassTypeAnnotations;
- JVM_GetDeclaredClasses;
- JVM_GetDeclaringClass;
- JVM_GetSimpleBinaryName;
- JVM_GetEnclosingMethodInfo;
- JVM_GetFieldIxModifiers;
- JVM_GetFieldTypeAnnotations;
- JVM_GetInheritedAccessControlContext;
- JVM_GetInterfaceVersion;
- JVM_GetManagement;
- JVM_GetMethodIxArgsSize;
- JVM_GetMethodIxByteCode;
- JVM_GetMethodIxByteCodeLength;
- JVM_GetMethodIxExceptionIndexes;
- JVM_GetMethodIxExceptionTableEntry;
- JVM_GetMethodIxExceptionTableLength;
- JVM_GetMethodIxExceptionsCount;
- JVM_GetMethodIxLocalsCount;
- JVM_GetMethodIxMaxStack;
- JVM_GetMethodIxModifiers;
- JVM_GetMethodIxNameUTF;
- JVM_GetMethodIxSignatureUTF;
- JVM_GetMethodParameters;
- JVM_GetMethodTypeAnnotations;
- JVM_GetNanoTimeAdjustment;
- JVM_GetPrimitiveArrayElement;
- JVM_GetProtectionDomain;
- JVM_GetStackAccessControlContext;
- JVM_GetStackTraceDepth;
- JVM_GetStackTraceElement;
- JVM_GetSystemPackage;
- JVM_GetSystemPackages;
- JVM_GetTemporaryDirectory;
- JVM_GetVersionInfo;
- JVM_Halt;
- JVM_HoldsLock;
- JVM_IHashCode;
- JVM_InitAgentProperties;
- JVM_InitProperties;
- JVM_InternString;
- JVM_Interrupt;
- JVM_InvokeMethod;
- JVM_IsArrayClass;
- JVM_IsConstructorIx;
- JVM_IsInterface;
- JVM_IsInterrupted;
- JVM_IsPrimitiveClass;
- JVM_IsSameClassPackage;
- JVM_IsSupportedJNIVersion;
- JVM_IsThreadAlive;
- JVM_IsVMGeneratedMethodIx;
- JVM_LatestUserDefinedLoader;
- JVM_LoadLibrary;
- JVM_MaxObjectInspectionAge;
- JVM_MaxMemory;
- JVM_MonitorNotify;
- JVM_MonitorNotifyAll;
- JVM_MonitorWait;
- JVM_NanoTime;
- JVM_NativePath;
- JVM_NewArray;
- JVM_NewInstanceFromConstructor;
- JVM_NewMultiArray;
- JVM_RaiseSignal;
- JVM_RawMonitorCreate;
- JVM_RawMonitorDestroy;
- JVM_RawMonitorEnter;
- JVM_RawMonitorExit;
- JVM_RegisterSignal;
- JVM_ReleaseUTF;
- JVM_ResumeThread;
- JVM_SetArrayElement;
- JVM_SetClassSigners;
- JVM_SetNativeThreadName;
- JVM_SetPrimitiveArrayElement;
- JVM_SetThreadPriority;
- JVM_Sleep;
- JVM_StartThread;
- JVM_StopThread;
- JVM_SuspendThread;
- JVM_SupportsCX8;
- JVM_TotalMemory;
- JVM_UnloadLibrary;
- JVM_Yield;
JVM_handle_linux_signal;
# miscellaneous functions
--- a/hotspot/make/linux/makefiles/vm.make Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/make/linux/makefiles/vm.make Wed Jul 05 20:52:10 2017 +0200
@@ -232,10 +232,17 @@
vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES))
-mapfile : $(MAPFILE) vm.def mapfile_ext
+MAPFILE_SHARE := $(GAMMADIR)/make/share/makefiles/mapfile-vers
+
+MAPFILE_EXT_SRC := $(HS_ALT_MAKE)/share/makefiles/mapfile-ext
+ifneq ("$(wildcard $(MAPFILE_EXT_SRC))","")
+MAPFILE_EXT := $(MAPFILE_EXT_SRC)
+endif
+
+mapfile : $(MAPFILE) $(MAPFILE_SHARE) vm.def $(MAPFILE_EXT)
rm -f $@
awk '{ if ($$0 ~ "INSERT VTABLE SYMBOLS HERE") \
- { system ("cat mapfile_ext"); system ("cat vm.def"); } \
+ { system ("cat ${MAPFILE_SHARE} $(MAPFILE_EXT) vm.def"); } \
else \
{ print $$0 } \
}' > $@ < $(MAPFILE)
@@ -259,13 +266,6 @@
cat $(VM_DEF_EXT) >> $@
endif
-mapfile_ext:
- rm -f $@
- touch $@
- if [ -f $(HS_ALT_MAKE)/linux/makefiles/mapfile-ext ]; then \
- cat $(HS_ALT_MAKE)/linux/makefiles/mapfile-ext > $@; \
- fi
-
ifeq ($(JVM_VARIANT_ZEROSHARK), true)
STATIC_CXX = false
else
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/make/share/makefiles/mapfile-vers Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,162 @@
+ # JNI
+ JNI_CreateJavaVM;
+ JNI_GetCreatedJavaVMs;
+ JNI_GetDefaultJavaVMInitArgs;
+
+ # JVM
+ JVM_ActiveProcessorCount;
+ JVM_ArrayCopy;
+ JVM_AssertionStatusDirectives;
+ JVM_ClassDepth;
+ JVM_ClassLoaderDepth;
+ JVM_Clone;
+ JVM_ConstantPoolGetClassAt;
+ JVM_ConstantPoolGetClassAtIfLoaded;
+ JVM_ConstantPoolGetDoubleAt;
+ JVM_ConstantPoolGetFieldAt;
+ JVM_ConstantPoolGetFieldAtIfLoaded;
+ JVM_ConstantPoolGetFloatAt;
+ JVM_ConstantPoolGetIntAt;
+ JVM_ConstantPoolGetLongAt;
+ JVM_ConstantPoolGetMethodAt;
+ JVM_ConstantPoolGetMethodAtIfLoaded;
+ JVM_ConstantPoolGetMemberRefInfoAt;
+ JVM_ConstantPoolGetSize;
+ JVM_ConstantPoolGetStringAt;
+ JVM_ConstantPoolGetUTF8At;
+ JVM_CountStackFrames;
+ JVM_CurrentClassLoader;
+ JVM_CurrentLoadedClass;
+ JVM_CurrentThread;
+ JVM_CurrentTimeMillis;
+ JVM_DefineClass;
+ JVM_DefineClassWithSource;
+ JVM_DefineClassWithSourceCond;
+ JVM_DesiredAssertionStatus;
+ JVM_DoPrivileged;
+ JVM_DumpAllStacks;
+ JVM_DumpThreads;
+ JVM_FillInStackTrace;
+ JVM_FindClassFromCaller;
+ JVM_FindClassFromClass;
+ JVM_FindClassFromBootLoader;
+ JVM_FindLibraryEntry;
+ JVM_FindLoadedClass;
+ JVM_FindPrimitiveClass;
+ JVM_FindSignal;
+ JVM_FreeMemory;
+ JVM_GC;
+ JVM_GetAllThreads;
+ JVM_GetArrayElement;
+ JVM_GetArrayLength;
+ JVM_GetCPClassNameUTF;
+ JVM_GetCPFieldClassNameUTF;
+ JVM_GetCPFieldModifiers;
+ JVM_GetCPFieldNameUTF;
+ JVM_GetCPFieldSignatureUTF;
+ JVM_GetCPMethodClassNameUTF;
+ JVM_GetCPMethodModifiers;
+ JVM_GetCPMethodNameUTF;
+ JVM_GetCPMethodSignatureUTF;
+ JVM_GetCallerClass;
+ JVM_GetClassAccessFlags;
+ JVM_GetClassAnnotations;
+ JVM_GetClassCPEntriesCount;
+ JVM_GetClassCPTypes;
+ JVM_GetClassConstantPool;
+ JVM_GetClassContext;
+ JVM_GetClassDeclaredConstructors;
+ JVM_GetClassDeclaredFields;
+ JVM_GetClassDeclaredMethods;
+ JVM_GetClassFieldsCount;
+ JVM_GetClassInterfaces;
+ JVM_GetClassMethodsCount;
+ JVM_GetClassModifiers;
+ JVM_GetClassName;
+ JVM_GetClassNameUTF;
+ JVM_GetClassSignature;
+ JVM_GetClassSigners;
+ JVM_GetClassTypeAnnotations;
+ JVM_GetDeclaredClasses;
+ JVM_GetDeclaringClass;
+ JVM_GetSimpleBinaryName;
+ JVM_GetEnclosingMethodInfo;
+ JVM_GetFieldIxModifiers;
+ JVM_GetFieldTypeAnnotations;
+ JVM_GetInheritedAccessControlContext;
+ JVM_GetInterfaceVersion;
+ JVM_GetManagement;
+ JVM_GetMethodIxArgsSize;
+ JVM_GetMethodIxByteCode;
+ JVM_GetMethodIxByteCodeLength;
+ JVM_GetMethodIxExceptionIndexes;
+ JVM_GetMethodIxExceptionTableEntry;
+ JVM_GetMethodIxExceptionTableLength;
+ JVM_GetMethodIxExceptionsCount;
+ JVM_GetMethodIxLocalsCount;
+ JVM_GetMethodIxMaxStack;
+ JVM_GetMethodIxModifiers;
+ JVM_GetMethodIxNameUTF;
+ JVM_GetMethodIxSignatureUTF;
+ JVM_GetMethodParameters;
+ JVM_GetMethodTypeAnnotations;
+ JVM_GetNanoTimeAdjustment;
+ JVM_GetPrimitiveArrayElement;
+ JVM_GetProtectionDomain;
+ JVM_GetStackAccessControlContext;
+ JVM_GetStackTraceDepth;
+ JVM_GetStackTraceElement;
+ JVM_GetSystemPackage;
+ JVM_GetSystemPackages;
+ JVM_GetTemporaryDirectory;
+ JVM_GetVersionInfo;
+ JVM_Halt;
+ JVM_HoldsLock;
+ JVM_IHashCode;
+ JVM_InitAgentProperties;
+ JVM_InitProperties;
+ JVM_InternString;
+ JVM_Interrupt;
+ JVM_InvokeMethod;
+ JVM_IsArrayClass;
+ JVM_IsConstructorIx;
+ JVM_IsInterface;
+ JVM_IsInterrupted;
+ JVM_IsPrimitiveClass;
+ JVM_IsSameClassPackage;
+ JVM_IsSupportedJNIVersion;
+ JVM_IsThreadAlive;
+ JVM_IsVMGeneratedMethodIx;
+ JVM_LatestUserDefinedLoader;
+ JVM_LoadLibrary;
+ JVM_MaxObjectInspectionAge;
+ JVM_MaxMemory;
+ JVM_MonitorNotify;
+ JVM_MonitorNotifyAll;
+ JVM_MonitorWait;
+ JVM_NanoTime;
+ JVM_NativePath;
+ JVM_NewArray;
+ JVM_NewInstanceFromConstructor;
+ JVM_NewMultiArray;
+ JVM_RaiseSignal;
+ JVM_RawMonitorCreate;
+ JVM_RawMonitorDestroy;
+ JVM_RawMonitorEnter;
+ JVM_RawMonitorExit;
+ JVM_RegisterSignal;
+ JVM_ReleaseUTF;
+ JVM_ResumeThread;
+ JVM_SetArrayElement;
+ JVM_SetClassSigners;
+ JVM_SetNativeThreadName;
+ JVM_SetPrimitiveArrayElement;
+ JVM_SetThreadPriority;
+ JVM_Sleep;
+ JVM_StartThread;
+ JVM_StopThread;
+ JVM_SuspendThread;
+ JVM_SupportsCX8;
+ JVM_TotalMemory;
+ JVM_UnloadLibrary;
+ JVM_Yield;
--- a/hotspot/make/solaris/makefiles/mapfile-vers Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/make/solaris/makefiles/mapfile-vers Wed Jul 05 20:52:10 2017 +0200
@@ -26,168 +26,6 @@
SUNWprivate_1.1 {
global:
- # JNI
- JNI_CreateJavaVM;
- JNI_GetCreatedJavaVMs;
- JNI_GetDefaultJavaVMInitArgs;
-
- # JVM
- JVM_ActiveProcessorCount;
- JVM_ArrayCopy;
- JVM_AssertionStatusDirectives;
- JVM_ClassDepth;
- JVM_ClassLoaderDepth;
- JVM_Clone;
- JVM_ConstantPoolGetClassAt;
- JVM_ConstantPoolGetClassAtIfLoaded;
- JVM_ConstantPoolGetDoubleAt;
- JVM_ConstantPoolGetFieldAt;
- JVM_ConstantPoolGetFieldAtIfLoaded;
- JVM_ConstantPoolGetFloatAt;
- JVM_ConstantPoolGetIntAt;
- JVM_ConstantPoolGetLongAt;
- JVM_ConstantPoolGetMethodAt;
- JVM_ConstantPoolGetMethodAtIfLoaded;
- JVM_ConstantPoolGetMemberRefInfoAt;
- JVM_ConstantPoolGetSize;
- JVM_ConstantPoolGetStringAt;
- JVM_ConstantPoolGetUTF8At;
- JVM_CountStackFrames;
- JVM_CurrentClassLoader;
- JVM_CurrentLoadedClass;
- JVM_CurrentThread;
- JVM_CurrentTimeMillis;
- JVM_DefineClass;
- JVM_DefineClassWithSource;
- JVM_DefineClassWithSourceCond;
- JVM_DesiredAssertionStatus;
- JVM_DoPrivileged;
- JVM_DumpAllStacks;
- JVM_DumpThreads;
- JVM_FillInStackTrace;
- JVM_FindClassFromCaller;
- JVM_FindClassFromClass;
- JVM_FindClassFromBootLoader;
- JVM_FindLibraryEntry;
- JVM_FindLoadedClass;
- JVM_FindPrimitiveClass;
- JVM_FindSignal;
- JVM_FreeMemory;
- JVM_GC;
- JVM_GetAllThreads;
- JVM_GetArrayElement;
- JVM_GetArrayLength;
- JVM_GetCPClassNameUTF;
- JVM_GetCPFieldClassNameUTF;
- JVM_GetCPFieldModifiers;
- JVM_GetCPFieldNameUTF;
- JVM_GetCPFieldSignatureUTF;
- JVM_GetCPMethodClassNameUTF;
- JVM_GetCPMethodModifiers;
- JVM_GetCPMethodNameUTF;
- JVM_GetCPMethodSignatureUTF;
- JVM_GetCallerClass;
- JVM_GetClassAccessFlags;
- JVM_GetClassAnnotations;
- JVM_GetClassCPEntriesCount;
- JVM_GetClassCPTypes;
- JVM_GetClassConstantPool;
- JVM_GetClassContext;
- JVM_GetClassDeclaredConstructors;
- JVM_GetClassDeclaredFields;
- JVM_GetClassDeclaredMethods;
- JVM_GetClassFieldsCount;
- JVM_GetClassInterfaces;
- JVM_GetClassMethodsCount;
- JVM_GetClassModifiers;
- JVM_GetClassName;
- JVM_GetClassNameUTF;
- JVM_GetClassSignature;
- JVM_GetClassSigners;
- JVM_GetClassTypeAnnotations;
- JVM_GetDeclaredClasses;
- JVM_GetDeclaringClass;
- JVM_GetSimpleBinaryName;
- JVM_GetEnclosingMethodInfo;
- JVM_GetFieldIxModifiers;
- JVM_GetFieldTypeAnnotations;
- JVM_GetInheritedAccessControlContext;
- JVM_GetInterfaceVersion;
- JVM_GetManagement;
- JVM_GetMethodIxArgsSize;
- JVM_GetMethodIxByteCode;
- JVM_GetMethodIxByteCodeLength;
- JVM_GetMethodIxExceptionIndexes;
- JVM_GetMethodIxExceptionTableEntry;
- JVM_GetMethodIxExceptionTableLength;
- JVM_GetMethodIxExceptionsCount;
- JVM_GetMethodIxLocalsCount;
- JVM_GetMethodIxMaxStack;
- JVM_GetMethodIxModifiers;
- JVM_GetMethodIxNameUTF;
- JVM_GetMethodIxSignatureUTF;
- JVM_GetMethodParameters;
- JVM_GetMethodTypeAnnotations;
- JVM_GetNanoTimeAdjustment;
- JVM_GetPrimitiveArrayElement;
- JVM_GetProtectionDomain;
- JVM_GetStackAccessControlContext;
- JVM_GetStackTraceDepth;
- JVM_GetStackTraceElement;
- JVM_GetSystemPackage;
- JVM_GetSystemPackages;
- JVM_GetTemporaryDirectory;
- JVM_GetVersionInfo;
- JVM_Halt;
- JVM_HoldsLock;
- JVM_IHashCode;
- JVM_InitAgentProperties;
- JVM_InitProperties;
- JVM_InternString;
- JVM_Interrupt;
- JVM_InvokeMethod;
- JVM_IsArrayClass;
- JVM_IsConstructorIx;
- JVM_IsInterface;
- JVM_IsInterrupted;
- JVM_IsPrimitiveClass;
- JVM_IsSameClassPackage;
- JVM_IsSupportedJNIVersion;
- JVM_IsThreadAlive;
- JVM_IsVMGeneratedMethodIx;
- JVM_LatestUserDefinedLoader;
- JVM_LoadLibrary;
- JVM_MaxObjectInspectionAge;
- JVM_MaxMemory;
- JVM_MonitorNotify;
- JVM_MonitorNotifyAll;
- JVM_MonitorWait;
- JVM_NativePath;
- JVM_NanoTime;
- JVM_NewArray;
- JVM_NewInstanceFromConstructor;
- JVM_NewMultiArray;
- JVM_RaiseSignal;
- JVM_RawMonitorCreate;
- JVM_RawMonitorDestroy;
- JVM_RawMonitorEnter;
- JVM_RawMonitorExit;
- JVM_RegisterSignal;
- JVM_ReleaseUTF;
- JVM_ResumeThread;
- JVM_SetArrayElement;
- JVM_SetClassSigners;
- JVM_SetNativeThreadName;
- JVM_SetPrimitiveArrayElement;
- JVM_SetThreadPriority;
- JVM_Sleep;
- JVM_StartThread;
- JVM_StopThread;
- JVM_SuspendThread;
- JVM_SupportsCX8;
- JVM_TotalMemory;
- JVM_UnloadLibrary;
- JVM_Yield;
JVM_handle_solaris_signal;
# miscellaneous functions
--- a/hotspot/make/solaris/makefiles/vm.make Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/make/solaris/makefiles/vm.make Wed Jul 05 20:52:10 2017 +0200
@@ -241,13 +241,19 @@
vm_version.o: $(filter-out vm_version.o,$(JVM_OBJ_FILES))
-mapfile : $(MAPFILE) $(MAPFILE_DTRACE_OPT) vm.def mapfile_ext
+MAPFILE_SHARE := $(GAMMADIR)/make/share/makefiles/mapfile-vers
+
+MAPFILE_EXT_SRC := $(HS_ALT_MAKE)/share/makefiles/mapfile-ext
+ifneq ("$(wildcard $(MAPFILE_EXT_SRC))","")
+MAPFILE_EXT := $(MAPFILE_EXT_SRC)
+endif
+
+mapfile : $(MAPFILE) $(MAPFILE_SHARE) vm.def $(MAPFILE_EXT)
rm -f $@
cat $(MAPFILE) $(MAPFILE_DTRACE_OPT) \
| $(NAWK) '{ \
if ($$0 ~ "INSERT VTABLE SYMBOLS HERE") { \
- system ("cat mapfile_ext"); \
- system ("cat vm.def"); \
+ system ("cat ${MAPFILE_SHARE} $(MAPFILE_EXT) vm.def"); \
} else { \
print $$0; \
} \
@@ -260,12 +266,6 @@
vm.def: $(Obj_Files)
sh $(GAMMADIR)/make/solaris/makefiles/build_vm_def.sh *.o > $@
-mapfile_ext:
- rm -f $@
- touch $@
- if [ -f $(HS_ALT_MAKE)/solaris/makefiles/mapfile-ext ]; then \
- cat $(HS_ALT_MAKE)/solaris/makefiles/mapfile-ext > $@; \
- fi
ifeq ($(LINK_INTO),AOUT)
LIBJVM.o =
--- a/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/cpu/aarch64/vm/interp_masm_aarch64.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -1608,6 +1608,8 @@
test_method_data_pointer(mdp, profile_continue);
if (MethodData::profile_return_jsr292_only()) {
+ assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
+
// If we don't profile all invoke bytecodes we must make sure
// it's a bytecode we indeed profile. We can't go back to the
// begining of the ProfileData we intend to update to check its
@@ -1620,7 +1622,7 @@
cmp(rscratch1, Bytecodes::_invokehandle);
br(Assembler::EQ, do_profile);
get_method(tmp);
- ldrb(rscratch1, Address(tmp, Method::intrinsic_id_offset_in_bytes()));
+ ldrh(rscratch1, Address(tmp, Method::intrinsic_id_offset_in_bytes()));
cmp(rscratch1, vmIntrinsics::_compiledLambdaForm);
br(Assembler::NE, profile_continue);
--- a/hotspot/src/cpu/aarch64/vm/methodHandles_aarch64.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/cpu/aarch64/vm/methodHandles_aarch64.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -188,9 +188,11 @@
address entry_point = __ pc();
if (VerifyMethodHandles) {
+ assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
+
Label L;
BLOCK_COMMENT("verify_intrinsic_id {");
- __ ldrb(rscratch1, Address(rmethod, Method::intrinsic_id_offset_in_bytes()));
+ __ ldrh(rscratch1, Address(rmethod, Method::intrinsic_id_offset_in_bytes()));
__ cmp(rscratch1, (int) iid);
__ br(Assembler::EQ, L);
if (iid == vmIntrinsics::_linkToVirtual ||
--- a/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/cpu/ppc/vm/interp_masm_ppc_64.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -1817,13 +1817,15 @@
test_method_data_pointer(profile_continue);
if (MethodData::profile_return_jsr292_only()) {
+ assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
+
// If we don't profile all invoke bytecodes we must make sure
// it's a bytecode we indeed profile. We can't go back to the
// begining of the ProfileData we intend to update to check its
// type because we're right after it and we don't known its
// length.
lbz(tmp1, 0, R14_bcp);
- lbz(tmp2, Method::intrinsic_id_offset_in_bytes(), R19_method);
+ lhz(tmp2, Method::intrinsic_id_offset_in_bytes(), R19_method);
cmpwi(CCR0, tmp1, Bytecodes::_invokedynamic);
cmpwi(CCR1, tmp1, Bytecodes::_invokehandle);
cror(CCR0, Assembler::equal, CCR1, Assembler::equal);
--- a/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -224,11 +224,12 @@
address entry_point = __ pc();
if (VerifyMethodHandles) {
+ assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
+
Label L;
BLOCK_COMMENT("verify_intrinsic_id {");
__ load_sized_value(temp1, Method::intrinsic_id_offset_in_bytes(), R19_method,
- sizeof(u1), /*is_signed*/ false);
- // assert(sizeof(u1) == sizeof(Method::_intrinsic_id), "");
+ sizeof(u2), /*is_signed*/ false);
__ cmpwi(CCR1, temp1, (int) iid);
__ beq(CCR1, L);
if (iid == vmIntrinsics::_linkToVirtual ||
--- a/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -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
@@ -2021,6 +2021,8 @@
test_method_data_pointer(profile_continue);
if (MethodData::profile_return_jsr292_only()) {
+ assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
+
// If we don't profile all invoke bytecodes we must make sure
// it's a bytecode we indeed profile. We can't go back to the
// begining of the ProfileData we intend to update to check its
@@ -2031,7 +2033,7 @@
cmp_and_br_short(tmp1, Bytecodes::_invokedynamic, equal, pn, do_profile);
cmp(tmp1, Bytecodes::_invokehandle);
br(equal, false, pn, do_profile);
- delayed()->ldub(Lmethod, Method::intrinsic_id_offset_in_bytes(), tmp1);
+ delayed()->lduh(Lmethod, Method::intrinsic_id_offset_in_bytes(), tmp1);
cmp_and_br_short(tmp1, vmIntrinsics::_compiledLambdaForm, notEqual, pt, profile_continue);
bind(do_profile);
--- a/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/cpu/sparc/vm/methodHandles_sparc.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -229,9 +229,11 @@
address entry_point = __ pc();
if (VerifyMethodHandles) {
+ assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
+
Label L;
BLOCK_COMMENT("verify_intrinsic_id {");
- __ ldub(Address(G5_method, Method::intrinsic_id_offset_in_bytes()), O1_scratch);
+ __ lduh(Address(G5_method, Method::intrinsic_id_offset_in_bytes()), O1_scratch);
__ cmp_and_br_short(O1_scratch, (int) iid, Assembler::equal, Assembler::pt, L);
if (iid == vmIntrinsics::_linkToVirtual ||
iid == vmIntrinsics::_linkToSpecial) {
--- a/hotspot/src/cpu/x86/vm/interp_masm_x86.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/cpu/x86/vm/interp_masm_x86.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -169,6 +169,8 @@
test_method_data_pointer(mdp, profile_continue);
if (MethodData::profile_return_jsr292_only()) {
+ assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
+
// If we don't profile all invoke bytecodes we must make sure
// it's a bytecode we indeed profile. We can't go back to the
// begining of the ProfileData we intend to update to check its
@@ -180,7 +182,7 @@
cmpb(Address(_bcp_register, 0), Bytecodes::_invokehandle);
jcc(Assembler::equal, do_profile);
get_method(tmp);
- cmpb(Address(tmp, Method::intrinsic_id_offset_in_bytes()), vmIntrinsics::_compiledLambdaForm);
+ cmpw(Address(tmp, Method::intrinsic_id_offset_in_bytes()), vmIntrinsics::_compiledLambdaForm);
jcc(Assembler::notEqual, profile_continue);
bind(do_profile);
--- a/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/cpu/x86/vm/methodHandles_x86.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -222,9 +222,11 @@
address entry_point = __ pc();
if (VerifyMethodHandles) {
+ assert(Method::intrinsic_id_size_in_bytes() == 2, "assuming Method::_intrinsic_id is u2");
+
Label L;
BLOCK_COMMENT("verify_intrinsic_id {");
- __ cmpb(Address(rbx_method, Method::intrinsic_id_offset_in_bytes()), (int) iid);
+ __ cmpw(Address(rbx_method, Method::intrinsic_id_offset_in_bytes()), (int) iid);
__ jcc(Assembler::equal, L);
if (iid == vmIntrinsics::_linkToVirtual ||
iid == vmIntrinsics::_linkToSpecial) {
--- a/hotspot/src/share/vm/classfile/classFileParser.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/classfile/classFileParser.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -1989,6 +1989,10 @@
flags = JVM_ACC_STATIC;
} else if ((flags & JVM_ACC_STATIC) == JVM_ACC_STATIC) {
flags &= JVM_ACC_STATIC | JVM_ACC_STRICT;
+ } else {
+ // As of major_version 51, a method named <clinit> without ACC_STATIC is
+ // just another method. So, do a normal method modifer check.
+ verify_legal_method_modifiers(flags, is_interface, name, CHECK_(nullHandle));
}
} else {
verify_legal_method_modifiers(flags, is_interface, name, CHECK_(nullHandle));
--- a/hotspot/src/share/vm/classfile/verificationType.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/classfile/verificationType.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -70,9 +70,12 @@
if (this_class->is_interface() && (!from_field_is_protected ||
from.name() != vmSymbols::java_lang_Object())) {
// If we are not trying to access a protected field or method in
- // java.lang.Object then we treat interfaces as java.lang.Object,
- // including java.lang.Cloneable and java.io.Serializable.
- return true;
+ // java.lang.Object then, for arrays, we only allow assignability
+ // to interfaces java.lang.Cloneable and java.io.Serializable.
+ // Otherwise, we treat interfaces as java.lang.Object.
+ return !from.is_array() ||
+ this_class == SystemDictionary::Cloneable_klass() ||
+ this_class == SystemDictionary::Serializable_klass();
} else if (from.is_object()) {
Klass* from_class = SystemDictionary::resolve_or_fail(
from.name(), Handle(THREAD, klass->class_loader()),
--- a/hotspot/src/share/vm/classfile/verifier.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/classfile/verifier.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -1579,9 +1579,11 @@
return;
}
// Make sure "this" has been initialized if current method is an
- // <init>
+ // <init>. Note that "<init>" methods in interfaces are just
+ // normal methods. Interfaces cannot have ctors.
if (_method->name() == vmSymbols::object_initializer_name() &&
- current_frame.flag_this_uninit()) {
+ current_frame.flag_this_uninit() &&
+ !current_class()->is_interface()) {
verify_error(ErrorContext::bad_code(bci),
"Constructor must call super() or this() "
"before return");
--- a/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/gc/g1/g1CollectedHeap.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -73,13 +73,6 @@
size_t G1CollectedHeap::_humongous_object_threshold_in_words = 0;
-// turn it on so that the contents of the young list (scan-only /
-// to-be-collected) are printed at "strategic" points before / during
-// / after the collection --- this is useful for debugging
-#define YOUNG_LIST_VERBOSE 0
-// CURRENT STATUS
-// This file is under construction. Search for "FIXME".
-
// INVARIANTS/NOTES
//
// All allocation activity covered by the G1CollectedHeap interface is
@@ -4079,29 +4072,12 @@
// the possible verification above.
double sample_start_time_sec = os::elapsedTime();
-#if YOUNG_LIST_VERBOSE
- gclog_or_tty->print_cr("\nBefore recording pause start.\nYoung_list:");
- _young_list->print();
- g1_policy()->print_collection_set(g1_policy()->inc_cset_head(), gclog_or_tty);
-#endif // YOUNG_LIST_VERBOSE
-
g1_policy()->record_collection_pause_start(sample_start_time_sec);
-#if YOUNG_LIST_VERBOSE
- gclog_or_tty->print_cr("\nAfter recording pause start.\nYoung_list:");
- _young_list->print();
-#endif // YOUNG_LIST_VERBOSE
-
if (collector_state()->during_initial_mark_pause()) {
concurrent_mark()->checkpointRootsInitialPre();
}
-#if YOUNG_LIST_VERBOSE
- gclog_or_tty->print_cr("\nBefore choosing collection set.\nYoung_list:");
- _young_list->print();
- g1_policy()->print_collection_set(g1_policy()->inc_cset_head(), gclog_or_tty);
-#endif // YOUNG_LIST_VERBOSE
-
double time_remaining_ms = g1_policy()->finalize_young_cset_part(target_pause_time_ms);
g1_policy()->finalize_old_cset_part(time_remaining_ms);
@@ -4157,11 +4133,6 @@
assert(check_young_list_empty(false /* check_heap */),
"young list should be empty");
-#if YOUNG_LIST_VERBOSE
- gclog_or_tty->print_cr("Before recording survivors.\nYoung List:");
- _young_list->print();
-#endif // YOUNG_LIST_VERBOSE
-
g1_policy()->record_survivor_regions(_young_list->survivor_length(),
_young_list->first_survivor_region(),
_young_list->last_survivor_region());
@@ -4197,12 +4168,6 @@
allocate_dummy_regions();
-#if YOUNG_LIST_VERBOSE
- gclog_or_tty->print_cr("\nEnd of the pause.\nYoung_list:");
- _young_list->print();
- g1_policy()->print_collection_set(g1_policy()->inc_cset_head(), gclog_or_tty);
-#endif // YOUNG_LIST_VERBOSE
-
_allocator->init_mutator_alloc_region();
{
--- a/hotspot/src/share/vm/gc/g1/g1EvacStats.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/gc/g1/g1EvacStats.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -93,7 +93,7 @@
size_t const used_for_waste_calculation = used() > _region_end_waste ? used() - _region_end_waste : 0;
size_t const total_waste_allowed = used_for_waste_calculation * TargetPLABWastePct;
- size_t const cur_plab_sz = (double)total_waste_allowed / G1LastPLABAverageOccupancy;
+ size_t const cur_plab_sz = (size_t)((double)total_waste_allowed / G1LastPLABAverageOccupancy);
// Take historical weighted average
_filter.sample(cur_plab_sz);
// Clip from above and below, and align to object boundary
--- a/hotspot/src/share/vm/gc/shared/gcTrace.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/gc/shared/gcTrace.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -88,8 +88,6 @@
send_reference_stats_event(REF_WEAK, rps.weak_count());
send_reference_stats_event(REF_FINAL, rps.final_count());
send_reference_stats_event(REF_PHANTOM, rps.phantom_count());
- send_reference_stats_event(REF_CLEANER, rps.cleaner_count());
- send_reference_stats_event(REF_JNI, rps.jni_weak_ref_count());
}
#if INCLUDE_SERVICES
--- a/hotspot/src/share/vm/gc/shared/referenceProcessor.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/gc/shared/referenceProcessor.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -243,13 +243,10 @@
process_discovered_reflist(_discoveredPhantomRefs, NULL, false,
is_alive, keep_alive, complete_gc, task_executor);
- }
-
- // Cleaners
- size_t cleaner_count = 0;
- {
- GCTraceTime tt("Cleaners", trace_time, false, gc_timer, gc_id);
- cleaner_count =
+ // Process cleaners, but include them in phantom statistics. We expect
+ // Cleaner references to be temporary, and don't want to deal with
+ // possible incompatibilities arising from making it more visible.
+ phantom_count +=
process_discovered_reflist(_discoveredCleanerRefs, NULL, true,
is_alive, keep_alive, complete_gc, task_executor);
}
@@ -259,17 +256,15 @@
// that is not how the JDK1.2 specification is. See #4126360. Native code can
// thus use JNI weak references to circumvent the phantom references and
// resurrect a "post-mortem" object.
- size_t jni_weak_ref_count = 0;
{
GCTraceTime tt("JNI Weak Reference", trace_time, false, gc_timer, gc_id);
if (task_executor != NULL) {
task_executor->set_single_threaded_mode();
}
- jni_weak_ref_count =
- process_phaseJNI(is_alive, keep_alive, complete_gc);
+ process_phaseJNI(is_alive, keep_alive, complete_gc);
}
- return ReferenceProcessorStats(soft_count, weak_count, final_count, phantom_count, cleaner_count, jni_weak_ref_count);
+ return ReferenceProcessorStats(soft_count, weak_count, final_count, phantom_count);
}
#ifndef PRODUCT
@@ -296,17 +291,17 @@
}
#endif
-size_t ReferenceProcessor::process_phaseJNI(BoolObjectClosure* is_alive,
- OopClosure* keep_alive,
- VoidClosure* complete_gc) {
- DEBUG_ONLY(size_t check_count = count_jni_refs();)
- size_t count = JNIHandles::weak_oops_do(is_alive, keep_alive);
- assert(count == check_count, "Counts didn't match");
+void ReferenceProcessor::process_phaseJNI(BoolObjectClosure* is_alive,
+ OopClosure* keep_alive,
+ VoidClosure* complete_gc) {
+#ifndef PRODUCT
+ if (PrintGCDetails && PrintReferenceGC) {
+ unsigned int count = count_jni_refs();
+ gclog_or_tty->print(", %u refs", count);
+ }
+#endif
+ JNIHandles::weak_oops_do(is_alive, keep_alive);
complete_gc->do_void();
- if (PrintGCDetails && PrintReferenceGC) {
- gclog_or_tty->print(", " SIZE_FORMAT " refs", count);
- }
- return count;
}
@@ -946,10 +941,9 @@
list = &_discoveredCleanerRefs[id];
break;
case REF_NONE:
- case REF_JNI:
// we should not reach here if we are an InstanceRefKlass
default:
- guarantee(false, err_msg("rt should not be %d", rt));
+ ShouldNotReachHere();
}
if (TraceReferenceGC && PrintGCDetails) {
gclog_or_tty->print_cr("Thread %d gets list " INTPTR_FORMAT, id, p2i(list));
--- a/hotspot/src/share/vm/gc/shared/referenceProcessor.hpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/gc/shared/referenceProcessor.hpp Wed Jul 05 20:52:10 2017 +0200
@@ -247,7 +247,7 @@
DiscoveredList* _discoveredCleanerRefs;
public:
- static int number_of_subclasses_of_ref() { return REF_LISTS_COUNT; }
+ static int number_of_subclasses_of_ref() { return (REF_CLEANER - REF_OTHER); }
uint num_q() { return _num_q; }
uint max_num_q() { return _max_num_q; }
@@ -271,9 +271,9 @@
VoidClosure* complete_gc,
AbstractRefProcTaskExecutor* task_executor);
- size_t process_phaseJNI(BoolObjectClosure* is_alive,
- OopClosure* keep_alive,
- VoidClosure* complete_gc);
+ void process_phaseJNI(BoolObjectClosure* is_alive,
+ OopClosure* keep_alive,
+ VoidClosure* complete_gc);
// Work methods used by the method process_discovered_reflist
// Phase1: keep alive all those referents that are otherwise
--- a/hotspot/src/share/vm/gc/shared/referenceProcessorStats.hpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/gc/shared/referenceProcessorStats.hpp Wed Jul 05 20:52:10 2017 +0200
@@ -36,30 +36,22 @@
size_t _weak_count;
size_t _final_count;
size_t _phantom_count;
- size_t _cleaner_count;
- size_t _jni_weak_ref_count;
public:
ReferenceProcessorStats() :
_soft_count(0),
_weak_count(0),
_final_count(0),
- _phantom_count(0),
- _cleaner_count(0),
- _jni_weak_ref_count(0) {}
+ _phantom_count(0) {}
ReferenceProcessorStats(size_t soft_count,
size_t weak_count,
size_t final_count,
- size_t phantom_count,
- size_t cleaner_count,
- size_t jni_weak_ref_count) :
+ size_t phantom_count) :
_soft_count(soft_count),
_weak_count(weak_count),
_final_count(final_count),
- _phantom_count(phantom_count),
- _cleaner_count(cleaner_count),
- _jni_weak_ref_count(jni_weak_ref_count)
+ _phantom_count(phantom_count)
{}
size_t soft_count() const {
@@ -77,13 +69,5 @@
size_t phantom_count() const {
return _phantom_count;
}
-
- size_t cleaner_count() const {
- return _cleaner_count;
- }
-
- size_t jni_weak_ref_count() const {
- return _jni_weak_ref_count;
- }
};
#endif
--- a/hotspot/src/share/vm/memory/referenceType.hpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/memory/referenceType.hpp Wed Jul 05 20:52:10 2017 +0200
@@ -32,15 +32,11 @@
enum ReferenceType {
REF_NONE, // Regular class
REF_OTHER, // Subclass of java/lang/ref/Reference, but not subclass of one of the classes below
- ///////////////// Only the types below have their own discovered lists
REF_SOFT, // Subclass of java/lang/ref/SoftReference
REF_WEAK, // Subclass of java/lang/ref/WeakReference
REF_FINAL, // Subclass of java/lang/ref/FinalReference
REF_PHANTOM, // Subclass of java/lang/ref/PhantomReference
- REF_CLEANER, // Subclass of sun/misc/Cleaner
- ///////////////// Only the types in the above range have their own discovered lists
- REF_JNI, // JNI weak refs
- REF_LISTS_COUNT = REF_CLEANER - REF_OTHER // Number of discovered lists
+ REF_CLEANER // Subclass of sun/misc/Cleaner
};
#endif // SHARE_VM_MEMORY_REFERENCETYPE_HPP
--- a/hotspot/src/share/vm/oops/method.hpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/oops/method.hpp Wed Jul 05 20:52:10 2017 +0200
@@ -72,7 +72,7 @@
int _result_index; // C++ interpreter needs for converting results to/from stack
#endif
u2 _method_size; // size of this object
- u1 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none)
+ u2 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none)
// Flags
enum Flags {
@@ -653,7 +653,7 @@
// for code generation
static int method_data_offset_in_bytes() { return offset_of(Method, _method_data); }
static int intrinsic_id_offset_in_bytes() { return offset_of(Method, _intrinsic_id); }
- static int intrinsic_id_size_in_bytes() { return sizeof(u1); }
+ static int intrinsic_id_size_in_bytes() { return sizeof(u2); }
// Static methods that are used to implement member methods where an exposed this pointer
// is needed due to possible GCs
@@ -777,7 +777,7 @@
// Support for inlining of intrinsic methods
vmIntrinsics::ID intrinsic_id() const { return (vmIntrinsics::ID) _intrinsic_id; }
- void set_intrinsic_id(vmIntrinsics::ID id) { _intrinsic_id = (u1) id; }
+ void set_intrinsic_id(vmIntrinsics::ID id) { _intrinsic_id = (u2) id; }
// Helper routines for intrinsic_id() and vmIntrinsics::method().
void init_intrinsic_id(); // updates from _none if a match
--- a/hotspot/src/share/vm/prims/jvmtiExport.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/prims/jvmtiExport.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -2181,8 +2181,8 @@
JvmtiVMObjectAllocEventCollector::oops_do_for_all_threads(f);
}
-size_t JvmtiExport::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) {
- return JvmtiTagMap::weak_oops_do(is_alive, f);
+void JvmtiExport::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) {
+ JvmtiTagMap::weak_oops_do(is_alive, f);
}
void JvmtiExport::gc_epilogue() {
--- a/hotspot/src/share/vm/prims/jvmtiExport.hpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/prims/jvmtiExport.hpp Wed Jul 05 20:52:10 2017 +0200
@@ -366,7 +366,7 @@
static void clear_detected_exception (JavaThread* thread) NOT_JVMTI_RETURN;
static void oops_do(OopClosure* f) NOT_JVMTI_RETURN;
- static size_t weak_oops_do(BoolObjectClosure* b, OopClosure* f) NOT_JVMTI_RETURN_(0);
+ static void weak_oops_do(BoolObjectClosure* b, OopClosure* f) NOT_JVMTI_RETURN;
static void gc_epilogue() NOT_JVMTI_RETURN;
static void transition_pending_onload_raw_monitors() NOT_JVMTI_RETURN;
--- a/hotspot/src/share/vm/prims/jvmtiTagMap.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/prims/jvmtiTagMap.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -3284,35 +3284,32 @@
}
-size_t JvmtiTagMap::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) {
+void JvmtiTagMap::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) {
// No locks during VM bring-up (0 threads) and no safepoints after main
// thread creation and before VMThread creation (1 thread); initial GC
// verification can happen in that window which gets to here.
assert(Threads::number_of_threads() <= 1 ||
SafepointSynchronize::is_at_safepoint(),
"must be executed at a safepoint");
- size_t count = 0;
if (JvmtiEnv::environments_might_exist()) {
JvmtiEnvIterator it;
for (JvmtiEnvBase* env = it.first(); env != NULL; env = it.next(env)) {
JvmtiTagMap* tag_map = env->tag_map();
if (tag_map != NULL && !tag_map->is_empty()) {
- count += tag_map->do_weak_oops(is_alive, f);
+ tag_map->do_weak_oops(is_alive, f);
}
}
}
- return count;
}
-size_t JvmtiTagMap::do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f) {
+void JvmtiTagMap::do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f) {
// does this environment have the OBJECT_FREE event enabled
bool post_object_free = env()->is_enabled(JVMTI_EVENT_OBJECT_FREE);
// counters used for trace message
- size_t freed = 0;
- size_t moved = 0;
- size_t stayed = 0;
+ int freed = 0;
+ int moved = 0;
JvmtiTagHashmap* hashmap = this->hashmap();
@@ -3321,7 +3318,7 @@
// if the hashmap is empty then we can skip it
if (hashmap->_entry_count == 0) {
- return 0;
+ return;
}
// now iterate through each entry in the table
@@ -3383,7 +3380,6 @@
} else {
// object didn't move
prev = entry;
- stayed++;
}
}
@@ -3402,12 +3398,10 @@
// stats
if (TraceJVMTIObjectTagging) {
- size_t post_total = hashmap->_entry_count;
- size_t pre_total = post_total + freed;
-
- tty->print_cr("(" SIZE_FORMAT "->" SIZE_FORMAT ", " SIZE_FORMAT " freed, " SIZE_FORMAT " stayed, " SIZE_FORMAT " moved)",
- pre_total, post_total, freed, stayed, moved);
+ int post_total = hashmap->_entry_count;
+ int pre_total = post_total + freed;
+
+ tty->print_cr("(%d->%d, %d freed, %d total moves)",
+ pre_total, post_total, freed, moved);
}
-
- return (freed + stayed + moved);
}
--- a/hotspot/src/share/vm/prims/jvmtiTagMap.hpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/prims/jvmtiTagMap.hpp Wed Jul 05 20:52:10 2017 +0200
@@ -60,7 +60,7 @@
inline Mutex* lock() { return &_lock; }
inline JvmtiEnv* env() const { return _env; }
- size_t do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f);
+ void do_weak_oops(BoolObjectClosure* is_alive, OopClosure* f);
// iterate over all entries in this tag map
void entry_iterate(JvmtiTagHashmapEntryClosure* closure);
@@ -122,8 +122,8 @@
jint* count_ptr, jobject** object_result_ptr,
jlong** tag_result_ptr);
- static size_t weak_oops_do(BoolObjectClosure* is_alive,
- OopClosure* f) NOT_JVMTI_RETURN_(0);
+ static void weak_oops_do(
+ BoolObjectClosure* is_alive, OopClosure* f) NOT_JVMTI_RETURN;
};
#endif // SHARE_VM_PRIMS_JVMTITAGMAP_HPP
--- a/hotspot/src/share/vm/runtime/arguments.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/runtime/arguments.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -118,7 +118,7 @@
// part of the option string.
static bool match_option(const JavaVMOption *option, const char* name,
const char** tail) {
- int len = (int)strlen(name);
+ size_t len = strlen(name);
if (strncmp(option->optionString, name, len) == 0) {
*tail = option->optionString + len;
return true;
@@ -219,11 +219,9 @@
void Arguments::init_version_specific_system_properties() {
enum { bufsz = 16 };
char buffer[bufsz];
- const char* spec_vendor = "Sun Microsystems Inc.";
- uint32_t spec_version = 0;
-
- spec_vendor = "Oracle Corporation";
- spec_version = JDK_Version::current().major_version();
+ const char* spec_vendor = "Oracle Corporation";
+ uint32_t spec_version = JDK_Version::current().major_version();
+
jio_snprintf(buffer, bufsz, "1." UINT32_FORMAT, spec_version);
PropertyList_add(&_system_properties,
@@ -234,75 +232,290 @@
new SystemProperty("java.vm.vendor", VM_Version::vm_vendor(), false));
}
-/**
- * Provide a slightly more user-friendly way of eliminating -XX flags.
- * When a flag is eliminated, it can be added to this list in order to
- * continue accepting this flag on the command-line, while issuing a warning
- * and ignoring the value. Once the JDK version reaches the 'accept_until'
- * limit, we flatly refuse to admit the existence of the flag. This allows
- * a flag to die correctly over JDK releases using HSX.
- * But now that HSX is no longer supported only options with a future
- * accept_until value need to be listed, and the list can be pruned
- * on each major release.
+/*
+ * -XX argument processing:
+ *
+ * -XX arguments are defined in several places, such as:
+ * globals.hpp, globals_<cpu>.hpp, globals_<os>.hpp, <compiler>_globals.hpp, or <gc>_globals.hpp.
+ * -XX arguments are parsed in parse_argument().
+ * -XX argument bounds checking is done in check_vm_args_consistency().
+ *
+ * Over time -XX arguments may change. There are mechanisms to handle common cases:
+ *
+ * ALIASED: An option that is simply another name for another option. This is often
+ * part of the process of deprecating a flag, but not all aliases need
+ * to be deprecated.
+ *
+ * Create an alias for an option by adding the old and new option names to the
+ * "aliased_jvm_flags" table. Delete the old variable from globals.hpp (etc).
+ *
+ * DEPRECATED: An option that is supported, but a warning is printed to let the user know that
+ * support may be removed in the future. Both regular and aliased options may be
+ * deprecated.
+ *
+ * Add a deprecation warning for an option (or alias) by adding an entry in the
+ * "special_jvm_flags" table and setting the "deprecated_in" field.
+ * Often an option "deprecated" in one major release will
+ * be made "obsolete" in the next. In this case the entry should also have it's
+ * "obsolete_in" field set.
+ *
+ * OBSOLETE: An option that has been removed (and deleted from globals.hpp), but is still accepted
+ * on the command line. A warning is printed to let the user know that option might not
+ * be accepted in the future.
+ *
+ * Add an obsolete warning for an option by adding an entry in the "special_jvm_flags"
+ * table and setting the "obsolete_in" field.
+ *
+ * EXPIRED: A deprecated or obsolete option that has an "accept_until" version less than or equal
+ * to the current JDK version. The system will flatly refuse to admit the existence of
+ * the flag. This allows a flag to die automatically over JDK releases.
+ *
+ * Note that manual cleanup of expired options should be done at major JDK version upgrades:
+ * - Newly expired options should be removed from the special_jvm_flags and aliased_jvm_flags tables.
+ * - Newly obsolete or expired deprecated options should have their global variable
+ * definitions removed (from globals.hpp, etc) and related implementations removed.
+ *
+ * Recommended approach for removing options:
+ *
+ * To remove options commonly used by customers (e.g. product, commercial -XX options), use
+ * the 3-step model adding major release numbers to the deprecate, obsolete and expire columns.
+ *
+ * To remove internal options (e.g. diagnostic, experimental, develop options), use
+ * a 2-step model adding major release numbers to the obsolete and expire columns.
+ *
+ * To change the name of an option, use the alias table as well as a 2-step
+ * model adding major release numbers to the deprecate and expire columns.
+ * Think twice about aliasing commonly used customer options.
+ *
+ * There are times when it is appropriate to leave a future release number as undefined.
+ *
+ * Tests: Aliases should be tested in VMAliasOptions.java.
+ * Deprecated options should be tested in VMDeprecatedOptions.java.
*/
+
+// Obsolete or deprecated -XX flag.
typedef struct {
const char* name;
- JDK_Version obsoleted_in; // when the flag went away
- JDK_Version accept_until; // which version to start denying the existence
-} ObsoleteFlag;
-
-static ObsoleteFlag obsolete_jvm_flags[] = {
- { "UseOldInlining", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "SafepointPollOffset", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "UseBoundThreads", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "DefaultThreadPriority", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "NoYieldsInMicrolock", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "BackEdgeThreshold", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "UseNewReflection", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "ReflectionWrapResolutionErrors",JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "VerifyReflectionBytecodes", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "AutoShutdownNMT", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "NmethodSweepFraction", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "NmethodSweepCheckInterval", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "CodeCacheMinimumFreeSpace", JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ JDK_Version deprecated_in; // When the deprecation warning started (or "undefined").
+ JDK_Version obsolete_in; // When the obsolete warning started (or "undefined").
+ JDK_Version expired_in; // When the option expires (or "undefined").
+} SpecialFlag;
+
+// The special_jvm_flags table declares options that are being deprecated and/or obsoleted. The
+// "deprecated_in" or "obsolete_in" fields may be set to "undefined", but not both.
+// When the JDK version reaches 'deprecated_in' limit, the JVM will process this flag on
+// the command-line as usual, but will issue a warning.
+// When the JDK version reaches 'obsolete_in' limit, the JVM will continue accepting this flag on
+// the command-line, while issuing a warning and ignoring the flag value.
+// Once the JDK version reaches 'expired_in' limit, the JVM will flatly refuse to admit the
+// existence of the flag.
+//
+// MANUAL CLEANUP ON JDK VERSION UPDATES:
+// This table ensures that the handling of options will update automatically when the JDK
+// version is incremented, but the source code needs to be cleanup up manually:
+// - As "deprecated" options age into "obsolete" or "expired" options, the associated "globals"
+// variable should be removed, as well as users of the variable.
+// - As "deprecated" options age into "obsolete" options, move the entry into the
+// "Obsolete Flags" section of the table.
+// - All expired options should be removed from the table.
+static SpecialFlag const special_jvm_flags[] = {
+ // -------------- Deprecated Flags --------------
+ // --- Non-alias flags - sorted by obsolete_in then expired_in:
+ { "MaxGCMinorPauseMillis", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() },
+ { "UseParNewGC", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) },
+
+ // --- Deprecated alias flags (see also aliased_jvm_flags) - sorted by obsolete_in then expired_in:
+ { "DefaultMaxRAMFraction", JDK_Version::jdk(8), JDK_Version::undefined(), JDK_Version::undefined() },
+ { "CreateMinidumpOnCrash", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
+ { "CMSMarkStackSizeMax", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) },
+ { "CMSMarkStackSize", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) },
+ { "G1MarkStackSize", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) },
+ { "ParallelMarkingThreads", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) },
+ { "ParallelCMSThreads", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(10) },
+
+ // -------------- Obsolete Flags - sorted by expired_in --------------
+ { "UseOldInlining", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "SafepointPollOffset", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "UseBoundThreads", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "DefaultThreadPriority", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "NoYieldsInMicrolock", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "BackEdgeThreshold", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "UseNewReflection", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "ReflectionWrapResolutionErrors",JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "VerifyReflectionBytecodes", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "AutoShutdownNMT", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "NmethodSweepFraction", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "NmethodSweepCheckInterval", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "CodeCacheMinimumFreeSpace", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
#ifndef ZERO
- { "UseFastAccessorMethods", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "UseFastEmptyMethods", JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "UseFastAccessorMethods", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "UseFastEmptyMethods", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
#endif // ZERO
- { "UseCompilerSafepoints", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "AdaptiveSizePausePolicy", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "ParallelGCRetainPLAB", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "ThreadSafetyMargin", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "LazyBootClassLoader", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "StarvationMonitorInterval", JDK_Version::jdk(9), JDK_Version::jdk(10) },
- { "PreInflateSpin", JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "UseCompilerSafepoints", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "AdaptiveSizePausePolicy", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "ParallelGCRetainPLAB", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "ThreadSafetyMargin", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "LazyBootClassLoader", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "StarvationMonitorInterval", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+ { "PreInflateSpin", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(10) },
+
+#ifdef TEST_VERIFY_SPECIAL_JVM_FLAGS
+ { "dep > obs", JDK_Version::jdk(9), JDK_Version::jdk(8), JDK_Version::undefined() },
+ { "dep > exp ", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::jdk(8) },
+ { "obs > exp ", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::jdk(8) },
+ { "not deprecated or obsolete", JDK_Version::undefined(), JDK_Version::undefined(), JDK_Version::jdk(9) },
+ { "dup option", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
+ { "dup option", JDK_Version::jdk(9), JDK_Version::undefined(), JDK_Version::undefined() },
+ { "BytecodeVerificationRemote", JDK_Version::undefined(), JDK_Version::jdk(9), JDK_Version::undefined() },
+#endif
+
{ NULL, JDK_Version(0), JDK_Version(0) }
};
-// Returns true if the flag is obsolete and fits into the range specified
-// for being ignored. In the case that the flag is ignored, the 'version'
-// value is filled in with the version number when the flag became
-// obsolete so that that value can be displayed to the user.
-bool Arguments::is_newly_obsolete(const char *s, JDK_Version* version) {
- int i = 0;
- assert(version != NULL, "Must provide a version buffer");
- while (obsolete_jvm_flags[i].name != NULL) {
- const ObsoleteFlag& flag_status = obsolete_jvm_flags[i];
- // <flag>=xxx form
- // [-|+]<flag> form
- size_t len = strlen(flag_status.name);
- if ((strncmp(flag_status.name, s, len) == 0) &&
- (strlen(s) == len)){
- if (JDK_Version::current().compare(flag_status.accept_until) == -1) {
- *version = flag_status.obsoleted_in;
- return true;
- }
+// Flags that are aliases for other flags.
+typedef struct {
+ const char* alias_name;
+ const char* real_name;
+} AliasedFlag;
+
+static AliasedFlag const aliased_jvm_flags[] = {
+ { "DefaultMaxRAMFraction", "MaxRAMFraction" },
+ { "CMSMarkStackSizeMax", "MarkStackSizeMax" },
+ { "CMSMarkStackSize", "MarkStackSize" },
+ { "G1MarkStackSize", "MarkStackSize" },
+ { "ParallelMarkingThreads", "ConcGCThreads" },
+ { "ParallelCMSThreads", "ConcGCThreads" },
+ { "CreateMinidumpOnCrash", "CreateCoredumpOnCrash" },
+ { NULL, NULL}
+};
+
+// Return true if "v" is less than "other", where "other" may be "undefined".
+static bool version_less_than(JDK_Version v, JDK_Version other) {
+ assert(!v.is_undefined(), "must be defined");
+ if (!other.is_undefined() && v.compare(other) >= 0) {
+ return false;
+ } else {
+ return true;
+ }
+}
+
+static bool lookup_special_flag(const char *flag_name, SpecialFlag& flag) {
+ for (size_t i = 0; special_jvm_flags[i].name != NULL; i++) {
+ if ((strcmp(special_jvm_flags[i].name, flag_name) == 0)) {
+ flag = special_jvm_flags[i];
+ return true;
}
- i++;
}
return false;
}
+bool Arguments::is_obsolete_flag(const char *flag_name, JDK_Version* version) {
+ assert(version != NULL, "Must provide a version buffer");
+ SpecialFlag flag;
+ if (lookup_special_flag(flag_name, flag)) {
+ if (!flag.obsolete_in.is_undefined()) {
+ if (version_less_than(JDK_Version::current(), flag.expired_in)) {
+ *version = flag.obsolete_in;
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
+int Arguments::is_deprecated_flag(const char *flag_name, JDK_Version* version) {
+ assert(version != NULL, "Must provide a version buffer");
+ SpecialFlag flag;
+ if (lookup_special_flag(flag_name, flag)) {
+ if (!flag.deprecated_in.is_undefined()) {
+ if (version_less_than(JDK_Version::current(), flag.obsolete_in) &&
+ version_less_than(JDK_Version::current(), flag.expired_in)) {
+ *version = flag.deprecated_in;
+ return 1;
+ } else {
+ return -1;
+ }
+ }
+ }
+ return 0;
+}
+
+const char* Arguments::real_flag_name(const char *flag_name) {
+ for (size_t i = 0; aliased_jvm_flags[i].alias_name != NULL; i++) {
+ const AliasedFlag& flag_status = aliased_jvm_flags[i];
+ if (strcmp(flag_status.alias_name, flag_name) == 0) {
+ return flag_status.real_name;
+ }
+ }
+ return flag_name;
+}
+
+#ifndef PRODUCT
+static bool lookup_special_flag(const char *flag_name, size_t skip_index) {
+ for (size_t i = 0; special_jvm_flags[i].name != NULL; i++) {
+ if ((i != skip_index) && (strcmp(special_jvm_flags[i].name, flag_name) == 0)) {
+ return true;
+ }
+ }
+ return false;
+}
+
+static bool verify_special_jvm_flags() {
+ bool success = true;
+ for (size_t i = 0; special_jvm_flags[i].name != NULL; i++) {
+ const SpecialFlag& flag = special_jvm_flags[i];
+ if (lookup_special_flag(flag.name, i)) {
+ warning("Duplicate special flag declaration \"%s\"", flag.name);
+ success = false;
+ }
+ if (flag.deprecated_in.is_undefined() &&
+ flag.obsolete_in.is_undefined()) {
+ warning("Special flag entry \"%s\" must declare version deprecated and/or obsoleted in.", flag.name);
+ success = false;
+ }
+
+ if (!flag.deprecated_in.is_undefined()) {
+ if (!version_less_than(flag.deprecated_in, flag.obsolete_in)) {
+ warning("Special flag entry \"%s\" must be deprecated before obsoleted.", flag.name);
+ success = false;
+ }
+
+ if (!version_less_than(flag.deprecated_in, flag.expired_in)) {
+ warning("Special flag entry \"%s\" must be deprecated before expired.", flag.name);
+ success = false;
+ }
+ }
+
+ if (!flag.obsolete_in.is_undefined()) {
+ if (!version_less_than(flag.obsolete_in, flag.expired_in)) {
+ warning("Special flag entry \"%s\" must be obsoleted before expired.", flag.name);
+ success = false;
+ }
+
+ // if flag has become obsolete it should not have a "globals" flag defined anymore.
+ if (!version_less_than(JDK_Version::current(), flag.obsolete_in)) {
+ if (Flag::find_flag(flag.name) != NULL) {
+ warning("Global variable for obsolete special flag entry \"%s\" should be removed", flag.name);
+ success = false;
+ }
+ }
+ }
+
+ if (!flag.expired_in.is_undefined()) {
+ // if flag has become expired it should not have a "globals" flag defined anymore.
+ if (!version_less_than(JDK_Version::current(), flag.expired_in)) {
+ if (Flag::find_flag(flag.name) != NULL) {
+ warning("Global variable for expired flag entry \"%s\" should be removed", flag.name);
+ success = false;
+ }
+ }
+ }
+
+ }
+ return success;
+}
+#endif
+
// Constructs the system class path (aka boot class path) from the following
// components, in order:
//
@@ -571,7 +784,7 @@
}
}
-static bool set_bool_flag(char* name, bool value, Flag::Flags origin) {
+static bool set_bool_flag(const char* name, bool value, Flag::Flags origin) {
if (CommandLineFlags::boolAtPut(name, &value, origin) == Flag::SUCCESS) {
return true;
} else {
@@ -579,7 +792,7 @@
}
}
-static bool set_fp_numeric_flag(char* name, char* value, Flag::Flags origin) {
+static bool set_fp_numeric_flag(const char* name, char* value, Flag::Flags origin) {
double v;
if (sscanf(value, "%lf", &v) != 1) {
return false;
@@ -591,7 +804,7 @@
return false;
}
-static bool set_numeric_flag(char* name, char* value, Flag::Flags origin) {
+static bool set_numeric_flag(const char* name, char* value, Flag::Flags origin) {
julong v;
int int_v;
intx intx_v;
@@ -640,14 +853,14 @@
return false;
}
-static bool set_string_flag(char* name, const char* value, Flag::Flags origin) {
+static bool set_string_flag(const char* name, const char* value, Flag::Flags origin) {
if (CommandLineFlags::ccstrAtPut(name, &value, origin) != Flag::SUCCESS) return false;
// Contract: CommandLineFlags always returns a pointer that needs freeing.
FREE_C_HEAP_ARRAY(char, value);
return true;
}
-static bool append_to_string_flag(char* name, const char* new_value, Flag::Flags origin) {
+static bool append_to_string_flag(const char* name, const char* new_value, Flag::Flags origin) {
const char* old_value = "";
if (CommandLineFlags::ccstrAt(name, &old_value) != Flag::SUCCESS) return false;
size_t old_len = old_value != NULL ? strlen(old_value) : 0;
@@ -675,6 +888,33 @@
return true;
}
+const char* Arguments::handle_aliases_and_deprecation(const char* arg, bool warn) {
+ const char* real_name = real_flag_name(arg);
+ JDK_Version since = JDK_Version();
+ switch (is_deprecated_flag(arg, &since)) {
+ case -1:
+ return NULL; // obsolete or expired, don't process normally
+ case 0:
+ return real_name;
+ case 1: {
+ if (warn) {
+ char version[256];
+ since.to_string(version, sizeof(version));
+ if (real_name != arg) {
+ warning("Option %s was deprecated in version %s and will likely be removed in a future release. Use option %s instead.",
+ arg, version, real_name);
+ } else {
+ warning("Option %s was deprecated in version %s and will likely be removed in a future release.",
+ arg, version);
+ }
+ }
+ return real_name;
+ }
+ }
+ ShouldNotReachHere();
+ return NULL;
+}
+
bool Arguments::parse_argument(const char* arg, Flag::Flags origin) {
// range of acceptable characters spelled out for portability reasons
@@ -682,27 +922,46 @@
#define BUFLEN 255
char name[BUFLEN+1];
char dummy;
+ const char* real_name;
+ bool warn_if_deprecated = true;
if (sscanf(arg, "-%" XSTR(BUFLEN) NAME_RANGE "%c", name, &dummy) == 1) {
- return set_bool_flag(name, false, origin);
+ real_name = handle_aliases_and_deprecation(name, warn_if_deprecated);
+ if (real_name == NULL) {
+ return false;
+ }
+ return set_bool_flag(real_name, false, origin);
}
if (sscanf(arg, "+%" XSTR(BUFLEN) NAME_RANGE "%c", name, &dummy) == 1) {
- return set_bool_flag(name, true, origin);
+ real_name = handle_aliases_and_deprecation(name, warn_if_deprecated);
+ if (real_name == NULL) {
+ return false;
+ }
+ return set_bool_flag(real_name, true, origin);
}
char punct;
if (sscanf(arg, "%" XSTR(BUFLEN) NAME_RANGE "%c", name, &punct) == 2 && punct == '=') {
const char* value = strchr(arg, '=') + 1;
- Flag* flag = Flag::find_flag(name, strlen(name));
+ Flag* flag;
+
+ // this scanf pattern matches both strings (handled here) and numbers (handled later))
+ real_name = handle_aliases_and_deprecation(name, warn_if_deprecated);
+ if (real_name == NULL) {
+ return false;
+ }
+ flag = Flag::find_flag(real_name);
if (flag != NULL && flag->is_ccstr()) {
if (flag->ccstr_accumulates()) {
- return append_to_string_flag(name, value, origin);
+ return append_to_string_flag(real_name, value, origin);
} else {
if (value[0] == '\0') {
value = NULL;
}
- return set_string_flag(name, value, origin);
+ return set_string_flag(real_name, value, origin);
}
+ } else {
+ warn_if_deprecated = false; // if arg is deprecated, we've already done warning...
}
}
@@ -712,7 +971,11 @@
if (value[0] == '\0') {
value = NULL;
}
- return set_string_flag(name, value, origin);
+ real_name = handle_aliases_and_deprecation(name, warn_if_deprecated);
+ if (real_name == NULL) {
+ return false;
+ }
+ return set_string_flag(real_name, value, origin);
}
#define SIGNED_FP_NUMBER_RANGE "[-0123456789.]"
@@ -723,13 +986,21 @@
if (sscanf(arg, "%" XSTR(BUFLEN) NAME_RANGE "=" "%" XSTR(BUFLEN) SIGNED_NUMBER_RANGE "." "%" XSTR(BUFLEN) NUMBER_RANGE "%c", name, value, value2, &dummy) == 3) {
// Looks like a floating-point number -- try again with more lenient format string
if (sscanf(arg, "%" XSTR(BUFLEN) NAME_RANGE "=" "%" XSTR(BUFLEN) SIGNED_FP_NUMBER_RANGE "%c", name, value, &dummy) == 2) {
- return set_fp_numeric_flag(name, value, origin);
+ real_name = handle_aliases_and_deprecation(name, warn_if_deprecated);
+ if (real_name == NULL) {
+ return false;
+ }
+ return set_fp_numeric_flag(real_name, value, origin);
}
}
#define VALUE_RANGE "[-kmgtxKMGTX0123456789abcdefABCDEF]"
if (sscanf(arg, "%" XSTR(BUFLEN) NAME_RANGE "=" "%" XSTR(BUFLEN) VALUE_RANGE "%c", name, value, &dummy) == 2) {
- return set_numeric_flag(name, value, origin);
+ real_name = handle_aliases_and_deprecation(name, warn_if_deprecated);
+ if (real_name == NULL) {
+ return false;
+ }
+ return set_numeric_flag(real_name, value, origin);
}
return false;
@@ -837,8 +1108,8 @@
}
bool Arguments::process_argument(const char* arg,
- jboolean ignore_unrecognized, Flag::Flags origin) {
-
+ jboolean ignore_unrecognized,
+ Flag::Flags origin) {
JDK_Version since = JDK_Version();
if (parse_argument(arg, origin) || ignore_unrecognized) {
@@ -864,10 +1135,10 @@
strncpy(stripped_argname, argname, arg_len);
stripped_argname[arg_len] = '\0'; // strncpy may not null terminate.
- if (is_newly_obsolete(stripped_argname, &since)) {
+ if (is_obsolete_flag(stripped_argname, &since)) {
char version[256];
since.to_string(version, sizeof(version));
- warning("ignoring option %s; support was removed in %s", stripped_argname, version);
+ warning("Ignoring option %s; support was removed in %s", stripped_argname, version);
return true;
}
}
@@ -1235,7 +1506,7 @@
static void disable_adaptive_size_policy(const char* collector_name) {
if (UseAdaptiveSizePolicy) {
if (FLAG_IS_CMDLINE(UseAdaptiveSizePolicy)) {
- warning("disabling UseAdaptiveSizePolicy; it is incompatible with %s.",
+ warning("Disabling UseAdaptiveSizePolicy; it is incompatible with %s.",
collector_name);
}
FLAG_SET_DEFAULT(UseAdaptiveSizePolicy, false);
@@ -1707,7 +1978,6 @@
} else if (UseG1GC) {
set_g1_gc_flags();
}
- check_deprecated_gc_flags();
if (AssumeMP && !UseSerialGC) {
if (FLAG_IS_DEFAULT(ParallelGCThreads) && ParallelGCThreads == 1) {
warning("If the number of processors is expected to increase from one, then"
@@ -1737,11 +2007,6 @@
static const size_t DefaultHeapBaseMinAddress = HeapBaseMinAddress;
void Arguments::set_heap_size() {
- if (!FLAG_IS_DEFAULT(DefaultMaxRAMFraction)) {
- // Deprecated flag
- FLAG_SET_CMDLINE(uintx, MaxRAMFraction, DefaultMaxRAMFraction);
- }
-
const julong phys_mem =
FLAG_IS_DEFAULT(MaxRAM) ? MIN2(os::physical_memory(), (julong)MaxRAM)
: (julong)MaxRAM;
@@ -1844,6 +2109,122 @@
}
}
+// This option inspects the machine and attempts to set various
+// parameters to be optimal for long-running, memory allocation
+// intensive jobs. It is intended for machines with large
+// amounts of cpu and memory.
+jint Arguments::set_aggressive_heap_flags() {
+ // initHeapSize is needed since _initial_heap_size is 4 bytes on a 32 bit
+ // VM, but we may not be able to represent the total physical memory
+ // available (like having 8gb of memory on a box but using a 32bit VM).
+ // Thus, we need to make sure we're using a julong for intermediate
+ // calculations.
+ julong initHeapSize;
+ julong total_memory = os::physical_memory();
+
+ if (total_memory < (julong) 256 * M) {
+ jio_fprintf(defaultStream::error_stream(),
+ "You need at least 256mb of memory to use -XX:+AggressiveHeap\n");
+ vm_exit(1);
+ }
+
+ // The heap size is half of available memory, or (at most)
+ // all of possible memory less 160mb (leaving room for the OS
+ // when using ISM). This is the maximum; because adaptive sizing
+ // is turned on below, the actual space used may be smaller.
+
+ initHeapSize = MIN2(total_memory / (julong) 2,
+ total_memory - (julong) 160 * M);
+
+ initHeapSize = limit_by_allocatable_memory(initHeapSize);
+
+ if (FLAG_IS_DEFAULT(MaxHeapSize)) {
+ if (FLAG_SET_CMDLINE(size_t, MaxHeapSize, initHeapSize) != Flag::SUCCESS) {
+ return JNI_EINVAL;
+ }
+ if (FLAG_SET_CMDLINE(size_t, InitialHeapSize, initHeapSize) != Flag::SUCCESS) {
+ return JNI_EINVAL;
+ }
+ // Currently the minimum size and the initial heap sizes are the same.
+ set_min_heap_size(initHeapSize);
+ }
+ if (FLAG_IS_DEFAULT(NewSize)) {
+ // Make the young generation 3/8ths of the total heap.
+ if (FLAG_SET_CMDLINE(size_t, NewSize,
+ ((julong) MaxHeapSize / (julong) 8) * (julong) 3) != Flag::SUCCESS) {
+ return JNI_EINVAL;
+ }
+ if (FLAG_SET_CMDLINE(size_t, MaxNewSize, NewSize) != Flag::SUCCESS) {
+ return JNI_EINVAL;
+ }
+ }
+
+#if !defined(_ALLBSD_SOURCE) && !defined(AIX) // UseLargePages is not yet supported on BSD and AIX.
+ FLAG_SET_DEFAULT(UseLargePages, true);
+#endif
+
+ // Increase some data structure sizes for efficiency
+ if (FLAG_SET_CMDLINE(size_t, BaseFootPrintEstimate, MaxHeapSize) != Flag::SUCCESS) {
+ return JNI_EINVAL;
+ }
+ if (FLAG_SET_CMDLINE(bool, ResizeTLAB, false) != Flag::SUCCESS) {
+ return JNI_EINVAL;
+ }
+ if (FLAG_SET_CMDLINE(size_t, TLABSize, 256 * K) != Flag::SUCCESS) {
+ return JNI_EINVAL;
+ }
+
+ // See the OldPLABSize comment below, but replace 'after promotion'
+ // with 'after copying'. YoungPLABSize is the size of the survivor
+ // space per-gc-thread buffers. The default is 4kw.
+ if (FLAG_SET_CMDLINE(size_t, YoungPLABSize, 256 * K) != Flag::SUCCESS) { // Note: this is in words
+ return JNI_EINVAL;
+ }
+
+ // OldPLABSize is the size of the buffers in the old gen that
+ // UseParallelGC uses to promote live data that doesn't fit in the
+ // survivor spaces. At any given time, there's one for each gc thread.
+ // The default size is 1kw. These buffers are rarely used, since the
+ // survivor spaces are usually big enough. For specjbb, however, there
+ // are occasions when there's lots of live data in the young gen
+ // and we end up promoting some of it. We don't have a definite
+ // explanation for why bumping OldPLABSize helps, but the theory
+ // is that a bigger PLAB results in retaining something like the
+ // original allocation order after promotion, which improves mutator
+ // locality. A minor effect may be that larger PLABs reduce the
+ // number of PLAB allocation events during gc. The value of 8kw
+ // was arrived at by experimenting with specjbb.
+ if (FLAG_SET_CMDLINE(size_t, OldPLABSize, 8 * K) != Flag::SUCCESS) { // Note: this is in words
+ return JNI_EINVAL;
+ }
+
+ // Enable parallel GC and adaptive generation sizing
+ if (FLAG_SET_CMDLINE(bool, UseParallelGC, true) != Flag::SUCCESS) {
+ return JNI_EINVAL;
+ }
+ FLAG_SET_DEFAULT(ParallelGCThreads,
+ Abstract_VM_Version::parallel_worker_threads());
+
+ // Encourage steady state memory management
+ if (FLAG_SET_CMDLINE(uintx, ThresholdTolerance, 100) != Flag::SUCCESS) {
+ return JNI_EINVAL;
+ }
+
+ // This appears to improve mutator locality
+ if (FLAG_SET_CMDLINE(bool, ScavengeBeforeFullGC, false) != Flag::SUCCESS) {
+ return JNI_EINVAL;
+ }
+
+ // Get around early Solaris scheduling bug
+ // (affinity vs other jobs on system)
+ // but disallow DR and offlining (5008695).
+ if (FLAG_SET_CMDLINE(bool, BindGCTaskThreadsToCPUs, true) != Flag::SUCCESS) {
+ return JNI_EINVAL;
+ }
+
+ return JNI_OK;
+}
+
// This must be called after ergonomics.
void Arguments::set_bytecode_flags() {
if (!RewriteBytecodes) {
@@ -2027,20 +2408,6 @@
return true;
}
-void Arguments::check_deprecated_gc_flags() {
- if (FLAG_IS_CMDLINE(UseParNewGC)) {
- warning("The UseParNewGC flag is deprecated and will likely be removed in a future release");
- }
- if (FLAG_IS_CMDLINE(MaxGCMinorPauseMillis)) {
- warning("Using MaxGCMinorPauseMillis as minor pause goal is deprecated"
- "and will likely be removed in future release");
- }
- if (FLAG_IS_CMDLINE(DefaultMaxRAMFraction)) {
- warning("DefaultMaxRAMFraction is deprecated and will likely be removed in a future release. "
- "Use MaxRAMFraction instead.");
- }
-}
-
// Check the consistency of vm_init_args
bool Arguments::check_vm_args_consistency() {
// Method for adding checks for flag consistency.
@@ -2576,7 +2943,7 @@
// All these options are deprecated in JDK 9 and will be removed in a future release
char version[256];
JDK_Version::jdk(9).to_string(version, sizeof(version));
- warning("ignoring option %s; support was removed in %s", option->optionString, version);
+ warning("Ignoring option %s; support was removed in %s", option->optionString, version);
} else if (match_option(option, "-XX:CodeCacheExpansionSize=", &tail)) {
julong long_CodeCacheExpansionSize = 0;
ArgsRange errcode = parse_memory_size(tail, &long_CodeCacheExpansionSize, os::vm_page_size());
@@ -2843,120 +3210,10 @@
_abort_hook = CAST_TO_FN_PTR(abort_hook_t, option->extraInfo);
// -XX:+AggressiveHeap
} else if (match_option(option, "-XX:+AggressiveHeap")) {
-
- // This option inspects the machine and attempts to set various
- // parameters to be optimal for long-running, memory allocation
- // intensive jobs. It is intended for machines with large
- // amounts of cpu and memory.
-
- // initHeapSize is needed since _initial_heap_size is 4 bytes on a 32 bit
- // VM, but we may not be able to represent the total physical memory
- // available (like having 8gb of memory on a box but using a 32bit VM).
- // Thus, we need to make sure we're using a julong for intermediate
- // calculations.
- julong initHeapSize;
- julong total_memory = os::physical_memory();
-
- if (total_memory < (julong)256*M) {
- jio_fprintf(defaultStream::error_stream(),
- "You need at least 256mb of memory to use -XX:+AggressiveHeap\n");
- vm_exit(1);
- }
-
- // The heap size is half of available memory, or (at most)
- // all of possible memory less 160mb (leaving room for the OS
- // when using ISM). This is the maximum; because adaptive sizing
- // is turned on below, the actual space used may be smaller.
-
- initHeapSize = MIN2(total_memory / (julong)2,
- total_memory - (julong)160*M);
-
- initHeapSize = limit_by_allocatable_memory(initHeapSize);
-
- if (FLAG_IS_DEFAULT(MaxHeapSize)) {
- if (FLAG_SET_CMDLINE(size_t, MaxHeapSize, initHeapSize) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
- if (FLAG_SET_CMDLINE(size_t, InitialHeapSize, initHeapSize) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
- // Currently the minimum size and the initial heap sizes are the same.
- set_min_heap_size(initHeapSize);
- }
- if (FLAG_IS_DEFAULT(NewSize)) {
- // Make the young generation 3/8ths of the total heap.
- if (FLAG_SET_CMDLINE(size_t, NewSize,
- ((julong)MaxHeapSize / (julong)8) * (julong)3) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
- if (FLAG_SET_CMDLINE(size_t, MaxNewSize, NewSize) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
+ jint result = set_aggressive_heap_flags();
+ if (result != JNI_OK) {
+ return result;
}
-
-#if !defined(_ALLBSD_SOURCE) && !defined(AIX) // UseLargePages is not yet supported on BSD and AIX.
- FLAG_SET_DEFAULT(UseLargePages, true);
-#endif
-
- // Increase some data structure sizes for efficiency
- if (FLAG_SET_CMDLINE(size_t, BaseFootPrintEstimate, MaxHeapSize) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
- if (FLAG_SET_CMDLINE(bool, ResizeTLAB, false) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
- if (FLAG_SET_CMDLINE(size_t, TLABSize, 256*K) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
-
- // See the OldPLABSize comment below, but replace 'after promotion'
- // with 'after copying'. YoungPLABSize is the size of the survivor
- // space per-gc-thread buffers. The default is 4kw.
- if (FLAG_SET_CMDLINE(size_t, YoungPLABSize, 256*K) != Flag::SUCCESS) { // Note: this is in words
- return JNI_EINVAL;
- }
-
- // OldPLABSize is the size of the buffers in the old gen that
- // UseParallelGC uses to promote live data that doesn't fit in the
- // survivor spaces. At any given time, there's one for each gc thread.
- // The default size is 1kw. These buffers are rarely used, since the
- // survivor spaces are usually big enough. For specjbb, however, there
- // are occasions when there's lots of live data in the young gen
- // and we end up promoting some of it. We don't have a definite
- // explanation for why bumping OldPLABSize helps, but the theory
- // is that a bigger PLAB results in retaining something like the
- // original allocation order after promotion, which improves mutator
- // locality. A minor effect may be that larger PLABs reduce the
- // number of PLAB allocation events during gc. The value of 8kw
- // was arrived at by experimenting with specjbb.
- if (FLAG_SET_CMDLINE(size_t, OldPLABSize, 8*K) != Flag::SUCCESS) { // Note: this is in words
- return JNI_EINVAL;
- }
-
- // Enable parallel GC and adaptive generation sizing
- if (FLAG_SET_CMDLINE(bool, UseParallelGC, true) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
- FLAG_SET_DEFAULT(ParallelGCThreads,
- Abstract_VM_Version::parallel_worker_threads());
-
- // Encourage steady state memory management
- if (FLAG_SET_CMDLINE(uintx, ThresholdTolerance, 100) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
-
- // This appears to improve mutator locality
- if (FLAG_SET_CMDLINE(bool, ScavengeBeforeFullGC, false) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
-
- // Get around early Solaris scheduling bug
- // (affinity vs other jobs on system)
- // but disallow DR and offlining (5008695).
- if (FLAG_SET_CMDLINE(bool, BindGCTaskThreadsToCPUs, true) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
-
// Need to keep consistency of MaxTenuringThreshold and AlwaysTenure/NeverTenure;
// and the last option wins.
} else if (match_option(option, "-XX:+NeverTenure")) {
@@ -3049,52 +3306,6 @@
return JNI_EINVAL;
}
#endif
- } else if (match_option(option, "-XX:CMSMarkStackSize=", &tail) ||
- match_option(option, "-XX:G1MarkStackSize=", &tail)) {
- julong stack_size = 0;
- ArgsRange errcode = parse_memory_size(tail, &stack_size, 1);
- if (errcode != arg_in_range) {
- jio_fprintf(defaultStream::error_stream(),
- "Invalid mark stack size: %s\n", option->optionString);
- describe_range_error(errcode);
- return JNI_EINVAL;
- }
- jio_fprintf(defaultStream::error_stream(),
- "Please use -XX:MarkStackSize in place of "
- "-XX:CMSMarkStackSize or -XX:G1MarkStackSize in the future\n");
- if (FLAG_SET_CMDLINE(size_t, MarkStackSize, stack_size) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
- } else if (match_option(option, "-XX:CMSMarkStackSizeMax=", &tail)) {
- julong max_stack_size = 0;
- ArgsRange errcode = parse_memory_size(tail, &max_stack_size, 1);
- if (errcode != arg_in_range) {
- jio_fprintf(defaultStream::error_stream(),
- "Invalid maximum mark stack size: %s\n",
- option->optionString);
- describe_range_error(errcode);
- return JNI_EINVAL;
- }
- jio_fprintf(defaultStream::error_stream(),
- "Please use -XX:MarkStackSizeMax in place of "
- "-XX:CMSMarkStackSizeMax in the future\n");
- if (FLAG_SET_CMDLINE(size_t, MarkStackSizeMax, max_stack_size) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
- } else if (match_option(option, "-XX:ParallelMarkingThreads=", &tail) ||
- match_option(option, "-XX:ParallelCMSThreads=", &tail)) {
- uintx conc_threads = 0;
- if (!parse_uintx(tail, &conc_threads, 1)) {
- jio_fprintf(defaultStream::error_stream(),
- "Invalid concurrent threads: %s\n", option->optionString);
- return JNI_EINVAL;
- }
- jio_fprintf(defaultStream::error_stream(),
- "Please use -XX:ConcGCThreads in place of "
- "-XX:ParallelMarkingThreads or -XX:ParallelCMSThreads in the future\n");
- if (FLAG_SET_CMDLINE(uint, ConcGCThreads, conc_threads) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
} else if (match_option(option, "-XX:MaxDirectMemorySize=", &tail)) {
julong max_direct_memory_size = 0;
ArgsRange errcode = parse_memory_size(tail, &max_direct_memory_size, 0);
@@ -3114,19 +3325,6 @@
"ManagementServer is not supported in this VM.\n");
return JNI_ERR;
#endif // INCLUDE_MANAGEMENT
- // CreateMinidumpOnCrash is removed, and replaced by CreateCoredumpOnCrash
- } else if (match_option(option, "-XX:+CreateMinidumpOnCrash")) {
- if (FLAG_SET_CMDLINE(bool, CreateCoredumpOnCrash, true) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
- jio_fprintf(defaultStream::output_stream(),
- "CreateMinidumpOnCrash is replaced by CreateCoredumpOnCrash: CreateCoredumpOnCrash is on\n");
- } else if (match_option(option, "-XX:-CreateMinidumpOnCrash")) {
- if (FLAG_SET_CMDLINE(bool, CreateCoredumpOnCrash, false) != Flag::SUCCESS) {
- return JNI_EINVAL;
- }
- jio_fprintf(defaultStream::output_stream(),
- "CreateMinidumpOnCrash is replaced by CreateCoredumpOnCrash: CreateCoredumpOnCrash is off\n");
} else if (match_option(option, "-XX:", &tail)) { // -XX:xxxx
// Skip -XX:Flags= and -XX:VMOptionsFile= since those cases have
// already been handled
@@ -3623,7 +3821,7 @@
void Arguments::set_shared_spaces_flags() {
if (DumpSharedSpaces) {
if (RequireSharedSpaces) {
- warning("cannot dump shared archive while using shared archive");
+ warning("Cannot dump shared archive while using shared archive");
}
UseSharedSpaces = false;
#ifdef _LP64
@@ -3848,6 +4046,7 @@
// Parse entry point called from JNI_CreateJavaVM
jint Arguments::parse(const JavaVMInitArgs* args) {
+ assert(verify_special_jvm_flags(), "deprecated and obsolete flag table inconsistent");
// Initialize ranges and constraints
CommandLineFlagRangeList::init();
@@ -3984,7 +4183,7 @@
if (ScavengeRootsInCode == 0) {
if (!FLAG_IS_DEFAULT(ScavengeRootsInCode)) {
- warning("forcing ScavengeRootsInCode non-zero");
+ warning("Forcing ScavengeRootsInCode non-zero");
}
ScavengeRootsInCode = 1;
}
--- a/hotspot/src/share/vm/runtime/arguments.hpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/runtime/arguments.hpp Wed Jul 05 20:52:10 2017 +0200
@@ -364,6 +364,8 @@
// Aggressive optimization flags.
static jint set_aggressive_opts_flags();
+ static jint set_aggressive_heap_flags();
+
// Argument parsing
static void do_pd_flag_adjustments();
static bool parse_argument(const char* arg, Flag::Flags origin);
@@ -427,11 +429,24 @@
short* methodsNum, short* methodsMax, char*** methods, bool** allClasses
);
- // Returns true if the string s is in the list of flags that have recently
- // been made obsolete. If we detect one of these flags on the command
- // line, instead of failing we print a warning message and ignore the
- // flag. This gives the user a release or so to stop using the flag.
- static bool is_newly_obsolete(const char* s, JDK_Version* buffer);
+ // Returns true if the flag is obsolete (and not yet expired).
+ // In this case the 'version' buffer is filled in with
+ // the version number when the flag became obsolete.
+ static bool is_obsolete_flag(const char* flag_name, JDK_Version* version);
+
+ // Returns 1 if the flag is deprecated (and not yet obsolete or expired).
+ // In this case the 'version' buffer is filled in with the version number when
+ // the flag became deprecated.
+ // Returns -1 if the flag is expired or obsolete.
+ // Returns 0 otherwise.
+ static int is_deprecated_flag(const char* flag_name, JDK_Version* version);
+
+ // Return the real name for the flag passed on the command line (either an alias name or "flag_name").
+ static const char* real_flag_name(const char *flag_name);
+
+ // Return the "real" name for option arg if arg is an alias, and print a warning if arg is deprecated.
+ // Return NULL if the arg has expired.
+ static const char* handle_aliases_and_deprecation(const char* arg, bool warn);
static short CompileOnlyClassesNum;
static short CompileOnlyClassesMax;
@@ -478,7 +493,6 @@
// Check for consistency in the selection of the garbage collector.
static bool check_gc_consistency(); // Check user-selected gc
- static void check_deprecated_gc_flags();
// Check consistency or otherwise of VM argument settings
static bool check_vm_args_consistency();
// Used by os_solaris
--- a/hotspot/src/share/vm/runtime/globals.hpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/runtime/globals.hpp Wed Jul 05 20:52:10 2017 +0200
@@ -1599,7 +1599,7 @@
"(ParallelGC only)") \
\
product(bool, ScavengeBeforeFullGC, true, \
- "Scavenge young generation before each full GC.") \
+ "Scavenge youngest generation before each full GC.") \
\
develop(bool, ScavengeWithObjectsInToSpace, false, \
"Allow scavenges to occur when to-space contains objects") \
@@ -2097,7 +2097,7 @@
"promotion failure") \
\
notproduct(bool, PromotionFailureALot, false, \
- "Use promotion failure handling on every young generation " \
+ "Use promotion failure handling on every youngest generation " \
"collection") \
\
develop(uintx, PromotionFailureALotCount, 1000, \
@@ -2183,11 +2183,6 @@
"size") \
range(1, max_uintx) \
\
- product(uintx, DefaultMaxRAMFraction, 4, \
- "Maximum fraction (1/n) of real memory used for maximum heap " \
- "size; deprecated: to be renamed to MaxRAMFraction") \
- range(1, max_uintx) \
- \
product(uintx, MinRAMFraction, 2, \
"Minimum fraction (1/n) of real memory used for maximum heap " \
"size on systems with small physical memory size") \
--- a/hotspot/src/share/vm/runtime/java.hpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/runtime/java.hpp Wed Jul 05 20:52:10 2017 +0200
@@ -137,6 +137,14 @@
return JDK_Version(major, 0, 0, update_number);
}
+ static JDK_Version undefined() {
+ return JDK_Version(0);
+ }
+
+ bool is_undefined() const {
+ return (_major == 0);
+ }
+
uint8_t major_version() const { return _major; }
uint8_t minor_version() const { return _minor; }
uint8_t micro_version() const { return _micro; }
--- a/hotspot/src/share/vm/runtime/jniHandles.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/runtime/jniHandles.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -124,8 +124,8 @@
}
-size_t JNIHandles::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) {
- return _weak_global_handles->weak_oops_do(is_alive, f);
+void JNIHandles::weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f) {
+ _weak_global_handles->weak_oops_do(is_alive, f);
}
@@ -380,9 +380,8 @@
}
-size_t JNIHandleBlock::weak_oops_do(BoolObjectClosure* is_alive,
- OopClosure* f) {
- size_t count = 0;
+void JNIHandleBlock::weak_oops_do(BoolObjectClosure* is_alive,
+ OopClosure* f) {
for (JNIHandleBlock* current = this; current != NULL; current = current->_next) {
assert(current->pop_frame_link() == NULL,
"blocks holding weak global JNI handles should not have pop frame link set");
@@ -391,7 +390,6 @@
oop value = *root;
// traverse heap pointers only, not deleted handles or free list pointers
if (value != NULL && Universe::heap()->is_in_reserved(value)) {
- count++;
if (is_alive->do_object_b(value)) {
// The weakly referenced object is alive, update pointer
f->do_oop(root);
@@ -414,9 +412,7 @@
* JVMTI data structures may also contain weak oops. The iteration of them
* is placed here so that we don't need to add it to each of the collectors.
*/
- count += JvmtiExport::weak_oops_do(is_alive, f);
-
- return count;
+ JvmtiExport::weak_oops_do(is_alive, f);
}
--- a/hotspot/src/share/vm/runtime/jniHandles.hpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/runtime/jniHandles.hpp Wed Jul 05 20:52:10 2017 +0200
@@ -85,7 +85,7 @@
// Traversal of regular global handles
static void oops_do(OopClosure* f);
// Traversal of weak global handles. Unreachable oops are cleared.
- static size_t weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f);
+ static void weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f);
};
@@ -153,7 +153,7 @@
// Traversal of regular handles
void oops_do(OopClosure* f);
// Traversal of weak handles. Unreachable oops are cleared.
- size_t weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f);
+ void weak_oops_do(BoolObjectClosure* is_alive, OopClosure* f);
// Checked JNI support
void set_planned_capacity(size_t planned_capacity) { _planned_capacity = planned_capacity; }
--- a/hotspot/src/share/vm/runtime/vmStructs.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/src/share/vm/runtime/vmStructs.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -383,7 +383,7 @@
nonstatic_field(Method, _access_flags, AccessFlags) \
nonstatic_field(Method, _vtable_index, int) \
nonstatic_field(Method, _method_size, u2) \
- nonstatic_field(Method, _intrinsic_id, u1) \
+ nonstatic_field(Method, _intrinsic_id, u2) \
nonproduct_nonstatic_field(Method, _compiled_invocation_count, int) \
volatile_nonstatic_field(Method, _code, nmethod*) \
nonstatic_field(Method, _i2i_entry, address) \
--- a/hotspot/test/TEST.groups Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/test/TEST.groups Wed Jul 05 20:52:10 2017 +0200
@@ -190,7 +190,6 @@
gc/g1/TestShrinkToOneRegion.java \
gc/metaspace/G1AddMetaspaceDependency.java \
gc/startup_warnings/TestCMS.java \
- gc/startup_warnings/TestDefaultMaxRAMFraction.java \
gc/startup_warnings/TestDefNewCMS.java \
gc/startup_warnings/TestParallelGC.java \
gc/startup_warnings/TestParallelScavengeSerialOld.java \
--- a/hotspot/test/gc/logging/TestPrintReferences.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +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.
- */
-
-/*
- * @test TestPrintReferences
- * @bug 8133818
- * @summary Validate the reference processing logging
- * @key gc
- * @library /testlibrary
- * @modules java.base/sun.misc
- * java.management
- */
-
-import jdk.test.lib.ProcessTools;
-import jdk.test.lib.OutputAnalyzer;
-
-public class TestPrintReferences {
- public static void main(String[] args) throws Exception {
- ProcessBuilder pb_enabled =
- ProcessTools.createJavaProcessBuilder("-XX:+PrintGCDetails", "-XX:+PrintReferenceGC", "-Xmx10M", GCTest.class.getName());
- OutputAnalyzer output = new OutputAnalyzer(pb_enabled.start());
-
- output.shouldMatch(
- "#[0-9]+: \\[SoftReference, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]" +
- "#[0-9]+: \\[WeakReference, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]" +
- "#[0-9]+: \\[FinalReference, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]" +
- "#[0-9]+: \\[PhantomReference, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]" +
- "#[0-9]+: \\[Cleaners, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]" +
- "#[0-9]+: \\[JNI Weak Reference, [0-9]+ refs, [0-9]+\\.[0-9]+ secs\\]");
-
- output.shouldHaveExitValue(0);
- }
-
- static class GCTest {
- public static void main(String [] args) {
- System.gc();
- }
- }
-}
--- a/hotspot/test/gc/startup_warnings/TestDefaultMaxRAMFraction.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2013, 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 TestDefaultMaxRAMFraction
-* @key gc
-* @bug 8021967
-* @summary Test that the deprecated TestDefaultMaxRAMFraction flag print a warning message
-* @library /testlibrary
-* @modules java.base/sun.misc
-* java.management
-*/
-
-import jdk.test.lib.OutputAnalyzer;
-import jdk.test.lib.ProcessTools;
-
-public class TestDefaultMaxRAMFraction {
- public static void main(String[] args) throws Exception {
- ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:DefaultMaxRAMFraction=4", "-version");
- OutputAnalyzer output = new OutputAnalyzer(pb.start());
- output.shouldContain("warning: DefaultMaxRAMFraction is deprecated and will likely be removed in a future release. Use MaxRAMFraction instead.");
- output.shouldNotContain("error");
- output.shouldHaveExitValue(0);
- }
-
-}
--- a/hotspot/test/gc/startup_warnings/TestNoParNew.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2014, 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 TestNoParNew
-* @key gc
-* @bug 8065972
-* @summary Test that specifying -XX:-UseParNewGC on the command line logs a warning message
-* @library /testlibrary
-* @modules java.base/sun.misc
-* java.management
-*/
-
-import jdk.test.lib.OutputAnalyzer;
-import jdk.test.lib.ProcessTools;
-
-
-public class TestNoParNew {
-
- public static void main(String args[]) throws Exception {
- ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:-UseParNewGC", "-version");
- OutputAnalyzer output = new OutputAnalyzer(pb.start());
- output.shouldContain("warning: The UseParNewGC flag is deprecated and will likely be removed in a future release");
- output.shouldNotContain("error");
- output.shouldHaveExitValue(0);
- }
-
-}
--- a/hotspot/test/gc/startup_warnings/TestParNewCMS.java Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/test/gc/startup_warnings/TestParNewCMS.java Wed Jul 05 20:52:10 2017 +0200
@@ -40,7 +40,7 @@
public static void main(String args[]) throws Exception {
ProcessBuilder pb = ProcessTools.createJavaProcessBuilder("-XX:+UseParNewGC", "-XX:+UseConcMarkSweepGC", "-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
- output.shouldContain("warning: The UseParNewGC flag is deprecated and will likely be removed in a future release");
+ output.shouldContain("warning: Option UseParNewGC was deprecated in version");
output.shouldNotContain("error");
output.shouldHaveExitValue(0);
}
--- a/hotspot/test/runtime/CommandLine/ObsoleteFlagErrorMessage.java Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/test/runtime/CommandLine/ObsoleteFlagErrorMessage.java Wed Jul 05 20:52:10 2017 +0200
@@ -46,7 +46,7 @@
"-XX:NmethodSweepFraction=10", "-version");
OutputAnalyzer output2 = new OutputAnalyzer(pb2.start());
- output2.shouldContain("ignoring option").shouldContain("support was removed");
+ output2.shouldContain("Ignoring option").shouldContain("support was removed");
output2.shouldContain("NmethodSweepFraction");
}
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/runtime/CommandLine/VMAliasOptions.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,66 @@
+/*
+ * 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 jdk.test.lib.*;
+import jdk.test.lib.cli.*;
+
+/*
+ * @test
+ * @bug 8061611
+ * @summary Test that various alias options correctly set the target options. See aliased_jvm_flags in arguments.cpp.
+ * @library /testlibrary
+ */
+public class VMAliasOptions {
+
+ /**
+ * each entry is {[0]: alias name, [1]: alias target, [2]: value to set
+ * (true/false/n/string)}.
+ */
+ public static final String[][] ALIAS_OPTIONS = {
+ {"DefaultMaxRAMFraction", "MaxRAMFraction", "1032"},
+ {"CMSMarkStackSizeMax", "MarkStackSizeMax", "1032"},
+ {"CMSMarkStackSize", "MarkStackSize", "1032"},
+ {"G1MarkStackSize", "MarkStackSize", "1032"},
+ {"ParallelMarkingThreads", "ConcGCThreads", "2"},
+ {"ParallelCMSThreads", "ConcGCThreads", "2"},
+ {"CreateMinidumpOnCrash", "CreateCoredumpOnCrash", "false" },
+ };
+
+ static void testAliases(String[][] optionInfo) throws Throwable {
+ String aliasNames[] = new String[optionInfo.length];
+ String optionNames[] = new String[optionInfo.length];
+ String expectedValues[] = new String[optionInfo.length];
+ for (int i = 0; i < optionInfo.length; i++) {
+ aliasNames[i] = optionInfo[i][0];
+ optionNames[i] = optionInfo[i][1];
+ expectedValues[i] = optionInfo[i][2];
+ }
+
+ OutputAnalyzer output = CommandLineOptionTest.startVMWithOptions(aliasNames, expectedValues, "-XX:+PrintFlagsFinal");
+ CommandLineOptionTest.verifyOptionValuesFromOutput(output, optionNames, expectedValues);
+ }
+
+ public static void main(String[] args) throws Throwable {
+ testAliases(ALIAS_OPTIONS);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/runtime/CommandLine/VMDeprecatedOptions.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,80 @@
+/*
+ * 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 jdk.test.lib.*;
+import jdk.test.lib.cli.*;
+
+/*
+ * @test
+ * @bug 8066821
+ * @summary Test that various options are deprecated. See deprecated_jvm_flags in arguments.cpp.
+ * @library /testlibrary
+ */
+public class VMDeprecatedOptions {
+
+ /**
+ * each entry is {[0]: option name, [1]: value to set
+ * (true/false/n/string)}.
+ */
+ public static final String[][] DEPRECATED_OPTIONS = {
+ // deprecated non-alias flags:
+ {"MaxGCMinorPauseMillis", "1032"},
+ {"UseParNewGC", "false"},
+
+ // deprecated alias flags (see also aliased_jvm_flags):
+ {"DefaultMaxRAMFraction", "4"},
+ {"CMSMarkStackSizeMax", "1032"},
+ {"CMSMarkStackSize", "1032"},
+ {"G1MarkStackSize", "1032"},
+ {"ParallelMarkingThreads", "2"},
+ {"ParallelCMSThreads", "2"},
+ {"CreateMinidumpOnCrash", "false"}
+ };
+
+ static String getDeprecationString(String optionName) {
+ return "Option " + optionName
+ + " was deprecated in version [\\S]+ and will likely be removed in a future release";
+ }
+
+ static void testDeprecated(String[][] optionInfo) throws Throwable {
+ String optionNames[] = new String[optionInfo.length];
+ String expectedValues[] = new String[optionInfo.length];
+ for (int i = 0; i < optionInfo.length; i++) {
+ optionNames[i] = optionInfo[i][0];
+ expectedValues[i] = optionInfo[i][1];
+ }
+
+ OutputAnalyzer output = CommandLineOptionTest.startVMWithOptions(optionNames, expectedValues);
+
+ // check for option deprecation messages:
+ output.shouldHaveExitValue(0);
+ for (String[] deprecated : optionInfo) {
+ String match = getDeprecationString(deprecated[0]);
+ output.shouldMatch(match);
+ }
+ }
+
+ public static void main(String[] args) throws Throwable {
+ testDeprecated(DEPRECATED_OPTIONS); // Make sure that each deprecated option is mentioned in the output.
+ }
+}
--- a/hotspot/test/runtime/NMT/AutoshutdownNMT.java Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/test/runtime/NMT/AutoshutdownNMT.java Wed Jul 05 20:52:10 2017 +0200
@@ -41,6 +41,6 @@
"-XX:-AutoShutdownNMT",
"-version");
OutputAnalyzer output = new OutputAnalyzer(pb.start());
- output.shouldContain("ignoring option AutoShutdownNMT");
+ output.shouldContain("Ignoring option AutoShutdownNMT");
}
}
--- a/hotspot/test/testlibrary/jdk/test/lib/cli/CommandLineOptionTest.java Tue Oct 06 08:43:02 2015 -0700
+++ b/hotspot/test/testlibrary/jdk/test/lib/cli/CommandLineOptionTest.java Wed Jul 05 20:52:10 2017 +0200
@@ -261,6 +261,73 @@
}
/**
+ * Start VM with given options and values.
+ * Generates command line option flags from
+ * {@code optionNames} and {@code optionValues}.
+ *
+ * @param optionNames names of options to pass in
+ * @param optionValues values of option
+ * @param additionalVMOpts additional options that should be
+ * passed to JVM.
+ * @return output from vm process
+ */
+ public static OutputAnalyzer startVMWithOptions(String[] optionNames,
+ String[] optionValues,
+ String... additionalVMOpts) throws Throwable {
+ List<String> vmOpts = new ArrayList<>();
+ if (optionNames == null || optionValues == null || optionNames.length != optionValues.length) {
+ throw new IllegalArgumentException("optionNames and/or optionValues");
+ }
+
+ for (int i = 0; i < optionNames.length; i++) {
+ vmOpts.add(prepareFlag(optionNames[i], optionValues[i]));
+ }
+ Collections.addAll(vmOpts, additionalVMOpts);
+ Collections.addAll(vmOpts, "-version");
+
+ ProcessBuilder processBuilder = ProcessTools.createJavaProcessBuilder(
+ vmOpts.toArray(new String[vmOpts.size()]));
+
+ return new OutputAnalyzer(processBuilder.start());
+ }
+
+ /**
+ * Verifies from the output that values of specified JVM options were the same as
+ * expected values.
+ *
+ * @param outputAnalyzer search output for expect options and values.
+ * @param optionNames names of tested options.
+ * @param expectedValues expected values of tested options.
+ * @throws Throwable if verification fails or some other issues occur.
+ */
+ public static void verifyOptionValuesFromOutput(OutputAnalyzer outputAnalyzer,
+ String[] optionNames,
+ String[] expectedValues) throws Throwable {
+ outputAnalyzer.shouldHaveExitValue(0);
+ for (int i = 0; i < optionNames.length; i++) {
+ outputAnalyzer.shouldMatch(String.format(
+ CommandLineOptionTest.PRINT_FLAGS_FINAL_FORMAT,
+ optionNames[i], expectedValues[i]));
+ }
+ }
+
+ /**
+ * Verifies that value of specified JVM options are the same as
+ * expected values.
+ * Generates command line option flags from
+ * {@code optionNames} and {@code expectedValues}.
+ *
+ * @param optionNames names of tested options.
+ * @param expectedValues expected values of tested options.
+ * @throws Throwable if verification fails or some other issues occur.
+ */
+ public static void verifyOptionValues(String[] optionNames,
+ String[] expectedValues) throws Throwable {
+ OutputAnalyzer outputAnalyzer = startVMWithOptions(optionNames, expectedValues, "-XX:+PrintFlagsFinal");
+ verifyOptionValuesFromOutput(outputAnalyzer, optionNames, expectedValues);
+ }
+
+ /**
* Verifies that value of specified JVM when type of newly started VM
* is the same as the type of current.
* This method filter out option with {@code optionName}
@@ -312,6 +379,24 @@
}
/**
+ * Prepares generic command line flag with name {@code name} by setting
+ * it's value to {@code value}.
+ *
+ * @param name the name of option to be prepared
+ * @param value the value of option ("+" or "-" can be used instead of "true" or "false")
+ * @return prepared command line flag
+ */
+ public static String prepareFlag(String name, String value) {
+ if (value.equals("+") || value.equalsIgnoreCase("true")) {
+ return "-XX:+" + name;
+ } else if (value.equals("-") || value.equalsIgnoreCase("false")) {
+ return "-XX:-" + name;
+ } else {
+ return "-XX:" + name + "=" + value;
+ }
+ }
+
+ /**
* Returns message that should occur in VM output if option
* {@code optionName} if unrecognized.
*
--- a/jdk/.hgtags Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/.hgtags Wed Jul 05 20:52:10 2017 +0200
@@ -326,3 +326,4 @@
fdc13a2d32867ca3c57b7fa2620c6b59c83168cb jdk9-b81
b10b64263b563e21f055c881444f625ec618b826 jdk9-b82
d11f25ce3c545823f53bb978d454a4d2901abac3 jdk9-b83
+757ef7f6d0042934edea3e0bf616fad2c1a22789 jdk9-b84
--- a/jdk/make/data/fontconfig/windows.fontconfig.properties Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/make/data/fontconfig/windows.fontconfig.properties Wed Jul 05 20:52:10 2017 +0200
@@ -40,6 +40,7 @@
allfonts.dingbats=Wingdings
allfonts.lucida=Lucida Sans Regular
allfonts.symbol=Symbol
+allfonts.symbols=Segoe UI Symbol
allfonts.thai=Lucida Sans Regular
allfonts.georgian=Sylfaen
@@ -236,7 +237,7 @@
sequence.allfonts.x-windows-874=alphabetic,thai,dingbats,symbol
-sequence.fallback=lucida,\
+sequence.fallback=lucida,symbols,\
chinese-ms950,chinese-hkscs,chinese-ms936,chinese-gb18030,\
japanese,korean,chinese-ms950-extb,chinese-ms936-extb,georgian
@@ -298,3 +299,4 @@
filename.Wingdings=WINGDING.TTF
filename.Sylfaen=sylfaen.ttf
+filename.Segoe_UI_Symbol=SEGUISYM.TTF
--- a/jdk/make/data/tzdata/VERSION Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/make/data/tzdata/VERSION Wed Jul 05 20:52:10 2017 +0200
@@ -21,4 +21,4 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
-tzdata2015f
+tzdata2015g
--- a/jdk/make/data/tzdata/asia Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/make/data/tzdata/asia Wed Jul 05 20:52:10 2017 +0200
@@ -154,7 +154,8 @@
# Azerbaijan
# From Rustam Aliyev of the Azerbaijan Internet Forum (2005-10-23):
# According to the resolution of Cabinet of Ministers, 1997
-# Resolution available at: http://aif.az/docs/daylight_res.pdf
+# From Paul Eggert (2015-09-17): It was Resolution No. 21 (1997-03-17).
+# http://code.az/files/daylight_res.pdf
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Azer 1997 max - Mar lastSun 4:00 1:00 S
Rule Azer 1997 max - Oct lastSun 5:00 0 -
@@ -1740,11 +1741,12 @@
# the 8:30 time zone on August 15, one example:
# http://www.bbc.com/news/world-asia-33815049
#
-# From Paul Eggert (2015-08-07):
-# No transition time is specified; assume 00:00.
+# From Paul Eggert (2015-08-15):
+# Bells rang out midnight (00:00) Friday as part of the celebrations. See:
+# Talmadge E. North Korea celebrates new time zone, 'Pyongyang Time'
+# http://news.yahoo.com/north-korea-celebrates-time-zone-pyongyang-time-164038128.html
# There is no common English-language abbreviation for this time zone.
-# Use %z rather than invent one. We can't assume %z works everywhere yet,
-# so for now substitute its output manually.
+# Use KST, as that's what we already use for 1954-1961 in ROK.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Seoul 8:27:52 - LMT 1908 Apr 1
@@ -1758,7 +1760,7 @@
8:30 - KST 1912 Jan 1
9:00 - JCST 1937 Oct 1
9:00 - JST 1945 Aug 24
- 9:00 - KST 2015 Aug 15
+ 9:00 - KST 2015 Aug 15 00:00
8:30 - KST
###############################################################################
--- a/jdk/make/data/tzdata/australasia Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/make/data/tzdata/australasia Wed Jul 05 20:52:10 2017 +0200
@@ -358,10 +358,17 @@
# DST will start Nov. 2 this year.
# http://www.fiji.gov.fj/Media-Center/Press-Releases/DAYLIGHT-SAVING-STARTS-ON-SUNDAY,-NOVEMBER-2ND.aspx
-# From Paul Eggert (2014-10-20):
+# From a government order dated 2015-08-26 and published as Legal Notice No. 77
+# in the Government of Fiji Gazette Supplement No. 24 (2015-08-28),
+# via Ken Rylander (2015-09-02):
+# the daylight saving period is 1 hour in advance of the standard time
+# commencing at 2.00 am on Sunday 1st November, 2015 and ending at
+# 3.00 am on Sunday 17th January, 2016.
+
+# From Paul Eggert (2015-09-01):
# For now, guess DST from 02:00 the first Sunday in November to
-# 03:00 the first Sunday on or after January 18. Although ad hoc, it
-# matches this year's plan and seems more likely to match future
+# 03:00 the third Sunday in January. Although ad hoc, it matches
+# transitions since late 2014 and seems more likely to match future
# practice than guessing no DST.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
@@ -374,7 +381,7 @@
Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 -
Rule Fiji 2014 only - Jan Sun>=18 2:00 0 -
Rule Fiji 2014 max - Nov Sun>=1 2:00 1:00 S
-Rule Fiji 2015 max - Jan Sun>=18 3:00 0 -
+Rule Fiji 2015 max - Jan Sun>=15 3:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva
12:00 Fiji FJ%sT # Fiji Time
@@ -533,7 +540,10 @@
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Norfolk 11:11:52 - LMT 1901 # Kingston
11:12 - NMT 1951 # Norfolk Mean Time
- 11:30 - NFT # Norfolk Time
+ 11:30 - NFT 1974 Oct 27 02:00 # Norfolk T.
+ 11:30 1:00 NFST 1975 Mar 2 02:00
+ 11:30 - NFT 2015 Oct 4 02:00
+ 11:00 - NFT
# Palau (Belau)
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@@ -1573,6 +1583,20 @@
# started DST on June 3. Possibly DST was observed other years
# in Midway, but we have no record of it.
+# Norfolk
+
+# From Alexander Krivenyshev (2015-09-23):
+# Norfolk Island will change ... from +1130 to +1100:
+# https://www.comlaw.gov.au/Details/F2015L01483/Explanatory%20Statement/Text
+# ... at 12.30 am (by legal time in New South Wales) on 4 October 2015.
+# http://www.norfolkisland.gov.nf/nia/MediaRelease/Media%20Release%20Norfolk%20Island%20Standard%20Time%20Change.pdf
+
+# From Paul Eggert (2015-09-23):
+# Transitions before 2015 are from timeanddate.com, which consulted
+# the Norfolk Island Museum and the Australian Bureau of Meteorology's
+# Norfolk Island station, and found no record of Norfolk observing DST
+# other than in 1974/5. See:
+# http://www.timeanddate.com/time/australia/norfolk-island.html
# Pitcairn
--- a/jdk/make/data/tzdata/europe Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/make/data/tzdata/europe Wed Jul 05 20:52:10 2017 +0200
@@ -3173,6 +3173,11 @@
# http://www.balkaneu.com/eventful-elections-turkey/ 2014-03-30.
# I guess the best we can do is document the official time.
+# From Fatih (2015-09-29):
+# It's officially announced now by the Ministry of Energy.
+# Turkey delays winter time to 8th of November 04:00
+# http://www.aa.com.tr/tr/turkiye/yaz-saati-uygulamasi-8-kasimda-sona-erecek/362217
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Turkey 1916 only - May 1 0:00 1:00 S
Rule Turkey 1916 only - Oct 1 0:00 0 -
@@ -3242,6 +3247,8 @@
2:00 - EET 2011 Mar 28 1:00u
2:00 EU EE%sT 2014 Mar 30 1:00u
2:00 - EET 2014 Mar 31 1:00u
+ 2:00 EU EE%sT 2015 Oct 25 1:00u
+ 2:00 1:00 EEST 2015 Nov 8 1:00u
2:00 EU EE%sT
Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents.
--- a/jdk/make/data/tzdata/northamerica Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/make/data/tzdata/northamerica Wed Jul 05 20:52:10 2017 +0200
@@ -1849,6 +1849,22 @@
# The transition dates (and times) are guesses.
+# From Matt Johnson (2015-09-21):
+# Fort Nelson, BC, Canada will cancel DST this year. So while previously they
+# were aligned with America/Vancouver, they're now aligned with
+# America/Dawson_Creek.
+# http://www.northernrockies.ca/EN/meta/news/archives/2015/northern-rockies-time-change.html
+#
+# From Tim Parenti (2015-09-23):
+# This requires a new zone for the Northern Rockies Regional Municipality,
+# America/Fort_Nelson. The resolution of 2014-12-08 was reached following a
+# 2014-11-15 poll with nearly 75% support. Effectively, the municipality has
+# been on MST (-0700) like Dawson Creek since it advanced its clocks on
+# 2015-03-08.
+#
+# From Paul Eggert (2015-09-23):
+# Shanks says Fort Nelson did not observe DST in 1946, unlike Vancouver.
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Vanc 1918 only - Apr 14 2:00 1:00 D
Rule Vanc 1918 only - Oct 27 2:00 0 S
@@ -1867,6 +1883,12 @@
-8:00 Canada P%sT 1947
-8:00 Vanc P%sT 1972 Aug 30 2:00
-7:00 - MST
+Zone America/Fort_Nelson -8:10:47 - LMT 1884
+ -8:00 Vanc P%sT 1946
+ -8:00 - PST 1947
+ -8:00 Vanc P%sT 1987
+ -8:00 Canada P%sT 2015 Mar 8 2:00
+ -7:00 - MST
Zone America/Creston -7:46:04 - LMT 1884
-7:00 - MST 1916 Oct 1
-8:00 - PST 1918 Jun 2
--- a/jdk/make/data/tzdata/zone.tab Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/make/data/tzdata/zone.tab Wed Jul 05 20:52:10 2017 +0200
@@ -152,6 +152,7 @@
CA +682059-1334300 America/Inuvik Mountain Time - west Northwest Territories
CA +4906-11631 America/Creston Mountain Standard Time - Creston, British Columbia
CA +5946-12014 America/Dawson_Creek Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia
+CA +5848-12242 America/Fort_Nelson Mountain Standard Time - Fort Nelson, British Columbia
CA +4916-12307 America/Vancouver Pacific Time - west British Columbia
CA +6043-13503 America/Whitehorse Pacific Time - south Yukon
CA +6404-13925 America/Dawson Pacific Time - north Yukon
--- a/jdk/make/gensrc/GensrcProperties.gmk Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/make/gensrc/GensrcProperties.gmk Wed Jul 05 20:52:10 2017 +0200
@@ -93,8 +93,7 @@
$$($1_TARGET): $$($1_SRCS) $$($1_JAVAS) $(BUILD_TOOLS_JDK)
$(MKDIR) -p $$(@D) $$($1_DIRS)
$(ECHO) Compiling $$(words $$($1_SRCS)) properties into resource bundles for $(MODULE)
- $(RM) $$($1_CMDLINE_FILE)
- $$(call ListPathsSafely,$1_CMDLINE,\n, >> $$($1_CMDLINE_FILE))
+ $$(eval $$(call ListPathsSafely, $1_CMDLINE, $$($1_CMDLINE_FILE)))
$(TOOL_COMPILEPROPERTIES) -quiet @$$($1_CMDLINE_FILE)
$(TOUCH) $$@
--- a/jdk/make/launcher/Launcher-jdk.scripting.nashorn.shell.gmk Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/make/launcher/Launcher-jdk.scripting.nashorn.shell.gmk Wed Jul 05 20:52:10 2017 +0200
@@ -26,5 +26,6 @@
include LauncherCommon.gmk
$(eval $(call SetupLauncher,jjs, \
+ -DENABLE_ARG_FILES \
-DJAVA_ARGS='{ "-J-ms8m"$(COMMA) "jdk.nashorn.tools.jjs.Main"$(COMMA) }'))
--- a/jdk/make/lib/Awt2dLibraries.gmk Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/make/lib/Awt2dLibraries.gmk Wed Jul 05 20:52:10 2017 +0200
@@ -959,10 +959,9 @@
$(X_CFLAGS) \
$(X_LIBS) \
$(LIBAWT_LWAWT_CFLAGS), \
- DISABLED_WARNINGS_clang := incomplete-implementation \
+ DISABLED_WARNINGS_clang := incomplete-implementation enum-conversion \
deprecated-declarations objc-method-access bitwise-op-parentheses \
incompatible-pointer-types parentheses-equality extra-tokens, \
- WARNINGS_AS_ERRORS_clang := false, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN) \
-L$(INSTALL_LIBRARIES_HERE), \
--- a/jdk/make/lib/CoreLibraries.gmk Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/make/lib/CoreLibraries.gmk Wed Jul 05 20:52:10 2017 +0200
@@ -160,6 +160,7 @@
-framework Security -framework SystemConfiguration, \
LDFLAGS_SUFFIX_windows := -export:winFileHandleOpen -export:handleLseek \
-export:getLastErrorString \
+ -export:getErrorString \
jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \
shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \
advapi32.lib version.lib, \
--- a/jdk/make/mapfiles/libjava/mapfile-vers Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/make/mapfiles/libjava/mapfile-vers Wed Jul 05 20:52:10 2017 +0200
@@ -282,8 +282,9 @@
# ZipFile.c needs this one
throwFileNotFoundException;
- # zip_util.c needs this one
+ # zip_util.c needs these
getLastErrorString;
+ getErrorString;
# Outcalls from libjvm done using dlsym().
--- a/jdk/make/rmic/RmicCommon.gmk Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/make/rmic/RmicCommon.gmk Wed Jul 05 20:52:10 2017 +0200
@@ -31,9 +31,9 @@
##########################################################################################
-BTRMIC_CP := $(call PathList, $(INTERIM_CORBA_JAR) \
+BTRMIC_CP := $(call PathList, \
$(BUILDTOOLS_OUTPUTDIR)/interim_rmic_classes $(INTERIM_LANGTOOLS_JAR))
-BTRMIC_ARGS := -Xbootclasspath/p:$(BTRMIC_CP) -cp $(BTRMIC_CP)
+BTRMIC_ARGS := -cp $(BTRMIC_CP)
RMIC := $(JAVA) $(BTRMIC_ARGS) sun.rmi.rmic.Main
CLASSES_DIR := $(JDK_OUTPUTDIR)/modules
--- a/jdk/make/src/classes/build/tools/module/ModuleArchive.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/make/src/classes/build/tools/module/ModuleArchive.java Wed Jul 05 20:52:10 2017 +0200
@@ -105,6 +105,7 @@
entries.addAll(stream
.filter(p -> !Files.isDirectory(p)
&& !classes.relativize(p).toString().startsWith("_the.")
+ && !classes.relativize(p).toString().endsWith(".bc")
&& !classes.relativize(p).toString().equals("javac_state"))
.sorted()
.map(p -> toEntry(p, classes, EntryType.CLASS_OR_RESOURCE))
--- a/jdk/src/demo/share/applets/MoleculeViewer/XYZApp.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/demo/share/applets/MoleculeViewer/XYZApp.java Wed Jul 05 20:52:10 2017 +0200
@@ -504,11 +504,11 @@
private static Applet applet;
private static byte[] data;
- private final static int R = 40;
- private final static int hx = 15;
- private final static int hy = 15;
- private final static int bgGrey = 192;
- private final static int nBalls = 16;
+ private static final int R = 40;
+ private static final int hx = 15;
+ private static final int hy = 15;
+ private static final int bgGrey = 192;
+ private static final int nBalls = 16;
private static int maxr;
private int Rl;
private int Gl;
--- a/jdk/src/demo/share/java2d/J2DBench/src/j2dbench/tests/ImageTests.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/demo/share/java2d/J2DBench/src/j2dbench/tests/ImageTests.java Wed Jul 05 20:52:10 2017 +0200
@@ -771,7 +771,7 @@
}
}
- private static abstract class ImageOpTests extends ImageTests {
+ private abstract static class ImageOpTests extends ImageTests {
ImageOpTests(Group parent, String nodeName, String desc) {
super(parent, nodeName, desc,
new Modifier.Filter() {
--- a/jdk/src/demo/share/java2d/J2DBench/src/j2dbench/tests/PixelTests.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/demo/share/java2d/J2DBench/src/j2dbench/tests/PixelTests.java Wed Jul 05 20:52:10 2017 +0200
@@ -245,7 +245,7 @@
}
}
- public static abstract class BufImgTest extends PixelTests {
+ public abstract static class BufImgTest extends PixelTests {
public BufImgTest(String nodeName, String description) {
super(bufimgtestroot, nodeName, description);
}
@@ -281,7 +281,7 @@
}
}
- public static abstract class RasTest extends PixelTests {
+ public abstract static class RasTest extends PixelTests {
public RasTest(String nodeName, String description) {
super(rastertestroot, nodeName, description);
}
@@ -355,7 +355,7 @@
}
}
- public static abstract class DataBufTest extends PixelTests {
+ public abstract static class DataBufTest extends PixelTests {
public DataBufTest(String nodeName, String description) {
super(dbtestroot, nodeName, description);
}
--- a/jdk/src/demo/share/java2d/J2DBench/src/j2dbench/tests/iio/InputTests.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/demo/share/java2d/J2DBench/src/j2dbench/tests/iio/InputTests.java Wed Jul 05 20:52:10 2017 +0200
@@ -161,7 +161,7 @@
}
}
- protected static abstract class Context {
+ protected abstract static class Context {
int size;
Object input;
int inputType;
--- a/jdk/src/demo/share/java2d/J2DBench/src/j2dbench/tests/iio/OutputTests.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/demo/share/java2d/J2DBench/src/j2dbench/tests/iio/OutputTests.java Wed Jul 05 20:52:10 2017 +0200
@@ -156,7 +156,7 @@
}
}
- protected static abstract class Context {
+ protected abstract static class Context {
int size;
Object output;
int outputType;
--- a/jdk/src/demo/share/java2d/J2DBench/src/j2dbench/tests/text/TextMeasureTests.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/demo/share/java2d/J2DBench/src/j2dbench/tests/text/TextMeasureTests.java Wed Jul 05 20:52:10 2017 +0200
@@ -232,7 +232,7 @@
}
}
- public static abstract class GVMeasureTest extends TextMeasureTests {
+ public abstract static class GVMeasureTest extends TextMeasureTests {
protected GVMeasureTest(Group parent, String nodeName, String description) {
super(parent, nodeName, description);
}
@@ -431,7 +431,7 @@
}
}
- public static abstract class TLMeasureTest extends TextMeasureTests {
+ public abstract static class TLMeasureTest extends TextMeasureTests {
protected TLMeasureTest(Group parent, String nodeName, String description) {
super(parent, nodeName, description);
}
@@ -506,7 +506,7 @@
}
}
- public static abstract class TLExtendedMeasureTest extends TLMeasureTest {
+ public abstract static class TLExtendedMeasureTest extends TLMeasureTest {
protected TLExtendedMeasureTest(Group parent, String nodeName, String description) {
super(parent, nodeName, description);
}
--- a/jdk/src/demo/share/jfc/FileChooserDemo/FileChooserDemo.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/demo/share/jfc/FileChooserDemo/FileChooserDemo.java Wed Jul 05 20:52:10 2017 +0200
@@ -143,11 +143,11 @@
private JTextField customField;
private final ExampleFileView fileView;
private final ExampleFileSystemView fileSystemView;
- private final static Dimension hpad10 = new Dimension(10, 1);
- private final static Dimension vpad20 = new Dimension(1, 20);
- private final static Dimension vpad7 = new Dimension(1, 7);
- private final static Dimension vpad4 = new Dimension(1, 4);
- private final static Insets insets = new Insets(5, 10, 0, 10);
+ private static final Dimension hpad10 = new Dimension(10, 1);
+ private static final Dimension vpad20 = new Dimension(1, 20);
+ private static final Dimension vpad7 = new Dimension(1, 7);
+ private static final Dimension vpad4 = new Dimension(1, 4);
+ private static final Insets insets = new Insets(5, 10, 0, 10);
private final FilePreviewer previewer;
private final JFileChooser chooser;
--- a/jdk/src/demo/share/jfc/Notepad/Notepad.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/demo/share/jfc/Notepad/Notepad.java Wed Jul 05 20:52:10 2017 +0200
@@ -64,7 +64,7 @@
protected static Properties properties;
private static ResourceBundle resources;
- private final static String EXIT_AFTER_PAINT = "-exit";
+ private static final String EXIT_AFTER_PAINT = "-exit";
private static boolean exitAfterFirstPaint;
private static final String[] MENUBAR_KEYS = {"file", "edit", "debug"};
--- a/jdk/src/java.base/linux/classes/sun/nio/ch/EPollSelectorImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/linux/classes/sun/nio/ch/EPollSelectorImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -65,9 +65,23 @@
long pipeFds = IOUtil.makePipe(false);
fd0 = (int) (pipeFds >>> 32);
fd1 = (int) pipeFds;
- pollWrapper = new EPollArrayWrapper();
- pollWrapper.initInterrupt(fd0, fd1);
- fdToKey = new HashMap<>();
+ try {
+ pollWrapper = new EPollArrayWrapper();
+ pollWrapper.initInterrupt(fd0, fd1);
+ fdToKey = new HashMap<>();
+ } catch (Throwable t) {
+ try {
+ FileDispatcherImpl.closeIntFD(fd0);
+ } catch (IOException ioe0) {
+ t.addSuppressed(ioe0);
+ }
+ try {
+ FileDispatcherImpl.closeIntFD(fd1);
+ } catch (IOException ioe1) {
+ t.addSuppressed(ioe1);
+ }
+ throw t;
+ }
}
protected int doSelect(long timeout) throws IOException {
--- a/jdk/src/java.base/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -84,10 +84,24 @@
long fds = IOUtil.makePipe(false);
fd0 = (int)(fds >>> 32);
fd1 = (int)fds;
- kqueueWrapper = new KQueueArrayWrapper();
- kqueueWrapper.initInterrupt(fd0, fd1);
- fdMap = new HashMap<>();
- totalChannels = 1;
+ try {
+ kqueueWrapper = new KQueueArrayWrapper();
+ kqueueWrapper.initInterrupt(fd0, fd1);
+ fdMap = new HashMap<>();
+ totalChannels = 1;
+ } catch (Throwable t) {
+ try {
+ FileDispatcherImpl.closeIntFD(fd0);
+ } catch (IOException ioe0) {
+ t.addSuppressed(ioe0);
+ }
+ try {
+ FileDispatcherImpl.closeIntFD(fd1);
+ } catch (IOException ioe1) {
+ t.addSuppressed(ioe1);
+ }
+ throw t;
+ }
}
--- a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/PackerImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/PackerImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -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
@@ -34,6 +34,7 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.time.ZoneOffset;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -41,7 +42,6 @@
import java.util.ListIterator;
import java.util.Map;
import java.util.SortedMap;
-import java.util.TimeZone;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import java.util.jar.JarInputStream;
@@ -84,13 +84,8 @@
*/
public synchronized void pack(JarFile in, OutputStream out) throws IOException {
assert(Utils.currentInstance.get() == null);
- TimeZone tz = (props.getBoolean(Utils.PACK_DEFAULT_TIMEZONE))
- ? null
- : TimeZone.getDefault();
try {
Utils.currentInstance.set(this);
- if (tz != null) TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
-
if ("0".equals(props.getProperty(Pack200.Packer.EFFORT))) {
Utils.copyJarFile(in, out);
} else {
@@ -98,7 +93,6 @@
}
} finally {
Utils.currentInstance.set(null);
- if (tz != null) TimeZone.setDefault(tz);
in.close();
}
}
@@ -119,11 +113,8 @@
*/
public synchronized void pack(JarInputStream in, OutputStream out) throws IOException {
assert(Utils.currentInstance.get() == null);
- TimeZone tz = (props.getBoolean(Utils.PACK_DEFAULT_TIMEZONE)) ? null :
- TimeZone.getDefault();
try {
Utils.currentInstance.set(this);
- if (tz != null) TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
if ("0".equals(props.getProperty(Pack200.Packer.EFFORT))) {
Utils.copyJarFile(in, out);
} else {
@@ -131,7 +122,6 @@
}
} finally {
Utils.currentInstance.set(null);
- if (tz != null) TimeZone.setDefault(tz);
in.close();
}
}
@@ -327,7 +317,9 @@
this.f = null;
this.jf = jf;
this.je = je;
- int timeSecs = getModtime(je.getTime());
+ int timeSecs = (int) je.getTimeLocal()
+ .atOffset(ZoneOffset.UTC)
+ .toEpochSecond();
if (keepModtime && timeSecs != Constants.NO_MODTIME) {
this.modtime = timeSecs;
} else if (latestModtime && timeSecs > pkg.default_modtime) {
--- a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/PropMap.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/PropMap.java Wed Jul 05 20:52:10 2017 +0200
@@ -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
@@ -69,10 +69,6 @@
props.put(Utils.DEBUG_VERBOSE,
String.valueOf(Integer.getInteger(Utils.DEBUG_VERBOSE,0)));
- // Set the PACK_TIMEZONE_NO_UTC
- props.put(Utils.PACK_DEFAULT_TIMEZONE,
- String.valueOf(Boolean.getBoolean(Utils.PACK_DEFAULT_TIMEZONE)));
-
// The segment size is unlimited
props.put(Pack200.Packer.SEGMENT_LIMIT, "-1");
--- a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/UnpackerImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -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
@@ -32,10 +32,11 @@
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.time.LocalDateTime;
+import java.time.ZoneOffset;
import java.util.HashSet;
import java.util.Set;
import java.util.SortedMap;
-import java.util.TimeZone;
import java.util.jar.JarEntry;
import java.util.jar.JarInputStream;
import java.util.jar.JarOutputStream;
@@ -95,13 +96,9 @@
throw new NullPointerException("null output");
}
assert(Utils.currentInstance.get() == null);
- TimeZone tz = (props.getBoolean(Utils.PACK_DEFAULT_TIMEZONE))
- ? null
- : TimeZone.getDefault();
try {
Utils.currentInstance.set(this);
- if (tz != null) TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
final int verbose = props.getInteger(Utils.DEBUG_VERBOSE);
BufferedInputStream in0 = new BufferedInputStream(in);
if (Utils.isJarMagic(Utils.readMagic(in0))) {
@@ -125,7 +122,6 @@
} finally {
_nunp = null;
Utils.currentInstance.set(null);
- if (tz != null) TimeZone.setDefault(tz);
}
}
@@ -246,9 +242,9 @@
je.setCrc(crc.getValue());
}
if (keepModtime) {
- je.setTime(file.modtime);
- // Convert back to milliseconds
- je.setTime((long)file.modtime * 1000);
+ LocalDateTime ldt = LocalDateTime
+ .ofEpochSecond(file.modtime, 0, ZoneOffset.UTC);
+ je.setTimeLocal(ldt);
} else {
je.setTime((long)modtime * 1000);
}
--- a/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/Utils.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/java/util/jar/pack/Utils.java Wed Jul 05 20:52:10 2017 +0200
@@ -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
@@ -62,13 +62,6 @@
static final String DEBUG_DISABLE_NATIVE = COM_PREFIX+"disable.native";
/*
- * Use the default working TimeZone instead of UTC.
- * Note: This has installer unpacker implications.
- * see: zip.cpp which uses gmtime vs. localtime.
- */
- static final String PACK_DEFAULT_TIMEZONE = COM_PREFIX+"default.timezone";
-
- /*
* Property indicating that the unpacker should
* ignore the transmitted PACK_MODIFICATION_TIME,
* replacing it by the given value. The value can
--- a/jdk/src/java.base/share/classes/com/sun/security/ntlm/NTLM.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/com/sun/security/ntlm/NTLM.java Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 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
@@ -56,7 +56,9 @@
private final Mac hmac;
private final MessageDigest md5;
private static final boolean DEBUG =
- System.getProperty("ntlm.debug") != null;
+ java.security.AccessController.doPrivileged(
+ new sun.security.action.GetBooleanAction("ntlm.debug"))
+ .booleanValue();
final Version v;
--- a/jdk/src/java.base/share/classes/java/io/Console.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/io/Console.java Wed Jul 05 20:52:10 2017 +0200
@@ -27,6 +27,8 @@
import java.util.*;
import java.nio.charset.Charset;
+import jdk.internal.misc.JavaIOAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.nio.cs.StreamDecoder;
import sun.nio.cs.StreamEncoder;
@@ -519,7 +521,7 @@
try {
// Add a shutdown hook to restore console's echo state should
// it be necessary.
- sun.misc.SharedSecrets.getJavaLangAccess()
+ SharedSecrets.getJavaLangAccess()
.registerShutdownHook(0 /* shutdown hook invocation order */,
false /* only register if shutdown is not in progress */,
new Runnable() {
@@ -536,7 +538,7 @@
// by a shutdown hook
}
- sun.misc.SharedSecrets.setJavaIOAccess(new sun.misc.JavaIOAccess() {
+ SharedSecrets.setJavaIOAccess(new JavaIOAccess() {
public Console console() {
if (istty()) {
if (cons == null)
--- a/jdk/src/java.base/share/classes/java/io/DeleteOnExitHook.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/io/DeleteOnExitHook.java Wed Jul 05 20:52:10 2017 +0200
@@ -26,6 +26,7 @@
import java.util.*;
import java.io.File;
+import jdk.internal.misc.SharedSecrets;
/**
* This class holds a set of filenames to be deleted on VM exit through a shutdown hook.
@@ -41,7 +42,7 @@
// delete on exit list and cause the DeleteOnExitHook to be
// registered during shutdown in progress. So set the
// registerShutdownInProgress parameter to true.
- sun.misc.SharedSecrets.getJavaLangAccess()
+ SharedSecrets.getJavaLangAccess()
.registerShutdownHook(2 /* Shutdown hook invocation order */,
true /* register even if shutdown in progress */,
new Runnable() {
--- a/jdk/src/java.base/share/classes/java/io/FileOutputStream.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/io/FileOutputStream.java Wed Jul 05 20:52:10 2017 +0200
@@ -27,8 +27,8 @@
import java.nio.channels.FileChannel;
import java.util.concurrent.atomic.AtomicBoolean;
-import sun.misc.SharedSecrets;
-import sun.misc.JavaIOFileDescriptorAccess;
+import jdk.internal.misc.SharedSecrets;
+import jdk.internal.misc.JavaIOFileDescriptorAccess;
import sun.nio.ch.FileChannelImpl;
--- a/jdk/src/java.base/share/classes/java/lang/FdLibm.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/FdLibm.java Wed Jul 05 20:52:10 2017 +0200
@@ -352,15 +352,15 @@
double p_h, p_l, t1, t2;
// |y| is huge
- if (y_abs > 0x1.0p31) { // if |y| > 2**31
+ if (y_abs > 0x1.00000_ffff_ffffp31) { // if |y| > ~2**31
final double INV_LN2 = 0x1.7154_7652_b82fep0; // 1.44269504088896338700e+00 = 1/ln2
final double INV_LN2_H = 0x1.715476p0; // 1.44269502162933349609e+00 = 24 bits of 1/ln2
final double INV_LN2_L = 0x1.4ae0_bf85_ddf44p-26; // 1.92596299112661746887e-08 = 1/ln2 tail
// Over/underflow if x is not close to one
- if (x_abs < 0x1.fffffp-1) // |x| < 0.9999995231628418
+ if (x_abs < 0x1.fffff_0000_0000p-1) // |x| < ~0.9999995231628418
return (y < 0.0) ? s * INFINITY : s * 0.0;
- if (x_abs > 1.0) // |x| > 1.0
+ if (x_abs > 0x1.00000_ffff_ffffp0) // |x| > ~1.0
return (y > 0.0) ? s * INFINITY : s * 0.0;
/*
* now |1-x| is tiny <= 2**-20, sufficient to compute
--- a/jdk/src/java.base/share/classes/java/lang/System.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/System.java Wed Jul 05 20:52:10 2017 +0200
@@ -43,6 +43,8 @@
import sun.security.util.SecurityConstants;
import sun.reflect.annotation.AnnotationType;
import jdk.internal.HotSpotIntrinsicCandidate;
+import jdk.internal.misc.JavaLangAccess;;
+import jdk.internal.misc.SharedSecrets;;
/**
* The <code>System</code> class contains several useful class fields
@@ -212,7 +214,7 @@
public static Console console() {
if (cons == null) {
synchronized (System.class) {
- cons = sun.misc.SharedSecrets.getJavaIOAccess().console();
+ cons = SharedSecrets.getJavaIOAccess().console();
}
}
return cons;
@@ -1216,7 +1218,7 @@
private static void setJavaLangAccess() {
// Allow privileged classes outside of java.lang
- sun.misc.SharedSecrets.setJavaLangAccess(new sun.misc.JavaLangAccess(){
+ SharedSecrets.setJavaLangAccess(new JavaLangAccess(){
public sun.reflect.ConstantPool getConstantPool(Class<?> klass) {
return klass.getConstantPool();
}
--- a/jdk/src/java.base/share/classes/java/lang/Thread.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/Thread.java Wed Jul 05 20:52:10 2017 +0200
@@ -233,7 +233,8 @@
private volatile Interruptible blocker;
private final Object blockerLock = new Object();
- /* Set the blocker field; invoked via sun.misc.SharedSecrets from java.nio code
+ /* Set the blocker field; invoked via jdk.internal.misc.SharedSecrets
+ * from java.nio code
*/
void blockedOn(Interruptible b) {
synchronized (blockerLock) {
--- a/jdk/src/java.base/share/classes/java/lang/ref/Finalizer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/ref/Finalizer.java Wed Jul 05 20:52:10 2017 +0200
@@ -27,9 +27,9 @@
import java.security.PrivilegedAction;
import java.security.AccessController;
-import sun.misc.JavaLangAccess;
+import jdk.internal.misc.JavaLangAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.misc.ManagedLocalsThread;
-import sun.misc.SharedSecrets;
import sun.misc.VM;
final class Finalizer extends FinalReference<Object> { /* Package-private; must be in
--- a/jdk/src/java.base/share/classes/java/lang/ref/Reference.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/ref/Reference.java Wed Jul 05 20:52:10 2017 +0200
@@ -26,10 +26,10 @@
package java.lang.ref;
import sun.misc.Cleaner;
-import sun.misc.JavaLangRefAccess;
+import jdk.internal.HotSpotIntrinsicCandidate;
+import jdk.internal.misc.JavaLangRefAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.misc.ManagedLocalsThread;
-import sun.misc.SharedSecrets;
-import jdk.internal.HotSpotIntrinsicCandidate;
/**
* Abstract base class for reference objects. This class defines the
--- a/jdk/src/java.base/share/classes/java/lang/reflect/Constructor.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/reflect/Constructor.java Wed Jul 05 20:52:10 2017 +0200
@@ -25,6 +25,7 @@
package java.lang.reflect;
+import jdk.internal.misc.SharedSecrets;
import sun.reflect.CallerSensitive;
import sun.reflect.ConstructorAccessor;
import sun.reflect.Reflection;
@@ -582,7 +583,7 @@
// A Constructor for an inner class
return TypeAnnotationParser.buildAnnotatedType(getTypeAnnotationBytes0(),
- sun.misc.SharedSecrets.getJavaLangAccess().
+ SharedSecrets.getJavaLangAccess().
getConstantPool(thisDeclClass),
this,
thisDeclClass,
--- a/jdk/src/java.base/share/classes/java/lang/reflect/Executable.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/reflect/Executable.java Wed Jul 05 20:52:10 2017 +0200
@@ -28,6 +28,8 @@
import java.lang.annotation.*;
import java.util.Map;
import java.util.Objects;
+
+import jdk.internal.misc.SharedSecrets;
import sun.reflect.annotation.AnnotationParser;
import sun.reflect.annotation.AnnotationSupport;
import sun.reflect.annotation.TypeAnnotationParser;
@@ -79,7 +81,7 @@
Annotation[][] parseParameterAnnotations(byte[] parameterAnnotations) {
return AnnotationParser.parseParameterAnnotations(
parameterAnnotations,
- sun.misc.SharedSecrets.getJavaLangAccess().
+ SharedSecrets.getJavaLangAccess().
getConstantPool(getDeclaringClass()),
getDeclaringClass());
}
@@ -601,7 +603,7 @@
} else {
declAnnos = AnnotationParser.parseAnnotations(
getAnnotationBytes(),
- sun.misc.SharedSecrets.getJavaLangAccess().
+ SharedSecrets.getJavaLangAccess().
getConstantPool(getDeclaringClass()),
getDeclaringClass()
);
@@ -638,7 +640,7 @@
*/
AnnotatedType getAnnotatedReturnType0(Type returnType) {
return TypeAnnotationParser.buildAnnotatedType(getTypeAnnotationBytes0(),
- sun.misc.SharedSecrets.getJavaLangAccess().
+ SharedSecrets.getJavaLangAccess().
getConstantPool(getDeclaringClass()),
this,
getDeclaringClass(),
@@ -672,7 +674,7 @@
if (Modifier.isStatic(this.getModifiers()))
return null;
return TypeAnnotationParser.buildAnnotatedType(getTypeAnnotationBytes0(),
- sun.misc.SharedSecrets.getJavaLangAccess().
+ SharedSecrets.getJavaLangAccess().
getConstantPool(getDeclaringClass()),
this,
getDeclaringClass(),
@@ -696,7 +698,7 @@
*/
public AnnotatedType[] getAnnotatedParameterTypes() {
return TypeAnnotationParser.buildAnnotatedTypes(getTypeAnnotationBytes0(),
- sun.misc.SharedSecrets.getJavaLangAccess().
+ SharedSecrets.getJavaLangAccess().
getConstantPool(getDeclaringClass()),
this,
getDeclaringClass(),
@@ -720,7 +722,7 @@
*/
public AnnotatedType[] getAnnotatedExceptionTypes() {
return TypeAnnotationParser.buildAnnotatedTypes(getTypeAnnotationBytes0(),
- sun.misc.SharedSecrets.getJavaLangAccess().
+ SharedSecrets.getJavaLangAccess().
getConstantPool(getDeclaringClass()),
this,
getDeclaringClass(),
--- a/jdk/src/java.base/share/classes/java/lang/reflect/Field.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/reflect/Field.java Wed Jul 05 20:52:10 2017 +0200
@@ -25,6 +25,7 @@
package java.lang.reflect;
+import jdk.internal.misc.SharedSecrets;
import sun.reflect.CallerSensitive;
import sun.reflect.FieldAccessor;
import sun.reflect.Reflection;
@@ -1152,7 +1153,7 @@
} else {
declAnnos = AnnotationParser.parseAnnotations(
annotations,
- sun.misc.SharedSecrets.getJavaLangAccess()
+ SharedSecrets.getJavaLangAccess()
.getConstantPool(getDeclaringClass()),
getDeclaringClass());
}
@@ -1175,7 +1176,7 @@
*/
public AnnotatedType getAnnotatedType() {
return TypeAnnotationParser.buildAnnotatedType(getTypeAnnotationBytes0(),
- sun.misc.SharedSecrets.getJavaLangAccess().
+ SharedSecrets.getJavaLangAccess().
getConstantPool(getDeclaringClass()),
this,
getDeclaringClass(),
--- a/jdk/src/java.base/share/classes/java/lang/reflect/Method.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/lang/reflect/Method.java Wed Jul 05 20:52:10 2017 +0200
@@ -26,6 +26,7 @@
package java.lang.reflect;
import jdk.internal.HotSpotIntrinsicCandidate;
+import jdk.internal.misc.SharedSecrets;
import sun.reflect.CallerSensitive;
import sun.reflect.MethodAccessor;
import sun.reflect.Reflection;
@@ -626,7 +627,7 @@
getReturnType());
Object result = AnnotationParser.parseMemberValue(
memberType, ByteBuffer.wrap(annotationDefault),
- sun.misc.SharedSecrets.getJavaLangAccess().
+ SharedSecrets.getJavaLangAccess().
getConstantPool(getDeclaringClass()),
getDeclaringClass());
if (result instanceof sun.reflect.annotation.ExceptionProxy)
--- a/jdk/src/java.base/share/classes/java/net/HttpCookie.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/net/HttpCookie.java Wed Jul 05 20:52:10 2017 +0200
@@ -35,6 +35,8 @@
import java.util.Date;
import java.util.Locale;
import java.util.Objects;
+import jdk.internal.misc.JavaNetHttpCookieAccess;
+import jdk.internal.misc.SharedSecrets;
/**
* An HttpCookie object represents an HTTP cookie, which carries state
@@ -971,8 +973,8 @@
}
static {
- sun.misc.SharedSecrets.setJavaNetHttpCookieAccess(
- new sun.misc.JavaNetHttpCookieAccess() {
+ SharedSecrets.setJavaNetHttpCookieAccess(
+ new JavaNetHttpCookieAccess() {
public List<HttpCookie> parse(String header) {
return HttpCookie.parse(header, true);
}
--- a/jdk/src/java.base/share/classes/java/net/InetAddress.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/net/InetAddress.java Wed Jul 05 20:52:10 2017 +0200
@@ -43,6 +43,8 @@
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.concurrent.atomic.AtomicLong;
+import jdk.internal.misc.JavaNetInetAddressAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.security.action.*;
import sun.net.InetAddressCachePolicy;
import sun.net.util.IPAddressUtil;
@@ -215,7 +217,7 @@
* DNS forging.
*
* Oracle JSSE provider is using this original hostname, via
- * sun.misc.JavaNetAccess, for SSL/TLS endpoint identification.
+ * jdk.internal.misc.JavaNetAccess, for SSL/TLS endpoint identification.
*
* Note: May define a new public method in the future if necessary.
*/
@@ -297,8 +299,8 @@
return null;
}
});
- sun.misc.SharedSecrets.setJavaNetInetAddressAccess(
- new sun.misc.JavaNetInetAddressAccess() {
+ SharedSecrets.setJavaNetInetAddressAccess(
+ new JavaNetInetAddressAccess() {
public String getOriginalHostName(InetAddress ia) {
return ia.holder.getOriginalHostName();
}
--- a/jdk/src/java.base/share/classes/java/net/URLClassLoader.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/net/URLClassLoader.java Wed Jul 05 20:52:10 2017 +0200
@@ -49,6 +49,9 @@
import java.util.jar.Attributes.Name;
import java.util.jar.JarFile;
import java.util.jar.Manifest;
+
+import jdk.internal.misc.JavaNetAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.misc.Resource;
import sun.misc.URLClassPath;
import sun.net.www.ParseUtil;
@@ -769,9 +772,9 @@
}
static {
- sun.misc.SharedSecrets.setJavaNetAccess (
- new sun.misc.JavaNetAccess() {
- public URLClassPath getURLClassPath (URLClassLoader u) {
+ SharedSecrets.setJavaNetAccess(
+ new JavaNetAccess() {
+ public URLClassPath getURLClassPath(URLClassLoader u) {
return u.ucp;
}
}
--- a/jdk/src/java.base/share/classes/java/nio/Bits.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/nio/Bits.java Wed Jul 05 20:52:10 2017 +0200
@@ -29,8 +29,9 @@
import java.util.concurrent.atomic.AtomicLong;
import java.util.concurrent.atomic.LongAdder;
-import sun.misc.JavaLangRefAccess;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaNioAccess;
+import jdk.internal.misc.JavaLangRefAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.misc.Unsafe;
import sun.misc.VM;
@@ -702,11 +703,11 @@
static {
// setup access to this package in SharedSecrets
- sun.misc.SharedSecrets.setJavaNioAccess(
- new sun.misc.JavaNioAccess() {
+ SharedSecrets.setJavaNioAccess(
+ new JavaNioAccess() {
@Override
- public sun.misc.JavaNioAccess.BufferPool getDirectBufferPool() {
- return new sun.misc.JavaNioAccess.BufferPool() {
+ public JavaNioAccess.BufferPool getDirectBufferPool() {
+ return new JavaNioAccess.BufferPool() {
@Override
public String getName() {
return "direct";
--- a/jdk/src/java.base/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,6 +34,7 @@
import java.nio.channels.*;
import java.security.AccessController;
import java.security.PrivilegedAction;
+import jdk.internal.misc.SharedSecrets;
import sun.nio.ch.Interruptible;
@@ -206,9 +207,8 @@
}
- // -- sun.misc.SharedSecrets --
+ // -- jdk.internal.misc.SharedSecrets --
static void blockedOn(Interruptible intr) { // package-private
- sun.misc.SharedSecrets.getJavaLangAccess().blockedOn(Thread.currentThread(),
- intr);
+ SharedSecrets.getJavaLangAccess().blockedOn(Thread.currentThread(), intr);
}
}
--- a/jdk/src/java.base/share/classes/java/security/ProtectionDomain.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/security/ProtectionDomain.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,10 +34,10 @@
import java.util.Map;
import java.util.WeakHashMap;
import java.util.concurrent.ConcurrentHashMap;
-import sun.misc.JavaSecurityAccess;
-import sun.misc.JavaSecurityProtectionDomainAccess;
-import static sun.misc.JavaSecurityProtectionDomainAccess.ProtectionDomainCache;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaSecurityAccess;
+import jdk.internal.misc.JavaSecurityProtectionDomainAccess;
+import static jdk.internal.misc.JavaSecurityProtectionDomainAccess.ProtectionDomainCache;
+import jdk.internal.misc.SharedSecrets;
import sun.security.util.Debug;
import sun.security.util.SecurityConstants;
--- a/jdk/src/java.base/share/classes/java/text/SimpleDateFormat.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/text/SimpleDateFormat.java Wed Jul 05 20:52:10 2017 +0200
@@ -1722,7 +1722,7 @@
}
return (start + zoneNames[nameIndex].length());
}
- return 0;
+ return -start;
}
/**
--- a/jdk/src/java.base/share/classes/java/util/EnumMap.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/EnumMap.java Wed Jul 05 20:52:10 2017 +0200
@@ -26,7 +26,7 @@
package java.util;
import java.util.Map.Entry;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.SharedSecrets;
/**
* A specialized {@link Map} implementation for use with enum type keys. All
--- a/jdk/src/java.base/share/classes/java/util/EnumSet.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/EnumSet.java Wed Jul 05 20:52:10 2017 +0200
@@ -25,7 +25,7 @@
package java.util;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.SharedSecrets;
/**
* A specialized {@link Set} implementation for use with enum types. All of
--- a/jdk/src/java.base/share/classes/java/util/StringJoiner.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/StringJoiner.java Wed Jul 05 20:52:10 2017 +0200
@@ -24,8 +24,8 @@
*/
package java.util;
-import sun.misc.JavaLangAccess;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaLangAccess;
+import jdk.internal.misc.SharedSecrets;
/**
* {@code StringJoiner} is used to construct a sequence of characters separated
--- a/jdk/src/java.base/share/classes/java/util/UUID.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/UUID.java Wed Jul 05 20:52:10 2017 +0200
@@ -27,8 +27,8 @@
import java.security.*;
-import sun.misc.JavaLangAccess;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaLangAccess;
+import jdk.internal.misc.SharedSecrets;
/**
* A class that represents an immutable universally unique identifier (UUID).
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicBoolean.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicBoolean.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,7 +34,6 @@
*/
package java.util.concurrent.atomic;
-import sun.misc.Unsafe;
/**
* A {@code boolean} value that may be updated atomically. See the
@@ -49,15 +48,17 @@
*/
public class AtomicBoolean implements java.io.Serializable {
private static final long serialVersionUID = 4654671469794556979L;
- // setup to use Unsafe.compareAndSwapInt for updates
- private static final Unsafe unsafe = Unsafe.getUnsafe();
- private static final long valueOffset;
+
+ private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
+ private static final long VALUE;
static {
try {
- valueOffset = unsafe.objectFieldOffset
+ VALUE = U.objectFieldOffset
(AtomicBoolean.class.getDeclaredField("value"));
- } catch (Exception ex) { throw new Error(ex); }
+ } catch (ReflectiveOperationException e) {
+ throw new Error(e);
+ }
}
private volatile int value;
@@ -96,9 +97,9 @@
* the actual value was not equal to the expected value.
*/
public final boolean compareAndSet(boolean expect, boolean update) {
- int e = expect ? 1 : 0;
- int u = update ? 1 : 0;
- return unsafe.compareAndSwapInt(this, valueOffset, e, u);
+ return U.compareAndSwapInt(this, VALUE,
+ (expect ? 1 : 0),
+ (update ? 1 : 0));
}
/**
@@ -114,9 +115,9 @@
* @return {@code true} if successful
*/
public boolean weakCompareAndSet(boolean expect, boolean update) {
- int e = expect ? 1 : 0;
- int u = update ? 1 : 0;
- return unsafe.compareAndSwapInt(this, valueOffset, e, u);
+ return U.compareAndSwapInt(this, VALUE,
+ (expect ? 1 : 0),
+ (update ? 1 : 0));
}
/**
@@ -135,8 +136,7 @@
* @since 1.6
*/
public final void lazySet(boolean newValue) {
- int v = newValue ? 1 : 0;
- unsafe.putOrderedInt(this, valueOffset, v);
+ U.putOrderedInt(this, VALUE, (newValue ? 1 : 0));
}
/**
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicInteger.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicInteger.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,9 +34,9 @@
*/
package java.util.concurrent.atomic;
-import java.util.function.IntUnaryOperator;
+
import java.util.function.IntBinaryOperator;
-import sun.misc.Unsafe;
+import java.util.function.IntUnaryOperator;
/**
* An {@code int} value that may be updated atomically. See the
@@ -50,19 +50,20 @@
*
* @since 1.5
* @author Doug Lea
-*/
+ */
public class AtomicInteger extends Number implements java.io.Serializable {
private static final long serialVersionUID = 6214790243416807050L;
- // setup to use Unsafe.compareAndSwapInt for updates
- private static final Unsafe unsafe = Unsafe.getUnsafe();
- private static final long valueOffset;
+ private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
+ private static final long VALUE;
static {
try {
- valueOffset = unsafe.objectFieldOffset
+ VALUE = U.objectFieldOffset
(AtomicInteger.class.getDeclaredField("value"));
- } catch (Exception ex) { throw new Error(ex); }
+ } catch (ReflectiveOperationException e) {
+ throw new Error(e);
+ }
}
private volatile int value;
@@ -107,7 +108,7 @@
* @since 1.6
*/
public final void lazySet(int newValue) {
- unsafe.putOrderedInt(this, valueOffset, newValue);
+ U.putOrderedInt(this, VALUE, newValue);
}
/**
@@ -117,7 +118,7 @@
* @return the previous value
*/
public final int getAndSet(int newValue) {
- return unsafe.getAndSetInt(this, valueOffset, newValue);
+ return U.getAndSetInt(this, VALUE, newValue);
}
/**
@@ -130,7 +131,7 @@
* the actual value was not equal to the expected value.
*/
public final boolean compareAndSet(int expect, int update) {
- return unsafe.compareAndSwapInt(this, valueOffset, expect, update);
+ return U.compareAndSwapInt(this, VALUE, expect, update);
}
/**
@@ -146,7 +147,7 @@
* @return {@code true} if successful
*/
public final boolean weakCompareAndSet(int expect, int update) {
- return unsafe.compareAndSwapInt(this, valueOffset, expect, update);
+ return U.compareAndSwapInt(this, VALUE, expect, update);
}
/**
@@ -155,7 +156,7 @@
* @return the previous value
*/
public final int getAndIncrement() {
- return unsafe.getAndAddInt(this, valueOffset, 1);
+ return U.getAndAddInt(this, VALUE, 1);
}
/**
@@ -164,7 +165,7 @@
* @return the previous value
*/
public final int getAndDecrement() {
- return unsafe.getAndAddInt(this, valueOffset, -1);
+ return U.getAndAddInt(this, VALUE, -1);
}
/**
@@ -174,7 +175,7 @@
* @return the previous value
*/
public final int getAndAdd(int delta) {
- return unsafe.getAndAddInt(this, valueOffset, delta);
+ return U.getAndAddInt(this, VALUE, delta);
}
/**
@@ -183,7 +184,7 @@
* @return the updated value
*/
public final int incrementAndGet() {
- return unsafe.getAndAddInt(this, valueOffset, 1) + 1;
+ return U.getAndAddInt(this, VALUE, 1) + 1;
}
/**
@@ -192,7 +193,7 @@
* @return the updated value
*/
public final int decrementAndGet() {
- return unsafe.getAndAddInt(this, valueOffset, -1) - 1;
+ return U.getAndAddInt(this, VALUE, -1) - 1;
}
/**
@@ -202,7 +203,7 @@
* @return the updated value
*/
public final int addAndGet(int delta) {
- return unsafe.getAndAddInt(this, valueOffset, delta) + delta;
+ return U.getAndAddInt(this, VALUE, delta) + delta;
}
/**
@@ -301,6 +302,7 @@
/**
* Returns the value of this {@code AtomicInteger} as an {@code int}.
+ * Equivalent to {@link #get()}.
*/
public int intValue() {
return get();
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicIntegerArray.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,9 +34,9 @@
*/
package java.util.concurrent.atomic;
-import java.util.function.IntUnaryOperator;
+
import java.util.function.IntBinaryOperator;
-import sun.misc.Unsafe;
+import java.util.function.IntUnaryOperator;
/**
* An {@code int} array in which elements may be updated atomically.
@@ -49,16 +49,17 @@
public class AtomicIntegerArray implements java.io.Serializable {
private static final long serialVersionUID = 2862133569453604235L;
- private static final Unsafe unsafe = Unsafe.getUnsafe();
- private static final int base = unsafe.arrayBaseOffset(int[].class);
- private static final int shift;
+ private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
+ private static final int ABASE;
+ private static final int ASHIFT;
private final int[] array;
static {
- int scale = unsafe.arrayIndexScale(int[].class);
+ ABASE = U.arrayBaseOffset(int[].class);
+ int scale = U.arrayIndexScale(int[].class);
if ((scale & (scale - 1)) != 0)
- throw new Error("data type scale not a power of two");
- shift = 31 - Integer.numberOfLeadingZeros(scale);
+ throw new Error("array index scale not a power of two");
+ ASHIFT = 31 - Integer.numberOfLeadingZeros(scale);
}
private long checkedByteOffset(int i) {
@@ -69,7 +70,7 @@
}
private static long byteOffset(int i) {
- return ((long) i << shift) + base;
+ return ((long) i << ASHIFT) + ABASE;
}
/**
@@ -114,7 +115,7 @@
}
private int getRaw(long offset) {
- return unsafe.getIntVolatile(array, offset);
+ return U.getIntVolatile(array, offset);
}
/**
@@ -124,7 +125,7 @@
* @param newValue the new value
*/
public final void set(int i, int newValue) {
- unsafe.putIntVolatile(array, checkedByteOffset(i), newValue);
+ U.putIntVolatile(array, checkedByteOffset(i), newValue);
}
/**
@@ -135,7 +136,7 @@
* @since 1.6
*/
public final void lazySet(int i, int newValue) {
- unsafe.putOrderedInt(array, checkedByteOffset(i), newValue);
+ U.putOrderedInt(array, checkedByteOffset(i), newValue);
}
/**
@@ -147,7 +148,7 @@
* @return the previous value
*/
public final int getAndSet(int i, int newValue) {
- return unsafe.getAndSetInt(array, checkedByteOffset(i), newValue);
+ return U.getAndSetInt(array, checkedByteOffset(i), newValue);
}
/**
@@ -165,7 +166,7 @@
}
private boolean compareAndSetRaw(long offset, int expect, int update) {
- return unsafe.compareAndSwapInt(array, offset, expect, update);
+ return U.compareAndSwapInt(array, offset, expect, update);
}
/**
@@ -213,7 +214,7 @@
* @return the previous value
*/
public final int getAndAdd(int i, int delta) {
- return unsafe.getAndAddInt(array, checkedByteOffset(i), delta);
+ return U.getAndAddInt(array, checkedByteOffset(i), delta);
}
/**
@@ -247,7 +248,6 @@
return getAndAdd(i, delta) + delta;
}
-
/**
* Atomically updates the element at index {@code i} with the results
* of applying the given function, returning the previous value. The
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,14 +34,14 @@
*/
package java.util.concurrent.atomic;
-import java.util.function.IntUnaryOperator;
-import java.util.function.IntBinaryOperator;
-import sun.misc.Unsafe;
+
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.security.AccessController;
+import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
-import java.security.PrivilegedActionException;
+import java.util.function.IntBinaryOperator;
+import java.util.function.IntUnaryOperator;
import sun.reflect.CallerSensitive;
import sun.reflect.Reflection;
@@ -363,11 +363,11 @@
}
/**
- * Standard hotspot implementation using intrinsics
+ * Standard hotspot implementation using intrinsics.
*/
private static class AtomicIntegerFieldUpdaterImpl<T>
extends AtomicIntegerFieldUpdater<T> {
- private static final Unsafe unsafe = Unsafe.getUnsafe();
+ private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
private final long offset;
private final Class<T> tclass;
private final Class<?> cclass;
@@ -391,7 +391,7 @@
ClassLoader ccl = caller.getClassLoader();
if ((ccl != null) && (ccl != cl) &&
((cl == null) || !isAncestor(cl, ccl))) {
- sun.reflect.misc.ReflectUtil.checkPackageAccess(tclass);
+ sun.reflect.misc.ReflectUtil.checkPackageAccess(tclass);
}
} catch (PrivilegedActionException pae) {
throw new RuntimeException(pae.getException());
@@ -409,7 +409,7 @@
this.cclass = (Modifier.isProtected(modifiers) &&
caller != tclass) ? caller : null;
this.tclass = tclass;
- offset = unsafe.objectFieldOffset(field);
+ offset = U.objectFieldOffset(field);
}
/**
@@ -437,32 +437,32 @@
public boolean compareAndSet(T obj, int expect, int update) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
- return unsafe.compareAndSwapInt(obj, offset, expect, update);
+ return U.compareAndSwapInt(obj, offset, expect, update);
}
public boolean weakCompareAndSet(T obj, int expect, int update) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
- return unsafe.compareAndSwapInt(obj, offset, expect, update);
+ return U.compareAndSwapInt(obj, offset, expect, update);
}
public void set(T obj, int newValue) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
- unsafe.putIntVolatile(obj, offset, newValue);
+ U.putIntVolatile(obj, offset, newValue);
}
public void lazySet(T obj, int newValue) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
- unsafe.putOrderedInt(obj, offset, newValue);
+ U.putOrderedInt(obj, offset, newValue);
}
public final int get(T obj) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
- return unsafe.getIntVolatile(obj, offset);
+ return U.getIntVolatile(obj, offset);
}
public int getAndSet(T obj, int newValue) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
- return unsafe.getAndSetInt(obj, offset, newValue);
+ return U.getAndSetInt(obj, offset, newValue);
}
public int getAndIncrement(T obj) {
@@ -475,7 +475,7 @@
public int getAndAdd(T obj, int delta) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
- return unsafe.getAndAddInt(obj, offset, delta);
+ return U.getAndAddInt(obj, offset, delta);
}
public int incrementAndGet(T obj) {
@@ -483,7 +483,7 @@
}
public int decrementAndGet(T obj) {
- return getAndAdd(obj, -1) - 1;
+ return getAndAdd(obj, -1) - 1;
}
public int addAndGet(T obj, int delta) {
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicLong.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicLong.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,9 +34,9 @@
*/
package java.util.concurrent.atomic;
-import java.util.function.LongUnaryOperator;
+
import java.util.function.LongBinaryOperator;
-import sun.misc.Unsafe;
+import java.util.function.LongUnaryOperator;
/**
* A {@code long} value that may be updated atomically. See the
@@ -54,9 +54,8 @@
public class AtomicLong extends Number implements java.io.Serializable {
private static final long serialVersionUID = 1927816293512124184L;
- // setup to use Unsafe.compareAndSwapLong for updates
- private static final Unsafe unsafe = Unsafe.getUnsafe();
- private static final long valueOffset;
+ private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
+ private static final long VALUE;
/**
* Records whether the underlying JVM supports lockless
@@ -74,9 +73,11 @@
static {
try {
- valueOffset = unsafe.objectFieldOffset
+ VALUE = U.objectFieldOffset
(AtomicLong.class.getDeclaredField("value"));
- } catch (Exception ex) { throw new Error(ex); }
+ } catch (ReflectiveOperationException e) {
+ throw new Error(e);
+ }
}
private volatile long value;
@@ -111,7 +112,9 @@
* @param newValue the new value
*/
public final void set(long newValue) {
- value = newValue;
+ // Use putLongVolatile instead of ordinary volatile store when
+ // using compareAndSwapLong, for sake of some 32bit systems.
+ U.putLongVolatile(this, VALUE, newValue);
}
/**
@@ -121,7 +124,7 @@
* @since 1.6
*/
public final void lazySet(long newValue) {
- unsafe.putOrderedLong(this, valueOffset, newValue);
+ U.putOrderedLong(this, VALUE, newValue);
}
/**
@@ -131,7 +134,7 @@
* @return the previous value
*/
public final long getAndSet(long newValue) {
- return unsafe.getAndSetLong(this, valueOffset, newValue);
+ return U.getAndSetLong(this, VALUE, newValue);
}
/**
@@ -144,7 +147,7 @@
* the actual value was not equal to the expected value.
*/
public final boolean compareAndSet(long expect, long update) {
- return unsafe.compareAndSwapLong(this, valueOffset, expect, update);
+ return U.compareAndSwapLong(this, VALUE, expect, update);
}
/**
@@ -160,7 +163,7 @@
* @return {@code true} if successful
*/
public final boolean weakCompareAndSet(long expect, long update) {
- return unsafe.compareAndSwapLong(this, valueOffset, expect, update);
+ return U.compareAndSwapLong(this, VALUE, expect, update);
}
/**
@@ -169,7 +172,7 @@
* @return the previous value
*/
public final long getAndIncrement() {
- return unsafe.getAndAddLong(this, valueOffset, 1L);
+ return U.getAndAddLong(this, VALUE, 1L);
}
/**
@@ -178,7 +181,7 @@
* @return the previous value
*/
public final long getAndDecrement() {
- return unsafe.getAndAddLong(this, valueOffset, -1L);
+ return U.getAndAddLong(this, VALUE, -1L);
}
/**
@@ -188,7 +191,7 @@
* @return the previous value
*/
public final long getAndAdd(long delta) {
- return unsafe.getAndAddLong(this, valueOffset, delta);
+ return U.getAndAddLong(this, VALUE, delta);
}
/**
@@ -197,7 +200,7 @@
* @return the updated value
*/
public final long incrementAndGet() {
- return unsafe.getAndAddLong(this, valueOffset, 1L) + 1L;
+ return U.getAndAddLong(this, VALUE, 1L) + 1L;
}
/**
@@ -206,7 +209,7 @@
* @return the updated value
*/
public final long decrementAndGet() {
- return unsafe.getAndAddLong(this, valueOffset, -1L) - 1L;
+ return U.getAndAddLong(this, VALUE, -1L) - 1L;
}
/**
@@ -216,7 +219,7 @@
* @return the updated value
*/
public final long addAndGet(long delta) {
- return unsafe.getAndAddLong(this, valueOffset, delta) + delta;
+ return U.getAndAddLong(this, VALUE, delta) + delta;
}
/**
@@ -324,6 +327,7 @@
/**
* Returns the value of this {@code AtomicLong} as a {@code long}.
+ * Equivalent to {@link #get()}.
*/
public long longValue() {
return get();
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicLongArray.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicLongArray.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,9 +34,9 @@
*/
package java.util.concurrent.atomic;
-import java.util.function.LongUnaryOperator;
+
import java.util.function.LongBinaryOperator;
-import sun.misc.Unsafe;
+import java.util.function.LongUnaryOperator;
/**
* A {@code long} array in which elements may be updated atomically.
@@ -48,16 +48,17 @@
public class AtomicLongArray implements java.io.Serializable {
private static final long serialVersionUID = -2308431214976778248L;
- private static final Unsafe unsafe = Unsafe.getUnsafe();
- private static final int base = unsafe.arrayBaseOffset(long[].class);
- private static final int shift;
+ private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
+ private static final int ABASE;
+ private static final int ASHIFT;
private final long[] array;
static {
- int scale = unsafe.arrayIndexScale(long[].class);
+ ABASE = U.arrayBaseOffset(long[].class);
+ int scale = U.arrayIndexScale(long[].class);
if ((scale & (scale - 1)) != 0)
- throw new Error("data type scale not a power of two");
- shift = 31 - Integer.numberOfLeadingZeros(scale);
+ throw new Error("array index scale not a power of two");
+ ASHIFT = 31 - Integer.numberOfLeadingZeros(scale);
}
private long checkedByteOffset(int i) {
@@ -68,7 +69,7 @@
}
private static long byteOffset(int i) {
- return ((long) i << shift) + base;
+ return ((long) i << ASHIFT) + ABASE;
}
/**
@@ -113,7 +114,7 @@
}
private long getRaw(long offset) {
- return unsafe.getLongVolatile(array, offset);
+ return U.getLongVolatile(array, offset);
}
/**
@@ -123,7 +124,7 @@
* @param newValue the new value
*/
public final void set(int i, long newValue) {
- unsafe.putLongVolatile(array, checkedByteOffset(i), newValue);
+ U.putLongVolatile(array, checkedByteOffset(i), newValue);
}
/**
@@ -134,7 +135,7 @@
* @since 1.6
*/
public final void lazySet(int i, long newValue) {
- unsafe.putOrderedLong(array, checkedByteOffset(i), newValue);
+ U.putOrderedLong(array, checkedByteOffset(i), newValue);
}
/**
@@ -146,7 +147,7 @@
* @return the previous value
*/
public final long getAndSet(int i, long newValue) {
- return unsafe.getAndSetLong(array, checkedByteOffset(i), newValue);
+ return U.getAndSetLong(array, checkedByteOffset(i), newValue);
}
/**
@@ -164,7 +165,7 @@
}
private boolean compareAndSetRaw(long offset, long expect, long update) {
- return unsafe.compareAndSwapLong(array, offset, expect, update);
+ return U.compareAndSwapLong(array, offset, expect, update);
}
/**
@@ -212,7 +213,7 @@
* @return the previous value
*/
public final long getAndAdd(int i, long delta) {
- return unsafe.getAndAddLong(array, checkedByteOffset(i), delta);
+ return U.getAndAddLong(array, checkedByteOffset(i), delta);
}
/**
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicLongFieldUpdater.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,14 +34,14 @@
*/
package java.util.concurrent.atomic;
-import java.util.function.LongUnaryOperator;
-import java.util.function.LongBinaryOperator;
-import sun.misc.Unsafe;
+
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.security.AccessController;
+import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
-import java.security.PrivilegedActionException;
+import java.util.function.LongBinaryOperator;
+import java.util.function.LongUnaryOperator;
import sun.reflect.CallerSensitive;
import sun.reflect.Reflection;
@@ -366,7 +366,7 @@
}
private static class CASUpdater<T> extends AtomicLongFieldUpdater<T> {
- private static final Unsafe unsafe = Unsafe.getUnsafe();
+ private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
private final long offset;
private final Class<T> tclass;
private final Class<?> cclass;
@@ -389,7 +389,7 @@
ClassLoader ccl = caller.getClassLoader();
if ((ccl != null) && (ccl != cl) &&
((cl == null) || !isAncestor(cl, ccl))) {
- sun.reflect.misc.ReflectUtil.checkPackageAccess(tclass);
+ sun.reflect.misc.ReflectUtil.checkPackageAccess(tclass);
}
} catch (PrivilegedActionException pae) {
throw new RuntimeException(pae.getException());
@@ -407,7 +407,7 @@
this.cclass = (Modifier.isProtected(modifiers) &&
caller != tclass) ? caller : null;
this.tclass = tclass;
- offset = unsafe.objectFieldOffset(field);
+ offset = U.objectFieldOffset(field);
}
private void fullCheck(T obj) {
@@ -419,32 +419,32 @@
public boolean compareAndSet(T obj, long expect, long update) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
- return unsafe.compareAndSwapLong(obj, offset, expect, update);
+ return U.compareAndSwapLong(obj, offset, expect, update);
}
public boolean weakCompareAndSet(T obj, long expect, long update) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
- return unsafe.compareAndSwapLong(obj, offset, expect, update);
+ return U.compareAndSwapLong(obj, offset, expect, update);
}
public void set(T obj, long newValue) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
- unsafe.putLongVolatile(obj, offset, newValue);
+ U.putLongVolatile(obj, offset, newValue);
}
public void lazySet(T obj, long newValue) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
- unsafe.putOrderedLong(obj, offset, newValue);
+ U.putOrderedLong(obj, offset, newValue);
}
public long get(T obj) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
- return unsafe.getLongVolatile(obj, offset);
+ return U.getLongVolatile(obj, offset);
}
public long getAndSet(T obj, long newValue) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
- return unsafe.getAndSetLong(obj, offset, newValue);
+ return U.getAndSetLong(obj, offset, newValue);
}
public long getAndIncrement(T obj) {
@@ -457,7 +457,7 @@
public long getAndAdd(T obj, long delta) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
- return unsafe.getAndAddLong(obj, offset, delta);
+ return U.getAndAddLong(obj, offset, delta);
}
public long incrementAndGet(T obj) {
@@ -465,7 +465,7 @@
}
public long decrementAndGet(T obj) {
- return getAndAdd(obj, -1) - 1;
+ return getAndAdd(obj, -1) - 1;
}
public long addAndGet(T obj, long delta) {
@@ -490,7 +490,7 @@
private static class LockedUpdater<T> extends AtomicLongFieldUpdater<T> {
- private static final Unsafe unsafe = Unsafe.getUnsafe();
+ private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
private final long offset;
private final Class<T> tclass;
private final Class<?> cclass;
@@ -513,7 +513,7 @@
ClassLoader ccl = caller.getClassLoader();
if ((ccl != null) && (ccl != cl) &&
((cl == null) || !isAncestor(cl, ccl))) {
- sun.reflect.misc.ReflectUtil.checkPackageAccess(tclass);
+ sun.reflect.misc.ReflectUtil.checkPackageAccess(tclass);
}
} catch (PrivilegedActionException pae) {
throw new RuntimeException(pae.getException());
@@ -531,7 +531,7 @@
this.cclass = (Modifier.isProtected(modifiers) &&
caller != tclass) ? caller : null;
this.tclass = tclass;
- offset = unsafe.objectFieldOffset(field);
+ offset = U.objectFieldOffset(field);
}
private void fullCheck(T obj) {
@@ -544,10 +544,10 @@
public boolean compareAndSet(T obj, long expect, long update) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
synchronized (this) {
- long v = unsafe.getLong(obj, offset);
+ long v = U.getLong(obj, offset);
if (v != expect)
return false;
- unsafe.putLong(obj, offset, update);
+ U.putLong(obj, offset, update);
return true;
}
}
@@ -559,7 +559,7 @@
public void set(T obj, long newValue) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
synchronized (this) {
- unsafe.putLong(obj, offset, newValue);
+ U.putLong(obj, offset, newValue);
}
}
@@ -570,7 +570,7 @@
public long get(T obj) {
if (obj == null || obj.getClass() != tclass || cclass != null) fullCheck(obj);
synchronized (this) {
- return unsafe.getLong(obj, offset);
+ return U.getLong(obj, offset);
}
}
@@ -595,7 +595,7 @@
* classloader's delegation chain.
* Equivalent to the inaccessible: first.isAncestor(second).
*/
- private static boolean isAncestor(ClassLoader first, ClassLoader second) {
+ static boolean isAncestor(ClassLoader first, ClassLoader second) {
ClassLoader acl = first;
do {
acl = acl.getParent();
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicMarkableReference.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicMarkableReference.java Wed Jul 05 20:52:10 2017 +0200
@@ -97,7 +97,7 @@
* Typical usage is {@code boolean[1] holder; ref = v.get(holder); }.
*
* @param markHolder an array of size of at least one. On return,
- * {@code markholder[0]} will hold the value of the mark.
+ * {@code markHolder[0]} will hold the value of the mark.
* @return the current value of the reference
*/
public V get(boolean[] markHolder) {
@@ -190,23 +190,18 @@
// Unsafe mechanics
- private static final sun.misc.Unsafe UNSAFE = sun.misc.Unsafe.getUnsafe();
- private static final long pairOffset =
- objectFieldOffset(UNSAFE, "pair", AtomicMarkableReference.class);
-
- private boolean casPair(Pair<V> cmp, Pair<V> val) {
- return UNSAFE.compareAndSwapObject(this, pairOffset, cmp, val);
+ private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
+ private static final long PAIR;
+ static {
+ try {
+ PAIR = U.objectFieldOffset
+ (AtomicMarkableReference.class.getDeclaredField("pair"));
+ } catch (ReflectiveOperationException e) {
+ throw new Error(e);
+ }
}
- static long objectFieldOffset(sun.misc.Unsafe UNSAFE,
- String field, Class<?> klazz) {
- try {
- return UNSAFE.objectFieldOffset(klazz.getDeclaredField(field));
- } catch (NoSuchFieldException e) {
- // Convert Exception to corresponding Error
- NoSuchFieldError error = new NoSuchFieldError(field);
- error.initCause(e);
- throw error;
- }
+ private boolean casPair(Pair<V> cmp, Pair<V> val) {
+ return U.compareAndSwapObject(this, PAIR, cmp, val);
}
}
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicReference.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicReference.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,9 +34,9 @@
*/
package java.util.concurrent.atomic;
-import java.util.function.UnaryOperator;
+
import java.util.function.BinaryOperator;
-import sun.misc.Unsafe;
+import java.util.function.UnaryOperator;
/**
* An object reference that may be updated atomically. See the {@link
@@ -49,14 +49,16 @@
public class AtomicReference<V> implements java.io.Serializable {
private static final long serialVersionUID = -1848883965231344442L;
- private static final Unsafe unsafe = Unsafe.getUnsafe();
- private static final long valueOffset;
+ private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
+ private static final long VALUE;
static {
try {
- valueOffset = unsafe.objectFieldOffset
+ VALUE = U.objectFieldOffset
(AtomicReference.class.getDeclaredField("value"));
- } catch (Exception ex) { throw new Error(ex); }
+ } catch (ReflectiveOperationException e) {
+ throw new Error(e);
+ }
}
private volatile V value;
@@ -101,7 +103,7 @@
* @since 1.6
*/
public final void lazySet(V newValue) {
- unsafe.putOrderedObject(this, valueOffset, newValue);
+ U.putOrderedObject(this, VALUE, newValue);
}
/**
@@ -113,7 +115,7 @@
* the actual value was not equal to the expected value.
*/
public final boolean compareAndSet(V expect, V update) {
- return unsafe.compareAndSwapObject(this, valueOffset, expect, update);
+ return U.compareAndSwapObject(this, VALUE, expect, update);
}
/**
@@ -129,7 +131,7 @@
* @return {@code true} if successful
*/
public final boolean weakCompareAndSet(V expect, V update) {
- return unsafe.compareAndSwapObject(this, valueOffset, expect, update);
+ return U.compareAndSwapObject(this, VALUE, expect, update);
}
/**
@@ -140,7 +142,7 @@
*/
@SuppressWarnings("unchecked")
public final V getAndSet(V newValue) {
- return (V)unsafe.getAndSetObject(this, valueOffset, newValue);
+ return (V)U.getAndSetObject(this, VALUE, newValue);
}
/**
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceArray.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,11 +34,11 @@
*/
package java.util.concurrent.atomic;
-import java.util.function.UnaryOperator;
-import java.util.function.BinaryOperator;
+
+import java.lang.reflect.Array;
import java.util.Arrays;
-import java.lang.reflect.Array;
-import sun.misc.Unsafe;
+import java.util.function.BinaryOperator;
+import java.util.function.UnaryOperator;
/**
* An array of object references in which elements may be updated
@@ -52,23 +52,22 @@
public class AtomicReferenceArray<E> implements java.io.Serializable {
private static final long serialVersionUID = -6209656149925076980L;
- private static final Unsafe unsafe;
- private static final int base;
- private static final int shift;
- private static final long arrayFieldOffset;
+ private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
+ private static final int ABASE;
+ private static final int ASHIFT;
+ private static final long ARRAY;
private final Object[] array; // must have exact type Object[]
static {
try {
- unsafe = Unsafe.getUnsafe();
- arrayFieldOffset = unsafe.objectFieldOffset
+ ARRAY = U.objectFieldOffset
(AtomicReferenceArray.class.getDeclaredField("array"));
- base = unsafe.arrayBaseOffset(Object[].class);
- int scale = unsafe.arrayIndexScale(Object[].class);
+ ABASE = U.arrayBaseOffset(Object[].class);
+ int scale = U.arrayIndexScale(Object[].class);
if ((scale & (scale - 1)) != 0)
- throw new Error("data type scale not a power of two");
- shift = 31 - Integer.numberOfLeadingZeros(scale);
- } catch (Exception e) {
+ throw new Error("array index scale not a power of two");
+ ASHIFT = 31 - Integer.numberOfLeadingZeros(scale);
+ } catch (ReflectiveOperationException e) {
throw new Error(e);
}
}
@@ -81,7 +80,7 @@
}
private static long byteOffset(int i) {
- return ((long) i << shift) + base;
+ return ((long) i << ASHIFT) + ABASE;
}
/**
@@ -127,7 +126,7 @@
@SuppressWarnings("unchecked")
private E getRaw(long offset) {
- return (E) unsafe.getObjectVolatile(array, offset);
+ return (E) U.getObjectVolatile(array, offset);
}
/**
@@ -137,7 +136,7 @@
* @param newValue the new value
*/
public final void set(int i, E newValue) {
- unsafe.putObjectVolatile(array, checkedByteOffset(i), newValue);
+ U.putObjectVolatile(array, checkedByteOffset(i), newValue);
}
/**
@@ -148,7 +147,7 @@
* @since 1.6
*/
public final void lazySet(int i, E newValue) {
- unsafe.putOrderedObject(array, checkedByteOffset(i), newValue);
+ U.putOrderedObject(array, checkedByteOffset(i), newValue);
}
/**
@@ -161,7 +160,7 @@
*/
@SuppressWarnings("unchecked")
public final E getAndSet(int i, E newValue) {
- return (E)unsafe.getAndSetObject(array, checkedByteOffset(i), newValue);
+ return (E)U.getAndSetObject(array, checkedByteOffset(i), newValue);
}
/**
@@ -179,7 +178,7 @@
}
private boolean compareAndSetRaw(long offset, E expect, E update) {
- return unsafe.compareAndSwapObject(array, offset, expect, update);
+ return U.compareAndSwapObject(array, offset, expect, update);
}
/**
@@ -314,17 +313,20 @@
/**
* Reconstitutes the instance from a stream (that is, deserializes it).
+ * @param s the stream
+ * @throws ClassNotFoundException if the class of a serialized object
+ * could not be found
+ * @throws java.io.IOException if an I/O error occurs
*/
private void readObject(java.io.ObjectInputStream s)
- throws java.io.IOException, ClassNotFoundException,
- java.io.InvalidObjectException {
+ throws java.io.IOException, ClassNotFoundException {
// Note: This must be changed if any additional fields are defined
Object a = s.readFields().get("array", null);
if (a == null || !a.getClass().isArray())
throw new java.io.InvalidObjectException("Not array type");
if (a.getClass() != Object[].class)
a = Arrays.copyOf((Object[])a, Array.getLength(a), Object[].class);
- unsafe.putObjectVolatile(this, arrayFieldOffset, a);
+ U.putObjectVolatile(this, ARRAY, a);
}
}
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,14 +34,14 @@
*/
package java.util.concurrent.atomic;
-import java.util.function.UnaryOperator;
-import java.util.function.BinaryOperator;
-import sun.misc.Unsafe;
+
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.security.AccessController;
+import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
-import java.security.PrivilegedActionException;
+import java.util.function.BinaryOperator;
+import java.util.function.UnaryOperator;
import sun.reflect.CallerSensitive;
import sun.reflect.Reflection;
@@ -53,7 +53,7 @@
* independently subject to atomic updates. For example, a tree node
* might be declared as
*
- * <pre> {@code
+ * <pre> {@code
* class Node {
* private volatile Node left, right;
*
@@ -62,7 +62,7 @@
* private static AtomicReferenceFieldUpdater<Node, Node> rightUpdater =
* AtomicReferenceFieldUpdater.newUpdater(Node.class, Node.class, "right");
*
- * Node getLeft() { return left; }
+ * Node getLeft() { return left; }
* boolean compareAndSetLeft(Node expect, Node update) {
* return leftUpdater.compareAndSet(this, expect, update);
* }
@@ -284,7 +284,7 @@
private static final class AtomicReferenceFieldUpdaterImpl<T,V>
extends AtomicReferenceFieldUpdater<T,V> {
- private static final Unsafe unsafe = Unsafe.getUnsafe();
+ private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
private final long offset;
private final Class<T> tclass;
private final Class<V> vclass;
@@ -323,7 +323,7 @@
ClassLoader ccl = caller.getClassLoader();
if ((ccl != null) && (ccl != cl) &&
((cl == null) || !isAncestor(cl, ccl))) {
- sun.reflect.misc.ReflectUtil.checkPackageAccess(tclass);
+ sun.reflect.misc.ReflectUtil.checkPackageAccess(tclass);
}
fieldClass = field.getType();
} catch (PrivilegedActionException pae) {
@@ -347,7 +347,7 @@
this.vclass = null;
else
this.vclass = vclass;
- offset = unsafe.objectFieldOffset(field);
+ offset = U.objectFieldOffset(field);
}
/**
@@ -386,7 +386,7 @@
(update != null && vclass != null &&
vclass != update.getClass()))
updateCheck(obj, update);
- return unsafe.compareAndSwapObject(obj, offset, expect, update);
+ return U.compareAndSwapObject(obj, offset, expect, update);
}
public boolean weakCompareAndSet(T obj, V expect, V update) {
@@ -395,7 +395,7 @@
(update != null && vclass != null &&
vclass != update.getClass()))
updateCheck(obj, update);
- return unsafe.compareAndSwapObject(obj, offset, expect, update);
+ return U.compareAndSwapObject(obj, offset, expect, update);
}
public void set(T obj, V newValue) {
@@ -403,7 +403,7 @@
(newValue != null && vclass != null &&
vclass != newValue.getClass()))
updateCheck(obj, newValue);
- unsafe.putObjectVolatile(obj, offset, newValue);
+ U.putObjectVolatile(obj, offset, newValue);
}
public void lazySet(T obj, V newValue) {
@@ -411,14 +411,14 @@
(newValue != null && vclass != null &&
vclass != newValue.getClass()))
updateCheck(obj, newValue);
- unsafe.putOrderedObject(obj, offset, newValue);
+ U.putOrderedObject(obj, offset, newValue);
}
@SuppressWarnings("unchecked")
public V get(T obj) {
if (obj == null || obj.getClass() != tclass || cclass != null)
targetCheck(obj);
- return (V)unsafe.getObjectVolatile(obj, offset);
+ return (V)U.getObjectVolatile(obj, offset);
}
@SuppressWarnings("unchecked")
@@ -427,7 +427,7 @@
(newValue != null && vclass != null &&
vclass != newValue.getClass()))
updateCheck(obj, newValue);
- return (V)unsafe.getAndSetObject(obj, offset, newValue);
+ return (V)U.getAndSetObject(obj, offset, newValue);
}
private void ensureProtectedAccess(T obj) {
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicStampedReference.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/AtomicStampedReference.java Wed Jul 05 20:52:10 2017 +0200
@@ -97,7 +97,7 @@
* Typical usage is {@code int[1] holder; ref = v.get(holder); }.
*
* @param stampHolder an array of size of at least one. On return,
- * {@code stampholder[0]} will hold the value of the stamp.
+ * {@code stampHolder[0]} will hold the value of the stamp.
* @return the current value of the reference
*/
public V get(int[] stampHolder) {
@@ -190,23 +190,18 @@
// Unsafe mechanics
- private static final sun.misc.Unsafe UNSAFE = sun.misc.Unsafe.getUnsafe();
- private static final long pairOffset =
- objectFieldOffset(UNSAFE, "pair", AtomicStampedReference.class);
-
- private boolean casPair(Pair<V> cmp, Pair<V> val) {
- return UNSAFE.compareAndSwapObject(this, pairOffset, cmp, val);
+ private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
+ private static final long PAIR;
+ static {
+ try {
+ PAIR = U.objectFieldOffset
+ (AtomicStampedReference.class.getDeclaredField("pair"));
+ } catch (ReflectiveOperationException e) {
+ throw new Error(e);
+ }
}
- static long objectFieldOffset(sun.misc.Unsafe UNSAFE,
- String field, Class<?> klazz) {
- try {
- return UNSAFE.objectFieldOffset(klazz.getDeclaredField(field));
- } catch (NoSuchFieldException e) {
- // Convert Exception to corresponding Error
- NoSuchFieldError error = new NoSuchFieldError(field);
- error.initCause(e);
- throw error;
- }
+ private boolean casPair(Pair<V> cmp, Pair<V> val) {
+ return U.compareAndSwapObject(this, PAIR, cmp, val);
}
}
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/DoubleAccumulator.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/DoubleAccumulator.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,6 +34,7 @@
*/
package java.util.concurrent.atomic;
+
import java.io.Serializable;
import java.util.function.DoubleBinaryOperator;
@@ -126,14 +127,13 @@
* @return the current value
*/
public double get() {
- Cell[] as = cells; Cell a;
+ Cell[] as = cells;
double result = Double.longBitsToDouble(base);
if (as != null) {
- for (int i = 0; i < as.length; ++i) {
- if ((a = as[i]) != null)
+ for (Cell a : as)
+ if (a != null)
result = function.applyAsDouble
(result, Double.longBitsToDouble(a.value));
- }
}
return result;
}
@@ -147,13 +147,12 @@
* updating.
*/
public void reset() {
- Cell[] as = cells; Cell a;
+ Cell[] as = cells;
base = identity;
if (as != null) {
- for (int i = 0; i < as.length; ++i) {
- if ((a = as[i]) != null)
- a.value = identity;
- }
+ for (Cell a : as)
+ if (a != null)
+ a.reset(identity);
}
}
@@ -168,14 +167,14 @@
* @return the value before reset
*/
public double getThenReset() {
- Cell[] as = cells; Cell a;
+ Cell[] as = cells;
double result = Double.longBitsToDouble(base);
base = identity;
if (as != null) {
- for (int i = 0; i < as.length; ++i) {
- if ((a = as[i]) != null) {
+ for (Cell a : as) {
+ if (a != null) {
double v = Double.longBitsToDouble(a.value);
- a.value = identity;
+ a.reset(identity);
result = function.applyAsDouble(result, v);
}
}
@@ -237,21 +236,27 @@
* @serial
*/
private final double value;
+
/**
* The function used for updates.
* @serial
*/
private final DoubleBinaryOperator function;
+
/**
- * The identity value
+ * The identity value, represented as a long, as converted by
+ * {@link Double#doubleToRawLongBits}. The original identity
+ * can be recovered using {@link Double#longBitsToDouble}.
* @serial
*/
private final long identity;
- SerializationProxy(DoubleAccumulator a) {
- function = a.function;
- identity = a.identity;
- value = a.get();
+ SerializationProxy(double value,
+ DoubleBinaryOperator function,
+ long identity) {
+ this.value = value;
+ this.function = function;
+ this.identity = identity;
}
/**
@@ -259,7 +264,7 @@
* held by this proxy.
*
* @return a {@code DoubleAccumulator} object with initial state
- * held by this proxy.
+ * held by this proxy
*/
private Object readResolve() {
double d = Double.longBitsToDouble(identity);
@@ -279,7 +284,7 @@
* representing the state of this instance
*/
private Object writeReplace() {
- return new SerializationProxy(this);
+ return new SerializationProxy(get(), function, identity);
}
/**
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/DoubleAdder.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/DoubleAdder.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,6 +34,7 @@
*/
package java.util.concurrent.atomic;
+
import java.io.Serializable;
/**
@@ -114,13 +115,12 @@
* @return the sum
*/
public double sum() {
- Cell[] as = cells; Cell a;
+ Cell[] as = cells;
double sum = Double.longBitsToDouble(base);
if (as != null) {
- for (int i = 0; i < as.length; ++i) {
- if ((a = as[i]) != null)
+ for (Cell a : as)
+ if (a != null)
sum += Double.longBitsToDouble(a.value);
- }
}
return sum;
}
@@ -133,13 +133,12 @@
* known that no threads are concurrently updating.
*/
public void reset() {
- Cell[] as = cells; Cell a;
+ Cell[] as = cells;
base = 0L; // relies on fact that double 0 must have same rep as long
if (as != null) {
- for (int i = 0; i < as.length; ++i) {
- if ((a = as[i]) != null)
- a.value = 0L;
- }
+ for (Cell a : as)
+ if (a != null)
+ a.reset();
}
}
@@ -154,14 +153,14 @@
* @return the sum
*/
public double sumThenReset() {
- Cell[] as = cells; Cell a;
+ Cell[] as = cells;
double sum = Double.longBitsToDouble(base);
base = 0L;
if (as != null) {
- for (int i = 0; i < as.length; ++i) {
- if ((a = as[i]) != null) {
+ for (Cell a : as) {
+ if (a != null) {
long v = a.value;
- a.value = 0L;
+ a.reset();
sum += Double.longBitsToDouble(v);
}
}
@@ -233,7 +232,7 @@
* held by this proxy.
*
* @return a {@code DoubleAdder} object with initial state
- * held by this proxy.
+ * held by this proxy
*/
private Object readResolve() {
DoubleAdder a = new DoubleAdder();
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/LongAccumulator.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/LongAccumulator.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,6 +34,7 @@
*/
package java.util.concurrent.atomic;
+
import java.io.Serializable;
import java.util.function.LongBinaryOperator;
@@ -124,13 +125,12 @@
* @return the current value
*/
public long get() {
- Cell[] as = cells; Cell a;
+ Cell[] as = cells;
long result = base;
if (as != null) {
- for (int i = 0; i < as.length; ++i) {
- if ((a = as[i]) != null)
+ for (Cell a : as)
+ if (a != null)
result = function.applyAsLong(result, a.value);
- }
}
return result;
}
@@ -144,13 +144,12 @@
* updating.
*/
public void reset() {
- Cell[] as = cells; Cell a;
+ Cell[] as = cells;
base = identity;
if (as != null) {
- for (int i = 0; i < as.length; ++i) {
- if ((a = as[i]) != null)
- a.value = identity;
- }
+ for (Cell a : as)
+ if (a != null)
+ a.reset(identity);
}
}
@@ -165,14 +164,14 @@
* @return the value before reset
*/
public long getThenReset() {
- Cell[] as = cells; Cell a;
+ Cell[] as = cells;
long result = base;
base = identity;
if (as != null) {
- for (int i = 0; i < as.length; ++i) {
- if ((a = as[i]) != null) {
+ for (Cell a : as) {
+ if (a != null) {
long v = a.value;
- a.value = identity;
+ a.reset(identity);
result = function.applyAsLong(result, v);
}
}
@@ -234,21 +233,25 @@
* @serial
*/
private final long value;
+
/**
* The function used for updates.
* @serial
*/
private final LongBinaryOperator function;
+
/**
- * The identity value
+ * The identity value.
* @serial
*/
private final long identity;
- SerializationProxy(LongAccumulator a) {
- function = a.function;
- identity = a.identity;
- value = a.get();
+ SerializationProxy(long value,
+ LongBinaryOperator function,
+ long identity) {
+ this.value = value;
+ this.function = function;
+ this.identity = identity;
}
/**
@@ -256,7 +259,7 @@
* held by this proxy.
*
* @return a {@code LongAccumulator} object with initial state
- * held by this proxy.
+ * held by this proxy
*/
private Object readResolve() {
LongAccumulator a = new LongAccumulator(function, identity);
@@ -275,7 +278,7 @@
* representing the state of this instance
*/
private Object writeReplace() {
- return new SerializationProxy(this);
+ return new SerializationProxy(get(), function, identity);
}
/**
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/LongAdder.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/LongAdder.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,6 +34,7 @@
*/
package java.util.concurrent.atomic;
+
import java.io.Serializable;
/**
@@ -116,13 +117,12 @@
* @return the sum
*/
public long sum() {
- Cell[] as = cells; Cell a;
+ Cell[] as = cells;
long sum = base;
if (as != null) {
- for (int i = 0; i < as.length; ++i) {
- if ((a = as[i]) != null)
+ for (Cell a : as)
+ if (a != null)
sum += a.value;
- }
}
return sum;
}
@@ -135,13 +135,12 @@
* known that no threads are concurrently updating.
*/
public void reset() {
- Cell[] as = cells; Cell a;
+ Cell[] as = cells;
base = 0L;
if (as != null) {
- for (int i = 0; i < as.length; ++i) {
- if ((a = as[i]) != null)
- a.value = 0L;
- }
+ for (Cell a : as)
+ if (a != null)
+ a.reset();
}
}
@@ -156,14 +155,14 @@
* @return the sum
*/
public long sumThenReset() {
- Cell[] as = cells; Cell a;
+ Cell[] as = cells;
long sum = base;
base = 0L;
if (as != null) {
- for (int i = 0; i < as.length; ++i) {
- if ((a = as[i]) != null) {
+ for (Cell a : as) {
+ if (a != null) {
sum += a.value;
- a.value = 0L;
+ a.reset();
}
}
}
@@ -230,11 +229,11 @@
}
/**
- * Return a {@code LongAdder} object with initial state
+ * Returns a {@code LongAdder} object with initial state
* held by this proxy.
*
* @return a {@code LongAdder} object with initial state
- * held by this proxy.
+ * held by this proxy
*/
private Object readResolve() {
LongAdder a = new LongAdder();
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/Striped64.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/Striped64.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,9 +34,11 @@
*/
package java.util.concurrent.atomic;
-import java.util.function.LongBinaryOperator;
+
+import java.util.Arrays;
+import java.util.concurrent.ThreadLocalRandom;
import java.util.function.DoubleBinaryOperator;
-import java.util.concurrent.ThreadLocalRandom;
+import java.util.function.LongBinaryOperator;
/**
* A package-local class holding common representation and mechanics
@@ -121,19 +123,23 @@
volatile long value;
Cell(long x) { value = x; }
final boolean cas(long cmp, long val) {
- return UNSAFE.compareAndSwapLong(this, valueOffset, cmp, val);
+ return U.compareAndSwapLong(this, VALUE, cmp, val);
+ }
+ final void reset() {
+ U.putLongVolatile(this, VALUE, 0L);
+ }
+ final void reset(long identity) {
+ U.putLongVolatile(this, VALUE, identity);
}
// Unsafe mechanics
- private static final sun.misc.Unsafe UNSAFE;
- private static final long valueOffset;
+ private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
+ private static final long VALUE;
static {
try {
- UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class<?> ak = Cell.class;
- valueOffset = UNSAFE.objectFieldOffset
- (ak.getDeclaredField("value"));
- } catch (Exception e) {
+ VALUE = U.objectFieldOffset
+ (Cell.class.getDeclaredField("value"));
+ } catch (ReflectiveOperationException e) {
throw new Error(e);
}
}
@@ -159,7 +165,7 @@
transient volatile int cellsBusy;
/**
- * Package-private default constructor
+ * Package-private default constructor.
*/
Striped64() {
}
@@ -168,14 +174,14 @@
* CASes the base field.
*/
final boolean casBase(long cmp, long val) {
- return UNSAFE.compareAndSwapLong(this, BASE, cmp, val);
+ return U.compareAndSwapLong(this, BASE, cmp, val);
}
/**
* CASes the cellsBusy field from 0 to 1 to acquire lock.
*/
final boolean casCellsBusy() {
- return UNSAFE.compareAndSwapInt(this, CELLSBUSY, 0, 1);
+ return U.compareAndSwapInt(this, CELLSBUSY, 0, 1);
}
/**
@@ -183,7 +189,7 @@
* Duplicated from ThreadLocalRandom because of packaging restrictions.
*/
static final int getProbe() {
- return UNSAFE.getInt(Thread.currentThread(), PROBE);
+ return U.getInt(Thread.currentThread(), PROBE);
}
/**
@@ -195,7 +201,7 @@
probe ^= probe << 13; // xorshift
probe ^= probe >>> 17;
probe ^= probe << 5;
- UNSAFE.putInt(Thread.currentThread(), PROBE, probe);
+ U.putInt(Thread.currentThread(), PROBE, probe);
return probe;
}
@@ -220,27 +226,24 @@
wasUncontended = true;
}
boolean collide = false; // True if last slot nonempty
- for (;;) {
+ done: for (;;) {
Cell[] as; Cell a; int n; long v;
if ((as = cells) != null && (n = as.length) > 0) {
if ((a = as[(n - 1) & h]) == null) {
if (cellsBusy == 0) { // Try to attach new Cell
Cell r = new Cell(x); // Optimistically create
if (cellsBusy == 0 && casCellsBusy()) {
- boolean created = false;
try { // Recheck under lock
Cell[] rs; int m, j;
if ((rs = cells) != null &&
(m = rs.length) > 0 &&
rs[j = (m - 1) & h] == null) {
rs[j] = r;
- created = true;
+ break done;
}
} finally {
cellsBusy = 0;
}
- if (created)
- break;
continue; // Slot is now non-empty
}
}
@@ -248,8 +251,8 @@
}
else if (!wasUncontended) // CAS already known to fail
wasUncontended = true; // Continue after rehash
- else if (a.cas(v = a.value, ((fn == null) ? v + x :
- fn.applyAsLong(v, x))))
+ else if (a.cas(v = a.value,
+ (fn == null) ? v + x : fn.applyAsLong(v, x)))
break;
else if (n >= NCPU || cells != as)
collide = false; // At max size or stale
@@ -257,12 +260,8 @@
collide = true;
else if (cellsBusy == 0 && casCellsBusy()) {
try {
- if (cells == as) { // Expand table unless stale
- Cell[] rs = new Cell[n << 1];
- for (int i = 0; i < n; ++i)
- rs[i] = as[i];
- cells = rs;
- }
+ if (cells == as) // Expand table unless stale
+ cells = Arrays.copyOf(as, n << 1);
} finally {
cellsBusy = 0;
}
@@ -272,26 +271,30 @@
h = advanceProbe(h);
}
else if (cellsBusy == 0 && cells == as && casCellsBusy()) {
- boolean init = false;
try { // Initialize table
if (cells == as) {
Cell[] rs = new Cell[2];
rs[h & 1] = new Cell(x);
cells = rs;
- init = true;
+ break done;
}
} finally {
cellsBusy = 0;
}
- if (init)
- break;
}
- else if (casBase(v = base, ((fn == null) ? v + x :
- fn.applyAsLong(v, x))))
- break; // Fall back on using base
+ // Fall back on using base
+ else if (casBase(v = base,
+ (fn == null) ? v + x : fn.applyAsLong(v, x)))
+ break done;
}
}
+ private static long apply(DoubleBinaryOperator fn, long v, double x) {
+ double d = Double.longBitsToDouble(v);
+ d = (fn == null) ? d + x : fn.applyAsDouble(d, x);
+ return Double.doubleToRawLongBits(d);
+ }
+
/**
* Same as longAccumulate, but injecting long/double conversions
* in too many places to sensibly merge with long version, given
@@ -307,27 +310,24 @@
wasUncontended = true;
}
boolean collide = false; // True if last slot nonempty
- for (;;) {
+ done: for (;;) {
Cell[] as; Cell a; int n; long v;
if ((as = cells) != null && (n = as.length) > 0) {
if ((a = as[(n - 1) & h]) == null) {
if (cellsBusy == 0) { // Try to attach new Cell
Cell r = new Cell(Double.doubleToRawLongBits(x));
if (cellsBusy == 0 && casCellsBusy()) {
- boolean created = false;
try { // Recheck under lock
Cell[] rs; int m, j;
if ((rs = cells) != null &&
(m = rs.length) > 0 &&
rs[j = (m - 1) & h] == null) {
rs[j] = r;
- created = true;
+ break done;
}
} finally {
cellsBusy = 0;
}
- if (created)
- break;
continue; // Slot is now non-empty
}
}
@@ -335,13 +335,7 @@
}
else if (!wasUncontended) // CAS already known to fail
wasUncontended = true; // Continue after rehash
- else if (a.cas(v = a.value,
- ((fn == null) ?
- Double.doubleToRawLongBits
- (Double.longBitsToDouble(v) + x) :
- Double.doubleToRawLongBits
- (fn.applyAsDouble
- (Double.longBitsToDouble(v), x)))))
+ else if (a.cas(v = a.value, apply(fn, v, x)))
break;
else if (n >= NCPU || cells != as)
collide = false; // At max size or stale
@@ -349,12 +343,8 @@
collide = true;
else if (cellsBusy == 0 && casCellsBusy()) {
try {
- if (cells == as) { // Expand table unless stale
- Cell[] rs = new Cell[n << 1];
- for (int i = 0; i < n; ++i)
- rs[i] = as[i];
- cells = rs;
- }
+ if (cells == as) // Expand table unless stale
+ cells = Arrays.copyOf(as, n << 1);
} finally {
cellsBusy = 0;
}
@@ -364,48 +354,38 @@
h = advanceProbe(h);
}
else if (cellsBusy == 0 && cells == as && casCellsBusy()) {
- boolean init = false;
try { // Initialize table
if (cells == as) {
Cell[] rs = new Cell[2];
rs[h & 1] = new Cell(Double.doubleToRawLongBits(x));
cells = rs;
- init = true;
+ break done;
}
} finally {
cellsBusy = 0;
}
- if (init)
- break;
}
- else if (casBase(v = base,
- ((fn == null) ?
- Double.doubleToRawLongBits
- (Double.longBitsToDouble(v) + x) :
- Double.doubleToRawLongBits
- (fn.applyAsDouble
- (Double.longBitsToDouble(v), x)))))
- break; // Fall back on using base
+ // Fall back on using base
+ else if (casBase(v = base, apply(fn, v, x)))
+ break done;
}
}
// Unsafe mechanics
- private static final sun.misc.Unsafe UNSAFE;
+ private static final sun.misc.Unsafe U = sun.misc.Unsafe.getUnsafe();
private static final long BASE;
private static final long CELLSBUSY;
private static final long PROBE;
static {
try {
- UNSAFE = sun.misc.Unsafe.getUnsafe();
- Class<?> sk = Striped64.class;
- BASE = UNSAFE.objectFieldOffset
- (sk.getDeclaredField("base"));
- CELLSBUSY = UNSAFE.objectFieldOffset
- (sk.getDeclaredField("cellsBusy"));
- Class<?> tk = Thread.class;
- PROBE = UNSAFE.objectFieldOffset
- (tk.getDeclaredField("threadLocalRandomProbe"));
- } catch (Exception e) {
+ BASE = U.objectFieldOffset
+ (Striped64.class.getDeclaredField("base"));
+ CELLSBUSY = U.objectFieldOffset
+ (Striped64.class.getDeclaredField("cellsBusy"));
+
+ PROBE = U.objectFieldOffset
+ (Thread.class.getDeclaredField("threadLocalRandomProbe"));
+ } catch (ReflectiveOperationException e) {
throw new Error(e);
}
}
--- a/jdk/src/java.base/share/classes/java/util/concurrent/atomic/package-info.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/concurrent/atomic/package-info.java Wed Jul 05 20:52:10 2017 +0200
@@ -40,7 +40,7 @@
* array elements to those that also provide an atomic conditional update
* operation of the form:
*
- * <pre> {@code boolean compareAndSet(expectedValue, updateValue);}</pre>
+ * <pre> {@code boolean compareAndSet(expectedValue, updateValue);}</pre>
*
* <p>This method (which varies in argument types across different
* classes) atomically sets a variable to the {@code updateValue} if it
@@ -67,7 +67,7 @@
* {@code AtomicInteger} provide atomic increment methods. One
* application is to generate sequence numbers, as in:
*
- * <pre> {@code
+ * <pre> {@code
* class Sequencer {
* private final AtomicLong sequenceNumber
* = new AtomicLong(0);
@@ -82,7 +82,7 @@
* <pre> {@code long transform(long input)}</pre>
*
* write your utility method as follows:
- * <pre> {@code
+ * <pre> {@code
* long getAndTransform(AtomicLong var) {
* long prev, next;
* do {
@@ -94,18 +94,19 @@
*
* <p>The memory effects for accesses and updates of atomics generally
* follow the rules for volatiles, as stated in
- * <a href="http://docs.oracle.com/javase/specs/jls/se7/html/jls-17.html#jls-17.4">
- * The Java Language Specification (17.4 Memory Model)</a>:
+ * <a href="https://docs.oracle.com/javase/specs/jls/se8/html/jls-17.html#jls-17.4">
+ * Chapter 17 of
+ * <cite>The Java™ Language Specification</cite></a>:
*
* <ul>
*
- * <li> {@code get} has the memory effects of reading a
+ * <li>{@code get} has the memory effects of reading a
* {@code volatile} variable.
*
- * <li> {@code set} has the memory effects of writing (assigning) a
+ * <li>{@code set} has the memory effects of writing (assigning) a
* {@code volatile} variable.
*
- * <li> {@code lazySet} has the memory effects of writing (assigning)
+ * <li>{@code lazySet} has the memory effects of writing (assigning)
* a {@code volatile} variable except that it permits reorderings with
* subsequent (but not previous) memory actions that do not themselves
* impose reordering constraints with ordinary non-{@code volatile}
@@ -119,7 +120,7 @@
* with respect to previous or subsequent reads and writes of any
* variables other than the target of the {@code weakCompareAndSet}.
*
- * <li> {@code compareAndSet}
+ * <li>{@code compareAndSet}
* and all other read-and-update operations such as {@code getAndIncrement}
* have the memory effects of both reading and
* writing {@code volatile} variables.
--- a/jdk/src/java.base/share/classes/java/util/jar/JarFile.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/jar/JarFile.java Wed Jul 05 20:52:10 2017 +0200
@@ -36,10 +36,10 @@
import java.security.cert.Certificate;
import java.security.AccessController;
import java.security.CodeSource;
+import jdk.internal.misc.SharedSecrets;
import sun.misc.IOUtils;
import sun.security.action.GetPropertyAction;
import sun.security.util.ManifestEntryVerifier;
-import sun.misc.SharedSecrets;
import sun.security.util.SignatureFileVerifier;
/**
--- a/jdk/src/java.base/share/classes/java/util/jar/JavaUtilJarAccessImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/jar/JavaUtilJarAccessImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -30,7 +30,7 @@
import java.security.CodeSource;
import java.util.Enumeration;
import java.util.List;
-import sun.misc.JavaUtilJarAccess;
+import jdk.internal.misc.JavaUtilJarAccess;
class JavaUtilJarAccessImpl implements JavaUtilJarAccess {
public boolean jarFileHasClassPathAttribute(JarFile jar) throws IOException {
--- a/jdk/src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/spi/LocaleServiceProvider.java Wed Jul 05 20:52:10 2017 +0200
@@ -140,8 +140,10 @@
* desired locale sensitive service is not available, then the runtime looks for CLDR,
* JRE in that order.
* <p>
- * The default order for looking up the preferred locale providers is "CLDR,JRE,SPI",
- * so specifying "CLDR,JRE,SPI" is identical to the default behavior.
+ * The default order for looking up the preferred locale providers is "CLDR,JRE",
+ * so specifying "CLDR,JRE" is identical to the default behavior. Applications which
+ * require implementations of the locale sensitive services must explicitly specify
+ * "SPI" in order for the Java runtime to load them from the classpath.
*
* @since 1.6
*/
--- a/jdk/src/java.base/share/classes/java/util/zip/ZipFile.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/java/util/zip/ZipFile.java Wed Jul 05 20:52:10 2017 +0200
@@ -44,6 +44,8 @@
import java.util.WeakHashMap;
import java.util.stream.Stream;
import java.util.stream.StreamSupport;
+import jdk.internal.misc.JavaUtilZipFileAccess;
+import jdk.internal.misc.SharedSecrets;
import static java.util.zip.ZipConstants64.*;
@@ -781,12 +783,12 @@
}
static {
- sun.misc.SharedSecrets.setJavaUtilZipFileAccess(
- new sun.misc.JavaUtilZipFileAccess() {
+ SharedSecrets.setJavaUtilZipFileAccess(
+ new JavaUtilZipFileAccess() {
public boolean startsWithLocHeader(ZipFile zip) {
return zip.startsWithLocHeader();
}
- }
+ }
);
}
--- a/jdk/src/java.base/share/classes/jdk/internal/jimage/ImageFileCreator.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/jdk/internal/jimage/ImageFileCreator.java Wed Jul 05 20:52:10 2017 +0200
@@ -261,6 +261,7 @@
Map<String, List<Entry>> entriesForModule,
ByteOrder byteOrder) throws IOException {
ResourcePoolImpl resources = new ResourcePoolImpl(byteOrder);
+ // Doesn't contain META-INF
Set<String> mods = modulePackagesMap.keySet();
for (String mn : mods) {
for (Entry entry : entriesForModule.get(mn)) {
@@ -286,6 +287,31 @@
Archive archive = nameToArchive.get(mn);
archive.close();
}
+ // Fix for 8136365. Do we have an archive with module name "META-INF"?
+ // If yes, we are recreating a jimage.
+ // This is a workaround for META-INF being at the top level of resource path
+ String mn = "META-INF";
+ Archive archive = nameToArchive.get(mn);
+ if (archive != null) {
+ try {
+ for (Entry entry : entriesForModule.get(mn)) {
+ String path = entry.name();
+ try (InputStream stream = entry.stream()) {
+ byte[] bytes = readAllBytes(stream);
+ path = mn + "/" + path;
+ try {
+ resources.addResource(new ResourcePool.Resource(path,
+ ByteBuffer.wrap(bytes)));
+ } catch (Exception ex) {
+ throw new IOException(ex);
+ }
+ }
+ }
+ } finally {
+ // Done with this archive, close it.
+ archive.close();
+ }
+ }
return resources;
}
--- a/jdk/src/java.base/share/classes/jdk/internal/jimage/ImageNativeSubstrate.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/jdk/internal/jimage/ImageNativeSubstrate.java Wed Jul 05 20:52:10 2017 +0200
@@ -27,8 +27,6 @@
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
-import sun.misc.JavaNioAccess;
-import sun.misc.SharedSecrets;
public final class ImageNativeSubstrate implements ImageSubstrate {
static {
@@ -42,8 +40,10 @@
});
}
- private static final JavaNioAccess NIOACCESS =
- SharedSecrets.getJavaNioAccess();
+ // TODO: Reinstate when the class below, NIOACCESS, is removed.
+ //private static final JavaNioAccess NIOACCESS =
+ // SharedSecrets.getJavaNioAccess();
+
private final long id;
private final long indexAddress;
@@ -161,4 +161,59 @@
public int[] attributeOffsets() {
return attributeOffsets(id);
}
+
+ // TODO: Remove when JRT-FS no longer indirectly depends on ImageNativeSubstrate
+ /**
+ * Reflective wrapper around ShareSecrets JavaNioAccess.
+ *
+ * SharedSecrets and friend interfaces moved from 'sun.misc' to 'jdk.internal.misc'
+ * in 1.9. This class provides the runtime with access to the appropriate
+ * JavaNioAccess methods whether running on 1.9, or lower.
+ */
+ static class NIOACCESS {
+
+ private static final String PKG_PREFIX = "jdk.internal.misc";
+ private static final String LEGACY_PKG_PREFIX = "sun.misc";
+
+ private static final Object javaNioAccess;
+ private static final java.lang.reflect.Method newDirectByteBufferMethod;
+
+ static {
+ try {
+ Class<?> c = getJDKClass("JavaNioAccess");
+
+ java.lang.reflect.Method m =
+ getJDKClass("SharedSecrets").getDeclaredMethod("getJavaNioAccess");
+ javaNioAccess = m.invoke(null);
+
+ newDirectByteBufferMethod = c.getDeclaredMethod("newDirectByteBuffer",
+ long.class,
+ int.class,
+ Object.class);
+ } catch (ReflectiveOperationException x) {
+ throw new InternalError(x);
+ }
+ }
+
+ private static Class<?> getJDKClass(String name) throws ClassNotFoundException {
+ try {
+ return Class.forName(PKG_PREFIX + "." + name);
+ } catch (ClassNotFoundException x) {
+ try {
+ return Class.forName(LEGACY_PKG_PREFIX + "." + name);
+ } catch (ClassNotFoundException ex) {
+ x.addSuppressed(ex);
+ throw x;
+ }
+ }
+ }
+
+ static ByteBuffer newDirectByteBuffer(long addr, int cap, Object ob) {
+ try {
+ return (ByteBuffer) newDirectByteBufferMethod.invoke(javaNioAccess, addr, cap, ob);
+ } catch (ReflectiveOperationException x) {
+ throw new InternalError(x);
+ }
+ }
+ }
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaAWTAccess.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2011, 2013, 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 interface JavaAWTAccess {
+
+ // Returns the AppContext used for applet logging isolation, or null if
+ // no isolation is required.
+ // If there's no applet, or if the caller is a stand alone application,
+ // or running in the main app context, returns null.
+ // Otherwise, returns the AppContext of the calling applet.
+ public Object getAppletContext();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaAWTFontAccess.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. 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.
+ */
+
+/**
+ * SharedSecrets interface used for the access from java.text.Bidi
+ */
+
+package jdk.internal.misc;
+
+public interface JavaAWTFontAccess {
+
+ // java.awt.font.TextAttribute constants
+ public Object getTextAttributeConstant(String name);
+
+ // java.awt.font.NumericShaper
+ public void shape(Object shaper, char[] text, int start, int count);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaBeansAccess.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,50 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. 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.reflect.Constructor;
+import java.lang.reflect.Method;
+
+public interface JavaBeansAccess {
+ /**
+ * Returns the getter method for a property of the given name
+ * @param clazz The JavaBeans class
+ * @param property The property name
+ * @return The resolved property getter method
+ * @throws Exception
+ */
+ Method getReadMethod(Class<?> clazz, String property) throws Exception;
+
+ /**
+ * Return the <b>value</b> attribute of the associated
+ * <code>@ConstructorProperties</code> annotation if that is present.
+ * @param ctr The constructor to extract the annotation value from
+ * @return The {@code value} attribute of the <code>@ConstructorProperties</code>
+ * annotation or {@code null} if the constructor is not annotated by
+ * this annotation or the annotation is not accessible.
+ */
+ String[] getConstructorPropertiesValue(Constructor<?> ctr);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaIOAccess.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package jdk.internal.misc;
+
+import java.io.Console;
+import java.nio.charset.Charset;
+
+public interface JavaIOAccess {
+ public Console console();
+ public Charset charset();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaIOFileDescriptorAccess.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2007, 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.io.FileDescriptor;
+
+/*
+ * @author Chris Hegarty
+ */
+
+public interface JavaIOFileDescriptorAccess {
+ public void set(FileDescriptor obj, int fd);
+ public int get(FileDescriptor fd);
+ public void setAppend(FileDescriptor obj, boolean append);
+ public boolean getAppend(FileDescriptor obj);
+
+ // Only valid on Windows
+ public void setHandle(FileDescriptor obj, long handle);
+ public long getHandle(FileDescriptor obj);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaLangAccess.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,145 @@
+/*
+ * Copyright (c) 2003, 2013, 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.annotation.Annotation;
+import java.lang.reflect.Executable;
+import java.security.AccessControlContext;
+import java.util.Map;
+
+import sun.reflect.ConstantPool;
+import sun.reflect.annotation.AnnotationType;
+import sun.nio.ch.Interruptible;
+
+public interface JavaLangAccess {
+ /** Return the constant pool for a class. */
+ ConstantPool getConstantPool(Class<?> klass);
+
+ /**
+ * Compare-And-Swap the AnnotationType instance corresponding to this class.
+ * (This method only applies to annotation types.)
+ */
+ boolean casAnnotationType(Class<?> klass, AnnotationType oldType, AnnotationType newType);
+
+ /**
+ * Get the AnnotationType instance corresponding to this class.
+ * (This method only applies to annotation types.)
+ */
+ AnnotationType getAnnotationType(Class<?> klass);
+
+ /**
+ * Get the declared annotations for a given class, indexed by their types.
+ */
+ Map<Class<? extends Annotation>, Annotation> getDeclaredAnnotationMap(Class<?> klass);
+
+ /**
+ * Get the array of bytes that is the class-file representation
+ * of this Class' annotations.
+ */
+ byte[] getRawClassAnnotations(Class<?> klass);
+
+ /**
+ * Get the array of bytes that is the class-file representation
+ * of this Class' type annotations.
+ */
+ byte[] getRawClassTypeAnnotations(Class<?> klass);
+
+ /**
+ * Get the array of bytes that is the class-file representation
+ * of this Executable's type annotations.
+ */
+ byte[] getRawExecutableTypeAnnotations(Executable executable);
+
+ /**
+ * Returns the elements of an enum class or null if the
+ * Class object does not represent an enum type;
+ * the result is uncloned, cached, and shared by all callers.
+ */
+ <E extends Enum<E>> E[] getEnumConstantsShared(Class<E> klass);
+
+ /** Set thread's blocker field. */
+ void blockedOn(Thread t, Interruptible b);
+
+ /**
+ * Registers a shutdown hook.
+ *
+ * It is expected that this method with registerShutdownInProgress=true
+ * is only used to register DeleteOnExitHook since the first file
+ * may be added to the delete on exit list by the application shutdown
+ * hooks.
+ *
+ * @param slot the slot in the shutdown hook array, whose element
+ * will be invoked in order during shutdown
+ * @param registerShutdownInProgress true to allow the hook
+ * to be registered even if the shutdown is in progress.
+ * @param hook the hook to be registered
+ *
+ * @throws IllegalStateException if shutdown is in progress and
+ * the slot is not valid to register.
+ */
+ void registerShutdownHook(int slot, boolean registerShutdownInProgress, Runnable hook);
+
+ /**
+ * Returns the number of stack frames represented by the given throwable.
+ */
+ int getStackTraceDepth(Throwable t);
+
+ /**
+ * Returns the ith StackTraceElement for the given throwable.
+ */
+ StackTraceElement getStackTraceElement(Throwable t, int i);
+
+ /**
+ * Returns a new string backed by the provided character array. The
+ * character array is not copied and must never be modified after the
+ * String is created, in order to fulfill String's contract.
+ *
+ * @param chars the character array to back the string
+ * @return a newly created string whose content is the character array
+ */
+ String newStringUnsafe(char[] chars);
+
+ /**
+ * Returns a new Thread with the given Runnable and an
+ * inherited AccessControlContext.
+ */
+ Thread newThreadWithAcc(Runnable target, AccessControlContext acc);
+
+ /**
+ * Invokes the finalize method of the given object.
+ */
+ void invokeFinalize(Object o) throws Throwable;
+
+ /**
+ * Invokes Long.formatUnsignedLong(long val, int shift, char[] buf, int offset, int len)
+ */
+ void formatUnsignedLong(long val, int shift, char[] buf, int offset, int len);
+
+ /**
+ * Invokes Integer.formatUnsignedInt(long val, int shift, char[] buf, int offset, int len)
+ */
+ void formatUnsignedInt(int val, int shift, char[] buf, int offset, int len);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaLangRefAccess.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. 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 interface JavaLangRefAccess {
+
+ /**
+ * Help ReferenceHandler thread process next pending
+ * {@link java.lang.ref.Reference}
+ *
+ * @return {@code true} if there was a pending reference and it
+ * was enqueue-ed or {@code false} if there was no
+ * pending reference
+ */
+ boolean tryHandlePendingReference();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaNetAccess.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2006, 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.net.URLClassLoader;
+import sun.misc.URLClassPath;
+
+public interface JavaNetAccess {
+ /**
+ * return the URLClassPath belonging to the given loader
+ */
+ URLClassPath getURLClassPath (URLClassLoader u);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaNetHttpCookieAccess.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2011, 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.net.HttpCookie;
+import java.util.List;
+
+public interface JavaNetHttpCookieAccess {
+ /*
+ * Constructs cookies from Set-Cookie or Set-Cookie2 header string,
+ * retaining the original header String in the cookie itself.
+ */
+ public List<HttpCookie> parse(String header);
+
+ /*
+ * Returns the original header this cookie was constructed from, if it was
+ * constructed by parsing a header, otherwise null.
+ */
+ public String header(HttpCookie cookie);
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaNetInetAddressAccess.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,36 @@
+/*
+ * 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.net.InetAddress;
+
+public interface JavaNetInetAddressAccess {
+ /**
+ * Return the original application specified hostname of
+ * the given InetAddress object.
+ */
+ String getOriginalHostName(InetAddress ia);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaNioAccess.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2007, 2011, 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.nio.Buffer;
+import java.nio.ByteBuffer;
+
+public interface JavaNioAccess {
+ /**
+ * Provides access to information on buffer usage.
+ */
+ interface BufferPool {
+ String getName();
+ long getCount();
+ long getTotalCapacity();
+ long getMemoryUsed();
+ }
+ BufferPool getDirectBufferPool();
+
+ /**
+ * Constructs a direct ByteBuffer referring to the block of memory starting
+ * at the given memory address and extending {@code cap} bytes.
+ * The {@code ob} parameter is an arbitrary object that is attached
+ * to the resulting buffer.
+ */
+ ByteBuffer newDirectByteBuffer(long addr, int cap, Object ob);
+
+ /**
+ * Truncates a buffer by changing its capacity to 0.
+ */
+ void truncate(Buffer buf);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaSecurityAccess.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2010, 2011, 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.security.AccessControlContext;
+import java.security.PrivilegedAction;
+
+public interface JavaSecurityAccess {
+
+ <T> T doIntersectionPrivilege(PrivilegedAction<T> action,
+ AccessControlContext stack,
+ AccessControlContext context);
+
+ <T> T doIntersectionPrivilege(PrivilegedAction<T> action,
+ AccessControlContext context);
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaSecurityProtectionDomainAccess.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2009, 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.security.PermissionCollection;
+import java.security.ProtectionDomain;
+
+public interface JavaSecurityProtectionDomainAccess {
+ interface ProtectionDomainCache {
+ void put(ProtectionDomain pd, PermissionCollection pc);
+ PermissionCollection get(ProtectionDomain pd);
+ }
+ /**
+ * Returns the ProtectionDomainCache.
+ */
+ ProtectionDomainCache getProtectionDomainCache();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaUtilJarAccess.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2002, 2013, 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.io.IOException;
+import java.net.URL;
+import java.security.CodeSource;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+
+public interface JavaUtilJarAccess {
+ public boolean jarFileHasClassPathAttribute(JarFile jar) throws IOException;
+ public CodeSource[] getCodeSources(JarFile jar, URL url);
+ public CodeSource getCodeSource(JarFile jar, URL url, String name);
+ public Enumeration<String> entryNames(JarFile jar, CodeSource[] cs);
+ public Enumeration<JarEntry> entries2(JarFile jar);
+ public void setEagerValidation(JarFile jar, boolean eager);
+ public List<Object> getManifestDigests(JarFile jar);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/JavaUtilZipFileAccess.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2013, 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.util.zip.ZipFile;
+
+public interface JavaUtilZipFileAccess {
+ public boolean startsWithLocHeader(ZipFile zip);
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/java.base/share/classes/jdk/internal/misc/SharedSecrets.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,215 @@
+/*
+ * Copyright (c) 2002, 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.util.jar.JarFile;
+import java.io.Console;
+import java.io.FileDescriptor;
+import java.security.ProtectionDomain;
+import java.security.AccessController;
+import sun.misc.Unsafe;
+
+/** A repository of "shared secrets", which are a mechanism for
+ calling implementation-private methods in another package without
+ using reflection. A package-private class implements a public
+ interface and provides the ability to call package-private methods
+ within that package; the object implementing that interface is
+ provided through a third package to which access is restricted.
+ This framework avoids the primary disadvantage of using reflection
+ for this purpose, namely the loss of compile-time checking. */
+
+public class SharedSecrets {
+ private static final Unsafe unsafe = Unsafe.getUnsafe();
+ private static JavaUtilJarAccess javaUtilJarAccess;
+ private static JavaLangAccess javaLangAccess;
+ private static JavaLangRefAccess javaLangRefAccess;
+ private static JavaIOAccess javaIOAccess;
+ private static JavaNetAccess javaNetAccess;
+ private static JavaNetInetAddressAccess javaNetInetAddressAccess;
+ private static JavaNetHttpCookieAccess javaNetHttpCookieAccess;
+ private static JavaNioAccess javaNioAccess;
+ private static JavaIOFileDescriptorAccess javaIOFileDescriptorAccess;
+ private static JavaSecurityProtectionDomainAccess javaSecurityProtectionDomainAccess;
+ private static JavaSecurityAccess javaSecurityAccess;
+ private static JavaUtilZipFileAccess javaUtilZipFileAccess;
+ private static JavaAWTAccess javaAWTAccess;
+ private static JavaAWTFontAccess javaAWTFontAccess;
+ private static JavaBeansAccess javaBeansAccess;
+
+ public static JavaUtilJarAccess javaUtilJarAccess() {
+ if (javaUtilJarAccess == null) {
+ // Ensure JarFile is initialized; we know that that class
+ // provides the shared secret
+ unsafe.ensureClassInitialized(JarFile.class);
+ }
+ return javaUtilJarAccess;
+ }
+
+ public static void setJavaUtilJarAccess(JavaUtilJarAccess access) {
+ javaUtilJarAccess = access;
+ }
+
+ public static void setJavaLangAccess(JavaLangAccess jla) {
+ javaLangAccess = jla;
+ }
+
+ public static JavaLangAccess getJavaLangAccess() {
+ return javaLangAccess;
+ }
+
+ public static void setJavaLangRefAccess(JavaLangRefAccess jlra) {
+ javaLangRefAccess = jlra;
+ }
+
+ public static JavaLangRefAccess getJavaLangRefAccess() {
+ return javaLangRefAccess;
+ }
+
+ public static void setJavaNetAccess(JavaNetAccess jna) {
+ javaNetAccess = jna;
+ }
+
+ public static JavaNetAccess getJavaNetAccess() {
+ if (javaNetAccess == null)
+ unsafe.ensureClassInitialized(java.net.URLClassLoader.class);
+ return javaNetAccess;
+ }
+
+ public static void setJavaNetInetAddressAccess(JavaNetInetAddressAccess jna) {
+ javaNetInetAddressAccess = jna;
+ }
+
+ public static JavaNetInetAddressAccess getJavaNetInetAddressAccess() {
+ return javaNetInetAddressAccess;
+ }
+
+ public static void setJavaNetHttpCookieAccess(JavaNetHttpCookieAccess a) {
+ javaNetHttpCookieAccess = a;
+ }
+
+ public static JavaNetHttpCookieAccess getJavaNetHttpCookieAccess() {
+ if (javaNetHttpCookieAccess == null)
+ unsafe.ensureClassInitialized(java.net.HttpCookie.class);
+ return javaNetHttpCookieAccess;
+ }
+
+ public static void setJavaNioAccess(JavaNioAccess jna) {
+ javaNioAccess = jna;
+ }
+
+ public static JavaNioAccess getJavaNioAccess() {
+ if (javaNioAccess == null) {
+ // Ensure java.nio.ByteOrder is initialized; we know that
+ // this class initializes java.nio.Bits that provides the
+ // shared secret.
+ unsafe.ensureClassInitialized(java.nio.ByteOrder.class);
+ }
+ return javaNioAccess;
+ }
+
+ public static void setJavaIOAccess(JavaIOAccess jia) {
+ javaIOAccess = jia;
+ }
+
+ public static JavaIOAccess getJavaIOAccess() {
+ if (javaIOAccess == null) {
+ unsafe.ensureClassInitialized(Console.class);
+ }
+ return javaIOAccess;
+ }
+
+ public static void setJavaIOFileDescriptorAccess(JavaIOFileDescriptorAccess jiofda) {
+ javaIOFileDescriptorAccess = jiofda;
+ }
+
+ public static JavaIOFileDescriptorAccess getJavaIOFileDescriptorAccess() {
+ if (javaIOFileDescriptorAccess == null)
+ unsafe.ensureClassInitialized(FileDescriptor.class);
+
+ return javaIOFileDescriptorAccess;
+ }
+
+ public static void setJavaSecurityProtectionDomainAccess
+ (JavaSecurityProtectionDomainAccess jspda) {
+ javaSecurityProtectionDomainAccess = jspda;
+ }
+
+ public static JavaSecurityProtectionDomainAccess
+ getJavaSecurityProtectionDomainAccess() {
+ if (javaSecurityProtectionDomainAccess == null)
+ unsafe.ensureClassInitialized(ProtectionDomain.class);
+ return javaSecurityProtectionDomainAccess;
+ }
+
+ public static void setJavaSecurityAccess(JavaSecurityAccess jsa) {
+ javaSecurityAccess = jsa;
+ }
+
+ public static JavaSecurityAccess getJavaSecurityAccess() {
+ if (javaSecurityAccess == null) {
+ unsafe.ensureClassInitialized(AccessController.class);
+ }
+ return javaSecurityAccess;
+ }
+
+ public static JavaUtilZipFileAccess getJavaUtilZipFileAccess() {
+ if (javaUtilZipFileAccess == null)
+ unsafe.ensureClassInitialized(java.util.zip.ZipFile.class);
+ return javaUtilZipFileAccess;
+ }
+
+ public static void setJavaUtilZipFileAccess(JavaUtilZipFileAccess access) {
+ javaUtilZipFileAccess = access;
+ }
+
+ public static void setJavaAWTAccess(JavaAWTAccess jaa) {
+ javaAWTAccess = jaa;
+ }
+
+ public static JavaAWTAccess getJavaAWTAccess() {
+ // this may return null in which case calling code needs to
+ // provision for.
+ return javaAWTAccess;
+ }
+
+ public static void setJavaAWTFontAccess(JavaAWTFontAccess jafa) {
+ javaAWTFontAccess = jafa;
+ }
+
+ public static JavaAWTFontAccess getJavaAWTFontAccess() {
+ // this may return null in which case calling code needs to
+ // provision for.
+ return javaAWTFontAccess;
+ }
+
+ public static JavaBeansAccess getJavaBeansAccess() {
+ return javaBeansAccess;
+ }
+
+ public static void setJavaBeansAccess(JavaBeansAccess access) {
+ javaBeansAccess = access;
+ }
+}
--- a/jdk/src/java.base/share/classes/sun/misc/JavaAWTAccess.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, 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 interface JavaAWTAccess {
-
- // Returns the AppContext used for applet logging isolation, or null if
- // no isolation is required.
- // If there's no applet, or if the caller is a stand alone application,
- // or running in the main app context, returns null.
- // Otherwise, returns the AppContext of the calling applet.
- public Object getAppletContext();
-}
--- a/jdk/src/java.base/share/classes/sun/misc/JavaAWTFontAccess.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. 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.
- */
-
-/**
- * SharedSecrets interface used for the access from java.text.Bidi
- */
-
-package sun.misc;
-
-public interface JavaAWTFontAccess {
-
- // java.awt.font.TextAttribute constants
- public Object getTextAttributeConstant(String name);
-
- // java.awt.font.NumericShaper
- public void shape(Object shaper, char[] text, int start, int count);
-}
--- a/jdk/src/java.base/share/classes/sun/misc/JavaBeansAccess.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. 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 java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-
-public interface JavaBeansAccess {
- /**
- * Returns the getter method for a property of the given name
- * @param clazz The JavaBeans class
- * @param property The property name
- * @return The resolved property getter method
- * @throws Exception
- */
- Method getReadMethod(Class<?> clazz, String property) throws Exception;
-
- /**
- * Return the <b>value</b> attribute of the associated
- * <code>@ConstructorProperties</code> annotation if that is present.
- * @param ctr The constructor to extract the annotation value from
- * @return The {@code value} attribute of the <code>@ConstructorProperties</code>
- * annotation or {@code null} if the constructor is not annotated by
- * this annotation or the annotation is not accessible.
- */
- String[] getConstructorPropertiesValue(Constructor<?> ctr);
-}
--- a/jdk/src/java.base/share/classes/sun/misc/JavaIOAccess.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.misc;
-import java.io.Console;
-import java.nio.charset.Charset;
-
-public interface JavaIOAccess {
- public Console console();
- public Charset charset();
-}
--- a/jdk/src/java.base/share/classes/sun/misc/JavaIOFileDescriptorAccess.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 2007, 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 java.io.FileDescriptor;
-
-/*
- * @author Chris Hegarty
- */
-
-public interface JavaIOFileDescriptorAccess {
- public void set(FileDescriptor obj, int fd);
- public int get(FileDescriptor fd);
- public void setAppend(FileDescriptor obj, boolean append);
- public boolean getAppend(FileDescriptor obj);
-
- // Only valid on Windows
- public void setHandle(FileDescriptor obj, long handle);
- public long getHandle(FileDescriptor obj);
-}
--- a/jdk/src/java.base/share/classes/sun/misc/JavaLangAccess.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 2003, 2013, 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 java.lang.annotation.Annotation;
-import java.lang.reflect.Executable;
-import java.security.AccessControlContext;
-import java.util.Map;
-
-import sun.reflect.ConstantPool;
-import sun.reflect.annotation.AnnotationType;
-import sun.nio.ch.Interruptible;
-
-public interface JavaLangAccess {
- /** Return the constant pool for a class. */
- ConstantPool getConstantPool(Class<?> klass);
-
- /**
- * Compare-And-Swap the AnnotationType instance corresponding to this class.
- * (This method only applies to annotation types.)
- */
- boolean casAnnotationType(Class<?> klass, AnnotationType oldType, AnnotationType newType);
-
- /**
- * Get the AnnotationType instance corresponding to this class.
- * (This method only applies to annotation types.)
- */
- AnnotationType getAnnotationType(Class<?> klass);
-
- /**
- * Get the declared annotations for a given class, indexed by their types.
- */
- Map<Class<? extends Annotation>, Annotation> getDeclaredAnnotationMap(Class<?> klass);
-
- /**
- * Get the array of bytes that is the class-file representation
- * of this Class' annotations.
- */
- byte[] getRawClassAnnotations(Class<?> klass);
-
- /**
- * Get the array of bytes that is the class-file representation
- * of this Class' type annotations.
- */
- byte[] getRawClassTypeAnnotations(Class<?> klass);
-
- /**
- * Get the array of bytes that is the class-file representation
- * of this Executable's type annotations.
- */
- byte[] getRawExecutableTypeAnnotations(Executable executable);
-
- /**
- * Returns the elements of an enum class or null if the
- * Class object does not represent an enum type;
- * the result is uncloned, cached, and shared by all callers.
- */
- <E extends Enum<E>> E[] getEnumConstantsShared(Class<E> klass);
-
- /** Set thread's blocker field. */
- void blockedOn(Thread t, Interruptible b);
-
- /**
- * Registers a shutdown hook.
- *
- * It is expected that this method with registerShutdownInProgress=true
- * is only used to register DeleteOnExitHook since the first file
- * may be added to the delete on exit list by the application shutdown
- * hooks.
- *
- * @param slot the slot in the shutdown hook array, whose element
- * will be invoked in order during shutdown
- * @param registerShutdownInProgress true to allow the hook
- * to be registered even if the shutdown is in progress.
- * @param hook the hook to be registered
- *
- * @throws IllegalStateException if shutdown is in progress and
- * the slot is not valid to register.
- */
- void registerShutdownHook(int slot, boolean registerShutdownInProgress, Runnable hook);
-
- /**
- * Returns the number of stack frames represented by the given throwable.
- */
- int getStackTraceDepth(Throwable t);
-
- /**
- * Returns the ith StackTraceElement for the given throwable.
- */
- StackTraceElement getStackTraceElement(Throwable t, int i);
-
- /**
- * Returns a new string backed by the provided character array. The
- * character array is not copied and must never be modified after the
- * String is created, in order to fulfill String's contract.
- *
- * @param chars the character array to back the string
- * @return a newly created string whose content is the character array
- */
- String newStringUnsafe(char[] chars);
-
- /**
- * Returns a new Thread with the given Runnable and an
- * inherited AccessControlContext.
- */
- Thread newThreadWithAcc(Runnable target, AccessControlContext acc);
-
- /**
- * Invokes the finalize method of the given object.
- */
- void invokeFinalize(Object o) throws Throwable;
-
- /**
- * Invokes Long.formatUnsignedLong(long val, int shift, char[] buf, int offset, int len)
- */
- void formatUnsignedLong(long val, int shift, char[] buf, int offset, int len);
-
- /**
- * Invokes Integer.formatUnsignedInt(long val, int shift, char[] buf, int offset, int len)
- */
- void formatUnsignedInt(int val, int shift, char[] buf, int offset, int len);
-}
--- a/jdk/src/java.base/share/classes/sun/misc/JavaLangRefAccess.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. 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 interface JavaLangRefAccess {
-
- /**
- * Help ReferenceHandler thread process next pending
- * {@link java.lang.ref.Reference}
- *
- * @return {@code true} if there was a pending reference and it
- * was enqueue-ed or {@code false} if there was no
- * pending reference
- */
- boolean tryHandlePendingReference();
-}
--- a/jdk/src/java.base/share/classes/sun/misc/JavaNetAccess.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2006, 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 java.net.URLClassLoader;
-
-public interface JavaNetAccess {
- /**
- * return the URLClassPath belonging to the given loader
- */
- URLClassPath getURLClassPath (URLClassLoader u);
-}
--- a/jdk/src/java.base/share/classes/sun/misc/JavaNetHttpCookieAccess.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2011, 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 java.net.HttpCookie;
-import java.util.List;
-
-public interface JavaNetHttpCookieAccess {
- /*
- * Constructs cookies from Set-Cookie or Set-Cookie2 header string,
- * retaining the original header String in the cookie itself.
- */
- public List<HttpCookie> parse(String header);
-
- /*
- * Returns the original header this cookie was constructed from, if it was
- * constructed by parsing a header, otherwise null.
- */
- public String header(HttpCookie cookie);
-}
-
--- a/jdk/src/java.base/share/classes/sun/misc/JavaNetInetAddressAccess.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +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 sun.misc;
-
-import java.net.InetAddress;
-
-public interface JavaNetInetAddressAccess {
- /**
- * Return the original application specified hostname of
- * the given InetAddress object.
- */
- String getOriginalHostName(InetAddress ia);
-}
--- a/jdk/src/java.base/share/classes/sun/misc/JavaNioAccess.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2007, 2011, 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 java.nio.Buffer;
-import java.nio.ByteBuffer;
-
-public interface JavaNioAccess {
- /**
- * Provides access to information on buffer usage.
- */
- interface BufferPool {
- String getName();
- long getCount();
- long getTotalCapacity();
- long getMemoryUsed();
- }
- BufferPool getDirectBufferPool();
-
- /**
- * Constructs a direct ByteBuffer referring to the block of memory starting
- * at the given memory address and extending {@code cap} bytes.
- * The {@code ob} parameter is an arbitrary object that is attached
- * to the resulting buffer.
- */
- ByteBuffer newDirectByteBuffer(long addr, int cap, Object ob);
-
- /**
- * Truncates a buffer by changing its capacity to 0.
- */
- void truncate(Buffer buf);
-
-}
--- a/jdk/src/java.base/share/classes/sun/misc/JavaSecurityAccess.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
- * Copyright (c) 2010, 2011, 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 java.security.AccessControlContext;
-import java.security.PrivilegedAction;
-
-public interface JavaSecurityAccess {
-
- <T> T doIntersectionPrivilege(PrivilegedAction<T> action,
- AccessControlContext stack,
- AccessControlContext context);
-
- <T> T doIntersectionPrivilege(PrivilegedAction<T> action,
- AccessControlContext context);
-
-}
--- a/jdk/src/java.base/share/classes/sun/misc/JavaSecurityProtectionDomainAccess.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2009, 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 java.security.PermissionCollection;
-import java.security.ProtectionDomain;
-
-public interface JavaSecurityProtectionDomainAccess {
- interface ProtectionDomainCache {
- void put(ProtectionDomain pd, PermissionCollection pc);
- PermissionCollection get(ProtectionDomain pd);
- }
- /**
- * Returns the ProtectionDomainCache.
- */
- ProtectionDomainCache getProtectionDomainCache();
-}
--- a/jdk/src/java.base/share/classes/sun/misc/JavaUtilJarAccess.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2002, 2013, 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 java.io.IOException;
-import java.net.URL;
-import java.security.CodeSource;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.jar.JarEntry;
-import java.util.jar.JarFile;
-
-public interface JavaUtilJarAccess {
- public boolean jarFileHasClassPathAttribute(JarFile jar) throws IOException;
- public CodeSource[] getCodeSources(JarFile jar, URL url);
- public CodeSource getCodeSource(JarFile jar, URL url, String name);
- public Enumeration<String> entryNames(JarFile jar, CodeSource[] cs);
- public Enumeration<JarEntry> entries2(JarFile jar);
- public void setEagerValidation(JarFile jar, boolean eager);
- public List<Object> getManifestDigests(JarFile jar);
-}
--- a/jdk/src/java.base/share/classes/sun/misc/JavaUtilZipFileAccess.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2013, 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 java.util.zip.ZipFile;
-
-public interface JavaUtilZipFileAccess {
- public boolean startsWithLocHeader(ZipFile zip);
-}
-
--- a/jdk/src/java.base/share/classes/sun/misc/SharedSecrets.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,215 +0,0 @@
-/*
- * Copyright (c) 2002, 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 java.util.jar.JarFile;
-import java.io.Console;
-import java.io.FileDescriptor;
-import java.security.ProtectionDomain;
-
-import java.security.AccessController;
-
-/** A repository of "shared secrets", which are a mechanism for
- calling implementation-private methods in another package without
- using reflection. A package-private class implements a public
- interface and provides the ability to call package-private methods
- within that package; the object implementing that interface is
- provided through a third package to which access is restricted.
- This framework avoids the primary disadvantage of using reflection
- for this purpose, namely the loss of compile-time checking. */
-
-public class SharedSecrets {
- private static final Unsafe unsafe = Unsafe.getUnsafe();
- private static JavaUtilJarAccess javaUtilJarAccess;
- private static JavaLangAccess javaLangAccess;
- private static JavaLangRefAccess javaLangRefAccess;
- private static JavaIOAccess javaIOAccess;
- private static JavaNetAccess javaNetAccess;
- private static JavaNetInetAddressAccess javaNetInetAddressAccess;
- private static JavaNetHttpCookieAccess javaNetHttpCookieAccess;
- private static JavaNioAccess javaNioAccess;
- private static JavaIOFileDescriptorAccess javaIOFileDescriptorAccess;
- private static JavaSecurityProtectionDomainAccess javaSecurityProtectionDomainAccess;
- private static JavaSecurityAccess javaSecurityAccess;
- private static JavaUtilZipFileAccess javaUtilZipFileAccess;
- private static JavaAWTAccess javaAWTAccess;
- private static JavaAWTFontAccess javaAWTFontAccess;
- private static JavaBeansAccess javaBeansAccess;
-
- public static JavaUtilJarAccess javaUtilJarAccess() {
- if (javaUtilJarAccess == null) {
- // Ensure JarFile is initialized; we know that that class
- // provides the shared secret
- unsafe.ensureClassInitialized(JarFile.class);
- }
- return javaUtilJarAccess;
- }
-
- public static void setJavaUtilJarAccess(JavaUtilJarAccess access) {
- javaUtilJarAccess = access;
- }
-
- public static void setJavaLangAccess(JavaLangAccess jla) {
- javaLangAccess = jla;
- }
-
- public static JavaLangAccess getJavaLangAccess() {
- return javaLangAccess;
- }
-
- public static void setJavaLangRefAccess(JavaLangRefAccess jlra) {
- javaLangRefAccess = jlra;
- }
-
- public static JavaLangRefAccess getJavaLangRefAccess() {
- return javaLangRefAccess;
- }
-
- public static void setJavaNetAccess(JavaNetAccess jna) {
- javaNetAccess = jna;
- }
-
- public static JavaNetAccess getJavaNetAccess() {
- if (javaNetAccess == null)
- unsafe.ensureClassInitialized(java.net.URLClassLoader.class);
- return javaNetAccess;
- }
-
- public static void setJavaNetInetAddressAccess(JavaNetInetAddressAccess jna) {
- javaNetInetAddressAccess = jna;
- }
-
- public static JavaNetInetAddressAccess getJavaNetInetAddressAccess() {
- return javaNetInetAddressAccess;
- }
-
- public static void setJavaNetHttpCookieAccess(JavaNetHttpCookieAccess a) {
- javaNetHttpCookieAccess = a;
- }
-
- public static JavaNetHttpCookieAccess getJavaNetHttpCookieAccess() {
- if (javaNetHttpCookieAccess == null)
- unsafe.ensureClassInitialized(java.net.HttpCookie.class);
- return javaNetHttpCookieAccess;
- }
-
- public static void setJavaNioAccess(JavaNioAccess jna) {
- javaNioAccess = jna;
- }
-
- public static JavaNioAccess getJavaNioAccess() {
- if (javaNioAccess == null) {
- // Ensure java.nio.ByteOrder is initialized; we know that
- // this class initializes java.nio.Bits that provides the
- // shared secret.
- unsafe.ensureClassInitialized(java.nio.ByteOrder.class);
- }
- return javaNioAccess;
- }
-
- public static void setJavaIOAccess(JavaIOAccess jia) {
- javaIOAccess = jia;
- }
-
- public static JavaIOAccess getJavaIOAccess() {
- if (javaIOAccess == null) {
- unsafe.ensureClassInitialized(Console.class);
- }
- return javaIOAccess;
- }
-
- public static void setJavaIOFileDescriptorAccess(JavaIOFileDescriptorAccess jiofda) {
- javaIOFileDescriptorAccess = jiofda;
- }
-
- public static JavaIOFileDescriptorAccess getJavaIOFileDescriptorAccess() {
- if (javaIOFileDescriptorAccess == null)
- unsafe.ensureClassInitialized(FileDescriptor.class);
-
- return javaIOFileDescriptorAccess;
- }
-
- public static void setJavaSecurityProtectionDomainAccess
- (JavaSecurityProtectionDomainAccess jspda) {
- javaSecurityProtectionDomainAccess = jspda;
- }
-
- public static JavaSecurityProtectionDomainAccess
- getJavaSecurityProtectionDomainAccess() {
- if (javaSecurityProtectionDomainAccess == null)
- unsafe.ensureClassInitialized(ProtectionDomain.class);
- return javaSecurityProtectionDomainAccess;
- }
-
- public static void setJavaSecurityAccess(JavaSecurityAccess jsa) {
- javaSecurityAccess = jsa;
- }
-
- public static JavaSecurityAccess getJavaSecurityAccess() {
- if (javaSecurityAccess == null) {
- unsafe.ensureClassInitialized(AccessController.class);
- }
- return javaSecurityAccess;
- }
-
- public static JavaUtilZipFileAccess getJavaUtilZipFileAccess() {
- if (javaUtilZipFileAccess == null)
- unsafe.ensureClassInitialized(java.util.zip.ZipFile.class);
- return javaUtilZipFileAccess;
- }
-
- public static void setJavaUtilZipFileAccess(JavaUtilZipFileAccess access) {
- javaUtilZipFileAccess = access;
- }
-
- public static void setJavaAWTAccess(JavaAWTAccess jaa) {
- javaAWTAccess = jaa;
- }
-
- public static JavaAWTAccess getJavaAWTAccess() {
- // this may return null in which case calling code needs to
- // provision for.
- return javaAWTAccess;
- }
-
- public static void setJavaAWTFontAccess(JavaAWTFontAccess jafa) {
- javaAWTFontAccess = jafa;
- }
-
- public static JavaAWTFontAccess getJavaAWTFontAccess() {
- // this may return null in which case calling code needs to
- // provision for.
- return javaAWTFontAccess;
- }
-
- public static JavaBeansAccess getJavaBeansAccess() {
- return javaBeansAccess;
- }
-
- public static void setJavaBeansAccess(JavaBeansAccess access) {
- javaBeansAccess = access;
- }
-}
--- a/jdk/src/java.base/share/classes/sun/misc/URLClassPath.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/misc/URLClassPath.java Wed Jul 05 20:52:10 2017 +0200
@@ -66,6 +66,8 @@
import jdk.internal.jimage.ImageLocation;
import jdk.internal.jimage.ImageReader;
+import jdk.internal.misc.JavaUtilZipFileAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.net.util.URLUtil;
import sun.net.www.ParseUtil;
@@ -622,8 +624,8 @@
private URLStreamHandler handler;
private HashMap<String, Loader> lmap;
private boolean closed = false;
- private static final sun.misc.JavaUtilZipFileAccess zipAccess =
- sun.misc.SharedSecrets.getJavaUtilZipFileAccess();
+ private static final JavaUtilZipFileAccess zipAccess =
+ SharedSecrets.getJavaUtilZipFileAccess();
/*
* Creates a new JarLoader for the specified URL referring to
--- a/jdk/src/java.base/share/classes/sun/net/sdp/SdpSupport.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/net/sdp/SdpSupport.java Wed Jul 05 20:52:10 2017 +0200
@@ -29,8 +29,8 @@
import java.io.FileDescriptor;
import java.security.AccessController;
-import sun.misc.SharedSecrets;
-import sun.misc.JavaIOFileDescriptorAccess;
+import jdk.internal.misc.SharedSecrets;
+import jdk.internal.misc.JavaIOFileDescriptorAccess;
/**
--- a/jdk/src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/net/www/protocol/http/HttpURLConnection.java Wed Jul 05 20:52:10 2017 +0200
@@ -65,6 +65,8 @@
import java.util.HashMap;
import java.util.Set;
import java.util.StringJoiner;
+import jdk.internal.misc.JavaNetHttpCookieAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.net.*;
import sun.net.www.*;
import sun.net.www.http.HttpClient;
@@ -2878,8 +2880,8 @@
if (cookieHandler == null || value.length() == 0)
return value;
- sun.misc.JavaNetHttpCookieAccess access =
- sun.misc.SharedSecrets.getJavaNetHttpCookieAccess();
+ JavaNetHttpCookieAccess access =
+ SharedSecrets.getJavaNetHttpCookieAccess();
StringJoiner retValue = new StringJoiner(","); // RFC 2965, comma separated
List<HttpCookie> cookies = access.parse(value);
for (HttpCookie cookie : cookies) {
--- a/jdk/src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -44,9 +44,10 @@
import java.util.ArrayList;
import java.util.List;
+import jdk.internal.misc.JavaIOFileDescriptorAccess;
+import jdk.internal.misc.JavaNioAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.misc.Cleaner;
-import sun.misc.JavaIOFileDescriptorAccess;
-import sun.misc.SharedSecrets;
import sun.security.action.GetPropertyAction;
public class FileChannelImpl
@@ -976,8 +977,8 @@
* Invoked by sun.management.ManagementFactoryHelper to create the management
* interface for mapped buffers.
*/
- public static sun.misc.JavaNioAccess.BufferPool getMappedBufferPool() {
- return new sun.misc.JavaNioAccess.BufferPool() {
+ public static JavaNioAccess.BufferPool getMappedBufferPool() {
+ return new JavaNioAccess.BufferPool() {
@Override
public String getName() {
return "mapped";
--- a/jdk/src/java.base/share/classes/sun/reflect/annotation/AnnotationSupport.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/reflect/annotation/AnnotationSupport.java Wed Jul 05 20:52:10 2017 +0200
@@ -35,12 +35,12 @@
import java.util.Map;
import java.util.Objects;
-import sun.misc.JavaLangAccess;
-import sun.reflect.LangReflectAccess;
+import jdk.internal.misc.SharedSecrets;
+import jdk.internal.misc.JavaLangAccess;
import sun.reflect.ReflectionFactory;
public final class AnnotationSupport {
- private static final JavaLangAccess LANG_ACCESS = sun.misc.SharedSecrets.getJavaLangAccess();
+ private static final JavaLangAccess LANG_ACCESS = SharedSecrets.getJavaLangAccess();
/**
* Finds and returns all annotations in {@code annotations} matching
--- a/jdk/src/java.base/share/classes/sun/reflect/annotation/AnnotationType.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/reflect/annotation/AnnotationType.java Wed Jul 05 20:52:10 2017 +0200
@@ -25,13 +25,13 @@
package sun.reflect.annotation;
-import sun.misc.JavaLangAccess;
-
import java.lang.annotation.*;
import java.lang.reflect.*;
import java.util.*;
import java.security.AccessController;
import java.security.PrivilegedAction;
+import jdk.internal.misc.SharedSecrets;
+import jdk.internal.misc.JavaLangAccess;
/**
* Represents an annotation type at run time. Used to type-check annotations
@@ -79,7 +79,7 @@
public static AnnotationType getInstance(
Class<? extends Annotation> annotationClass)
{
- JavaLangAccess jla = sun.misc.SharedSecrets.getJavaLangAccess();
+ JavaLangAccess jla = SharedSecrets.getJavaLangAccess();
AnnotationType result = jla.getAnnotationType(annotationClass); // volatile read
if (result == null) {
result = new AnnotationType(annotationClass);
@@ -134,7 +134,7 @@
// of the corresponding annotation types breaks infinite recursion.
if (annotationClass != Retention.class &&
annotationClass != Inherited.class) {
- JavaLangAccess jla = sun.misc.SharedSecrets.getJavaLangAccess();
+ JavaLangAccess jla = SharedSecrets.getJavaLangAccess();
Map<Class<? extends Annotation>, Annotation> metaAnnotations =
AnnotationParser.parseSelectAnnotations(
jla.getRawClassAnnotations(annotationClass),
--- a/jdk/src/java.base/share/classes/sun/reflect/annotation/TypeAnnotationParser.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/reflect/annotation/TypeAnnotationParser.java Wed Jul 05 20:52:10 2017 +0200
@@ -35,7 +35,8 @@
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
-import sun.misc.JavaLangAccess;
+import jdk.internal.misc.SharedSecrets;
+import jdk.internal.misc.JavaLangAccess;
import sun.reflect.ConstantPool;
import static sun.reflect.annotation.TypeAnnotation.*;
@@ -309,7 +310,7 @@
static TypeAnnotation[] parseAllTypeAnnotations(AnnotatedElement decl) {
Class<?> container;
byte[] rawBytes;
- JavaLangAccess javaLangAccess = sun.misc.SharedSecrets.getJavaLangAccess();
+ JavaLangAccess javaLangAccess = SharedSecrets.getJavaLangAccess();
if (decl instanceof Class) {
container = (Class<?>)decl;
rawBytes = javaLangAccess.getRawClassTypeAnnotations(container);
--- a/jdk/src/java.base/share/classes/sun/security/provider/PolicyFile.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/provider/PolicyFile.java Wed Jul 05 20:52:10 2017 +0200
@@ -41,9 +41,9 @@
import java.net.SocketPermission;
import java.net.NetPermission;
import java.util.concurrent.atomic.AtomicReference;
-import sun.misc.JavaSecurityProtectionDomainAccess;
-import static sun.misc.JavaSecurityProtectionDomainAccess.ProtectionDomainCache;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaSecurityProtectionDomainAccess;
+import static jdk.internal.misc.JavaSecurityProtectionDomainAccess.ProtectionDomainCache;
+import jdk.internal.misc.SharedSecrets;
import sun.security.util.PolicyUtil;
import sun.security.util.PropertyExpander;
import sun.security.util.Debug;
--- a/jdk/src/java.base/share/classes/sun/security/ssl/CertStatusReqItemV2.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/ssl/CertStatusReqItemV2.java Wed Jul 05 20:52:10 2017 +0200
@@ -49,7 +49,7 @@
* enum { ocsp(1), ocsp_multi(2), (255) } CertificateStatusType;
*/
-final class CertStatusReqItemV2 implements StatusRequest {
+final class CertStatusReqItemV2 {
private final StatusRequestType statReqType;
private final StatusRequest request;
@@ -144,8 +144,7 @@
*
* @return the encoded length of this {@code CertStatusReqItemV2}
*/
- @Override
- public int length() {
+ int length() {
// The length is the the status type (1 byte) + the request length
// field (2 bytes) + the StatusRequest data length.
return request.length() + 3;
@@ -159,8 +158,7 @@
*
* @throws IOException if any errors occur during the encoding process
*/
- @Override
- public void send(HandshakeOutStream s) throws IOException {
+ void send(HandshakeOutStream s) throws IOException {
s.putInt8(statReqType.id);
s.putInt16(request.length());
request.send(s);
--- a/jdk/src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/ssl/SSLSocketImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -42,8 +42,8 @@
import javax.net.ssl.*;
import sun.misc.ManagedLocalsThread;
-import sun.misc.JavaNetInetAddressAccess;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaNetInetAddressAccess;
+import jdk.internal.misc.SharedSecrets;
/**
* Implementation of an SSL socket. This is a normal connection type
@@ -2094,7 +2094,7 @@
*/
private static String getOriginalHostname(InetAddress inetAddress) {
/*
- * Get the original hostname via sun.misc.SharedSecrets.
+ * Get the original hostname via jdk.internal.misc.SharedSecrets.
*/
JavaNetInetAddressAccess jna = SharedSecrets.getJavaNetInetAddressAccess();
String originalHostname = jna.getOriginalHostName(inetAddress);
--- a/jdk/src/java.base/share/classes/sun/security/util/Password.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/security/util/Password.java Wed Jul 05 20:52:10 2017 +0200
@@ -29,6 +29,7 @@
import java.nio.*;
import java.nio.charset.*;
import java.util.Arrays;
+import jdk.internal.misc.SharedSecrets;
/**
* A utility class for reading passwords
@@ -139,7 +140,7 @@
private static byte[] convertToBytes(char[] pass) {
if (enc == null) {
synchronized (Password.class) {
- enc = sun.misc.SharedSecrets.getJavaIOAccess()
+ enc = SharedSecrets.getJavaIOAccess()
.charset()
.newEncoder()
.onMalformedInput(CodingErrorAction.REPLACE)
--- a/jdk/src/java.base/share/classes/sun/text/bidi/BidiBase.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/text/bidi/BidiBase.java Wed Jul 05 20:52:10 2017 +0200
@@ -52,8 +52,8 @@
import java.text.AttributedCharacterIterator;
import java.text.Bidi;
import java.util.Arrays;
-import sun.misc.JavaAWTFontAccess;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaAWTFontAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.text.normalizer.UBiDiProps;
import sun.text.normalizer.UCharacter;
import sun.text.normalizer.UTF16;
--- a/jdk/src/java.base/share/classes/sun/util/locale/provider/LocaleProviderAdapter.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/util/locale/provider/LocaleProviderAdapter.java Wed Jul 05 20:52:10 2017 +0200
@@ -185,7 +185,6 @@
LocaleServiceProviderPool.config(LocaleProviderAdapter.class, e.toString());
}
typeList.add(Type.JRE);
- typeList.add(Type.SPI);
defaultLocaleProviderAdapter = Type.JRE;
}
--- a/jdk/src/java.base/share/classes/sun/util/logging/PlatformLogger.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/util/logging/PlatformLogger.java Wed Jul 05 20:52:10 2017 +0200
@@ -39,8 +39,8 @@
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
-import sun.misc.JavaLangAccess;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaLangAccess;
+import jdk.internal.misc.SharedSecrets;
/**
* Platform logger provides an API for the JRE components to log
--- a/jdk/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/classes/sun/util/resources/TimeZoneNames.java Wed Jul 05 20:52:10 2017 +0200
@@ -430,6 +430,7 @@
{"America/Eirunepe", ACT},
{"America/El_Salvador", CST},
{"America/Ensenada", PST},
+ {"America/Fort_Nelson", MST},
{"America/Fort_Wayne", EST},
{"America/Fortaleza", BRT},
{"America/Glace_Bay", AST},
--- a/jdk/src/java.base/share/native/libjava/VMSupport.c Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/native/libjava/VMSupport.c Wed Jul 05 20:52:10 2017 +0200
@@ -42,6 +42,7 @@
if (!JDK_InitJvmHandle()) {
JNU_ThrowInternalError(env,
"Handle for JVM not found for symbol lookup");
+ return NULL;
}
InitAgentProperties_fp = (INIT_AGENT_PROPERTIES_FN)
JDK_FindJvmEntry("JVM_InitAgentProperties");
--- a/jdk/src/java.base/share/native/libjava/jni_util.h Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/native/libjava/jni_util.h Wed Jul 05 20:52:10 2017 +0200
@@ -388,6 +388,7 @@
char *jniEntryName);
extern size_t getLastErrorString(char *buf, size_t len);
+extern int getErrorString(int err, char *buf, size_t len);
#ifdef __cplusplus
} /* extern "C" */
#endif /* __cplusplus */
--- a/jdk/src/java.base/share/native/libjimage/jimage.cpp Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/native/libjimage/jimage.cpp Wed Jul 05 20:52:10 2017 +0200
@@ -29,8 +29,6 @@
#include "imageFile.hpp"
-#define BOOT_VERSION "9.0"
-
/*
* JImageOpen - Given the supplied full path file name, open an image file. This
* function will also initialize tables and retrieve meta-data necessary to
@@ -104,10 +102,6 @@
extern "C" JImageLocationRef JIMAGE_FindResource(JImageFile* image,
const char* module_name, const char* version, const char* name,
jlong* size) {
- if (strcmp(version, BOOT_VERSION) != 0) {
- return (JImageLocationRef) 0;
- }
-
ImageLocation location;
char fullpath[IMAGE_MAX_PATH];
--- a/jdk/src/java.base/share/native/libzip/zip_util.c Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/share/native/libzip/zip_util.c Wed Jul 05 20:52:10 2017 +0200
@@ -1438,6 +1438,7 @@
ZIP_ReadEntry(jzfile *zip, jzentry *entry, unsigned char *buf, char *entryname)
{
char *msg;
+ char tmpbuf[1024];
strcpy(entryname, entry->name);
if (entry->csize == 0) {
@@ -1456,8 +1457,11 @@
msg = zip->msg;
ZIP_Unlock(zip);
if (n == -1) {
- jio_fprintf(stderr, "%s: %s\n", zip->name,
- msg != 0 ? msg : strerror(errno));
+ if (msg == 0) {
+ getErrorString(errno, tmpbuf, sizeof(tmpbuf));
+ msg = tmpbuf;
+ }
+ jio_fprintf(stderr, "%s: %s\n", zip->name, msg);
return JNI_FALSE;
}
buf += n;
@@ -1470,8 +1474,11 @@
if ((msg == NULL) || (*msg == 0)) {
msg = zip->msg;
}
- jio_fprintf(stderr, "%s: %s\n", zip->name,
- msg != 0 ? msg : strerror(errno));
+ if (msg == 0) {
+ getErrorString(errno, tmpbuf, sizeof(tmpbuf));
+ msg = tmpbuf;
+ }
+ jio_fprintf(stderr, "%s: %s\n", zip->name, msg);
return JNI_FALSE;
}
}
--- a/jdk/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/solaris/classes/sun/nio/ch/DevPollSelectorImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2013, 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
@@ -68,9 +68,23 @@
long pipeFds = IOUtil.makePipe(false);
fd0 = (int) (pipeFds >>> 32);
fd1 = (int) pipeFds;
- pollWrapper = new DevPollArrayWrapper();
- pollWrapper.initInterrupt(fd0, fd1);
- fdToKey = new HashMap<Integer,SelectionKeyImpl>();
+ try {
+ pollWrapper = new DevPollArrayWrapper();
+ pollWrapper.initInterrupt(fd0, fd1);
+ fdToKey = new HashMap<>();
+ } catch (Throwable t) {
+ try {
+ FileDispatcherImpl.closeIntFD(fd0);
+ } catch (IOException ioe0) {
+ t.addSuppressed(ioe0);
+ }
+ try {
+ FileDispatcherImpl.closeIntFD(fd1);
+ } catch (IOException ioe1) {
+ t.addSuppressed(ioe1);
+ }
+ throw t;
+ }
}
protected int doSelect(long timeout)
--- a/jdk/src/java.base/unix/classes/java/io/FileDescriptor.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/unix/classes/java/io/FileDescriptor.java Wed Jul 05 20:52:10 2017 +0200
@@ -27,6 +27,8 @@
import java.util.ArrayList;
import java.util.List;
+import jdk.internal.misc.JavaIOFileDescriptorAccess;
+import jdk.internal.misc.SharedSecrets;
/**
* Instances of the file descriptor class serve as an opaque handle
@@ -145,8 +147,8 @@
// Set up JavaIOFileDescriptorAccess in SharedSecrets
static {
- sun.misc.SharedSecrets.setJavaIOFileDescriptorAccess(
- new sun.misc.JavaIOFileDescriptorAccess() {
+ SharedSecrets.setJavaIOFileDescriptorAccess(
+ new JavaIOFileDescriptorAccess() {
public void set(FileDescriptor obj, int fd) {
obj.fd = fd;
}
--- a/jdk/src/java.base/unix/classes/java/lang/ProcessImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/unix/classes/java/lang/ProcessImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -46,6 +46,8 @@
import java.security.PrivilegedAction;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
+import jdk.internal.misc.JavaIOFileDescriptorAccess;
+import jdk.internal.misc.SharedSecrets;
/**
* java.lang.Process subclass in the UNIX environment.
@@ -57,8 +59,8 @@
* @since 1.5
*/
final class ProcessImpl extends Process {
- private static final sun.misc.JavaIOFileDescriptorAccess fdAccess
- = sun.misc.SharedSecrets.getJavaIOFileDescriptorAccess();
+ private static final JavaIOFileDescriptorAccess fdAccess
+ = SharedSecrets.getJavaIOFileDescriptorAccess();
// Linux platforms support a normal (non-forcible) kill signal.
static final boolean SUPPORTS_NORMAL_TERMINATION = true;
--- a/jdk/src/java.base/unix/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/unix/classes/sun/net/www/protocol/http/ntlm/NTLMAuthentication.java Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 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
@@ -143,8 +143,9 @@
password = pw.getPassword();
init0();
try {
- client = new Client(System.getProperty("ntlm.version"), hostname,
- username, ntdomain, password);
+ String version = java.security.AccessController.doPrivileged(
+ new sun.security.action.GetPropertyAction("ntlm.version"));
+ client = new Client(version, hostname, username, ntdomain, password);
} catch (NTLMException ne) {
try {
client = new Client(null, hostname, username, ntdomain, password);
--- a/jdk/src/java.base/unix/classes/sun/nio/ch/PollSelectorImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/unix/classes/sun/nio/ch/PollSelectorImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2001, 2010, 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
@@ -57,9 +57,23 @@
long pipeFds = IOUtil.makePipe(false);
fd0 = (int) (pipeFds >>> 32);
fd1 = (int) pipeFds;
- pollWrapper = new PollArrayWrapper(INIT_CAP);
- pollWrapper.initInterrupt(fd0, fd1);
- channelArray = new SelectionKeyImpl[INIT_CAP];
+ try {
+ pollWrapper = new PollArrayWrapper(INIT_CAP);
+ pollWrapper.initInterrupt(fd0, fd1);
+ channelArray = new SelectionKeyImpl[INIT_CAP];
+ } catch (Throwable t) {
+ try {
+ FileDispatcherImpl.closeIntFD(fd0);
+ } catch (IOException ioe0) {
+ t.addSuppressed(ioe0);
+ }
+ try {
+ FileDispatcherImpl.closeIntFD(fd1);
+ } catch (IOException ioe1) {
+ t.addSuppressed(ioe1);
+ }
+ throw t;
+ }
}
protected int doSelect(long timeout)
--- a/jdk/src/java.base/unix/classes/sun/nio/fs/UnixChannelFactory.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/unix/classes/sun/nio/fs/UnixChannelFactory.java Wed Jul 05 20:52:10 2017 +0200
@@ -30,11 +30,11 @@
import java.io.FileDescriptor;
import java.util.Set;
+import jdk.internal.misc.SharedSecrets;
+import jdk.internal.misc.JavaIOFileDescriptorAccess;
import sun.nio.ch.FileChannelImpl;
import sun.nio.ch.ThreadPool;
import sun.nio.ch.SimpleAsynchronousFileChannelImpl;
-import sun.misc.SharedSecrets;
-import sun.misc.JavaIOFileDescriptorAccess;
import static sun.nio.fs.UnixNativeDispatcher.*;
import static sun.nio.fs.UnixConstants.*;
--- a/jdk/src/java.base/unix/native/libjava/ProcessImpl_md.c Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/unix/native/libjava/ProcessImpl_md.c Wed Jul 05 20:52:10 2017 +0200
@@ -248,12 +248,13 @@
const char *detail = defaultDetail;
char *errmsg;
size_t fmtsize;
+ char tmpbuf[1024];
jstring s;
if (errnum != 0) {
- const char *s = strerror(errnum);
- if (strcmp(s, "Unknown error") != 0)
- detail = s;
+ int ret = getErrorString(errnum, tmpbuf, sizeof(tmpbuf));
+ if (ret != EINVAL)
+ detail = tmpbuf;
}
/* ASCII Decimal representation uses 2.4 times as many bits as binary. */
fmtsize = sizeof(IOE_FORMAT) + strlen(detail) + 3 * sizeof(errnum);
--- a/jdk/src/java.base/unix/native/libjava/jni_util_md.c Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/unix/native/libjava/jni_util_md.c Wed Jul 05 20:52:10 2017 +0200
@@ -30,6 +30,13 @@
#include "jni_util.h"
#include "dlfcn.h"
+#if defined(LINUX) && (defined(_GNU_SOURCE) || \
+ (defined(_POSIX_C_SOURCE) && _POSIX_C_SOURCE < 200112L \
+ && defined(_XOPEN_SOURCE) && _XOPEN_SOURCE < 600))
+extern int __xpg_strerror_r(int, char *, size_t);
+#define strerror_r(a, b, c) __xpg_strerror_r((a), (b), (c))
+#endif
+
void* getProcessHandle() {
static void *procHandle = NULL;
if (procHandle != NULL) {
@@ -55,16 +62,14 @@
size_t
getLastErrorString(char *buf, size_t len)
{
- char *err;
- size_t n;
if (errno == 0 || len < 1) return 0;
+ getErrorString(errno, buf, len);
+ return strlen(buf);
+}
- err = strerror(errno);
- n = strlen(err);
- if (n >= len)
- n = len - 1;
-
- strncpy(buf, err, n);
- buf[n] = '\0';
- return n;
+int
+getErrorString(int err, char *buf, size_t len)
+{
+ if (err == 0 || len < 1) return 0;
+ return strerror_r(err, buf, len);
}
--- a/jdk/src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/unix/native/libnet/PlainDatagramSocketImpl.c Wed Jul 05 20:52:10 2017 +0200
@@ -918,6 +918,7 @@
jobject this) {
jobject fdObj = (*env)->GetObjectField(env, this, pdsi_fdID);
int arg, fd, t = 1;
+ char tmpbuf[1024];
#ifdef AF_INET6
int domain = ipv6_available() ? AF_INET6 : AF_INET;
#else
@@ -953,22 +954,23 @@
arg = 65507;
if (setsockopt(fd, SOL_SOCKET, SO_SNDBUF,
(char *)&arg, sizeof(arg)) < 0) {
- JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
- strerror(errno));
+ getErrorString(errno, tmpbuf, sizeof(tmpbuf));
+ JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", tmpbuf);
close(fd);
return;
}
if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF,
(char *)&arg, sizeof(arg)) < 0) {
- JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
- strerror(errno));
+ getErrorString(errno, tmpbuf, sizeof(tmpbuf));
+ JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", tmpbuf);
close(fd);
return;
}
#endif /* __APPLE__ */
if (setsockopt(fd, SOL_SOCKET, SO_BROADCAST, (char*) &t, sizeof (int)) < 0) {
- JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", strerror(errno));
+ getErrorString(errno, tmpbuf, sizeof(tmpbuf));
+ JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", tmpbuf);
close(fd);
return;
}
@@ -977,9 +979,10 @@
arg = 0;
int level = (domain == AF_INET6) ? IPPROTO_IPV6 : IPPROTO_IP;
if ((setsockopt(fd, level, IP_MULTICAST_ALL, (char*)&arg, sizeof(arg)) < 0) &&
- (errno != ENOPROTOOPT)) {
- JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException",
- strerror(errno));
+ (errno != ENOPROTOOPT))
+ {
+ getErrorString(errno, tmpbuf, sizeof(tmpbuf));
+ JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", tmpbuf);
close(fd);
return;
}
@@ -994,7 +997,8 @@
int ttl = 1;
if (setsockopt(fd, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, (char *) &ttl,
sizeof (ttl)) < 0) {
- JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", strerror(errno));
+ getErrorString(errno, tmpbuf, sizeof(tmpbuf));
+ JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", tmpbuf);
close(fd);
return;
}
--- a/jdk/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c Wed Jul 05 20:52:10 2017 +0200
@@ -315,21 +315,15 @@
JNIEXPORT jbyteArray
Java_sun_nio_fs_UnixNativeDispatcher_strerror(JNIEnv* env, jclass this, jint error)
{
- char* msg;
+ char tmpbuf[1024];
jsize len;
jbyteArray bytes;
-#ifdef _AIX
- /* strerror() is not thread-safe on AIX so we have to use strerror_r() */
- char buffer[256];
- msg = (strerror_r((int)error, buffer, 256) == 0) ? buffer : "Error while calling strerror_r";
-#else
- msg = strerror((int)error);
-#endif
- len = strlen(msg);
+ getErrorString((int)errno, tmpbuf, sizeof(tmpbuf));
+ len = strlen(tmpbuf);
bytes = (*env)->NewByteArray(env, len);
if (bytes != NULL) {
- (*env)->SetByteArrayRegion(env, bytes, 0, len, (jbyte*)msg);
+ (*env)->SetByteArrayRegion(env, bytes, 0, len, (jbyte*)tmpbuf);
}
return bytes;
}
--- a/jdk/src/java.base/windows/classes/java/io/FileDescriptor.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/windows/classes/java/io/FileDescriptor.java Wed Jul 05 20:52:10 2017 +0200
@@ -27,6 +27,8 @@
import java.util.ArrayList;
import java.util.List;
+import jdk.internal.misc.JavaIOFileDescriptorAccess;
+import jdk.internal.misc.SharedSecrets;
/**
* Instances of the file descriptor class serve as an opaque handle
@@ -70,8 +72,8 @@
// Set up JavaIOFileDescriptorAccess in SharedSecrets
static {
- sun.misc.SharedSecrets.setJavaIOFileDescriptorAccess(
- new sun.misc.JavaIOFileDescriptorAccess() {
+ SharedSecrets.setJavaIOFileDescriptorAccess(
+ new JavaIOFileDescriptorAccess() {
public void set(FileDescriptor obj, int fd) {
obj.fd = fd;
}
--- a/jdk/src/java.base/windows/classes/java/lang/ProcessImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/windows/classes/java/lang/ProcessImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -42,6 +42,8 @@
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;
/* This class is for the exclusive use of ProcessBuilder.start() to
* create new processes.
@@ -51,8 +53,8 @@
*/
final class ProcessImpl extends Process {
- private static final sun.misc.JavaIOFileDescriptorAccess fdAccess
- = sun.misc.SharedSecrets.getJavaIOFileDescriptorAccess();
+ private static final JavaIOFileDescriptorAccess fdAccess
+ = SharedSecrets.getJavaIOFileDescriptorAccess();
// Windows platforms support a forcible kill signal.
static final boolean SUPPORTS_NORMAL_TERMINATION = false;
--- a/jdk/src/java.base/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/windows/classes/java/net/DualStackPlainDatagramSocketImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -25,8 +25,8 @@
package java.net;
import java.io.IOException;
-import sun.misc.SharedSecrets;
-import sun.misc.JavaIOFileDescriptorAccess;
+import jdk.internal.misc.SharedSecrets;
+import jdk.internal.misc.JavaIOFileDescriptorAccess;
/**
* This class defines the plain DatagramSocketImpl that is used on
--- a/jdk/src/java.base/windows/classes/java/net/DualStackPlainSocketImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/windows/classes/java/net/DualStackPlainSocketImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -26,8 +26,8 @@
import java.io.IOException;
import java.io.FileDescriptor;
-import sun.misc.SharedSecrets;
-import sun.misc.JavaIOFileDescriptorAccess;
+import jdk.internal.misc.SharedSecrets;
+import jdk.internal.misc.JavaIOFileDescriptorAccess;
/**
* This class defines the plain SocketImpl that is used on Windows platforms
--- a/jdk/src/java.base/windows/classes/sun/nio/ch/FileDispatcherImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/windows/classes/sun/nio/ch/FileDispatcherImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -28,8 +28,8 @@
import java.io.FileDescriptor;
import java.io.IOException;
import java.security.PrivilegedAction;
-import sun.misc.SharedSecrets;
-import sun.misc.JavaIOFileDescriptorAccess;
+import jdk.internal.misc.SharedSecrets;
+import jdk.internal.misc.JavaIOFileDescriptorAccess;
class FileDispatcherImpl extends FileDispatcher {
--- a/jdk/src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/windows/classes/sun/nio/ch/WindowsAsynchronousFileChannelImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -31,8 +31,8 @@
import java.nio.BufferOverflowException;
import java.io.IOException;
import java.io.FileDescriptor;
-import sun.misc.SharedSecrets;
-import sun.misc.JavaIOFileDescriptorAccess;
+import jdk.internal.misc.SharedSecrets;
+import jdk.internal.misc.JavaIOFileDescriptorAccess;
/**
* Windows implementation of AsynchronousFileChannel using overlapped I/O.
--- a/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsChannelFactory.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/windows/classes/sun/nio/fs/WindowsChannelFactory.java Wed Jul 05 20:52:10 2017 +0200
@@ -36,8 +36,8 @@
import com.sun.nio.file.ExtendedOpenOption;
-import sun.misc.JavaIOFileDescriptorAccess;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaIOFileDescriptorAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.nio.ch.FileChannelImpl;
import sun.nio.ch.ThreadPool;
import sun.nio.ch.WindowsAsynchronousFileChannelImpl;
--- a/jdk/src/java.base/windows/native/libjava/jni_util_md.c Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/windows/native/libjava/jni_util_md.c Wed Jul 05 20:52:10 2017 +0200
@@ -108,13 +108,9 @@
}
} else if (errno != 0) {
// C runtime error that has no corresponding WIN32 error code
- const WCHAR *rtError = _wcserror(errno);
- if (rtError != NULL) {
- wcsncpy(utf16_osErrorMsg, rtError, cbErrorMsg);
- // truncate if too long
- utf16_osErrorMsg[cbErrorMsg - 1] = L'\0';
+ int ret = _wcserror_s(utf16_osErrorMsg, cbErrorMsg, errno);
+ if (ret == 0)
n = wcslen(utf16_osErrorMsg);
- }
} else
noError = TRUE; //OS has no error to report
@@ -147,3 +143,12 @@
}
return n;
}
+
+int
+getErrorString(int err, char *buf, size_t len)
+{
+ int ret = 0;
+ if (err == 0 || len < 1) return 0;
+ ret = strerror_s(buf, len, err);
+ return ret;
+}
--- a/jdk/src/java.base/windows/native/libnet/Inet4AddressImpl.c Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/windows/native/libnet/Inet4AddressImpl.c Wed Jul 05 20:52:10 2017 +0200
@@ -283,8 +283,11 @@
* Returns true is an ECHO_REPLY is received, otherwise, false.
*/
static jboolean
-ping4(JNIEnv *env, unsigned long ipaddr, jint timeout) {
-
+ping4(JNIEnv *env,
+ unsigned long src_addr,
+ unsigned long dest_addr,
+ jint timeout)
+{
// See https://msdn.microsoft.com/en-us/library/aa366050%28VS.85%29.aspx
HANDLE hIcmpFile;
@@ -307,14 +310,29 @@
return JNI_FALSE;
}
- dwRetVal = IcmpSendEcho(hIcmpFile, // HANDLE IcmpHandle,
- ipaddr, // IPAddr DestinationAddress,
- SendData, // LPVOID RequestData,
- sizeof(SendData), // WORD RequestSize,
- NULL, // PIP_OPTION_INFORMATION RequestOptions,
- ReplyBuffer,// LPVOID ReplyBuffer,
- ReplySize, // DWORD ReplySize,
- timeout); // DWORD Timeout
+ if (src_addr == 0) {
+ dwRetVal = IcmpSendEcho(hIcmpFile, // HANDLE IcmpHandle,
+ dest_addr, // IPAddr DestinationAddress,
+ SendData, // LPVOID RequestData,
+ sizeof(SendData), // WORD RequestSize,
+ NULL, // PIP_OPTION_INFORMATION RequestOptions,
+ ReplyBuffer,// LPVOID ReplyBuffer,
+ ReplySize, // DWORD ReplySize,
+ timeout); // DWORD Timeout
+ } else {
+ dwRetVal = IcmpSendEcho2Ex(hIcmpFile, // HANDLE IcmpHandle,
+ NULL, // HANDLE Event
+ NULL, // PIO_APC_ROUTINE ApcRoutine
+ NULL, // ApcContext
+ src_addr, // IPAddr SourceAddress,
+ dest_addr, // IPAddr DestinationAddress,
+ SendData, // LPVOID RequestData,
+ sizeof(SendData), // WORD RequestSize,
+ NULL, // PIP_OPTION_INFORMATION RequestOptions,
+ ReplyBuffer,// LPVOID ReplyBuffer,
+ ReplySize, // DWORD ReplySize,
+ timeout); // DWORD Timeout
+ }
free(ReplyBuffer);
IcmpCloseHandle(hIcmpFile);
@@ -337,9 +355,9 @@
jint timeout,
jbyteArray ifArray,
jint ttl) {
- jint addr;
+ jint src_addr = 0;
+ jint dest_addr = 0;
jbyte caddr[4];
- struct sockaddr_in him;
int sz;
/**
@@ -349,14 +367,28 @@
if (sz != 4) {
return JNI_FALSE;
}
- memset((char *) &him, 0, sizeof(him));
memset((char *) caddr, 0, sizeof(caddr));
(*env)->GetByteArrayRegion(env, addrArray, 0, 4, caddr);
- addr = ((caddr[0]<<24) & 0xff000000);
- addr |= ((caddr[1] <<16) & 0xff0000);
- addr |= ((caddr[2] <<8) & 0xff00);
- addr |= (caddr[3] & 0xff);
- addr = htonl(addr);
+ dest_addr = ((caddr[0]<<24) & 0xff000000);
+ dest_addr |= ((caddr[1] <<16) & 0xff0000);
+ dest_addr |= ((caddr[2] <<8) & 0xff00);
+ dest_addr |= (caddr[3] & 0xff);
+ dest_addr = htonl(dest_addr);
- return ping4(env, addr, timeout);
+ /**
+ * If a network interface was specified, let's convert its address
+ * as well.
+ */
+ if (!(IS_NULL(ifArray))) {
+ memset((char *) caddr, 0, sizeof(caddr));
+ (*env)->GetByteArrayRegion(env, ifArray, 0, 4, caddr);
+ src_addr = ((caddr[0]<<24) & 0xff000000);
+ src_addr |= ((caddr[1] <<16) & 0xff0000);
+ src_addr |= ((caddr[2] <<8) & 0xff00);
+ src_addr |= (caddr[3] & 0xff);
+ src_addr = htonl(src_addr);
+ }
+
+ return ping4(env, src_addr, dest_addr, timeout);
}
+
--- a/jdk/src/java.base/windows/native/libnet/TwoStacksPlainDatagramSocketImpl.c Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.base/windows/native/libnet/TwoStacksPlainDatagramSocketImpl.c Wed Jul 05 20:52:10 2017 +0200
@@ -2211,8 +2211,11 @@
optlen = sizeof(optval.i);
if (NET_GetSockOpt(fd, level, optname, (void *)&optval, &optlen) < 0) {
- char errmsg[255];
- sprintf(errmsg, "error getting socket option: %s\n", strerror(errno));
+ char tmpbuf[255];
+ int size = 0;
+ char errmsg[255 + 31];
+ getErrorString(errno, tmpbuf, sizeof(tmpbuf));
+ sprintf(errmsg, "error getting socket option: %s", tmpbuf);
JNU_ThrowByName(env, JNU_JAVANETPKG "SocketException", errmsg);
return NULL;
}
--- a/jdk/src/java.datatransfer/share/classes/java/awt/datatransfer/DataFlavor.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.datatransfer/share/classes/java/awt/datatransfer/DataFlavor.java Wed Jul 05 20:52:10 2017 +0200
@@ -127,7 +127,7 @@
* @return the class loaded
* @exception ClassNotFoundException if class is not found
*/
- protected final static Class<?> tryToLoadClass(String className,
+ protected static final Class<?> tryToLoadClass(String className,
ClassLoader fallback)
throws ClassNotFoundException
{
@@ -163,7 +163,7 @@
/*
* private initializer
*/
- static private DataFlavor createConstant(Class<?> rc, String prn) {
+ private static DataFlavor createConstant(Class<?> rc, String prn) {
try {
return new DataFlavor(rc, prn);
} catch (Exception e) {
@@ -174,7 +174,7 @@
/*
* private initializer
*/
- static private DataFlavor createConstant(String mt, String prn) {
+ private static DataFlavor createConstant(String mt, String prn) {
try {
return new DataFlavor(mt, prn);
} catch (Exception e) {
@@ -185,7 +185,7 @@
/*
* private initializer
*/
- static private DataFlavor initHtmlDataFlavor(String htmlFlavorType) {
+ private static DataFlavor initHtmlDataFlavor(String htmlFlavorType) {
try {
return new DataFlavor ("text/html; class=java.lang.String;document=" +
htmlFlavorType + ";charset=Unicode");
--- a/jdk/src/java.desktop/macosx/classes/com/apple/eawt/_AppEventHandler.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/eawt/_AppEventHandler.java Wed Jul 05 20:52:10 2017 +0200
@@ -62,7 +62,7 @@
private static native void nativeReplyToAppShouldTerminate(final boolean shouldTerminate);
private static native void nativeRegisterForNotification(final int notification);
- final static _AppEventHandler instance = new _AppEventHandler();
+ static final _AppEventHandler instance = new _AppEventHandler();
static _AppEventHandler getInstance() {
return instance;
}
--- a/jdk/src/java.desktop/macosx/classes/com/apple/eio/FileManager.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/eio/FileManager.java Wed Jul 05 20:52:10 2017 +0200
@@ -69,31 +69,31 @@
* @since Java for Mac OS X 10.5 - 1.5
* @since Java for Mac OS X 10.5 Update 1 - 1.6
*/
- public final static short kOnAppropriateDisk = -32767;
+ public static final short kOnAppropriateDisk = -32767;
/**
* Read-only system hierarchy.
* @since Java for Mac OS X 10.5 - 1.5
* @since Java for Mac OS X 10.5 Update 1 - 1.6
*/
- public final static short kSystemDomain = -32766;
+ public static final short kSystemDomain = -32766;
/**
* All users of a single machine have access to these resources.
* @since Java for Mac OS X 10.5 - 1.5
* @since Java for Mac OS X 10.5 Update 1 - 1.6
*/
- public final static short kLocalDomain = -32765;
+ public static final short kLocalDomain = -32765;
/**
* All users configured to use a common network server has access to these resources.
* @since Java for Mac OS X 10.5 - 1.5
* @since Java for Mac OS X 10.5 Update 1 - 1.6
*/
- public final static short kNetworkDomain = -32764;
+ public static final short kNetworkDomain = -32764;
/**
* Read/write. Resources that are private to the user.
* @since Java for Mac OS X 10.5 - 1.5
* @since Java for Mac OS X 10.5 Update 1 - 1.6
*/
- public final static short kUserDomain = -32763;
+ public static final short kUserDomain = -32763;
/**
--- a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaButtonBorder.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaButtonBorder.java Wed Jul 05 20:52:10 2017 +0200
@@ -38,17 +38,17 @@
public abstract class AquaButtonBorder extends AquaBorder implements Border, UIResource {
public static final RecyclableSingleton<Dynamic> fDynamic = new RecyclableSingletonFromDefaultConstructor<Dynamic>(Dynamic.class);
- static public AquaButtonBorder getDynamicButtonBorder() {
+ public static AquaButtonBorder getDynamicButtonBorder() {
return fDynamic.get();
}
private static final RecyclableSingleton<Toggle> fToggle = new RecyclableSingletonFromDefaultConstructor<Toggle>(Toggle.class);
- static public AquaButtonBorder getToggleButtonBorder() {
+ public static AquaButtonBorder getToggleButtonBorder() {
return fToggle.get();
}
public static final RecyclableSingleton<Toolbar> fToolBar = new RecyclableSingletonFromDefaultConstructor<Toolbar>(Toolbar.class);
- static public Border getToolBarButtonBorder() {
+ public static Border getToolBarButtonBorder() {
return fToolBar.get();
}
--- a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaButtonExtendedTypes.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaButtonExtendedTypes.java Wed Jul 05 20:52:10 2017 +0200
@@ -63,7 +63,7 @@
return logicalPosition;
}
- static abstract class TypeSpecifier {
+ abstract static class TypeSpecifier {
final String name;
final boolean setIconFont;
@@ -138,7 +138,7 @@
return typeDefinitions.get().get(name);
}
- protected final static RecyclableSingleton<Map<String, TypeSpecifier>> typeDefinitions = new RecyclableSingleton<Map<String, TypeSpecifier>>() {
+ protected static final RecyclableSingleton<Map<String, TypeSpecifier>> typeDefinitions = new RecyclableSingleton<Map<String, TypeSpecifier>>() {
protected Map<String, TypeSpecifier> getInstance() {
return getAllTypes();
}
--- a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaButtonLabeledUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaButtonLabeledUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -221,7 +221,7 @@
return new Dimension(width, height);
}
- public static abstract class LabeledButtonBorder extends AquaButtonBorder {
+ public abstract static class LabeledButtonBorder extends AquaButtonBorder {
public LabeledButtonBorder(final SizeDescriptor sizeDescriptor) {
super(sizeDescriptor);
}
--- a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaButtonUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaButtonUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -462,7 +462,7 @@
return d;
}
- final static RecyclableSingleton<AquaHierarchyButtonListener> fHierListener = new RecyclableSingletonFromDefaultConstructor<AquaHierarchyButtonListener>(AquaHierarchyButtonListener.class);
+ static final RecyclableSingleton<AquaHierarchyButtonListener> fHierListener = new RecyclableSingletonFromDefaultConstructor<AquaHierarchyButtonListener>(AquaHierarchyButtonListener.class);
static AquaHierarchyButtonListener getAquaHierarchyButtonListener() {
return fHierListener.get();
}
--- a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxButton.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxButton.java Wed Jul 05 20:52:10 2017 +0200
@@ -35,10 +35,10 @@
@SuppressWarnings("serial") // Superclass is not serializable across versions
class AquaComboBoxButton extends JButton {
- final protected JComboBox<Object> comboBox;
- final protected JList<?> list;
- final protected CellRendererPane rendererPane;
- final protected AquaComboBoxUI ui;
+ protected final JComboBox<Object> comboBox;
+ protected final JList<?> list;
+ protected final CellRendererPane rendererPane;
+ protected final AquaComboBoxUI ui;
protected final AquaPainter<JRSUIState> painter = AquaPainter.create(JRSUIState.getInstance());
boolean isPopDown;
--- a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxPopup.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaComboBoxPopup.java Wed Jul 05 20:52:10 2017 +0200
@@ -26,6 +26,8 @@
package com.apple.laf;
import java.awt.*;
+import java.awt.Insets;
+import java.awt.Rectangle;
import java.awt.event.*;
import javax.swing.*;
@@ -195,24 +197,14 @@
final GraphicsDevice[] gs = ge.getScreenDevices();
//System.err.println(" gs.length = " + gs.length);
final Rectangle comboBoxBounds = comboBox.getBounds();
- if (gs.length == 1) {
- final Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize();
-
- //System.err.println(" scrSize: "+ scrSize);
-
- // If the combo box is totally off screen, don't show a popup
- if ((p.x + comboBoxBounds.width < 0) || (p.y + comboBoxBounds.height < 0) || (p.x > scrSize.width) || (p.y > scrSize.height)) {
- return null;
- }
- Insets insets = Toolkit.getDefaultToolkit().getScreenInsets(comboBox.getGraphicsConfiguration());
- return new Rectangle(0, insets.top, scrSize.width, scrSize.height - insets.top - insets.bottom);
- }
for (final GraphicsDevice gd : gs) {
final GraphicsConfiguration[] gc = gd.getConfigurations();
for (final GraphicsConfiguration element0 : gc) {
final Rectangle gcBounds = element0.getBounds();
- if (gcBounds.contains(p)) return gcBounds;
+ if (gcBounds.contains(p)) {
+ return getAvailableScreenArea(gcBounds, element0);
+ }
}
}
@@ -222,13 +214,24 @@
final GraphicsConfiguration[] gc = gd.getConfigurations();
for (final GraphicsConfiguration element0 : gc) {
final Rectangle gcBounds = element0.getBounds();
- if (gcBounds.intersects(comboBoxBounds)) return gcBounds;
+ if (gcBounds.intersects(comboBoxBounds)) {
+ if (gcBounds.contains(p)) {
+ return getAvailableScreenArea(gcBounds, element0);
+ }
+ }
}
}
return null;
}
+ private Rectangle getAvailableScreenArea(Rectangle bounds,
+ GraphicsConfiguration gc) {
+ Insets insets = Toolkit.getDefaultToolkit().getScreenInsets(gc);
+ return new Rectangle(0, insets.top, bounds.width,
+ bounds.height - insets.top);
+ }
+
@Override
protected Rectangle computePopupBounds(int px, int py, int pw, int ph) {
final int itemCount = comboBox.getModel().getSize();
--- a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaFileSystemModel.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaFileSystemModel.java Wed Jul 05 20:52:10 2017 +0200
@@ -57,8 +57,8 @@
// private boolean fSortAscending = true;
private boolean fSortNames = true;
private final String[] fColumnNames;
- public final static String SORT_BY_CHANGED = "sortByChanged";
- public final static String SORT_ASCENDING_CHANGED = "sortAscendingChanged";
+ public static final String SORT_BY_CHANGED = "sortByChanged";
+ public static final String SORT_ASCENDING_CHANGED = "sortAscendingChanged";
public AquaFileSystemModel(final JFileChooser filechooser, final JTable filelist, final String[] colNames) {
fileCacheLock = new Object();
--- a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaIcon.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaIcon.java Wed Jul 05 20:52:10 2017 +0200
@@ -73,7 +73,7 @@
public void initIconPainter(final AquaPainter<? extends JRSUIState> painter);
}
- static abstract class JRSUIIcon implements Icon, UIResource {
+ abstract static class JRSUIIcon implements Icon, UIResource {
protected final AquaPainter<JRSUIState> painter = AquaPainter.create(JRSUIState.getInstance());
public void paintIcon(final Component c, final Graphics g, final int x, final int y) {
@@ -81,7 +81,7 @@
}
}
- static abstract class DynamicallySizingJRSUIIcon extends JRSUIIcon {
+ abstract static class DynamicallySizingJRSUIIcon extends JRSUIIcon {
protected final SizeDescriptor sizeDescriptor;
protected SizeVariant sizeVariant;
@@ -109,7 +109,7 @@
}
}
- static abstract class CachingScalingIcon implements Icon, UIResource {
+ abstract static class CachingScalingIcon implements Icon, UIResource {
int width;
int height;
Image image;
@@ -167,7 +167,7 @@
}
- static abstract class ScalingJRSUIIcon implements Icon, UIResource {
+ abstract static class ScalingJRSUIIcon implements Icon, UIResource {
final int width;
final int height;
--- a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaInternalFrameDockIconUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaInternalFrameDockIconUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -229,9 +229,9 @@
@SuppressWarnings("serial") // Superclass is not serializable across versions
class DockLabel extends JLabel {
- final static int NUB_HEIGHT = 7;
- final static int ROUND_ADDITIONAL_HEIGHT = 8;
- final static int ROUND_ADDITIONAL_WIDTH = 12;
+ static final int NUB_HEIGHT = 7;
+ static final int ROUND_ADDITIONAL_HEIGHT = 8;
+ static final int ROUND_ADDITIONAL_WIDTH = 12;
DockLabel(final String text) {
super(text);
--- a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaKeyBindings.java Wed Jul 05 20:52:10 2017 +0200
@@ -529,7 +529,7 @@
// extracted and adapted from DefaultEditorKit in 1.6
@SuppressWarnings("serial") // Superclass is not serializable across versions
- static abstract class DeleteWordAction extends TextAction {
+ abstract static class DeleteWordAction extends TextAction {
public DeleteWordAction(final String name) { super(name); }
public void actionPerformed(final ActionEvent e) {
--- a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaRootPaneUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaRootPaneUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -48,7 +48,7 @@
public class AquaRootPaneUI extends BasicRootPaneUI implements AncestorListener, WindowListener, ContainerListener {
private static final RecyclableSingleton<AquaRootPaneUI> sRootPaneUI = new RecyclableSingletonFromDefaultConstructor<AquaRootPaneUI>(AquaRootPaneUI.class);
- final static int kDefaultButtonPaintDelayBetweenFrames = 50;
+ static final int kDefaultButtonPaintDelayBetweenFrames = 50;
JButton fCurrentDefaultButton = null;
Timer fTimer = null;
static final boolean sUseScreenMenuBar = AquaMenuBarUI.getScreenMenuBarProperty();
--- a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaTabbedPaneCopyFromBasicUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -2011,20 +2011,20 @@
}
private static class Actions extends UIAction {
- final static String NEXT = "navigateNext";
- final static String PREVIOUS = "navigatePrevious";
- final static String RIGHT = "navigateRight";
- final static String LEFT = "navigateLeft";
- final static String UP = "navigateUp";
- final static String DOWN = "navigateDown";
- final static String PAGE_UP = "navigatePageUp";
- final static String PAGE_DOWN = "navigatePageDown";
- final static String REQUEST_FOCUS = "requestFocus";
- final static String REQUEST_FOCUS_FOR_VISIBLE = "requestFocusForVisibleComponent";
- final static String SET_SELECTED = "setSelectedIndex";
- final static String SELECT_FOCUSED = "selectTabWithFocus";
- final static String SCROLL_FORWARD = "scrollTabsForwardAction";
- final static String SCROLL_BACKWARD = "scrollTabsBackwardAction";
+ static final String NEXT = "navigateNext";
+ static final String PREVIOUS = "navigatePrevious";
+ static final String RIGHT = "navigateRight";
+ static final String LEFT = "navigateLeft";
+ static final String UP = "navigateUp";
+ static final String DOWN = "navigateDown";
+ static final String PAGE_UP = "navigatePageUp";
+ static final String PAGE_DOWN = "navigatePageDown";
+ static final String REQUEST_FOCUS = "requestFocus";
+ static final String REQUEST_FOCUS_FOR_VISIBLE = "requestFocusForVisibleComponent";
+ static final String SET_SELECTED = "setSelectedIndex";
+ static final String SELECT_FOCUSED = "selectTabWithFocus";
+ static final String SCROLL_FORWARD = "scrollTabsForwardAction";
+ static final String SCROLL_BACKWARD = "scrollTabsBackwardAction";
Actions(final String key) {
super(key);
--- a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaTableHeaderUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaTableHeaderUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -67,7 +67,7 @@
super.uninstallDefaults();
}
- final static RecyclableSingleton<ClientPropertyApplicator<JTableHeader, JTableHeader>> TABLE_HEADER_APPLICATORS = new RecyclableSingleton<ClientPropertyApplicator<JTableHeader, JTableHeader>>() {
+ static final RecyclableSingleton<ClientPropertyApplicator<JTableHeader, JTableHeader>> TABLE_HEADER_APPLICATORS = new RecyclableSingleton<ClientPropertyApplicator<JTableHeader, JTableHeader>>() {
@Override
@SuppressWarnings("unchecked")
protected ClientPropertyApplicator<JTableHeader, JTableHeader> getInstance() {
--- a/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaUtilControlSize.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/com/apple/laf/AquaUtilControlSize.java Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -27,7 +27,6 @@
import java.awt.*;
import java.beans.*;
-import java.lang.reflect.Method;
import javax.swing.*;
import javax.swing.border.Border;
@@ -38,16 +37,20 @@
import com.apple.laf.AquaUtils.RecyclableSingleton;
import com.apple.laf.AquaUtils.RecyclableSingletonFromDefaultConstructor;
+import sun.security.action.GetPropertyAction;
+
+import static java.security.AccessController.*;
public class AquaUtilControlSize {
- protected final static String CLIENT_PROPERTY_KEY = "JComponent.sizeVariant";
- protected final static String SYSTEM_PROPERTY_KEY = "swing.component.sizevariant";
+ protected static final String CLIENT_PROPERTY_KEY = "JComponent.sizeVariant";
+ protected static final String SYSTEM_PROPERTY_KEY = "swing.component.sizevariant";
interface Sizeable {
void applySizeFor(final JComponent c, final Size size);
}
- protected static final RecyclableSingleton<PropertySizeListener> sizeListener = new RecyclableSingletonFromDefaultConstructor<PropertySizeListener>(PropertySizeListener.class);
+ protected static final RecyclableSingleton<PropertySizeListener> sizeListener
+ = new RecyclableSingletonFromDefaultConstructor<>(PropertySizeListener.class);
protected static PropertySizeListener getSizeListener() {
return sizeListener.get();
}
@@ -70,13 +73,13 @@
}
private static Size getDefaultSize() {
- final String sizeProperty = java.security.AccessController.doPrivileged(new sun.security.action.GetPropertyAction(SYSTEM_PROPERTY_KEY));
+ final String sizeProperty = doPrivileged(new GetPropertyAction(SYSTEM_PROPERTY_KEY));
final JRSUIConstants.Size size = getSizeFromString(sizeProperty);
if (size != null) return size;
return JRSUIConstants.Size.REGULAR;
}
- protected final static JRSUIConstants.Size defaultSize = getDefaultSize();
+ protected static final JRSUIConstants.Size defaultSize = getDefaultSize();
protected static JRSUIConstants.Size getUserSizeFrom(final JComponent c) {
final Object sizeProp = c.getClientProperty(CLIENT_PROPERTY_KEY);
if (sizeProp == null) return defaultSize;
@@ -85,20 +88,32 @@
return size;
}
- protected static JRSUIConstants.Size applySizeForControl(final JComponent c, final AquaPainter<? extends JRSUIState> painter) {
+ protected static JRSUIConstants.Size applySizeForControl(final JComponent c,
+ final AquaPainter<? extends JRSUIState> painter) {
final JRSUIConstants.Size sizeFromUser = getUserSizeFrom(c);
- final JRSUIConstants.Size size = sizeFromUser == null ? JRSUIConstants.Size.REGULAR : sizeFromUser;
+ final JRSUIConstants.Size size = sizeFromUser == null
+ ? JRSUIConstants.Size.REGULAR
+ : sizeFromUser;
painter.state.set(size);
return size;
}
- protected static Font getFontForSize(final Component c, final JRSUIConstants.Size size) {
+ protected static Font getFontForSize(final Component c,
+ final JRSUIConstants.Size size) {
final Font initialFont = c.getFont();
- if (size == null || !(initialFont instanceof UIResource)) return initialFont;
+ if (size == null || !(initialFont instanceof UIResource)) {
+ return initialFont;
+ }
- if (size == JRSUIConstants.Size.MINI) return initialFont.deriveFont(AquaFonts.getMiniControlTextFont().getSize2D());
- if (size == JRSUIConstants.Size.SMALL) return initialFont.deriveFont(AquaFonts.getSmallControlTextFont().getSize2D());
+ if (size == JRSUIConstants.Size.MINI) {
+ return initialFont.deriveFont(
+ AquaFonts.getMiniControlTextFont().getSize2D());
+ }
+ if (size == JRSUIConstants.Size.SMALL) {
+ return initialFont.deriveFont(
+ AquaFonts.getSmallControlTextFont().getSize2D());
+ }
return initialFont.deriveFont(AquaFonts.getControlTextFont().getSize2D());
}
@@ -115,25 +130,8 @@
c.setBorder(derivedBorder);
}
- // call JComponent.getUI() if it exists, then call Sizeable.applySizeFor() if the UI is "Sizeable"
- // next best thing to -respondsToSelector: :-P
- private static void applyUISizing(final JComponent c, final Size size) {
- try {
- // see if this component has a "getUI" method
- final Class<? extends JComponent> clazz = c.getClass();
- final Method getUIMethod = clazz.getMethod("getUI", new Class<?>[0]);
-
- // see if that UI is one of ours that understands sizing
- final Object ui = getUIMethod.invoke(c, new Object[0]);
- if (!(ui instanceof Sizeable)) return;
-
- // size it!
- final Sizeable sizeable = (Sizeable)ui;
- sizeable.applySizeFor(c, size);
- } catch (final Throwable e) { return; }
- }
-
protected static class PropertySizeListener implements PropertyChangeListener {
+ @Override
public void propertyChange(final PropertyChangeEvent evt) {
final String key = evt.getPropertyName();
if (!CLIENT_PROPERTY_KEY.equalsIgnoreCase(key)) return;
@@ -154,7 +152,10 @@
applyBorderForSize(c, size);
- applyUISizing(c, size);
+ final Object ui = c.getUI();
+ if (ui instanceof Sizeable) {
+ ((Sizeable) ui).applySizeFor(c, size);
+ }
final Font priorFont = c.getFont();
if (!(priorFont instanceof FontUIResource)) return;
@@ -200,6 +201,7 @@
return regular;
}
+ @Override
public String toString() {
return "regular[" + regular + "] small[" + small + "] mini[" + mini + "]";
}
@@ -223,8 +225,14 @@
public SizeVariant(final SizeVariant desc){
this.size = desc.size;
- this.insets = new InsetsUIResource(desc.insets.top, desc.insets.left, desc.insets.bottom, desc.insets.right);
- this.margins = new InsetsUIResource(desc.margins.top, desc.margins.left, desc.margins.bottom, desc.margins.right);
+ this.insets = new InsetsUIResource(desc.insets.top,
+ desc.insets.left,
+ desc.insets.bottom,
+ desc.insets.right);
+ this.margins = new InsetsUIResource(desc.margins.top,
+ desc.margins.left,
+ desc.margins.bottom,
+ desc.margins.right);
this.fontSize = desc.fontSize;
this.w = desc.w;
this.h = desc.h;
@@ -241,7 +249,8 @@
return this;
}
- public SizeVariant alterInsets(final int top, final int left, final int bottom, final int right) {
+ public SizeVariant alterInsets(final int top, final int left,
+ final int bottom, final int right) {
insets = generateInsets(insets, top, left, bottom, right);
return this;
}
@@ -251,7 +260,8 @@
return this;
}
- public SizeVariant alterMargins(final int top, final int left, final int bottom, final int right) {
+ public SizeVariant alterMargins(final int top, final int left,
+ final int bottom, final int right) {
margins = generateInsets(margins, top, left, bottom, right);
return this;
}
@@ -273,8 +283,12 @@
// return this;
// }
- static Insets generateInsets(final Insets i, final int top, final int left, final int bottom, final int right) {
- if (i == null) return new InsetsUIResource(top, left, bottom, right);
+ static Insets generateInsets(final Insets i, final int top,
+ final int left, final int bottom,
+ final int right) {
+ if (i == null) {
+ return new InsetsUIResource(top, left, bottom, right);
+ }
i.top += top;
i.left += left;
i.bottom += bottom;
@@ -282,8 +296,10 @@
return i;
}
+ @Override
public String toString() {
- return "insets:" + insets + ", margins:" + margins + ", fontSize:" + fontSize;// + ", textBaseline:" + textBaseline;
+ return "insets:" + insets + ", margins:" + margins + ", fontSize:"
+ + fontSize;// + ", textBaseline:" + textBaseline;
}
}
}
--- a/jdk/src/java.desktop/macosx/classes/sun/java2d/CRenderer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/sun/java2d/CRenderer.java Wed Jul 05 20:52:10 2017 +0200
@@ -36,7 +36,7 @@
import sun.lwawt.macosx.*;
public class CRenderer implements PixelDrawPipe, PixelFillPipe, ShapeDrawPipe, DrawImagePipe {
- native static void init();
+ static native void init();
// cache of the runtime options
static {
--- a/jdk/src/java.desktop/macosx/classes/sun/java2d/CompositeCRenderer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/sun/java2d/CompositeCRenderer.java Wed Jul 05 20:52:10 2017 +0200
@@ -35,8 +35,8 @@
import sun.java2d.pipe.*;
public class CompositeCRenderer extends CRenderer implements PixelDrawPipe, PixelFillPipe, ShapeDrawPipe, DrawImagePipe, TextPipe {
- final static int fPadding = 4;
- final static int fPaddingHalf = fPadding / 2;
+ static final int fPadding = 4;
+ static final int fPaddingHalf = fPadding / 2;
private static AffineTransform sIdentityMatrix = new AffineTransform();
--- a/jdk/src/java.desktop/macosx/classes/sun/java2d/OSXSurfaceData.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/sun/java2d/OSXSurfaceData.java Wed Jul 05 20:52:10 2017 +0200
@@ -43,8 +43,8 @@
* This is the SurfaceData for a CGContextRef.
*/
public abstract class OSXSurfaceData extends BufImgSurfaceData {
- final static float UPPER_BND = Float.MAX_VALUE / 2.0f;
- final static float LOWER_BND = -UPPER_BND;
+ static final float UPPER_BND = Float.MAX_VALUE / 2.0f;
+ static final float LOWER_BND = -UPPER_BND;
protected static CRenderer sQuartzPipe = null;
protected static CTextPipe sCocoaTextPipe = null;
--- a/jdk/src/java.desktop/macosx/classes/sun/java2d/opengl/CGLSurfaceData.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/sun/java2d/opengl/CGLSurfaceData.java Wed Jul 05 20:52:10 2017 +0200
@@ -365,7 +365,7 @@
// Mac OS X specific APIs for JOGL/Java2D bridge...
// given a surface create and attach GL context, then return it
- private native static long createCGLContextOnSurface(CGLSurfaceData sd,
+ private static native long createCGLContextOnSurface(CGLSurfaceData sd,
long sharedContext);
public static long createOGLContextOnSurface(Graphics g, long sharedContext) {
@@ -379,7 +379,7 @@
}
// returns whether or not the makeCurrent operation succeeded
- native static boolean makeCGLContextCurrentOnSurface(CGLSurfaceData sd,
+ static native boolean makeCGLContextCurrentOnSurface(CGLSurfaceData sd,
long ctx);
public static boolean makeOGLContextCurrentOnSurface(Graphics g, long ctx) {
@@ -393,7 +393,7 @@
}
// additional cleanup
- private native static void destroyCGLContext(long ctx);
+ private static native void destroyCGLContext(long ctx);
public static void destroyOGLContext(long ctx) {
if (ctx != 0L) {
--- a/jdk/src/java.desktop/macosx/classes/sun/lwawt/LWToolkit.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/sun/lwawt/LWToolkit.java Wed Jul 05 20:52:10 2017 +0200
@@ -43,12 +43,12 @@
public abstract class LWToolkit extends SunToolkit implements Runnable {
- private final static int STATE_NONE = 0;
- private final static int STATE_INIT = 1;
- private final static int STATE_MESSAGELOOP = 2;
- private final static int STATE_SHUTDOWN = 3;
- private final static int STATE_CLEANUP = 4;
- private final static int STATE_DONE = 5;
+ private static final int STATE_NONE = 0;
+ private static final int STATE_INIT = 1;
+ private static final int STATE_MESSAGELOOP = 2;
+ private static final int STATE_SHUTDOWN = 3;
+ private static final int STATE_CLEANUP = 4;
+ private static final int STATE_DONE = 5;
private int runState = STATE_NONE;
@@ -454,14 +454,14 @@
/*
* Expose non-public targetToPeer() method.
*/
- public final static Object targetToPeer(Object target) {
+ public static final Object targetToPeer(Object target) {
return SunToolkit.targetToPeer(target);
}
/*
* Expose non-public targetDisposedPeer() method.
*/
- public final static void targetDisposedPeer(Object target, Object peer) {
+ public static final void targetDisposedPeer(Object target, Object peer) {
SunToolkit.targetDisposedPeer(target, peer);
}
--- a/jdk/src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibility.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/sun/lwawt/macosx/CAccessibility.java Wed Jul 05 20:52:10 2017 +0200
@@ -558,9 +558,9 @@
// Duplicated from JavaComponentAccessibility
// Note that values >=0 are indexes into the child array
- final static int JAVA_AX_ALL_CHILDREN = -1;
- final static int JAVA_AX_SELECTED_CHILDREN = -2;
- final static int JAVA_AX_VISIBLE_CHILDREN = -3;
+ static final int JAVA_AX_ALL_CHILDREN = -1;
+ static final int JAVA_AX_SELECTED_CHILDREN = -2;
+ static final int JAVA_AX_VISIBLE_CHILDREN = -3;
// Each child takes up two entries in the array: one for itself and one for its role
public static Object[] getChildrenAndRoles(final Accessible a, final Component c, final int whichChildren, final boolean allowIgnored) {
--- a/jdk/src/java.desktop/macosx/classes/sun/lwawt/macosx/CDataTransferer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/sun/lwawt/macosx/CDataTransferer.java Wed Jul 05 20:52:10 2017 +0200
@@ -171,7 +171,7 @@
}
@Override
- synchronized protected Long getFormatForNativeAsLong(String str) {
+ protected synchronized Long getFormatForNativeAsLong(String str) {
Long format = predefinedClipboardNameMap.get(str);
if (format == null) {
--- a/jdk/src/java.desktop/macosx/classes/sun/lwawt/macosx/CInputMethod.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/sun/lwawt/macosx/CInputMethod.java Wed Jul 05 20:52:10 2017 +0200
@@ -422,7 +422,7 @@
* Tell the component to commit all of the characters in the string to the current
* text view. This effectively wipes out any text in progress.
*/
- synchronized private void insertText(String aString) {
+ private synchronized void insertText(String aString) {
AttributedString attribString = new AttributedString(aString);
// Set locale information on the new string.
@@ -447,11 +447,11 @@
fCurrentTextLength = rawText.length();
}
- static private final int kCaretPosition = 0;
- static private final int kRawText = 1;
- static private final int kSelectedRawText = 2;
- static private final int kConvertedText = 3;
- static private final int kSelectedConvertedText = 4;
+ private static final int kCaretPosition = 0;
+ private static final int kRawText = 1;
+ private static final int kSelectedRawText = 2;
+ private static final int kConvertedText = 3;
+ private static final int kSelectedConvertedText = 4;
/**
* Convert Cocoa text highlight attributes into Java input method highlighting.
@@ -556,7 +556,7 @@
/**
* Frequent callbacks from NSTextInput. I think we're supposed to commit it here?
*/
- synchronized private void unmarkText() {
+ private synchronized void unmarkText() {
if (fCurrentText == null)
return;
@@ -574,7 +574,7 @@
fCurrentTextLength = 0;
}
- synchronized private boolean hasMarkedText() {
+ private synchronized boolean hasMarkedText() {
return fCurrentText != null;
}
@@ -583,7 +583,7 @@
* Java does not. So, we have to see where the request is and based on that return the right
* substring.
*/
- synchronized private String attributedSubstringFromRange(final int locationIn, final int lengthIn) {
+ private synchronized String attributedSubstringFromRange(final int locationIn, final int lengthIn) {
final String[] retString = new String[1];
try {
@@ -635,7 +635,7 @@
* for the fact that the insert point in Swing can come AFTER the selected text, making this
* potentially incorrect.
*/
- synchronized private int[] selectedRange() {
+ private synchronized int[] selectedRange() {
final int[] returnValue = new int[2];
try {
@@ -683,7 +683,7 @@
* inserted, so we can return that position, and the length of the text in progress. If there is no marked text
* return null.
*/
- synchronized private int[] markedRange() {
+ private synchronized int[] markedRange() {
if (fCurrentText == null)
return null;
@@ -710,7 +710,7 @@
* which is always in front of the in-progress text, we get the offset into the composed text, and we get
* that location from the input method context.
*/
- synchronized private int[] firstRectForCharacterRange(final int absoluteTextOffset) {
+ private synchronized int[] firstRectForCharacterRange(final int absoluteTextOffset) {
final int[] rect = new int[4];
try {
@@ -753,7 +753,7 @@
* The coordinates are in Java screen coordinates. If no character in the composed text was hit, we return -1, indicating
* not found.
*/
- synchronized private int characterIndexForPoint(final int screenX, final int screenY) {
+ private synchronized int characterIndexForPoint(final int screenX, final int screenY) {
final TextHitInfo[] offsetInfo = new TextHitInfo[1];
final int[] insertPositionOffset = new int[1];
--- a/jdk/src/java.desktop/macosx/classes/sun/lwawt/macosx/CWarningWindow.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/sun/lwawt/macosx/CWarningWindow.java Wed Jul 05 20:52:10 2017 +0200
@@ -45,8 +45,8 @@
private static class Lock {}
private final Lock lock = new Lock();
- private final static int SHOWING_DELAY = 300;
- private final static int HIDING_DELAY = 2000;
+ private static final int SHOWING_DELAY = 300;
+ private static final int HIDING_DELAY = 2000;
private Rectangle bounds = new Rectangle();
private final WeakReference<LWWindowPeer> ownerPeer;
@@ -406,7 +406,7 @@
private final Lock taskLock = new Lock();
private CancelableRunnable showHideTask;
- private static abstract class CancelableRunnable implements Runnable {
+ private abstract static class CancelableRunnable implements Runnable {
private volatile boolean perform = true;
public final void cancel() {
--- a/jdk/src/java.desktop/macosx/classes/sun/lwawt/macosx/CocoaConstants.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/sun/lwawt/macosx/CocoaConstants.java Wed Jul 05 20:52:10 2017 +0200
@@ -30,35 +30,35 @@
private CocoaConstants(){}
//from the NSEvent class reference:
- public final static int NSLeftMouseDown = 1;
- public final static int NSLeftMouseUp = 2;
- public final static int NSRightMouseDown = 3;
- public final static int NSRightMouseUp = 4;
- public final static int NSMouseMoved = 5;
- public final static int NSLeftMouseDragged = 6;
- public final static int NSRightMouseDragged = 7;
- public final static int NSMouseEntered = 8;
- public final static int NSMouseExited = 9;
- public final static int NSKeyDown = 10;
- public final static int NSKeyUp = 11;
- public final static int NSFlagsChanged = 12;
+ public static final int NSLeftMouseDown = 1;
+ public static final int NSLeftMouseUp = 2;
+ public static final int NSRightMouseDown = 3;
+ public static final int NSRightMouseUp = 4;
+ public static final int NSMouseMoved = 5;
+ public static final int NSLeftMouseDragged = 6;
+ public static final int NSRightMouseDragged = 7;
+ public static final int NSMouseEntered = 8;
+ public static final int NSMouseExited = 9;
+ public static final int NSKeyDown = 10;
+ public static final int NSKeyUp = 11;
+ public static final int NSFlagsChanged = 12;
- public final static int NSScrollWheel = 22;
- public final static int NSOtherMouseDown = 25;
- public final static int NSOtherMouseUp = 26;
- public final static int NSOtherMouseDragged = 27;
+ public static final int NSScrollWheel = 22;
+ public static final int NSOtherMouseDown = 25;
+ public static final int NSOtherMouseUp = 26;
+ public static final int NSOtherMouseDragged = 27;
- public final static int AllLeftMouseEventsMask =
+ public static final int AllLeftMouseEventsMask =
1 << NSLeftMouseDown |
1 << NSLeftMouseUp |
1 << NSLeftMouseDragged;
- public final static int AllRightMouseEventsMask =
+ public static final int AllRightMouseEventsMask =
1 << NSRightMouseDown |
1 << NSRightMouseUp |
1 << NSRightMouseDragged;
- public final static int AllOtherMouseEventsMask =
+ public static final int AllOtherMouseEventsMask =
1 << NSOtherMouseDown |
1 << NSOtherMouseUp |
1 << NSOtherMouseDragged;
@@ -82,24 +82,24 @@
// See http://developer.apple.com/library/mac/#documentation/Carbon/Reference/QuartzEventServicesRef/Reference/reference.html
- public final static int kCGMouseButtonLeft = 0;
- public final static int kCGMouseButtonRight = 1;
- public final static int kCGMouseButtonCenter = 2;
+ public static final int kCGMouseButtonLeft = 0;
+ public static final int kCGMouseButtonRight = 1;
+ public static final int kCGMouseButtonCenter = 2;
// See https://wiki.mozilla.org/NPAPI:CocoaEventModel
- public final static int NPCocoaEventDrawRect = 1;
- public final static int NPCocoaEventMouseDown = 2;
- public final static int NPCocoaEventMouseUp = 3;
- public final static int NPCocoaEventMouseMoved = 4;
- public final static int NPCocoaEventMouseEntered = 5;
- public final static int NPCocoaEventMouseExited = 6;
- public final static int NPCocoaEventMouseDragged = 7;
- public final static int NPCocoaEventKeyDown = 8;
- public final static int NPCocoaEventKeyUp = 9;
- public final static int NPCocoaEventFlagsChanged = 10;
- public final static int NPCocoaEventFocusChanged = 11;
- public final static int NPCocoaEventWindowFocusChanged = 12;
- public final static int NPCocoaEventScrollWheel = 13;
- public final static int NPCocoaEventTextInput = 14;
+ public static final int NPCocoaEventDrawRect = 1;
+ public static final int NPCocoaEventMouseDown = 2;
+ public static final int NPCocoaEventMouseUp = 3;
+ public static final int NPCocoaEventMouseMoved = 4;
+ public static final int NPCocoaEventMouseEntered = 5;
+ public static final int NPCocoaEventMouseExited = 6;
+ public static final int NPCocoaEventMouseDragged = 7;
+ public static final int NPCocoaEventKeyDown = 8;
+ public static final int NPCocoaEventKeyUp = 9;
+ public static final int NPCocoaEventFlagsChanged = 10;
+ public static final int NPCocoaEventFocusChanged = 11;
+ public static final int NPCocoaEventWindowFocusChanged = 12;
+ public static final int NPCocoaEventScrollWheel = 13;
+ public static final int NPCocoaEventTextInput = 14;
}
--- a/jdk/src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/classes/sun/lwawt/macosx/LWCToolkit.java Wed Jul 05 20:52:10 2017 +0200
@@ -127,10 +127,10 @@
/*
* System colors with default initial values, overwritten by toolkit if system values differ and are available.
*/
- private final static int NUM_APPLE_COLORS = 3;
- public final static int KEYBOARD_FOCUS_COLOR = 0;
- public final static int INACTIVE_SELECTION_BACKGROUND_COLOR = 1;
- public final static int INACTIVE_SELECTION_FOREGROUND_COLOR = 2;
+ private static final int NUM_APPLE_COLORS = 3;
+ public static final int KEYBOARD_FOCUS_COLOR = 0;
+ public static final int INACTIVE_SELECTION_BACKGROUND_COLOR = 1;
+ public static final int INACTIVE_SELECTION_FOREGROUND_COLOR = 2;
private static int[] appleColors = {
0xFF808080, // keyboardFocusColor = Color.gray;
0xFFC0C0C0, // secondarySelectedControlColor
@@ -681,7 +681,7 @@
* @param r a {@code Runnable} to execute
* @param delay a delay in milliseconds
*/
- native static void performOnMainThreadAfterDelay(Runnable r, long delay);
+ static native void performOnMainThreadAfterDelay(Runnable r, long delay);
// DnD support
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTEvent.h Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTEvent.h Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -26,8 +26,6 @@
#ifndef __AWTEVENT_H
#define __AWTEVENT_H
-#import "LWCToolkit.h"
-
jlong UTC(NSEvent *event);
void DeliverJavaKeyEvent(JNIEnv *env, NSEvent *event, jobject peer);
void DeliverJavaMouseEvent(JNIEnv *env, NSEvent *event, jobject peer);
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTEvent.m Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTEvent.m Wed Jul 05 20:52:10 2017 +0200
@@ -23,18 +23,15 @@
* questions.
*/
-#import <JavaNativeFoundation/JavaNativeFoundation.h>
-#import <JavaRuntimeSupport/JavaRuntimeSupport.h>
-#import <sys/time.h>
-#include <Carbon/Carbon.h>
-
-#import "jni_util.h"
-#import "LWCToolkit.h"
-#import "ThreadUtilities.h"
-
#import "java_awt_event_InputEvent.h"
#import "java_awt_event_KeyEvent.h"
-#import "java_awt_event_MouseEvent.h"
+#import "LWCToolkit.h"
+
+#import "jni_util.h"
+
+#import <JavaNativeFoundation/JavaNativeFoundation.h>
+#import <sys/time.h>
+#import <Carbon/Carbon.h>
/*
* Table to map typed characters to their Java virtual key equivalent and back.
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.h Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.h Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -24,7 +24,6 @@
*/
#import <Cocoa/Cocoa.h>
-#import <JavaNativeFoundation/JavaNativeFoundation.h>
#import "CDragSource.h"
#import "CDropTarget.h"
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTView.m Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -23,22 +23,17 @@
* questions.
*/
+#import "jni_util.h"
#import "CGLGraphicsConfig.h"
-
-#import <JavaNativeFoundation/JavaNativeFoundation.h>
-#import <JavaRuntimeSupport/JavaRuntimeSupport.h>
-#import "jni_util.h"
-
-#import "ThreadUtilities.h"
#import "AWTView.h"
-#import "AWTEvent.h"
#import "AWTWindow.h"
-#import "LWCToolkit.h"
#import "JavaComponentAccessibility.h"
#import "JavaTextAccessibility.h"
#import "GeomUtilities.h"
#import "OSVersion.h"
-#import "CGLLayer.h"
+#import "ThreadUtilities.h"
+
+#import <JavaNativeFoundation/JavaNativeFoundation.h>
@interface AWTView()
@property (retain) CDropTarget *_dropTarget;
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.h Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.h Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -27,13 +27,12 @@
#define _AWTWINDOW_H
#import <Cocoa/Cocoa.h>
-#import <JavaNativeFoundation/JavaNativeFoundation.h>
#import "CMenuBar.h"
#import "LWCToolkit.h"
-
@class AWTView;
+@class JNFWeakJObjectWrapper;
@interface AWTWindow : NSObject <NSWindowDelegate> {
@private
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/AWTWindow.m Wed Jul 05 20:52:10 2017 +0200
@@ -25,7 +25,6 @@
#import <Cocoa/Cocoa.h>
#import <JavaNativeFoundation/JavaNativeFoundation.h>
-#import <JavaRuntimeSupport/JavaRuntimeSupport.h>
#import "sun_lwawt_macosx_CPlatformWindow.h"
#import "com_apple_eawt_event_GestureHandler.h"
@@ -34,12 +33,8 @@
#import "AWTWindow.h"
#import "AWTView.h"
-#import "CMenu.h"
-#import "CMenuBar.h"
-#import "LWCToolkit.h"
#import "GeomUtilities.h"
#import "ThreadUtilities.h"
-#import "OSVersion.h"
#define MASK(KEY) \
(sun_lwawt_macosx_CPlatformWindow_ ## KEY)
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CDataTransferer.m Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CDataTransferer.m Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -26,11 +26,9 @@
#import "CDataTransferer.h"
#include "sun_lwawt_macosx_CDataTransferer.h"
-#import <AppKit/AppKit.h>
-#import <JavaNativeFoundation/JavaNativeFoundation.h>
#import "jni_util.h"
-#include "ThreadUtilities.h"
+#import <JavaNativeFoundation/JavaNativeFoundation.h>
// ***** NOTE ***** This dictionary corresponds to the static array predefinedClipboardNames
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsConfig.m Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsConfig.m Wed Jul 05 20:52:10 2017 +0200
@@ -27,7 +27,7 @@
#include "GeomUtilities.h"
#include "sun_awt_CGraphicsConfig.h"
-
+#import <JavaNativeFoundation/JavaNativeFoundation.h>
/*
* Class: sun_awt_CGraphicsConfig
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsDevice.m Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsDevice.m Wed Jul 05 20:52:10 2017 +0200
@@ -26,6 +26,8 @@
#import "LWCToolkit.h"
#import "ThreadUtilities.h"
+#import <JavaNativeFoundation/JavaNativeFoundation.h>
+
/*
* Convert the mode string to the more convinient bits per pixel value
*/
@@ -200,7 +202,7 @@
for (NSScreen *screen in screens) {
NSDictionary *screenInfo = [screen deviceDescription];
NSNumber *screenID = [screenInfo objectForKey:@"NSScreenNumber"];
- if ([screenID pointerValue] == displayID){
+ if ([screenID unsignedIntValue] == displayID){
frame = [screen frame];
visibleFrame = [screen visibleFrame];
break;
@@ -333,7 +335,7 @@
for (NSScreen *screen in screens) {
NSDictionary *screenInfo = [screen deviceDescription];
NSNumber *screenID = [screenInfo objectForKey:@"NSScreenNumber"];
- if ([screenID pointerValue] == displayID){
+ if ([screenID unsignedIntValue] == displayID){
if ([screen respondsToSelector:@selector(backingScaleFactor)]) {
ret = [screen backingScaleFactor];
}
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsEnv.m Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CGraphicsEnv.m Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -23,12 +23,11 @@
* questions.
*/
-#import <JavaNativeFoundation/JavaNativeFoundation.h>
+#import "AWT_debug.h"
#import "jni_util.h"
-#import "LWCToolkit.h"
-#import "AWT_debug.h"
+#import <JavaNativeFoundation/JavaNativeFoundation.h>
#define MAX_DISPLAYS 64
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CPrinterJob.m Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -58,6 +58,14 @@
static void javaPrinterJobToNSPrintInfo(JNIEnv* env, jobject srcPrinterJob, jobject srcPageable, NSPrintInfo* dst);
+#ifdef __MAC_10_9 // code for SDK 10.9 or newer
+#define NS_PORTRAIT NSPaperOrientationPortrait
+#define NS_LANDSCAPE NSPaperOrientationLandscape
+#else // code for SDK 10.8 or older
+#define NS_PORTRAIT NSPortraitOrientation
+#define NS_LANDSCAPE NSLandscapeOrientation
+#endif
+
static NSPrintInfo* createDefaultNSPrintInfo(JNIEnv* env, jstring printer)
{
NSPrintInfo* defaultPrintInfo = [[NSPrintInfo sharedPrintInfo] copy];
@@ -143,12 +151,12 @@
NSSize paperSize = [src paperSize];
switch ([src orientation]) {
- case NSPortraitOrientation:
+ case NS_PORTRAIT:
jPaperW = paperSize.width;
jPaperH = paperSize.height;
break;
- case NSLandscapeOrientation:
+ case NS_LANDSCAPE:
jPaperW = paperSize.height;
jPaperH = paperSize.width;
break;
@@ -217,13 +225,12 @@
static JNF_CTOR_CACHE(jm_Paper_ctor, sjc_Paper, "()V");
jint jOrientation;
- NSPrintingOrientation nsOrientation = [src orientation];
- switch (nsOrientation) {
- case NSPortraitOrientation:
+ switch ([src orientation]) {
+ case NS_PORTRAIT:
jOrientation = java_awt_print_PageFormat_PORTRAIT;
break;
- case NSLandscapeOrientation:
+ case NS_LANDSCAPE:
jOrientation = java_awt_print_PageFormat_LANDSCAPE; //+++gdb Are LANDSCAPE and REVERSE_LANDSCAPE still inverted?
break;
@@ -273,20 +280,20 @@
switch (JNFCallIntMethod(env, srcPageFormat, jm_getOrientation)) { // AWT_THREADING Safe (!appKit)
case java_awt_print_PageFormat_PORTRAIT:
- [dstPrintInfo setOrientation:NSPortraitOrientation];
+ [dstPrintInfo setOrientation:NS_PORTRAIT];
break;
case java_awt_print_PageFormat_LANDSCAPE:
- [dstPrintInfo setOrientation:NSLandscapeOrientation]; //+++gdb Are LANDSCAPE and REVERSE_LANDSCAPE still inverted?
+ [dstPrintInfo setOrientation:NS_LANDSCAPE]; //+++gdb Are LANDSCAPE and REVERSE_LANDSCAPE still inverted?
break;
// AppKit printing doesn't support REVERSE_LANDSCAPE. Radar 2960295.
case java_awt_print_PageFormat_REVERSE_LANDSCAPE:
- [dstPrintInfo setOrientation:NSLandscapeOrientation]; //+++gdb Are LANDSCAPE and REVERSE_LANDSCAPE still inverted?
+ [dstPrintInfo setOrientation:NS_LANDSCAPE]; //+++gdb Are LANDSCAPE and REVERSE_LANDSCAPE still inverted?
break;
default:
- [dstPrintInfo setOrientation:NSPortraitOrientation];
+ [dstPrintInfo setOrientation:NS_PORTRAIT];
break;
}
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.m Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/CTrayIcon.m Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -23,9 +23,10 @@
* questions.
*/
+#import "jni_util.h"
+
#import <AppKit/AppKit.h>
#import <JavaNativeFoundation/JavaNativeFoundation.h>
-#import "jni_util.h"
#import "CTrayIcon.h"
#import "ThreadUtilities.h"
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/GeomUtilities.h Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/GeomUtilities.h Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -24,8 +24,7 @@
*/
#import <Cocoa/Cocoa.h>
-#import <JavaNativeFoundation/JavaNativeFoundation.h>
-
+#include "jni.h"
jobject CGToJavaRect(JNIEnv *env, CGRect rect);
CGRect JavaToCGRect(JNIEnv *env, jobject rect);
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/GeomUtilities.m Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/GeomUtilities.m Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -24,6 +24,7 @@
*/
#import "GeomUtilities.h"
+#import <JavaNativeFoundation/JavaNativeFoundation.h>
static JNF_CLASS_CACHE(sjc_Point2D, "java/awt/geom/Point2D");
static JNF_MEMBER_CACHE(jm_pt_getX, sjc_Point2D, "getX", "()D");
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.h Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/JavaComponentAccessibility.h Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -23,9 +23,9 @@
* questions.
*/
+#include "jni.h"
+
#import <AppKit/AppKit.h>
-#import <JavaNativeFoundation/JavaNativeFoundation.h>
-
//#define JAVA_AX_DEBUG 1
//#define JAVA_AX_NO_IGNORES 1
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/LWCToolkit.h Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/LWCToolkit.h Wed Jul 05 20:52:10 2017 +0200
@@ -23,11 +23,12 @@
* questions.
*/
+#include "jni.h"
+
#import <pthread.h>
#import <assert.h>
#import <Cocoa/Cocoa.h>
-#import <JavaNativeFoundation/JavaNativeFoundation.h>
#define DEBUG 1
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/LWCToolkit.m Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/awt/LWCToolkit.m Wed Jul 05 20:52:10 2017 +0200
@@ -28,15 +28,10 @@
#import <objc/runtime.h>
#import <Cocoa/Cocoa.h>
#import <Security/AuthSession.h>
-#import <JavaNativeFoundation/JavaNativeFoundation.h>
-#import <JavaRuntimeSupport/JavaRuntimeSupport.h>
#include "jni_util.h"
-#import "CMenuBar.h"
-#import "InitIDs.h"
#import "LWCToolkit.h"
#import "ThreadUtilities.h"
-#import "AWT_debug.h"
#import "CSystemColors.h"
#import "NSApplicationAWT.h"
#import "PropertiesUtilities.h"
@@ -46,6 +41,8 @@
#import "sizecalc.h"
+#import <JavaRuntimeSupport/JavaRuntimeSupport.h>
+
int gNumberOfButtons;
jint* gButtonDownMasks;
@@ -529,7 +526,7 @@
// Processing all events excluding NSApplicationDefined which need to be processed
// on the main loop only (those events are intended for disposing resources)
NSEvent *event;
- if ((event = [NSApp nextEventMatchingMask:(NSAnyEventMask & ~NSApplicationDefined)
+ if ((event = [NSApp nextEventMatchingMask:(NSAnyEventMask & ~NSApplicationDefinedMask)
untilDate:nil
inMode:NSDefaultRunLoopMode
dequeue:YES]) != nil) {
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.m Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLGraphicsConfig.m Wed Jul 05 20:52:10 2017 +0200
@@ -23,20 +23,17 @@
* questions.
*/
+#import "sun_java2d_opengl_CGLGraphicsConfig.h"
+
+#import "CGLGraphicsConfig.h"
+#import "CGLSurfaceData.h"
+#import "ThreadUtilities.h"
+
#import <stdlib.h>
#import <string.h>
#import <ApplicationServices/ApplicationServices.h>
#import <JavaNativeFoundation/JavaNativeFoundation.h>
-#import "sun_java2d_opengl_CGLGraphicsConfig.h"
-
-#import "jni.h"
-#import "jni_util.h"
-#import "CGLGraphicsConfig.h"
-#import "CGLSurfaceData.h"
-#import "LWCToolkit.h"
-#import "ThreadUtilities.h"
-
#pragma mark -
#pragma mark "--- Mac OS X specific methods for GL pipeline ---"
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLLayer.h Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLLayer.h Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -26,7 +26,7 @@
#ifndef CGLLayer_h_Included
#define CGLLayer_h_Included
-#import "AWTView.h"
+#import <JavaNativeFoundation/JavaNativeFoundation.h>
@interface CGLLayer : CAOpenGLLayer
{
--- a/jdk/src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLSurfaceData.m Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/macosx/native/libawt_lwawt/java2d/opengl/CGLSurfaceData.m Wed Jul 05 20:52:10 2017 +0200
@@ -24,16 +24,13 @@
*/
#import <stdlib.h>
-#import <JavaNativeFoundation/JavaNativeFoundation.h>
#import "sun_java2d_opengl_CGLSurfaceData.h"
-#import "jni.h"
#import "jni_util.h"
#import "OGLRenderQueue.h"
#import "CGLGraphicsConfig.h"
#import "CGLSurfaceData.h"
-#import "CGLLayer.h"
#import "ThreadUtilities.h"
/* JDK's glext.h is already included and will prevent the Apple glext.h
--- a/jdk/src/java.desktop/share/classes/com/sun/beans/decoder/DocumentHandler.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/beans/decoder/DocumentHandler.java Wed Jul 05 20:52:10 2017 +0200
@@ -50,7 +50,7 @@
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.SharedSecrets;
/**
* The main class to parse JavaBeans XML archive.
--- a/jdk/src/java.desktop/share/classes/com/sun/beans/editors/NumberEditor.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/beans/editors/NumberEditor.java Wed Jul 05 20:52:10 2017 +0200
@@ -32,7 +32,7 @@
import java.beans.*;
-abstract public class NumberEditor extends PropertyEditorSupport {
+public abstract class NumberEditor extends PropertyEditorSupport {
public String getJavaInitializationString() {
Object value = getValue();
--- a/jdk/src/java.desktop/share/classes/com/sun/imageio/plugins/common/I18N.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/imageio/plugins/common/I18N.java Wed Jul 05 20:52:10 2017 +0200
@@ -26,7 +26,7 @@
package com.sun.imageio.plugins.common;
public final class I18N extends I18NImpl {
- private final static String resource_name = "iio-plugin.properties";
+ private static final String resource_name = "iio-plugin.properties";
public static String getString(String key) {
return getString("com.sun.imageio.plugins.common.I18N", resource_name, key);
}
--- a/jdk/src/java.desktop/share/classes/com/sun/imageio/plugins/common/LZWStringTable.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/imageio/plugins/common/LZWStringTable.java Wed Jul 05 20:52:10 2017 +0200
@@ -37,16 +37,16 @@
**/
public class LZWStringTable {
/** codesize + Reserved Codes */
- private final static int RES_CODES = 2;
+ private static final int RES_CODES = 2;
- private final static short HASH_FREE = (short)0xFFFF;
- private final static short NEXT_FIRST = (short)0xFFFF;
+ private static final short HASH_FREE = (short)0xFFFF;
+ private static final short NEXT_FIRST = (short)0xFFFF;
- private final static int MAXBITS = 12;
- private final static int MAXSTR = (1 << MAXBITS);
+ private static final int MAXBITS = 12;
+ private static final int MAXSTR = (1 << MAXBITS);
- private final static short HASHSIZE = 9973;
- private final static short HASHSTEP = 2039;
+ private static final short HASHSIZE = 9973;
+ private static final short HASHSTEP = 2039;
byte[] strChr; // after predecessor character
short[] strNxt; // predecessor string
@@ -142,7 +142,7 @@
}
}
- static public int hash(short index, byte lastbyte) {
+ public static int hash(short index, byte lastbyte) {
return (((short)(lastbyte << 8) ^ index) & 0xFFFF) % HASHSIZE;
}
--- a/jdk/src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/imageio/plugins/jpeg/JPEGImageReader.java Wed Jul 05 20:52:10 2017 +0200
@@ -1773,7 +1773,7 @@
private static final ImageTypeProducer [] defaultTypes =
new ImageTypeProducer [JPEG.NUM_JCS_CODES];
- public synchronized static ImageTypeProducer getTypeProducer(int csCode) {
+ public static synchronized ImageTypeProducer getTypeProducer(int csCode) {
if (csCode < 0 || csCode >= JPEG.NUM_JCS_CODES) {
return null;
}
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKEngine.java Wed Jul 05 20:52:10 2017 +0200
@@ -56,7 +56,7 @@
*/
class GTKEngine {
- final static GTKEngine INSTANCE = new GTKEngine();
+ static final GTKEngine INSTANCE = new GTKEngine();
/** Size of the image cache */
private static final int CACHE_SIZE = 50;
@@ -523,7 +523,7 @@
native_paint_background(widget, state, x - x0, y - y0, w, h);
}
- private final static ColorModel[] COLOR_MODELS = {
+ private static final ColorModel[] COLOR_MODELS = {
// Transparency.OPAQUE
new DirectColorModel(24, 0x00ff0000, 0x0000ff00, 0x000000ff, 0x00000000),
// Transparency.BITMASK
@@ -532,7 +532,7 @@
ColorModel.getRGBdefault(),
};
- private final static int[][] BAND_OFFSETS = {
+ private static final int[][] BAND_OFFSETS = {
{ 0x00ff0000, 0x0000ff00, 0x000000ff }, // OPAQUE
{ 0x00ff0000, 0x0000ff00, 0x000000ff, 0x01000000 }, // BITMASK
{ 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000 } // TRANSLUCENT
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/gtk/GTKPainter.java Wed Jul 05 20:52:10 2017 +0200
@@ -63,8 +63,8 @@
ShadowType.ETCHED_IN, ShadowType.OUT
};
- private final static GTKEngine ENGINE = GTKEngine.INSTANCE;
- final static GTKPainter INSTANCE = new GTKPainter();
+ private static final GTKEngine ENGINE = GTKEngine.INSTANCE;
+ static final GTKPainter INSTANCE = new GTKPainter();
private GTKPainter() {
}
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifBorders.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifBorders.java Wed Jul 05 20:52:10 2017 +0200
@@ -263,7 +263,7 @@
Color frameShadow;
// The width of the border
- public final static int BORDER_SIZE = 5;
+ public static final int BORDER_SIZE = 5;
/** Constructs an FrameBorder for the JComponent <b>comp</b>.
*/
@@ -446,7 +446,7 @@
JInternalFrame frame;
// The size of the bounding box for Motif frame corners.
- public final static int CORNER_SIZE = 24;
+ public static final int CORNER_SIZE = 24;
/** Constructs an InternalFrameBorder for the InternalFrame
* <b>aFrame</b>.
@@ -634,10 +634,10 @@
protected Color highlightColor;
// Space between the border and text
- static protected final int TEXT_SPACING = 2;
+ protected static final int TEXT_SPACING = 2;
// Space for the separator under the title
- static protected final int GROOVE_HEIGHT = 2;
+ protected static final int GROOVE_HEIGHT = 2;
/**
* Creates a MotifPopupMenuBorder instance
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifCheckBoxUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifCheckBoxUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -49,7 +49,7 @@
private static final Object MOTIF_CHECK_BOX_UI_KEY = new Object();
- private final static String propertyPrefix = "CheckBox" + ".";
+ private static final String propertyPrefix = "CheckBox" + ".";
private boolean defaults_initialized = false;
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifDesktopIconUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifDesktopIconUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -59,10 +59,10 @@
JPopupMenu systemMenu;
EventListener mml;
- final static int LABEL_HEIGHT = 18;
- final static int LABEL_DIVIDER = 4; // padding between icon and label
+ static final int LABEL_HEIGHT = 18;
+ static final int LABEL_DIVIDER = 4; // padding between icon and label
- final static Font defaultTitleFont =
+ static final Font defaultTitleFont =
new Font(Font.SANS_SERIF, Font.PLAIN, 12);
public static ComponentUI createUI(JComponent c) {
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifFileChooserUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -306,7 +306,7 @@
}
@SuppressWarnings("serial") // anonymous class
- JTextField tmp1 = new JTextField(curDirName) {
+ JTextField tmp1 = new JTextField(curDirName, 35) {
public Dimension getMaximumSize() {
Dimension d = super.getMaximumSize();
d.height = getPreferredSize().height;
@@ -420,7 +420,7 @@
interior.add(fileNameLabel);
@SuppressWarnings("serial") // anonymous class
- JTextField tmp3 = new JTextField() {
+ JTextField tmp3 = new JTextField(35) {
public Dimension getMaximumSize() {
Dimension d = super.getMaximumSize();
d.height = getPreferredSize().height;
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifIconFactory.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifIconFactory.java Wed Jul 05 20:52:10 2017 +0200
@@ -93,7 +93,7 @@
@SuppressWarnings("serial") // Same-version serialization only
private static class CheckBoxIcon implements Icon, UIResource, Serializable {
- final static int csize = 13;
+ static final int csize = 13;
private Color control = UIManager.getColor("control");
private Color foreground = UIManager.getColor("CheckBox.foreground");
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameTitlePane.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifInternalFrameTitlePane.java Wed Jul 05 20:52:10 2017 +0200
@@ -56,7 +56,7 @@
Color shadow;
// The width and height of a title pane button
- public final static int BUTTON_SIZE = 19; // 17 + 1 pixel border
+ public static final int BUTTON_SIZE = 19; // 17 + 1 pixel border
public MotifInternalFrameTitlePane(JInternalFrame frame) {
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifScrollPaneUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/motif/MotifScrollPaneUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -47,9 +47,9 @@
*/
public class MotifScrollPaneUI extends BasicScrollPaneUI
{
- private final static Border vsbMarginBorderR = new EmptyBorder(0, 4, 0, 0);
- private final static Border vsbMarginBorderL = new EmptyBorder(0, 0, 0, 4);
- private final static Border hsbMarginBorder = new EmptyBorder(4, 0, 0, 0);
+ private static final Border vsbMarginBorderR = new EmptyBorder(0, 4, 0, 0);
+ private static final Border vsbMarginBorderL = new EmptyBorder(0, 0, 0, 4);
+ private static final Border hsbMarginBorder = new EmptyBorder(4, 0, 0, 0);
private CompoundBorder vsbBorder;
private CompoundBorder hsbBorder;
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/AnimationController.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/AnimationController.java Wed Jul 05 20:52:10 2017 +0200
@@ -69,11 +69,11 @@
*/
class AnimationController implements ActionListener, PropertyChangeListener {
- private final static boolean VISTA_ANIMATION_DISABLED =
+ private static final boolean VISTA_ANIMATION_DISABLED =
AccessController.doPrivileged(new GetBooleanAction("swing.disablevistaanimation"));
- private final static Object ANIMATION_CONTROLLER_KEY =
+ private static final Object ANIMATION_CONTROLLER_KEY =
new StringBuilder("ANIMATION_CONTROLLER_KEY");
private final Map<JComponent, Map<Part, AnimationState>> animationStateMap =
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsCheckBoxUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsCheckBoxUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -53,7 +53,7 @@
private static final Object WINDOWS_CHECK_BOX_UI_KEY = new Object();
- private final static String propertyPrefix = "CheckBox" + ".";
+ private static final String propertyPrefix = "CheckBox" + ".";
private boolean defaults_initialized = false;
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsFileChooserUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -1017,7 +1017,7 @@
}
}
- final static int space = 10;
+ static final int space = 10;
class IndentIcon implements Icon {
Icon icon = null;
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsIconFactory.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsIconFactory.java Wed Jul 05 20:52:10 2017 +0200
@@ -321,7 +321,7 @@
@SuppressWarnings("serial") // Same-version serialization only
private static class CheckBoxIcon implements Icon, Serializable
{
- final static int csize = 13;
+ static final int csize = 13;
public void paintIcon(Component c, Graphics g, int x, int y) {
JCheckBox cb = (JCheckBox) c;
ButtonModel model = cb.getModel();
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsLookAndFeel.java Wed Jul 05 20:52:10 2017 +0200
@@ -2271,7 +2271,7 @@
protected Object classicValue, xpValue;
// A constant that lets you specify null when using XP styles.
- private final static Object NULL_VALUE = new Object();
+ private static final Object NULL_VALUE = new Object();
XPValue(Object xpValue, Object classicValue) {
this.xpValue = xpValue;
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsRootPaneUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsRootPaneUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -70,7 +70,7 @@
*/
public class WindowsRootPaneUI extends BasicRootPaneUI {
- private final static WindowsRootPaneUI windowsRootPaneUI = new WindowsRootPaneUI();
+ private static final WindowsRootPaneUI windowsRootPaneUI = new WindowsRootPaneUI();
static final AltProcessor altProcessor = new AltProcessor();
public static ComponentUI createUI(JComponent c) {
--- a/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/java/swing/plaf/windows/WindowsTreeUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -106,8 +106,8 @@
}
}
- static protected final int HALF_SIZE = 4;
- static protected final int SIZE = 9;
+ protected static final int HALF_SIZE = 4;
+ protected static final int SIZE = 9;
/**
* Returns the default cell renderer that is used to do the
@@ -130,7 +130,7 @@
@SuppressWarnings("serial") // Same-version serialization only
public static class ExpandedIcon implements Icon, Serializable {
- static public Icon createExpandedIcon() {
+ public static Icon createExpandedIcon() {
return new ExpandedIcon();
}
@@ -182,7 +182,7 @@
*/
@SuppressWarnings("serial") // Superclass is not serializable across versions
public static class CollapsedIcon extends ExpandedIcon {
- static public Icon createCollapsedIcon() {
+ public static Icon createCollapsedIcon() {
return new CollapsedIcon();
}
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/AuFileWriter.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/AuFileWriter.java Wed Jul 05 20:52:10 2017 +0200
@@ -52,7 +52,7 @@
public final class AuFileWriter extends SunFileWriter {
//$$fb value for length field if length is not known
- public final static int UNKNOWN_SIZE=-1;
+ public static final int UNKNOWN_SIZE=-1;
/**
* Constructs a new AuFileWriter object.
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/AudioFloatConverter.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/AudioFloatConverter.java Wed Jul 05 20:52:10 2017 +0200
@@ -53,11 +53,11 @@
private final AudioFloatConverter converter;
- final private int offset;
+ private final int offset;
- final private int stepsize;
+ private final int stepsize;
- final private byte mask;
+ private final byte mask;
private byte[] mask_buffer;
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/DLSRegion.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/DLSRegion.java Wed Jul 05 20:52:10 2017 +0200
@@ -38,7 +38,7 @@
*/
public final class DLSRegion {
- public final static int OPTION_SELFNONEXCLUSIVE = 0x0001;
+ public static final int OPTION_SELFNONEXCLUSIVE = 0x0001;
List<DLSModulator> modulators = new ArrayList<DLSModulator>();
int keyfrom;
int keyto;
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/DLSSampleLoop.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/DLSSampleLoop.java Wed Jul 05 20:52:10 2017 +0200
@@ -31,8 +31,8 @@
*/
public final class DLSSampleLoop {
- public final static int LOOP_TYPE_FORWARD = 0;
- public final static int LOOP_TYPE_RELEASE = 1;
+ public static final int LOOP_TYPE_FORWARD = 0;
+ public static final int LOOP_TYPE_RELEASE = 1;
long type;
long start;
long length;
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/DLSSoundbank.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/DLSSoundbank.java Wed Jul 05 20:52:10 2017 +0200
@@ -53,7 +53,7 @@
*/
public final class DLSSoundbank implements Soundbank {
- static private class DLSID {
+ private static class DLSID {
long i1;
int s1;
int s2;
@@ -548,7 +548,7 @@
long count = riff.readUnsignedInt();
if (size - 8 != 0)
- riff.skipBytes(size - 8);
+ riff.skip(size - 8);
for (int i = 0; i < count; i++) {
DLSModulator modulator = new DLSModulator();
@@ -568,7 +568,7 @@
long count = riff.readUnsignedInt();
if (size - 8 != 0)
- riff.skipBytes(size - 8);
+ riff.skip(size - 8);
for (int i = 0; i < count; i++) {
DLSModulator modulator = new DLSModulator();
@@ -661,7 +661,7 @@
long loops = riff.readInt();
if (size > 20)
- riff.skipBytes(size - 20);
+ riff.skip(size - 20);
for (int i = 0; i < loops; i++) {
DLSSampleLoop loop = new DLSSampleLoop();
@@ -671,7 +671,7 @@
loop.length = riff.readUnsignedInt();
sampleOptions.loops.add(loop);
if (size2 > 16)
- riff.skipBytes(size2 - 16);
+ riff.skip(size2 - 16);
}
}
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/EmergencySoundbank.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/EmergencySoundbank.java Wed Jul 05 20:52:10 2017 +0200
@@ -37,7 +37,7 @@
*/
public final class EmergencySoundbank {
- private final static String[] general_midi_instruments = {
+ private static final String[] general_midi_instruments = {
"Acoustic Grand Piano",
"Bright Acoustic Piano",
"Electric Grand Piano",
@@ -2564,11 +2564,11 @@
return ins;
}
- static public void ifft(double[] data) {
+ public static void ifft(double[] data) {
new FFT(data.length / 2, 1).transform(data);
}
- static public void fft(double[] data) {
+ public static void fft(double[] data) {
new FFT(data.length / 2, -1).transform(data);
}
@@ -2580,7 +2580,7 @@
}
}
- static public void randomPhase(double[] data) {
+ public static void randomPhase(double[] data) {
for (int i = 0; i < data.length; i += 2) {
double phase = Math.random() * 2 * Math.PI;
double d = data[i];
@@ -2589,7 +2589,7 @@
}
}
- static public void randomPhase(double[] data, Random random) {
+ public static void randomPhase(double[] data, Random random) {
for (int i = 0; i < data.length; i += 2) {
double phase = random.nextDouble() * 2 * Math.PI;
double d = data[i];
@@ -2598,7 +2598,7 @@
}
}
- static public void normalize(double[] data, double target) {
+ public static void normalize(double[] data, double target) {
double maxvalue = 0;
for (int i = 0; i < data.length; i++) {
if (data[i] > maxvalue)
@@ -2613,7 +2613,7 @@
data[i] *= gain;
}
- static public void normalize(float[] data, double target) {
+ public static void normalize(float[] data, double target) {
double maxvalue = 0.5;
for (int i = 0; i < data.length; i++) {
if (data[i * 2] > maxvalue)
@@ -2626,7 +2626,7 @@
data[i * 2] *= gain;
}
- static public double[] realPart(double[] in) {
+ public static double[] realPart(double[] in) {
double[] out = new double[in.length / 2];
for (int i = 0; i < out.length; i++) {
out[i] = in[i * 2];
@@ -2634,7 +2634,7 @@
return out;
}
- static public double[] imgPart(double[] in) {
+ public static double[] imgPart(double[] in) {
double[] out = new double[in.length / 2];
for (int i = 0; i < out.length; i++) {
out[i] = in[i * 2];
@@ -2642,7 +2642,7 @@
return out;
}
- static public float[] toFloat(double[] in) {
+ public static float[] toFloat(double[] in) {
float[] out = new float[in.length];
for (int i = 0; i < out.length; i++) {
out[i] = (float) in[i];
@@ -2650,24 +2650,24 @@
return out;
}
- static public byte[] toBytes(float[] in, AudioFormat format) {
+ public static byte[] toBytes(float[] in, AudioFormat format) {
byte[] out = new byte[in.length * format.getFrameSize()];
return AudioFloatConverter.getConverter(format).toByteArray(in, out);
}
- static public void fadeUp(double[] data, int samples) {
+ public static void fadeUp(double[] data, int samples) {
double dsamples = samples;
for (int i = 0; i < samples; i++)
data[i] *= i / dsamples;
}
- static public void fadeUp(float[] data, int samples) {
+ public static void fadeUp(float[] data, int samples) {
double dsamples = samples;
for (int i = 0; i < samples; i++)
data[i] *= i / dsamples;
}
- static public double[] loopExtend(double[] data, int newsize) {
+ public static double[] loopExtend(double[] data, int newsize) {
double[] outdata = new double[newsize];
int p_len = data.length;
int p_ps = 0;
@@ -2680,7 +2680,7 @@
return outdata;
}
- static public float[] loopExtend(float[] data, int newsize) {
+ public static float[] loopExtend(float[] data, int newsize) {
float[] outdata = new float[newsize];
int p_len = data.length;
int p_ps = 0;
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/JavaSoundAudioClip.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/JavaSoundAudioClip.java Wed Jul 05 20:52:10 2017 +0200
@@ -88,9 +88,9 @@
* with the number of samples in the stream.
*
*/
- private final static long CLIP_THRESHOLD = 1048576;
+ private static final long CLIP_THRESHOLD = 1048576;
//private final static long CLIP_THRESHOLD = 1;
- private final static int STREAM_BUFFER_SIZE = 1024;
+ private static final int STREAM_BUFFER_SIZE = 1024;
public JavaSoundAudioClip(InputStream in) throws IOException {
if (DEBUG || Printer.debug)Printer.debug("JavaSoundAudioClip.<init>");
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/MidiOutDeviceProvider.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/MidiOutDeviceProvider.java Wed Jul 05 20:52:10 2017 +0200
@@ -42,7 +42,7 @@
/** Cache of open MIDI output devices on the system. */
private static MidiDevice[] devices = null;
- private final static boolean enabled;
+ private static final boolean enabled;
// STATIC
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/MidiUtils.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/MidiUtils.java Wed Jul 05 20:52:10 2017 +0200
@@ -44,9 +44,9 @@
*/
public final class MidiUtils {
- public final static int DEFAULT_TEMPO_MPQ = 500000; // 120bpm
- public final static int META_END_OF_TRACK_TYPE = 0x2F;
- public final static int META_TEMPO_TYPE = 0x51;
+ public static final int DEFAULT_TEMPO_MPQ = 500000; // 120bpm
+ public static final int META_END_OF_TRACK_TYPE = 0x2F;
+ public static final int META_TEMPO_TYPE = 0x51;
/**
* Suppresses default constructor, ensuring non-instantiability.
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/ModelConnectionBlock.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/ModelConnectionBlock.java Wed Jul 05 20:52:10 2017 +0200
@@ -39,7 +39,7 @@
//
// source1 * source2 * scale -> destination
//
- private final static ModelSource[] no_sources = new ModelSource[0];
+ private static final ModelSource[] no_sources = new ModelSource[0];
private ModelSource[] sources = no_sources;
private double scale = 1;
private ModelDestination destination;
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/ModelTransform.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/ModelTransform.java Wed Jul 05 20:52:10 2017 +0200
@@ -31,5 +31,5 @@
*/
public interface ModelTransform {
- abstract public double transform(double value);
+ public abstract double transform(double value);
}
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/Platform.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/Platform.java Wed Jul 05 20:52:10 2017 +0200
@@ -169,9 +169,9 @@
}
// the following native methods are implemented in Platform.c
- private native static boolean nIsBigEndian();
- private native static String nGetExtraLibraries();
- private native static int nGetLibraryForFeature(int feature);
+ private static native boolean nIsBigEndian();
+ private static native String nGetExtraLibraries();
+ private static native int nGetLibraryForFeature(int feature);
/**
* Read the required system properties.
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/PortMixer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/PortMixer.java Wed Jul 05 20:52:10 2017 +0200
@@ -422,7 +422,7 @@
private boolean closed = false;
// predefined float control types. See also Ports.h
- private final static FloatControl.Type[] FLOAT_CONTROL_TYPES = {
+ private static final FloatControl.Type[] FLOAT_CONTROL_TYPES = {
null,
FloatControl.Type.BALANCE,
FloatControl.Type.MASTER_GAIN,
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/RIFFReader.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/RIFFReader.java Wed Jul 05 20:52:10 2017 +0200
@@ -118,6 +118,7 @@
return ckSize;
}
+ @Override
public int read() throws IOException {
if (avail == 0) {
return -1;
@@ -132,6 +133,7 @@
return b;
}
+ @Override
public int read(byte[] b, int offset, int len) throws IOException {
if (avail == 0) {
return -1;
@@ -172,49 +174,45 @@
}
}
- public long skipBytes(long n) throws IOException {
- if (n < 0)
+ @Override
+ public long skip(final long n) throws IOException {
+ if (n <= 0 || avail == 0) {
return 0;
- long skipped = 0;
- while (skipped != n) {
- long s = skip(n - skipped);
- if (s < 0)
+ }
+ // will not skip more than
+ long remaining = Math.min(n, avail);
+ while (remaining > 0) {
+ // Some input streams like FileInputStream can return more bytes,
+ // when EOF is reached.
+ long ret = Math.min(stream.skip(remaining), remaining);
+ if (ret == 0) {
+ // EOF or not? we need to check.
+ Thread.yield();
+ if (stream.read() == -1) {
+ avail = 0;
+ break;
+ }
+ ret = 1;
+ } else if (ret < 0) {
+ // the skip should not return negative value, but check it also
+ avail = 0;
break;
- if (s == 0)
- Thread.yield();
- skipped += s;
+ }
+ remaining -= ret;
+ avail -= ret;
+ filepointer += ret;
}
- return skipped;
+ return n - remaining;
}
- public long skip(long n) throws IOException {
- if (avail == 0)
- return -1;
- if (n > avail) {
- long len = stream.skip(avail);
- if (len != -1)
- filepointer += len;
- avail = 0;
- return len;
- } else {
- long ret = stream.skip(n);
- if (ret == -1) {
- avail = 0;
- return -1;
- }
- avail -= ret;
- filepointer += ret;
- return ret;
- }
- }
-
+ @Override
public int available() {
return (int)avail;
}
public void finish() throws IOException {
if (avail != 0) {
- skipBytes(avail);
+ skip(avail);
}
}
@@ -337,6 +335,7 @@
return ch1 + (ch2 << 8) | (ch3 << 16) | (ch4 << 24);
}
+ @Override
public void close() throws IOException {
finish();
if (this == root)
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/RealTimeSequencer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/RealTimeSequencer.java Wed Jul 05 20:52:10 2017 +0200
@@ -51,8 +51,8 @@
// STATIC VARIABLES
/** debugging flags */
- private final static boolean DEBUG_PUMP = false;
- private final static boolean DEBUG_PUMP_ALL = false;
+ private static final boolean DEBUG_PUMP = false;
+ private static final boolean DEBUG_PUMP_ALL = false;
/**
* Event Dispatcher thread. Should be using a shared event
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/SF2Modulator.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/SF2Modulator.java Wed Jul 05 20:52:10 2017 +0200
@@ -31,24 +31,24 @@
*/
public final class SF2Modulator {
- public final static int SOURCE_NONE = 0;
- public final static int SOURCE_NOTE_ON_VELOCITY = 2;
- public final static int SOURCE_NOTE_ON_KEYNUMBER = 3;
- public final static int SOURCE_POLY_PRESSURE = 10;
- public final static int SOURCE_CHANNEL_PRESSURE = 13;
- public final static int SOURCE_PITCH_WHEEL = 14;
- public final static int SOURCE_PITCH_SENSITIVITY = 16;
- public final static int SOURCE_MIDI_CONTROL = 128 * 1;
- public final static int SOURCE_DIRECTION_MIN_MAX = 256 * 0;
- public final static int SOURCE_DIRECTION_MAX_MIN = 256 * 1;
- public final static int SOURCE_POLARITY_UNIPOLAR = 512 * 0;
- public final static int SOURCE_POLARITY_BIPOLAR = 512 * 1;
- public final static int SOURCE_TYPE_LINEAR = 1024 * 0;
- public final static int SOURCE_TYPE_CONCAVE = 1024 * 1;
- public final static int SOURCE_TYPE_CONVEX = 1024 * 2;
- public final static int SOURCE_TYPE_SWITCH = 1024 * 3;
- public final static int TRANSFORM_LINEAR = 0;
- public final static int TRANSFORM_ABSOLUTE = 2;
+ public static final int SOURCE_NONE = 0;
+ public static final int SOURCE_NOTE_ON_VELOCITY = 2;
+ public static final int SOURCE_NOTE_ON_KEYNUMBER = 3;
+ public static final int SOURCE_POLY_PRESSURE = 10;
+ public static final int SOURCE_CHANNEL_PRESSURE = 13;
+ public static final int SOURCE_PITCH_WHEEL = 14;
+ public static final int SOURCE_PITCH_SENSITIVITY = 16;
+ public static final int SOURCE_MIDI_CONTROL = 128 * 1;
+ public static final int SOURCE_DIRECTION_MIN_MAX = 256 * 0;
+ public static final int SOURCE_DIRECTION_MAX_MIN = 256 * 1;
+ public static final int SOURCE_POLARITY_UNIPOLAR = 512 * 0;
+ public static final int SOURCE_POLARITY_BIPOLAR = 512 * 1;
+ public static final int SOURCE_TYPE_LINEAR = 1024 * 0;
+ public static final int SOURCE_TYPE_CONCAVE = 1024 * 1;
+ public static final int SOURCE_TYPE_CONVEX = 1024 * 2;
+ public static final int SOURCE_TYPE_SWITCH = 1024 * 3;
+ public static final int TRANSFORM_LINEAR = 0;
+ public static final int TRANSFORM_ABSOLUTE = 2;
int sourceOperator;
int destinationOperator;
short amount;
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/SF2Region.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/SF2Region.java Wed Jul 05 20:52:10 2017 +0200
@@ -36,67 +36,67 @@
*/
public class SF2Region {
- public final static int GENERATOR_STARTADDRSOFFSET = 0;
- public final static int GENERATOR_ENDADDRSOFFSET = 1;
- public final static int GENERATOR_STARTLOOPADDRSOFFSET = 2;
- public final static int GENERATOR_ENDLOOPADDRSOFFSET = 3;
- public final static int GENERATOR_STARTADDRSCOARSEOFFSET = 4;
- public final static int GENERATOR_MODLFOTOPITCH = 5;
- public final static int GENERATOR_VIBLFOTOPITCH = 6;
- public final static int GENERATOR_MODENVTOPITCH = 7;
- public final static int GENERATOR_INITIALFILTERFC = 8;
- public final static int GENERATOR_INITIALFILTERQ = 9;
- public final static int GENERATOR_MODLFOTOFILTERFC = 10;
- public final static int GENERATOR_MODENVTOFILTERFC = 11;
- public final static int GENERATOR_ENDADDRSCOARSEOFFSET = 12;
- public final static int GENERATOR_MODLFOTOVOLUME = 13;
- public final static int GENERATOR_UNUSED1 = 14;
- public final static int GENERATOR_CHORUSEFFECTSSEND = 15;
- public final static int GENERATOR_REVERBEFFECTSSEND = 16;
- public final static int GENERATOR_PAN = 17;
- public final static int GENERATOR_UNUSED2 = 18;
- public final static int GENERATOR_UNUSED3 = 19;
- public final static int GENERATOR_UNUSED4 = 20;
- public final static int GENERATOR_DELAYMODLFO = 21;
- public final static int GENERATOR_FREQMODLFO = 22;
- public final static int GENERATOR_DELAYVIBLFO = 23;
- public final static int GENERATOR_FREQVIBLFO = 24;
- public final static int GENERATOR_DELAYMODENV = 25;
- public final static int GENERATOR_ATTACKMODENV = 26;
- public final static int GENERATOR_HOLDMODENV = 27;
- public final static int GENERATOR_DECAYMODENV = 28;
- public final static int GENERATOR_SUSTAINMODENV = 29;
- public final static int GENERATOR_RELEASEMODENV = 30;
- public final static int GENERATOR_KEYNUMTOMODENVHOLD = 31;
- public final static int GENERATOR_KEYNUMTOMODENVDECAY = 32;
- public final static int GENERATOR_DELAYVOLENV = 33;
- public final static int GENERATOR_ATTACKVOLENV = 34;
- public final static int GENERATOR_HOLDVOLENV = 35;
- public final static int GENERATOR_DECAYVOLENV = 36;
- public final static int GENERATOR_SUSTAINVOLENV = 37;
- public final static int GENERATOR_RELEASEVOLENV = 38;
- public final static int GENERATOR_KEYNUMTOVOLENVHOLD = 39;
- public final static int GENERATOR_KEYNUMTOVOLENVDECAY = 40;
- public final static int GENERATOR_INSTRUMENT = 41;
- public final static int GENERATOR_RESERVED1 = 42;
- public final static int GENERATOR_KEYRANGE = 43;
- public final static int GENERATOR_VELRANGE = 44;
- public final static int GENERATOR_STARTLOOPADDRSCOARSEOFFSET = 45;
- public final static int GENERATOR_KEYNUM = 46;
- public final static int GENERATOR_VELOCITY = 47;
- public final static int GENERATOR_INITIALATTENUATION = 48;
- public final static int GENERATOR_RESERVED2 = 49;
- public final static int GENERATOR_ENDLOOPADDRSCOARSEOFFSET = 50;
- public final static int GENERATOR_COARSETUNE = 51;
- public final static int GENERATOR_FINETUNE = 52;
- public final static int GENERATOR_SAMPLEID = 53;
- public final static int GENERATOR_SAMPLEMODES = 54;
- public final static int GENERATOR_RESERVED3 = 55;
- public final static int GENERATOR_SCALETUNING = 56;
- public final static int GENERATOR_EXCLUSIVECLASS = 57;
- public final static int GENERATOR_OVERRIDINGROOTKEY = 58;
- public final static int GENERATOR_UNUSED5 = 59;
- public final static int GENERATOR_ENDOPR = 60;
+ public static final int GENERATOR_STARTADDRSOFFSET = 0;
+ public static final int GENERATOR_ENDADDRSOFFSET = 1;
+ public static final int GENERATOR_STARTLOOPADDRSOFFSET = 2;
+ public static final int GENERATOR_ENDLOOPADDRSOFFSET = 3;
+ public static final int GENERATOR_STARTADDRSCOARSEOFFSET = 4;
+ public static final int GENERATOR_MODLFOTOPITCH = 5;
+ public static final int GENERATOR_VIBLFOTOPITCH = 6;
+ public static final int GENERATOR_MODENVTOPITCH = 7;
+ public static final int GENERATOR_INITIALFILTERFC = 8;
+ public static final int GENERATOR_INITIALFILTERQ = 9;
+ public static final int GENERATOR_MODLFOTOFILTERFC = 10;
+ public static final int GENERATOR_MODENVTOFILTERFC = 11;
+ public static final int GENERATOR_ENDADDRSCOARSEOFFSET = 12;
+ public static final int GENERATOR_MODLFOTOVOLUME = 13;
+ public static final int GENERATOR_UNUSED1 = 14;
+ public static final int GENERATOR_CHORUSEFFECTSSEND = 15;
+ public static final int GENERATOR_REVERBEFFECTSSEND = 16;
+ public static final int GENERATOR_PAN = 17;
+ public static final int GENERATOR_UNUSED2 = 18;
+ public static final int GENERATOR_UNUSED3 = 19;
+ public static final int GENERATOR_UNUSED4 = 20;
+ public static final int GENERATOR_DELAYMODLFO = 21;
+ public static final int GENERATOR_FREQMODLFO = 22;
+ public static final int GENERATOR_DELAYVIBLFO = 23;
+ public static final int GENERATOR_FREQVIBLFO = 24;
+ public static final int GENERATOR_DELAYMODENV = 25;
+ public static final int GENERATOR_ATTACKMODENV = 26;
+ public static final int GENERATOR_HOLDMODENV = 27;
+ public static final int GENERATOR_DECAYMODENV = 28;
+ public static final int GENERATOR_SUSTAINMODENV = 29;
+ public static final int GENERATOR_RELEASEMODENV = 30;
+ public static final int GENERATOR_KEYNUMTOMODENVHOLD = 31;
+ public static final int GENERATOR_KEYNUMTOMODENVDECAY = 32;
+ public static final int GENERATOR_DELAYVOLENV = 33;
+ public static final int GENERATOR_ATTACKVOLENV = 34;
+ public static final int GENERATOR_HOLDVOLENV = 35;
+ public static final int GENERATOR_DECAYVOLENV = 36;
+ public static final int GENERATOR_SUSTAINVOLENV = 37;
+ public static final int GENERATOR_RELEASEVOLENV = 38;
+ public static final int GENERATOR_KEYNUMTOVOLENVHOLD = 39;
+ public static final int GENERATOR_KEYNUMTOVOLENVDECAY = 40;
+ public static final int GENERATOR_INSTRUMENT = 41;
+ public static final int GENERATOR_RESERVED1 = 42;
+ public static final int GENERATOR_KEYRANGE = 43;
+ public static final int GENERATOR_VELRANGE = 44;
+ public static final int GENERATOR_STARTLOOPADDRSCOARSEOFFSET = 45;
+ public static final int GENERATOR_KEYNUM = 46;
+ public static final int GENERATOR_VELOCITY = 47;
+ public static final int GENERATOR_INITIALATTENUATION = 48;
+ public static final int GENERATOR_RESERVED2 = 49;
+ public static final int GENERATOR_ENDLOOPADDRSCOARSEOFFSET = 50;
+ public static final int GENERATOR_COARSETUNE = 51;
+ public static final int GENERATOR_FINETUNE = 52;
+ public static final int GENERATOR_SAMPLEID = 53;
+ public static final int GENERATOR_SAMPLEMODES = 54;
+ public static final int GENERATOR_RESERVED3 = 55;
+ public static final int GENERATOR_SCALETUNING = 56;
+ public static final int GENERATOR_EXCLUSIVECLASS = 57;
+ public static final int GENERATOR_OVERRIDINGROOTKEY = 58;
+ public static final int GENERATOR_UNUSED5 = 59;
+ public static final int GENERATOR_ENDOPR = 60;
protected Map<Integer, Short> generators = new HashMap<Integer, Short>();
protected List<SF2Modulator> modulators = new ArrayList<SF2Modulator>();
@@ -108,7 +108,7 @@
return generators.containsKey(generator);
}
- static public short getDefaultValue(int generator) {
+ public static short getDefaultValue(int generator) {
if (generator == 8) return (short)13500;
if (generator == 21) return (short)-12000;
if (generator == 23) return (short)-12000;
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/SoftEnvelopeGenerator.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/SoftEnvelopeGenerator.java Wed Jul 05 20:52:10 2017 +0200
@@ -31,15 +31,15 @@
*/
public final class SoftEnvelopeGenerator implements SoftProcess {
- public final static int EG_OFF = 0;
- public final static int EG_DELAY = 1;
- public final static int EG_ATTACK = 2;
- public final static int EG_HOLD = 3;
- public final static int EG_DECAY = 4;
- public final static int EG_SUSTAIN = 5;
- public final static int EG_RELEASE = 6;
- public final static int EG_SHUTDOWN = 7;
- public final static int EG_END = 8;
+ public static final int EG_OFF = 0;
+ public static final int EG_DELAY = 1;
+ public static final int EG_ATTACK = 2;
+ public static final int EG_HOLD = 3;
+ public static final int EG_DECAY = 4;
+ public static final int EG_SUSTAIN = 5;
+ public static final int EG_RELEASE = 6;
+ public static final int EG_SHUTDOWN = 7;
+ public static final int EG_END = 8;
int max_count = 10;
int used_count = 0;
private final int[] stage = new int[max_count];
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/SoftFilter.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/SoftFilter.java Wed Jul 05 20:52:10 2017 +0200
@@ -35,13 +35,13 @@
*/
public final class SoftFilter {
- public final static int FILTERTYPE_LP6 = 0x00;
- public final static int FILTERTYPE_LP12 = 0x01;
- public final static int FILTERTYPE_HP12 = 0x11;
- public final static int FILTERTYPE_BP12 = 0x21;
- public final static int FILTERTYPE_NP12 = 0x31;
- public final static int FILTERTYPE_LP24 = 0x03;
- public final static int FILTERTYPE_HP24 = 0x13;
+ public static final int FILTERTYPE_LP6 = 0x00;
+ public static final int FILTERTYPE_LP12 = 0x01;
+ public static final int FILTERTYPE_HP12 = 0x11;
+ public static final int FILTERTYPE_BP12 = 0x21;
+ public static final int FILTERTYPE_NP12 = 0x31;
+ public static final int FILTERTYPE_LP24 = 0x03;
+ public static final int FILTERTYPE_HP24 = 0x13;
//
// 0x0 = 1st-order, 6 dB/oct
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/SoftMainMixer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/SoftMainMixer.java Wed Jul 05 20:52:10 2017 +0200
@@ -53,20 +53,20 @@
SoftAudioBuffer[] buffers;
}
- public final static int CHANNEL_LEFT = 0;
- public final static int CHANNEL_RIGHT = 1;
- public final static int CHANNEL_MONO = 2;
- public final static int CHANNEL_DELAY_LEFT = 3;
- public final static int CHANNEL_DELAY_RIGHT = 4;
- public final static int CHANNEL_DELAY_MONO = 5;
- public final static int CHANNEL_EFFECT1 = 6;
- public final static int CHANNEL_EFFECT2 = 7;
- public final static int CHANNEL_DELAY_EFFECT1 = 8;
- public final static int CHANNEL_DELAY_EFFECT2 = 9;
- public final static int CHANNEL_LEFT_DRY = 10;
- public final static int CHANNEL_RIGHT_DRY = 11;
- public final static int CHANNEL_SCRATCH1 = 12;
- public final static int CHANNEL_SCRATCH2 = 13;
+ public static final int CHANNEL_LEFT = 0;
+ public static final int CHANNEL_RIGHT = 1;
+ public static final int CHANNEL_MONO = 2;
+ public static final int CHANNEL_DELAY_LEFT = 3;
+ public static final int CHANNEL_DELAY_RIGHT = 4;
+ public static final int CHANNEL_DELAY_MONO = 5;
+ public static final int CHANNEL_EFFECT1 = 6;
+ public static final int CHANNEL_EFFECT2 = 7;
+ public static final int CHANNEL_DELAY_EFFECT1 = 8;
+ public static final int CHANNEL_DELAY_EFFECT2 = 9;
+ public static final int CHANNEL_LEFT_DRY = 10;
+ public static final int CHANNEL_RIGHT_DRY = 11;
+ public static final int CHANNEL_SCRATCH1 = 12;
+ public static final int CHANNEL_SCRATCH2 = 13;
boolean active_sensing_on = false;
private long msec_last_activity = -1;
private boolean pusher_silent = false;
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/SoftMixingMainMixer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/SoftMixingMainMixer.java Wed Jul 05 20:52:10 2017 +0200
@@ -39,29 +39,29 @@
*/
public final class SoftMixingMainMixer {
- public final static int CHANNEL_LEFT = 0;
+ public static final int CHANNEL_LEFT = 0;
- public final static int CHANNEL_RIGHT = 1;
+ public static final int CHANNEL_RIGHT = 1;
- public final static int CHANNEL_EFFECT1 = 2;
+ public static final int CHANNEL_EFFECT1 = 2;
- public final static int CHANNEL_EFFECT2 = 3;
+ public static final int CHANNEL_EFFECT2 = 3;
- public final static int CHANNEL_EFFECT3 = 4;
+ public static final int CHANNEL_EFFECT3 = 4;
- public final static int CHANNEL_EFFECT4 = 5;
+ public static final int CHANNEL_EFFECT4 = 5;
- public final static int CHANNEL_LEFT_DRY = 10;
+ public static final int CHANNEL_LEFT_DRY = 10;
- public final static int CHANNEL_RIGHT_DRY = 11;
+ public static final int CHANNEL_RIGHT_DRY = 11;
- public final static int CHANNEL_SCRATCH1 = 12;
+ public static final int CHANNEL_SCRATCH1 = 12;
- public final static int CHANNEL_SCRATCH2 = 13;
+ public static final int CHANNEL_SCRATCH2 = 13;
- public final static int CHANNEL_CHANNELMIXER_LEFT = 14;
+ public static final int CHANNEL_CHANNELMIXER_LEFT = 14;
- public final static int CHANNEL_CHANNELMIXER_RIGHT = 15;
+ public static final int CHANNEL_CHANNELMIXER_RIGHT = 15;
private final SoftMixingMixer mixer;
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/SoftReverb.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/SoftReverb.java Wed Jul 05 20:52:10 2017 +0200
@@ -35,7 +35,7 @@
*/
public final class SoftReverb implements SoftAudioProcessor {
- private final static class Delay {
+ private static final class Delay {
private float[] delaybuffer;
private int rovepos = 0;
@@ -70,7 +70,7 @@
}
}
- private final static class AllPass {
+ private static final class AllPass {
private final float[] delaybuffer;
private final int delaybuffersize;
@@ -117,7 +117,7 @@
}
}
- private final static class Comb {
+ private static final class Comb {
private final float[] delaybuffer;
private final int delaybuffersize;
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/SoftSynthesizer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/SoftSynthesizer.java Wed Jul 05 20:52:10 2017 +0200
@@ -178,7 +178,7 @@
static final String INFO_VENDOR = "OpenJDK";
static final String INFO_DESCRIPTION = "Software MIDI Synthesizer";
static final String INFO_VERSION = "1.0";
- final static MidiDevice.Info info = new Info();
+ static final MidiDevice.Info info = new Info();
private static SourceDataLine testline = null;
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/StandardMidiFileWriter.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/StandardMidiFileWriter.java Wed Jul 05 20:52:10 2017 +0200
@@ -307,7 +307,7 @@
return ERROR;
}
- private final static long mask = 0x7F;
+ private static final long mask = 0x7F;
private int writeVarInt(long value) throws IOException {
int len = 1;
--- a/jdk/src/java.desktop/share/classes/com/sun/media/sound/UlawCodec.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/com/sun/media/sound/UlawCodec.java Wed Jul 05 20:52:10 2017 +0200
@@ -43,8 +43,8 @@
/* Tables used for U-law decoding */
- private final static byte[] ULAW_TABH = new byte[256];
- private final static byte[] ULAW_TABL = new byte[256];
+ private static final byte[] ULAW_TABH = new byte[256];
+ private static final byte[] ULAW_TABL = new byte[256];
private static final AudioFormat.Encoding[] ulawEncodings = {AudioFormat.Encoding.ULAW,
AudioFormat.Encoding.PCM_SIGNED};
--- a/jdk/src/java.desktop/share/classes/java/applet/Applet.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/applet/Applet.java Wed Jul 05 20:52:10 2017 +0200
@@ -79,7 +79,7 @@
* likely move it into RUNNING state).
* The stub field will be restored by the reader.
*/
- transient private AppletStub stub;
+ private transient AppletStub stub;
/* version ID for serialized form. */
private static final long serialVersionUID = -5836846270535785031L;
@@ -310,7 +310,7 @@
*
* @since 1.2
*/
- public final static AudioClip newAudioClip(URL url) {
+ public static final AudioClip newAudioClip(URL url) {
return new sun.applet.AppletAudioClip(url);
}
--- a/jdk/src/java.desktop/share/classes/java/awt/AWTEvent.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/AWTEvent.java Wed Jul 05 20:52:10 2017 +0200
@@ -128,107 +128,107 @@
/**
* The event mask for selecting component events.
*/
- public final static long COMPONENT_EVENT_MASK = 0x01;
+ public static final long COMPONENT_EVENT_MASK = 0x01;
/**
* The event mask for selecting container events.
*/
- public final static long CONTAINER_EVENT_MASK = 0x02;
+ public static final long CONTAINER_EVENT_MASK = 0x02;
/**
* The event mask for selecting focus events.
*/
- public final static long FOCUS_EVENT_MASK = 0x04;
+ public static final long FOCUS_EVENT_MASK = 0x04;
/**
* The event mask for selecting key events.
*/
- public final static long KEY_EVENT_MASK = 0x08;
+ public static final long KEY_EVENT_MASK = 0x08;
/**
* The event mask for selecting mouse events.
*/
- public final static long MOUSE_EVENT_MASK = 0x10;
+ public static final long MOUSE_EVENT_MASK = 0x10;
/**
* The event mask for selecting mouse motion events.
*/
- public final static long MOUSE_MOTION_EVENT_MASK = 0x20;
+ public static final long MOUSE_MOTION_EVENT_MASK = 0x20;
/**
* The event mask for selecting window events.
*/
- public final static long WINDOW_EVENT_MASK = 0x40;
+ public static final long WINDOW_EVENT_MASK = 0x40;
/**
* The event mask for selecting action events.
*/
- public final static long ACTION_EVENT_MASK = 0x80;
+ public static final long ACTION_EVENT_MASK = 0x80;
/**
* The event mask for selecting adjustment events.
*/
- public final static long ADJUSTMENT_EVENT_MASK = 0x100;
+ public static final long ADJUSTMENT_EVENT_MASK = 0x100;
/**
* The event mask for selecting item events.
*/
- public final static long ITEM_EVENT_MASK = 0x200;
+ public static final long ITEM_EVENT_MASK = 0x200;
/**
* The event mask for selecting text events.
*/
- public final static long TEXT_EVENT_MASK = 0x400;
+ public static final long TEXT_EVENT_MASK = 0x400;
/**
* The event mask for selecting input method events.
*/
- public final static long INPUT_METHOD_EVENT_MASK = 0x800;
+ public static final long INPUT_METHOD_EVENT_MASK = 0x800;
/**
* The pseudo event mask for enabling input methods.
* We're using one bit in the eventMask so we don't need
* a separate field inputMethodsEnabled.
*/
- final static long INPUT_METHODS_ENABLED_MASK = 0x1000;
+ static final long INPUT_METHODS_ENABLED_MASK = 0x1000;
/**
* The event mask for selecting paint events.
*/
- public final static long PAINT_EVENT_MASK = 0x2000;
+ public static final long PAINT_EVENT_MASK = 0x2000;
/**
* The event mask for selecting invocation events.
*/
- public final static long INVOCATION_EVENT_MASK = 0x4000;
+ public static final long INVOCATION_EVENT_MASK = 0x4000;
/**
* The event mask for selecting hierarchy events.
*/
- public final static long HIERARCHY_EVENT_MASK = 0x8000;
+ public static final long HIERARCHY_EVENT_MASK = 0x8000;
/**
* The event mask for selecting hierarchy bounds events.
*/
- public final static long HIERARCHY_BOUNDS_EVENT_MASK = 0x10000;
+ public static final long HIERARCHY_BOUNDS_EVENT_MASK = 0x10000;
/**
* The event mask for selecting mouse wheel events.
* @since 1.4
*/
- public final static long MOUSE_WHEEL_EVENT_MASK = 0x20000;
+ public static final long MOUSE_WHEEL_EVENT_MASK = 0x20000;
/**
* The event mask for selecting window state events.
* @since 1.4
*/
- public final static long WINDOW_STATE_EVENT_MASK = 0x40000;
+ public static final long WINDOW_STATE_EVENT_MASK = 0x40000;
/**
* The event mask for selecting window focus events.
* @since 1.4
*/
- public final static long WINDOW_FOCUS_EVENT_MASK = 0x80000;
+ public static final long WINDOW_FOCUS_EVENT_MASK = 0x80000;
/**
* WARNING: there are more mask defined privately. See
@@ -239,7 +239,7 @@
* The maximum value for reserved AWT event IDs. Programs defining
* their own event IDs should use IDs greater than this value.
*/
- public final static int RESERVED_ID_MAX = 1999;
+ public static final int RESERVED_ID_MAX = 1999;
// security stuff
private static Field inputEvent_CanAccessSystemClipboard_Field = null;
--- a/jdk/src/java.desktop/share/classes/java/awt/AWTKeyStroke.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/AWTKeyStroke.java Wed Jul 05 20:52:10 2017 +0200
@@ -32,12 +32,9 @@
import java.util.Map;
import java.util.StringTokenizer;
import java.io.Serializable;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Modifier;
import java.lang.reflect.Field;
+import sun.swing.SwingAccessor;
/**
* An <code>AWTKeyStroke</code> represents a key action on the
@@ -80,21 +77,6 @@
//A key withing the cache
private static AWTKeyStroke APP_CONTEXT_KEYSTROKE_KEY = new AWTKeyStroke();
- /*
- * Reads keystroke class from AppContext and if null, puts there the
- * AWTKeyStroke class.
- * Must be called under locked AWTKeyStroke
- */
- private static Class<AWTKeyStroke> getAWTKeyStrokeClass() {
- @SuppressWarnings("unchecked")
- Class<AWTKeyStroke> clazz = (Class<AWTKeyStroke>)AppContext.getAppContext().get(AWTKeyStroke.class);
- if (clazz == null) {
- clazz = AWTKeyStroke.class;
- AppContext.getAppContext().put(AWTKeyStroke.class, AWTKeyStroke.class);
- }
- return clazz;
- }
-
private char keyChar = KeyEvent.CHAR_UNDEFINED;
private int keyCode = KeyEvent.VK_UNDEFINED;
private int modifiers;
@@ -160,92 +142,15 @@
}
/**
- * Registers a new class which the factory methods in
- * <code>AWTKeyStroke</code> will use when generating new
- * instances of <code>AWTKeyStroke</code>s. After invoking this
- * method, the factory methods will return instances of the specified
- * Class. The specified Class must be either <code>AWTKeyStroke</code>
- * or derived from <code>AWTKeyStroke</code>, and it must have a
- * no-arg constructor. The constructor can be of any accessibility,
- * including <code>private</code>. This operation
- * flushes the current <code>AWTKeyStroke</code> cache.
+ * The method has no effect and is only left present to avoid introducing
+ * a binary incompatibility.
*
* @param subclass the new Class of which the factory methods should create
* instances
- * @throws IllegalArgumentException if subclass is <code>null</code>,
- * or if subclass does not have a no-arg constructor
- * @throws ClassCastException if subclass is not
- * <code>AWTKeyStroke</code>, or a class derived from
- * <code>AWTKeyStroke</code>
+ * @deprecated
*/
+ @Deprecated
protected static void registerSubclass(Class<?> subclass) {
- if (subclass == null) {
- throw new IllegalArgumentException("subclass cannot be null");
- }
- synchronized (AWTKeyStroke.class) {
- @SuppressWarnings("unchecked")
- Class<AWTKeyStroke> keyStrokeClass = (Class)AppContext.getAppContext().get(AWTKeyStroke.class);
- if (keyStrokeClass != null && keyStrokeClass.equals(subclass)){
- // Already registered
- return;
- }
- }
- if (!AWTKeyStroke.class.isAssignableFrom(subclass)) {
- throw new ClassCastException("subclass is not derived from AWTKeyStroke");
- }
-
- Constructor<?> ctor = getCtor(subclass);
-
- String couldNotInstantiate = "subclass could not be instantiated";
-
- if (ctor == null) {
- throw new IllegalArgumentException(couldNotInstantiate);
- }
- try {
- AWTKeyStroke stroke = (AWTKeyStroke)ctor.newInstance((Object[]) null);
- if (stroke == null) {
- throw new IllegalArgumentException(couldNotInstantiate);
- }
- } catch (NoSuchMethodError e) {
- throw new IllegalArgumentException(couldNotInstantiate);
- } catch (ExceptionInInitializerError e) {
- throw new IllegalArgumentException(couldNotInstantiate);
- } catch (InstantiationException e) {
- throw new IllegalArgumentException(couldNotInstantiate);
- } catch (IllegalAccessException e) {
- throw new IllegalArgumentException(couldNotInstantiate);
- } catch (InvocationTargetException e) {
- throw new IllegalArgumentException(couldNotInstantiate);
- }
-
- synchronized (AWTKeyStroke.class) {
- AppContext.getAppContext().put(AWTKeyStroke.class, subclass);
- AppContext.getAppContext().remove(APP_CONTEXT_CACHE_KEY);
- AppContext.getAppContext().remove(APP_CONTEXT_KEYSTROKE_KEY);
- }
- }
-
- /* returns no-arg Constructor for class with accessible flag. No security
- threat as accessible flag is set only for this Constructor object,
- not for Class constructor.
- */
- private static Constructor<?> getCtor(final Class<?> clazz)
- {
- Constructor<?> ctor = AccessController.doPrivileged(new PrivilegedAction<Constructor<?>>() {
- public Constructor<?> run() {
- try {
- Constructor<?> ctor = clazz.getDeclaredConstructor((Class<?>[]) null);
- if (ctor != null) {
- ctor.setAccessible(true);
- }
- return ctor;
- } catch (SecurityException e) {
- } catch (NoSuchMethodException e) {
- }
- return null;
- }
- });
- return ctor;
}
private static synchronized AWTKeyStroke getCachedStroke
@@ -261,18 +166,10 @@
}
if (cacheKey == null) {
- try {
- Class<AWTKeyStroke> clazz = getAWTKeyStrokeClass();
- cacheKey = (AWTKeyStroke)getCtor(clazz).newInstance((Object[]) null);
- AppContext.getAppContext().put(APP_CONTEXT_KEYSTROKE_KEY, cacheKey);
- } catch (InstantiationException e) {
- assert(false);
- } catch (IllegalAccessException e) {
- assert(false);
- } catch (InvocationTargetException e) {
- assert(false);
- }
+ cacheKey = SwingAccessor.getKeyStrokeAccessor().create();
+ AppContext.getAppContext().put(APP_CONTEXT_KEYSTROKE_KEY, cacheKey);
}
+
cacheKey.keyChar = keyChar;
cacheKey.keyCode = keyCode;
cacheKey.modifiers = mapNewModifiers(mapOldModifiers(modifiers));
@@ -806,11 +703,9 @@
*/
protected Object readResolve() throws java.io.ObjectStreamException {
synchronized (AWTKeyStroke.class) {
- if (getClass().equals(getAWTKeyStrokeClass())) {
- return getCachedStroke(keyChar, keyCode, modifiers, onKeyRelease);
- }
+
+ return getCachedStroke(keyChar, keyCode, modifiers, onKeyRelease);
}
- return this;
}
private static int mapOldModifiers(int modifiers) {
--- a/jdk/src/java.desktop/share/classes/java/awt/BasicStroke.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/BasicStroke.java Wed Jul 05 20:52:10 2017 +0200
@@ -117,39 +117,39 @@
* Joins path segments by extending their outside edges until
* they meet.
*/
- @Native public final static int JOIN_MITER = 0;
+ @Native public static final int JOIN_MITER = 0;
/**
* Joins path segments by rounding off the corner at a radius
* of half the line width.
*/
- @Native public final static int JOIN_ROUND = 1;
+ @Native public static final int JOIN_ROUND = 1;
/**
* Joins path segments by connecting the outer corners of their
* wide outlines with a straight segment.
*/
- @Native public final static int JOIN_BEVEL = 2;
+ @Native public static final int JOIN_BEVEL = 2;
/**
* Ends unclosed subpaths and dash segments with no added
* decoration.
*/
- @Native public final static int CAP_BUTT = 0;
+ @Native public static final int CAP_BUTT = 0;
/**
* Ends unclosed subpaths and dash segments with a round
* decoration that has a radius equal to half of the width
* of the pen.
*/
- @Native public final static int CAP_ROUND = 1;
+ @Native public static final int CAP_ROUND = 1;
/**
* Ends unclosed subpaths and dash segments with a square
* projection that extends beyond the end of the segment
* to a distance equal to half of the line width.
*/
- @Native public final static int CAP_SQUARE = 2;
+ @Native public static final int CAP_SQUARE = 2;
float width;
--- a/jdk/src/java.desktop/share/classes/java/awt/Color.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/Color.java Wed Jul 05 20:52:10 2017 +0200
@@ -62,145 +62,145 @@
/**
* The color white. In the default sRGB space.
*/
- public final static Color white = new Color(255, 255, 255);
+ public static final Color white = new Color(255, 255, 255);
/**
* The color white. In the default sRGB space.
* @since 1.4
*/
- public final static Color WHITE = white;
+ public static final Color WHITE = white;
/**
* The color light gray. In the default sRGB space.
*/
- public final static Color lightGray = new Color(192, 192, 192);
+ public static final Color lightGray = new Color(192, 192, 192);
/**
* The color light gray. In the default sRGB space.
* @since 1.4
*/
- public final static Color LIGHT_GRAY = lightGray;
+ public static final Color LIGHT_GRAY = lightGray;
/**
* The color gray. In the default sRGB space.
*/
- public final static Color gray = new Color(128, 128, 128);
+ public static final Color gray = new Color(128, 128, 128);
/**
* The color gray. In the default sRGB space.
* @since 1.4
*/
- public final static Color GRAY = gray;
+ public static final Color GRAY = gray;
/**
* The color dark gray. In the default sRGB space.
*/
- public final static Color darkGray = new Color(64, 64, 64);
+ public static final Color darkGray = new Color(64, 64, 64);
/**
* The color dark gray. In the default sRGB space.
* @since 1.4
*/
- public final static Color DARK_GRAY = darkGray;
+ public static final Color DARK_GRAY = darkGray;
/**
* The color black. In the default sRGB space.
*/
- public final static Color black = new Color(0, 0, 0);
+ public static final Color black = new Color(0, 0, 0);
/**
* The color black. In the default sRGB space.
* @since 1.4
*/
- public final static Color BLACK = black;
+ public static final Color BLACK = black;
/**
* The color red. In the default sRGB space.
*/
- public final static Color red = new Color(255, 0, 0);
+ public static final Color red = new Color(255, 0, 0);
/**
* The color red. In the default sRGB space.
* @since 1.4
*/
- public final static Color RED = red;
+ public static final Color RED = red;
/**
* The color pink. In the default sRGB space.
*/
- public final static Color pink = new Color(255, 175, 175);
+ public static final Color pink = new Color(255, 175, 175);
/**
* The color pink. In the default sRGB space.
* @since 1.4
*/
- public final static Color PINK = pink;
+ public static final Color PINK = pink;
/**
* The color orange. In the default sRGB space.
*/
- public final static Color orange = new Color(255, 200, 0);
+ public static final Color orange = new Color(255, 200, 0);
/**
* The color orange. In the default sRGB space.
* @since 1.4
*/
- public final static Color ORANGE = orange;
+ public static final Color ORANGE = orange;
/**
* The color yellow. In the default sRGB space.
*/
- public final static Color yellow = new Color(255, 255, 0);
+ public static final Color yellow = new Color(255, 255, 0);
/**
* The color yellow. In the default sRGB space.
* @since 1.4
*/
- public final static Color YELLOW = yellow;
+ public static final Color YELLOW = yellow;
/**
* The color green. In the default sRGB space.
*/
- public final static Color green = new Color(0, 255, 0);
+ public static final Color green = new Color(0, 255, 0);
/**
* The color green. In the default sRGB space.
* @since 1.4
*/
- public final static Color GREEN = green;
+ public static final Color GREEN = green;
/**
* The color magenta. In the default sRGB space.
*/
- public final static Color magenta = new Color(255, 0, 255);
+ public static final Color magenta = new Color(255, 0, 255);
/**
* The color magenta. In the default sRGB space.
* @since 1.4
*/
- public final static Color MAGENTA = magenta;
+ public static final Color MAGENTA = magenta;
/**
* The color cyan. In the default sRGB space.
*/
- public final static Color cyan = new Color(0, 255, 255);
+ public static final Color cyan = new Color(0, 255, 255);
/**
* The color cyan. In the default sRGB space.
* @since 1.4
*/
- public final static Color CYAN = cyan;
+ public static final Color CYAN = cyan;
/**
* The color blue. In the default sRGB space.
*/
- public final static Color blue = new Color(0, 0, 255);
+ public static final Color blue = new Color(0, 0, 255);
/**
* The color blue. In the default sRGB space.
* @since 1.4
*/
- public final static Color BLUE = blue;
+ public static final Color BLUE = blue;
/**
* The color value.
--- a/jdk/src/java.desktop/share/classes/java/awt/Component.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/Component.java Wed Jul 05 20:52:10 2017 +0200
@@ -545,24 +545,24 @@
transient InputMethodListener inputMethodListener;
/** Internal, constants for serialization */
- final static String actionListenerK = "actionL";
- final static String adjustmentListenerK = "adjustmentL";
- final static String componentListenerK = "componentL";
- final static String containerListenerK = "containerL";
- final static String focusListenerK = "focusL";
- final static String itemListenerK = "itemL";
- final static String keyListenerK = "keyL";
- final static String mouseListenerK = "mouseL";
- final static String mouseMotionListenerK = "mouseMotionL";
- final static String mouseWheelListenerK = "mouseWheelL";
- final static String textListenerK = "textL";
- final static String ownedWindowK = "ownedL";
- final static String windowListenerK = "windowL";
- final static String inputMethodListenerK = "inputMethodL";
- final static String hierarchyListenerK = "hierarchyL";
- final static String hierarchyBoundsListenerK = "hierarchyBoundsL";
- final static String windowStateListenerK = "windowStateL";
- final static String windowFocusListenerK = "windowFocusL";
+ static final String actionListenerK = "actionL";
+ static final String adjustmentListenerK = "adjustmentL";
+ static final String componentListenerK = "componentL";
+ static final String containerListenerK = "containerL";
+ static final String focusListenerK = "focusL";
+ static final String itemListenerK = "itemL";
+ static final String keyListenerK = "keyL";
+ static final String mouseListenerK = "mouseL";
+ static final String mouseMotionListenerK = "mouseMotionL";
+ static final String mouseWheelListenerK = "mouseWheelL";
+ static final String textListenerK = "textL";
+ static final String ownedWindowK = "ownedL";
+ static final String windowListenerK = "windowL";
+ static final String inputMethodListenerK = "inputMethodL";
+ static final String hierarchyListenerK = "hierarchyL";
+ static final String hierarchyBoundsListenerK = "hierarchyBoundsL";
+ static final String windowStateListenerK = "windowStateL";
+ static final String windowFocusListenerK = "windowFocusL";
/**
* The <code>eventMask</code> is ONLY set by subclasses via
@@ -6209,7 +6209,7 @@
* @see #isCoalescingEnabled
* @see #checkCoalescing
*/
- transient private boolean coalescingEnabled = checkCoalescing();
+ private transient boolean coalescingEnabled = checkCoalescing();
/**
* Weak map of known coalesceEvent overriders.
@@ -7916,7 +7916,7 @@
}
};
- synchronized static void setRequestFocusController(RequestFocusController requestController)
+ static synchronized void setRequestFocusController(RequestFocusController requestController)
{
if (requestController == null) {
requestFocusController = new DummyRequestFocusController();
@@ -9173,7 +9173,7 @@
* to add/remove ComponentListener and FocusListener to track
* target Component's state.
*/
- private volatile transient int propertyListenersCount = 0;
+ private transient volatile int propertyListenersCount = 0;
/**
* A component listener to track show/hide/resize events
--- a/jdk/src/java.desktop/share/classes/java/awt/Container.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/Container.java Wed Jul 05 20:52:10 2017 +0200
@@ -2975,7 +2975,7 @@
}
}
- final static class WakingRunnable implements Runnable {
+ static final class WakingRunnable implements Runnable {
public void run() {
}
}
@@ -3843,7 +3843,7 @@
* Number of PropertyChangeListener objects registered. It's used
* to add/remove ContainerListener to track target Container's state.
*/
- private volatile transient int propertyListenersCount = 0;
+ private transient volatile int propertyListenersCount = 0;
/**
* The handler to fire {@code PropertyChange}
--- a/jdk/src/java.desktop/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/ContainerOrderFocusTraversalPolicy.java Wed Jul 05 20:52:10 2017 +0200
@@ -62,8 +62,8 @@
{
private static final PlatformLogger log = PlatformLogger.getLogger("java.awt.ContainerOrderFocusTraversalPolicy");
- final private int FORWARD_TRAVERSAL = 0;
- final private int BACKWARD_TRAVERSAL = 1;
+ private final int FORWARD_TRAVERSAL = 0;
+ private final int BACKWARD_TRAVERSAL = 1;
/*
* JDK 1.4 serialVersionUID
@@ -84,8 +84,8 @@
* that they need to invoke getFirstComponent or getLastComponent, the
* list should be reused if possible.
*/
- transient private Container cachedRoot;
- transient private List<Component> cachedCycle;
+ private transient Container cachedRoot;
+ private transient List<Component> cachedCycle;
/*
* We suppose to use getFocusTraversalCycle & getComponentIndex methods in order
--- a/jdk/src/java.desktop/share/classes/java/awt/Cursor.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/Cursor.java Wed Jul 05 20:52:10 2017 +0200
@@ -124,7 +124,7 @@
/**
* This field is a private replacement for 'predefined' array.
*/
- private final static Cursor[] predefinedPrivate = new Cursor[14];
+ private static final Cursor[] predefinedPrivate = new Cursor[14];
/* Localization names and default values */
static final String[][] cursorProperties = {
@@ -449,5 +449,5 @@
}
}
- private native static void finalizeImpl(long pData);
+ private static native void finalizeImpl(long pData);
}
--- a/jdk/src/java.desktop/share/classes/java/awt/Dialog.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/Dialog.java Wed Jul 05 20:52:10 2017 +0200
@@ -193,7 +193,7 @@
*
* @since 1.6
*/
- public final static ModalityType DEFAULT_MODALITY_TYPE = ModalityType.APPLICATION_MODAL;
+ public static final ModalityType DEFAULT_MODALITY_TYPE = ModalityType.APPLICATION_MODAL;
/**
* True if this dialog is modal, false is the dialog is modeless.
@@ -265,7 +265,7 @@
};
/* operations with this list should be synchronized on tree lock*/
- transient static IdentityArrayList<Dialog> modalDialogs = new IdentityArrayList<Dialog>();
+ static transient IdentityArrayList<Dialog> modalDialogs = new IdentityArrayList<Dialog>();
transient IdentityArrayList<Window> blockedWindows = new IdentityArrayList<Window>();
--- a/jdk/src/java.desktop/share/classes/java/awt/DisplayMode.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/DisplayMode.java Wed Jul 05 20:52:10 2017 +0200
@@ -92,7 +92,7 @@
* display mode.
* @see #getBitDepth
*/
- @Native public final static int BIT_DEPTH_MULTI = -1;
+ @Native public static final int BIT_DEPTH_MULTI = -1;
/**
* Returns the bit depth of the display, in bits per pixel. This may be
@@ -110,7 +110,7 @@
* Value of the refresh rate if not known.
* @see #getRefreshRate
*/
- @Native public final static int REFRESH_RATE_UNKNOWN = 0;
+ @Native public static final int REFRESH_RATE_UNKNOWN = 0;
/**
* Returns the refresh rate of the display, in hertz. This may be
--- a/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/EventQueue.java Wed Jul 05 20:52:10 2017 +0200
@@ -47,8 +47,8 @@
import java.security.AccessControlContext;
-import sun.misc.SharedSecrets;
-import sun.misc.JavaSecurityAccess;
+import jdk.internal.misc.SharedSecrets;
+import jdk.internal.misc.JavaSecurityAccess;
/**
* <code>EventQueue</code> is a platform-independent class
@@ -139,7 +139,7 @@
* Dummy runnable to wake up EDT from getNextEvent() after
push/pop is performed
*/
- private final static Runnable dummyRunnable = new Runnable() {
+ private static final Runnable dummyRunnable = new Runnable() {
public void run() {
}
};
--- a/jdk/src/java.desktop/share/classes/java/awt/GraphicsDevice.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/GraphicsDevice.java Wed Jul 05 20:52:10 2017 +0200
@@ -99,18 +99,18 @@
/**
* Device is a raster screen.
*/
- public final static int TYPE_RASTER_SCREEN = 0;
+ public static final int TYPE_RASTER_SCREEN = 0;
/**
* Device is a printer.
*/
- public final static int TYPE_PRINTER = 1;
+ public static final int TYPE_PRINTER = 1;
/**
* Device is an image buffer. This buffer can reside in device
* or system memory but it is not physically viewable by the user.
*/
- public final static int TYPE_IMAGE_BUFFER = 2;
+ public static final int TYPE_IMAGE_BUFFER = 2;
/**
* Kinds of translucency supported by the underlying system.
--- a/jdk/src/java.desktop/share/classes/java/awt/KeyboardFocusManager.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/KeyboardFocusManager.java Wed Jul 05 20:52:10 2017 +0200
@@ -216,7 +216,7 @@
return getCurrentKeyboardFocusManager(AppContext.getAppContext());
}
- synchronized static KeyboardFocusManager
+ static synchronized KeyboardFocusManager
getCurrentKeyboardFocusManager(AppContext appcontext)
{
KeyboardFocusManager manager = (KeyboardFocusManager)
@@ -2599,7 +2599,7 @@
* @param comp the component to dispatch the event to
* @param event the event to dispatch to the component
*/
- static private Throwable dispatchAndCatchException(Throwable ex, Component comp, FocusEvent event) {
+ private static Throwable dispatchAndCatchException(Throwable ex, Component comp, FocusEvent event) {
Throwable retEx = null;
try {
comp.dispatchEvent(event);
@@ -2617,7 +2617,7 @@
return ex;
}
- static private void handleException(Throwable ex) {
+ private static void handleException(Throwable ex) {
ex.printStackTrace();
}
--- a/jdk/src/java.desktop/share/classes/java/awt/List.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/List.java Wed Jul 05 20:52:10 2017 +0200
@@ -209,7 +209,7 @@
* The default number of visible rows is 4. A list with
* zero rows is unusable and unsightly.
*/
- final static int DEFAULT_VISIBLE_ROWS = 4;
+ static final int DEFAULT_VISIBLE_ROWS = 4;
/**
* Creates a new scrolling list initialized to display the specified
--- a/jdk/src/java.desktop/share/classes/java/awt/MenuComponent.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/MenuComponent.java Wed Jul 05 20:52:10 2017 +0200
@@ -123,8 +123,8 @@
/*
* Internal constants for serialization.
*/
- final static String actionListenerK = Component.actionListenerK;
- final static String itemListenerK = Component.itemListenerK;
+ static final String actionListenerK = Component.actionListenerK;
+ static final String itemListenerK = Component.itemListenerK;
/*
* JDK 1.1 serialVersionUID
--- a/jdk/src/java.desktop/share/classes/java/awt/RenderingHints.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/RenderingHints.java Wed Jul 05 20:52:10 2017 +0200
@@ -110,7 +110,7 @@
Integer.toHexString(privatekey);
}
- private synchronized static void recordIdentity(Key k) {
+ private static synchronized void recordIdentity(Key k) {
Object identity = k.getIdentity();
Object otherref = identitymap.get(identity);
if (otherref != null) {
--- a/jdk/src/java.desktop/share/classes/java/awt/SequencedEvent.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/SequencedEvent.java Wed Jul 05 20:52:10 2017 +0200
@@ -135,7 +135,7 @@
/**
* true only if event exists and nested source appContext is disposed.
*/
- private final static boolean isOwnerAppContextDisposed(SequencedEvent se) {
+ private static final boolean isOwnerAppContextDisposed(SequencedEvent se) {
if (se != null) {
Object target = se.nested.getSource();
if (target instanceof Component) {
@@ -159,14 +159,14 @@
return this == getFirstWithContext() || disposed;
}
- private final synchronized static SequencedEvent getFirst() {
+ private static final synchronized SequencedEvent getFirst() {
return list.getFirst();
}
/* Disposes all events from disposed AppContext
* return first valid event
*/
- private final static SequencedEvent getFirstWithContext() {
+ private static final SequencedEvent getFirstWithContext() {
SequencedEvent first = getFirst();
while(isOwnerAppContextDisposed(first)) {
first.dispose();
--- a/jdk/src/java.desktop/share/classes/java/awt/SplashScreen.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/SplashScreen.java Wed Jul 05 20:52:10 2017 +0200
@@ -411,14 +411,14 @@
private static final PlatformLogger log = PlatformLogger.getLogger("java.awt.SplashScreen");
- private native static void _update(long splashPtr, int[] data, int x, int y, int width, int height, int scanlineStride);
- private native static boolean _isVisible(long splashPtr);
- private native static Rectangle _getBounds(long splashPtr);
- private native static long _getInstance();
- private native static void _close(long splashPtr);
- private native static String _getImageFileName(long splashPtr);
- private native static String _getImageJarName(long SplashPtr);
- private native static boolean _setImageData(long SplashPtr, byte[] data);
- private native static float _getScaleFactor(long SplashPtr);
+ private static native void _update(long splashPtr, int[] data, int x, int y, int width, int height, int scanlineStride);
+ private static native boolean _isVisible(long splashPtr);
+ private static native Rectangle _getBounds(long splashPtr);
+ private static native long _getInstance();
+ private static native void _close(long splashPtr);
+ private static native String _getImageFileName(long splashPtr);
+ private static native String _getImageJarName(long SplashPtr);
+ private static native boolean _setImageData(long SplashPtr, byte[] data);
+ private static native float _getScaleFactor(long SplashPtr);
}
--- a/jdk/src/java.desktop/share/classes/java/awt/SystemColor.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/SystemColor.java Wed Jul 05 20:52:10 2017 +0200
@@ -58,187 +58,187 @@
* {@link #desktop} system color.
* @see SystemColor#desktop
*/
- @Native public final static int DESKTOP = 0;
+ @Native public static final int DESKTOP = 0;
/**
* The array index for the
* {@link #activeCaption} system color.
* @see SystemColor#activeCaption
*/
- @Native public final static int ACTIVE_CAPTION = 1;
+ @Native public static final int ACTIVE_CAPTION = 1;
/**
* The array index for the
* {@link #activeCaptionText} system color.
* @see SystemColor#activeCaptionText
*/
- @Native public final static int ACTIVE_CAPTION_TEXT = 2;
+ @Native public static final int ACTIVE_CAPTION_TEXT = 2;
/**
* The array index for the
* {@link #activeCaptionBorder} system color.
* @see SystemColor#activeCaptionBorder
*/
- @Native public final static int ACTIVE_CAPTION_BORDER = 3;
+ @Native public static final int ACTIVE_CAPTION_BORDER = 3;
/**
* The array index for the
* {@link #inactiveCaption} system color.
* @see SystemColor#inactiveCaption
*/
- @Native public final static int INACTIVE_CAPTION = 4;
+ @Native public static final int INACTIVE_CAPTION = 4;
/**
* The array index for the
* {@link #inactiveCaptionText} system color.
* @see SystemColor#inactiveCaptionText
*/
- @Native public final static int INACTIVE_CAPTION_TEXT = 5;
+ @Native public static final int INACTIVE_CAPTION_TEXT = 5;
/**
* The array index for the
* {@link #inactiveCaptionBorder} system color.
* @see SystemColor#inactiveCaptionBorder
*/
- @Native public final static int INACTIVE_CAPTION_BORDER = 6;
+ @Native public static final int INACTIVE_CAPTION_BORDER = 6;
/**
* The array index for the
* {@link #window} system color.
* @see SystemColor#window
*/
- @Native public final static int WINDOW = 7;
+ @Native public static final int WINDOW = 7;
/**
* The array index for the
* {@link #windowBorder} system color.
* @see SystemColor#windowBorder
*/
- @Native public final static int WINDOW_BORDER = 8;
+ @Native public static final int WINDOW_BORDER = 8;
/**
* The array index for the
* {@link #windowText} system color.
* @see SystemColor#windowText
*/
- @Native public final static int WINDOW_TEXT = 9;
+ @Native public static final int WINDOW_TEXT = 9;
/**
* The array index for the
* {@link #menu} system color.
* @see SystemColor#menu
*/
- @Native public final static int MENU = 10;
+ @Native public static final int MENU = 10;
/**
* The array index for the
* {@link #menuText} system color.
* @see SystemColor#menuText
*/
- @Native public final static int MENU_TEXT = 11;
+ @Native public static final int MENU_TEXT = 11;
/**
* The array index for the
* {@link #text} system color.
* @see SystemColor#text
*/
- @Native public final static int TEXT = 12;
+ @Native public static final int TEXT = 12;
/**
* The array index for the
* {@link #textText} system color.
* @see SystemColor#textText
*/
- @Native public final static int TEXT_TEXT = 13;
+ @Native public static final int TEXT_TEXT = 13;
/**
* The array index for the
* {@link #textHighlight} system color.
* @see SystemColor#textHighlight
*/
- @Native public final static int TEXT_HIGHLIGHT = 14;
+ @Native public static final int TEXT_HIGHLIGHT = 14;
/**
* The array index for the
* {@link #textHighlightText} system color.
* @see SystemColor#textHighlightText
*/
- @Native public final static int TEXT_HIGHLIGHT_TEXT = 15;
+ @Native public static final int TEXT_HIGHLIGHT_TEXT = 15;
/**
* The array index for the
* {@link #textInactiveText} system color.
* @see SystemColor#textInactiveText
*/
- @Native public final static int TEXT_INACTIVE_TEXT = 16;
+ @Native public static final int TEXT_INACTIVE_TEXT = 16;
/**
* The array index for the
* {@link #control} system color.
* @see SystemColor#control
*/
- @Native public final static int CONTROL = 17;
+ @Native public static final int CONTROL = 17;
/**
* The array index for the
* {@link #controlText} system color.
* @see SystemColor#controlText
*/
- @Native public final static int CONTROL_TEXT = 18;
+ @Native public static final int CONTROL_TEXT = 18;
/**
* The array index for the
* {@link #controlHighlight} system color.
* @see SystemColor#controlHighlight
*/
- @Native public final static int CONTROL_HIGHLIGHT = 19;
+ @Native public static final int CONTROL_HIGHLIGHT = 19;
/**
* The array index for the
* {@link #controlLtHighlight} system color.
* @see SystemColor#controlLtHighlight
*/
- @Native public final static int CONTROL_LT_HIGHLIGHT = 20;
+ @Native public static final int CONTROL_LT_HIGHLIGHT = 20;
/**
* The array index for the
* {@link #controlShadow} system color.
* @see SystemColor#controlShadow
*/
- @Native public final static int CONTROL_SHADOW = 21;
+ @Native public static final int CONTROL_SHADOW = 21;
/**
* The array index for the
* {@link #controlDkShadow} system color.
* @see SystemColor#controlDkShadow
*/
- @Native public final static int CONTROL_DK_SHADOW = 22;
+ @Native public static final int CONTROL_DK_SHADOW = 22;
/**
* The array index for the
* {@link #scrollbar} system color.
* @see SystemColor#scrollbar
*/
- @Native public final static int SCROLLBAR = 23;
+ @Native public static final int SCROLLBAR = 23;
/**
* The array index for the
* {@link #info} system color.
* @see SystemColor#info
*/
- @Native public final static int INFO = 24;
+ @Native public static final int INFO = 24;
/**
* The array index for the
* {@link #infoText} system color.
* @see SystemColor#infoText
*/
- @Native public final static int INFO_TEXT = 25;
+ @Native public static final int INFO_TEXT = 25;
/**
* The number of system colors in the array.
*/
- @Native public final static int NUM_COLORS = 26;
+ @Native public static final int NUM_COLORS = 26;
/******************************************************************************************/
@@ -280,146 +280,146 @@
/**
* The color rendered for the background of the desktop.
*/
- public final static SystemColor desktop = new SystemColor((byte)DESKTOP);
+ public static final SystemColor desktop = new SystemColor((byte)DESKTOP);
/**
* The color rendered for the window-title background of the currently active window.
*/
- public final static SystemColor activeCaption = new SystemColor((byte)ACTIVE_CAPTION);
+ public static final SystemColor activeCaption = new SystemColor((byte)ACTIVE_CAPTION);
/**
* The color rendered for the window-title text of the currently active window.
*/
- public final static SystemColor activeCaptionText = new SystemColor((byte)ACTIVE_CAPTION_TEXT);
+ public static final SystemColor activeCaptionText = new SystemColor((byte)ACTIVE_CAPTION_TEXT);
/**
* The color rendered for the border around the currently active window.
*/
- public final static SystemColor activeCaptionBorder = new SystemColor((byte)ACTIVE_CAPTION_BORDER);
+ public static final SystemColor activeCaptionBorder = new SystemColor((byte)ACTIVE_CAPTION_BORDER);
/**
* The color rendered for the window-title background of inactive windows.
*/
- public final static SystemColor inactiveCaption = new SystemColor((byte)INACTIVE_CAPTION);
+ public static final SystemColor inactiveCaption = new SystemColor((byte)INACTIVE_CAPTION);
/**
* The color rendered for the window-title text of inactive windows.
*/
- public final static SystemColor inactiveCaptionText = new SystemColor((byte)INACTIVE_CAPTION_TEXT);
+ public static final SystemColor inactiveCaptionText = new SystemColor((byte)INACTIVE_CAPTION_TEXT);
/**
* The color rendered for the border around inactive windows.
*/
- public final static SystemColor inactiveCaptionBorder = new SystemColor((byte)INACTIVE_CAPTION_BORDER);
+ public static final SystemColor inactiveCaptionBorder = new SystemColor((byte)INACTIVE_CAPTION_BORDER);
/**
* The color rendered for the background of interior regions inside windows.
*/
- public final static SystemColor window = new SystemColor((byte)WINDOW);
+ public static final SystemColor window = new SystemColor((byte)WINDOW);
/**
* The color rendered for the border around interior regions inside windows.
*/
- public final static SystemColor windowBorder = new SystemColor((byte)WINDOW_BORDER);
+ public static final SystemColor windowBorder = new SystemColor((byte)WINDOW_BORDER);
/**
* The color rendered for text of interior regions inside windows.
*/
- public final static SystemColor windowText = new SystemColor((byte)WINDOW_TEXT);
+ public static final SystemColor windowText = new SystemColor((byte)WINDOW_TEXT);
/**
* The color rendered for the background of menus.
*/
- public final static SystemColor menu = new SystemColor((byte)MENU);
+ public static final SystemColor menu = new SystemColor((byte)MENU);
/**
* The color rendered for the text of menus.
*/
- public final static SystemColor menuText = new SystemColor((byte)MENU_TEXT);
+ public static final SystemColor menuText = new SystemColor((byte)MENU_TEXT);
/**
* The color rendered for the background of text control objects, such as
* textfields and comboboxes.
*/
- public final static SystemColor text = new SystemColor((byte)TEXT);
+ public static final SystemColor text = new SystemColor((byte)TEXT);
/**
* The color rendered for the text of text control objects, such as textfields
* and comboboxes.
*/
- public final static SystemColor textText = new SystemColor((byte)TEXT_TEXT);
+ public static final SystemColor textText = new SystemColor((byte)TEXT_TEXT);
/**
* The color rendered for the background of selected items, such as in menus,
* comboboxes, and text.
*/
- public final static SystemColor textHighlight = new SystemColor((byte)TEXT_HIGHLIGHT);
+ public static final SystemColor textHighlight = new SystemColor((byte)TEXT_HIGHLIGHT);
/**
* The color rendered for the text of selected items, such as in menus, comboboxes,
* and text.
*/
- public final static SystemColor textHighlightText = new SystemColor((byte)TEXT_HIGHLIGHT_TEXT);
+ public static final SystemColor textHighlightText = new SystemColor((byte)TEXT_HIGHLIGHT_TEXT);
/**
* The color rendered for the text of inactive items, such as in menus.
*/
- public final static SystemColor textInactiveText = new SystemColor((byte)TEXT_INACTIVE_TEXT);
+ public static final SystemColor textInactiveText = new SystemColor((byte)TEXT_INACTIVE_TEXT);
/**
* The color rendered for the background of control panels and control objects,
* such as pushbuttons.
*/
- public final static SystemColor control = new SystemColor((byte)CONTROL);
+ public static final SystemColor control = new SystemColor((byte)CONTROL);
/**
* The color rendered for the text of control panels and control objects,
* such as pushbuttons.
*/
- public final static SystemColor controlText = new SystemColor((byte)CONTROL_TEXT);
+ public static final SystemColor controlText = new SystemColor((byte)CONTROL_TEXT);
/**
* The color rendered for light areas of 3D control objects, such as pushbuttons.
* This color is typically derived from the <code>control</code> background color
* to provide a 3D effect.
*/
- public final static SystemColor controlHighlight = new SystemColor((byte)CONTROL_HIGHLIGHT);
+ public static final SystemColor controlHighlight = new SystemColor((byte)CONTROL_HIGHLIGHT);
/**
* The color rendered for highlight areas of 3D control objects, such as pushbuttons.
* This color is typically derived from the <code>control</code> background color
* to provide a 3D effect.
*/
- public final static SystemColor controlLtHighlight = new SystemColor((byte)CONTROL_LT_HIGHLIGHT);
+ public static final SystemColor controlLtHighlight = new SystemColor((byte)CONTROL_LT_HIGHLIGHT);
/**
* The color rendered for shadow areas of 3D control objects, such as pushbuttons.
* This color is typically derived from the <code>control</code> background color
* to provide a 3D effect.
*/
- public final static SystemColor controlShadow = new SystemColor((byte)CONTROL_SHADOW);
+ public static final SystemColor controlShadow = new SystemColor((byte)CONTROL_SHADOW);
/**
* The color rendered for dark shadow areas on 3D control objects, such as pushbuttons.
* This color is typically derived from the <code>control</code> background color
* to provide a 3D effect.
*/
- public final static SystemColor controlDkShadow = new SystemColor((byte)CONTROL_DK_SHADOW);
+ public static final SystemColor controlDkShadow = new SystemColor((byte)CONTROL_DK_SHADOW);
/**
* The color rendered for the background of scrollbars.
*/
- public final static SystemColor scrollbar = new SystemColor((byte)SCROLLBAR);
+ public static final SystemColor scrollbar = new SystemColor((byte)SCROLLBAR);
/**
* The color rendered for the background of tooltips or spot help.
*/
- public final static SystemColor info = new SystemColor((byte)INFO);
+ public static final SystemColor info = new SystemColor((byte)INFO);
/**
* The color rendered for the text of tooltips or spot help.
*/
- public final static SystemColor infoText = new SystemColor((byte)INFO_TEXT);
+ public static final SystemColor infoText = new SystemColor((byte)INFO_TEXT);
/*
* JDK 1.1 serialVersionUID.
--- a/jdk/src/java.desktop/share/classes/java/awt/SystemTray.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/SystemTray.java Wed Jul 05 20:52:10 2017 +0200
@@ -124,7 +124,7 @@
private static SystemTray systemTray;
private int currentIconID = 0; // each TrayIcon added gets a unique ID
- transient private SystemTrayPeer peer;
+ private transient SystemTrayPeer peer;
private static final TrayIcon[] EMPTY_TRAY_ARRAY = new TrayIcon[0];
--- a/jdk/src/java.desktop/share/classes/java/awt/TextComponent.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/TextComponent.java Wed Jul 05 20:52:10 2017 +0200
@@ -110,7 +110,7 @@
/**
* A list of listeners that will receive events from this object.
*/
- transient protected TextListener textListener;
+ protected transient TextListener textListener;
/*
* JDK 1.1 serialVersionUID
--- a/jdk/src/java.desktop/share/classes/java/awt/TexturePaintContext.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/TexturePaintContext.java Wed Jul 05 20:52:10 2017 +0200
@@ -237,7 +237,7 @@
private static WeakReference<Raster> xrgbRasRef;
private static WeakReference<Raster> argbRasRef;
- synchronized static WritableRaster makeRaster(ColorModel cm,
+ static synchronized WritableRaster makeRaster(ColorModel cm,
Raster srcRas,
int w, int h)
{
@@ -273,7 +273,7 @@
}
}
- synchronized static void dropRaster(ColorModel cm, Raster outRas) {
+ static synchronized void dropRaster(ColorModel cm, Raster outRas) {
if (outRas == null) {
return;
}
@@ -286,7 +286,7 @@
private static WeakReference<Raster> byteRasRef;
- synchronized static WritableRaster makeByteRaster(Raster srcRas,
+ static synchronized WritableRaster makeByteRaster(Raster srcRas,
int w, int h)
{
if (byteRasRef != null) {
@@ -303,7 +303,7 @@
return srcRas.createCompatibleWritableRaster(w, h);
}
- synchronized static void dropByteRaster(Raster outRas) {
+ static synchronized void dropByteRaster(Raster outRas) {
if (outRas == null) {
return;
}
--- a/jdk/src/java.desktop/share/classes/java/awt/Toolkit.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/Toolkit.java Wed Jul 05 20:52:10 2017 +0200
@@ -1722,7 +1722,7 @@
* Extracts a "pure" AWTEventListener from a AWTEventListenerProxy,
* if the listener is proxied.
*/
- static private AWTEventListener deProxyAWTEventListener(AWTEventListener l)
+ private static AWTEventListener deProxyAWTEventListener(AWTEventListener l)
{
AWTEventListener localL = l;
@@ -2007,7 +2007,7 @@
}
}
- static private class ToolkitEventMulticaster extends AWTEventMulticaster
+ private static class ToolkitEventMulticaster extends AWTEventMulticaster
implements AWTEventListener {
// Implementation cloned from AWTEventMulticaster.
--- a/jdk/src/java.desktop/share/classes/java/awt/Transparency.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/Transparency.java Wed Jul 05 20:52:10 2017 +0200
@@ -37,20 +37,20 @@
* Represents image data that is guaranteed to be completely opaque,
* meaning that all pixels have an alpha value of 1.0.
*/
- @Native public final static int OPAQUE = 1;
+ @Native public static final int OPAQUE = 1;
/**
* Represents image data that is guaranteed to be either completely
* opaque, with an alpha value of 1.0, or completely transparent,
* with an alpha value of 0.0.
*/
- @Native public final static int BITMASK = 2;
+ @Native public static final int BITMASK = 2;
/**
* Represents image data that contains or might contain arbitrary
* alpha values between and including 0.0 and 1.0.
*/
- @Native public final static int TRANSLUCENT = 3;
+ @Native public static final int TRANSLUCENT = 3;
/**
* Returns the type of this <code>Transparency</code>.
--- a/jdk/src/java.desktop/share/classes/java/awt/TrayIcon.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/TrayIcon.java Wed Jul 05 20:52:10 2017 +0200
@@ -92,7 +92,7 @@
private int id;
private String actionCommand;
- transient private TrayIconPeer peer;
+ private transient TrayIconPeer peer;
transient MouseListener mouseListener;
transient MouseMotionListener mouseMotionListener;
--- a/jdk/src/java.desktop/share/classes/java/awt/WaitDispatchSupport.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/WaitDispatchSupport.java Wed Jul 05 20:52:10 2017 +0200
@@ -47,7 +47,7 @@
*/
class WaitDispatchSupport implements SecondaryLoop {
- private final static PlatformLogger log =
+ private static final PlatformLogger log =
PlatformLogger.getLogger("java.awt.event.WaitDispatchSupport");
private EventDispatchThread dispatchThread;
@@ -303,7 +303,7 @@
return false;
}
- private final static Object getTreeLock() {
+ private static final Object getTreeLock() {
return Component.LOCK;
}
--- a/jdk/src/java.desktop/share/classes/java/awt/Window.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/Window.java Wed Jul 05 20:52:10 2017 +0200
@@ -959,7 +959,7 @@
}
}
- static private final AtomicBoolean
+ private static final AtomicBoolean
beforeFirstWindowShown = new AtomicBoolean(true);
final void closeSplashScreen() {
--- a/jdk/src/java.desktop/share/classes/java/awt/dnd/DropTargetDropEvent.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/dnd/DropTargetDropEvent.java Wed Jul 05 20:52:10 2017 +0200
@@ -267,7 +267,7 @@
* fields
*/
- static final private Point zero = new Point(0,0);
+ private static final Point zero = new Point(0,0);
/**
* The location of the drag cursor's hotspot in Component coordinates.
--- a/jdk/src/java.desktop/share/classes/java/awt/dnd/InvalidDnDOperationException.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/dnd/InvalidDnDOperationException.java Wed Jul 05 20:52:10 2017 +0200
@@ -38,7 +38,7 @@
private static final long serialVersionUID = -6062568741193956678L;
- static private String dft_msg = "The operation requested cannot be performed by the DnD system since it is not in the appropriate state";
+ private static String dft_msg = "The operation requested cannot be performed by the DnD system since it is not in the appropriate state";
/**
* Create a default Exception
--- a/jdk/src/java.desktop/share/classes/java/awt/event/MouseEvent.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/event/MouseEvent.java Wed Jul 05 20:52:10 2017 +0200
@@ -623,7 +623,7 @@
/* if the button is an extra button and it is released or clicked then in Xsystem its state
is not modified. Exclude this button number from ExtModifiers mask.*/
- transient private boolean shouldExcludeButtonFromExtModifiers = false;
+ private transient boolean shouldExcludeButtonFromExtModifiers = false;
/**
* {@inheritDoc}
--- a/jdk/src/java.desktop/share/classes/java/awt/font/JavaAWTFontAccessImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/font/JavaAWTFontAccessImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -26,9 +26,9 @@
package java.awt.font;
import java.lang.reflect.Field;
-import sun.misc.JavaAWTFontAccess;
+import jdk.internal.misc.JavaAWTFontAccess;
-class JavaAWTFontAccessImpl implements sun.misc.JavaAWTFontAccess {
+class JavaAWTFontAccessImpl implements JavaAWTFontAccess {
// java.awt.font.TextAttribute constants
public Object getTextAttributeConstant(String name) {
--- a/jdk/src/java.desktop/share/classes/java/awt/font/NumericShaper.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/font/NumericShaper.java Wed Jul 05 20:52:10 2017 +0200
@@ -31,7 +31,7 @@
import java.util.Comparator;
import java.util.EnumSet;
import java.util.Set;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.SharedSecrets;
/**
* The <code>NumericShaper</code> class is used to convert Latin-1 (European)
--- a/jdk/src/java.desktop/share/classes/java/awt/font/OpenType.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/font/OpenType.java Wed Jul 05 20:52:10 2017 +0200
@@ -43,307 +43,307 @@
* Character to glyph mapping. Table tag "cmap" in the Open
* Type Specification.
*/
- public final static int TAG_CMAP = 0x636d6170;
+ public static final int TAG_CMAP = 0x636d6170;
/**
* Font header. Table tag "head" in the Open
* Type Specification.
*/
- public final static int TAG_HEAD = 0x68656164;
+ public static final int TAG_HEAD = 0x68656164;
/**
* Naming table. Table tag "name" in the Open
* Type Specification.
*/
- public final static int TAG_NAME = 0x6e616d65;
+ public static final int TAG_NAME = 0x6e616d65;
/**
* Glyph data. Table tag "glyf" in the Open
* Type Specification.
*/
- public final static int TAG_GLYF = 0x676c7966;
+ public static final int TAG_GLYF = 0x676c7966;
/**
* Maximum profile. Table tag "maxp" in the Open
* Type Specification.
*/
- public final static int TAG_MAXP = 0x6d617870;
+ public static final int TAG_MAXP = 0x6d617870;
/**
* CVT preprogram. Table tag "prep" in the Open
* Type Specification.
*/
- public final static int TAG_PREP = 0x70726570;
+ public static final int TAG_PREP = 0x70726570;
/**
* Horizontal metrics. Table tag "hmtx" in the Open
* Type Specification.
*/
- public final static int TAG_HMTX = 0x686d7478;
+ public static final int TAG_HMTX = 0x686d7478;
/**
* Kerning. Table tag "kern" in the Open
* Type Specification.
*/
- public final static int TAG_KERN = 0x6b65726e;
+ public static final int TAG_KERN = 0x6b65726e;
/**
* Horizontal device metrics. Table tag "hdmx" in the Open
* Type Specification.
*/
- public final static int TAG_HDMX = 0x68646d78;
+ public static final int TAG_HDMX = 0x68646d78;
/**
* Index to location. Table tag "loca" in the Open
* Type Specification.
*/
- public final static int TAG_LOCA = 0x6c6f6361;
+ public static final int TAG_LOCA = 0x6c6f6361;
/**
* PostScript Information. Table tag "post" in the Open
* Type Specification.
*/
- public final static int TAG_POST = 0x706f7374;
+ public static final int TAG_POST = 0x706f7374;
/**
* OS/2 and Windows specific metrics. Table tag "OS/2"
* in the Open Type Specification.
*/
- public final static int TAG_OS2 = 0x4f532f32;
+ public static final int TAG_OS2 = 0x4f532f32;
/**
* Control value table. Table tag "cvt "
* in the Open Type Specification.
*/
- public final static int TAG_CVT = 0x63767420;
+ public static final int TAG_CVT = 0x63767420;
/**
* Grid-fitting and scan conversion procedure. Table tag
* "gasp" in the Open Type Specification.
*/
- public final static int TAG_GASP = 0x67617370;
+ public static final int TAG_GASP = 0x67617370;
/**
* Vertical device metrics. Table tag "VDMX" in the Open
* Type Specification.
*/
- public final static int TAG_VDMX = 0x56444d58;
+ public static final int TAG_VDMX = 0x56444d58;
/**
* Vertical metrics. Table tag "vmtx" in the Open
* Type Specification.
*/
- public final static int TAG_VMTX = 0x766d7478;
+ public static final int TAG_VMTX = 0x766d7478;
/**
* Vertical metrics header. Table tag "vhea" in the Open
* Type Specification.
*/
- public final static int TAG_VHEA = 0x76686561;
+ public static final int TAG_VHEA = 0x76686561;
/**
* Horizontal metrics header. Table tag "hhea" in the Open
* Type Specification.
*/
- public final static int TAG_HHEA = 0x68686561;
+ public static final int TAG_HHEA = 0x68686561;
/**
* Adobe Type 1 font data. Table tag "typ1" in the Open
* Type Specification.
*/
- public final static int TAG_TYP1 = 0x74797031;
+ public static final int TAG_TYP1 = 0x74797031;
/**
* Baseline table. Table tag "bsln" in the Open
* Type Specification.
*/
- public final static int TAG_BSLN = 0x62736c6e;
+ public static final int TAG_BSLN = 0x62736c6e;
/**
* Glyph substitution. Table tag "GSUB" in the Open
* Type Specification.
*/
- public final static int TAG_GSUB = 0x47535542;
+ public static final int TAG_GSUB = 0x47535542;
/**
* Digital signature. Table tag "DSIG" in the Open
* Type Specification.
*/
- public final static int TAG_DSIG = 0x44534947;
+ public static final int TAG_DSIG = 0x44534947;
/**
* Font program. Table tag "fpgm" in the Open
* Type Specification.
*/
- public final static int TAG_FPGM = 0x6670676d;
+ public static final int TAG_FPGM = 0x6670676d;
/**
* Font variation. Table tag "fvar" in the Open
* Type Specification.
*/
- public final static int TAG_FVAR = 0x66766172;
+ public static final int TAG_FVAR = 0x66766172;
/**
* Glyph variation. Table tag "gvar" in the Open
* Type Specification.
*/
- public final static int TAG_GVAR = 0x67766172;
+ public static final int TAG_GVAR = 0x67766172;
/**
* Compact font format (Type1 font). Table tag
* "CFF " in the Open Type Specification.
*/
- public final static int TAG_CFF = 0x43464620;
+ public static final int TAG_CFF = 0x43464620;
/**
* Multiple master supplementary data. Table tag
* "MMSD" in the Open Type Specification.
*/
- public final static int TAG_MMSD = 0x4d4d5344;
+ public static final int TAG_MMSD = 0x4d4d5344;
/**
* Multiple master font metrics. Table tag
* "MMFX" in the Open Type Specification.
*/
- public final static int TAG_MMFX = 0x4d4d4658;
+ public static final int TAG_MMFX = 0x4d4d4658;
/**
* Baseline data. Table tag "BASE" in the Open
* Type Specification.
*/
- public final static int TAG_BASE = 0x42415345;
+ public static final int TAG_BASE = 0x42415345;
/**
* Glyph definition. Table tag "GDEF" in the Open
* Type Specification.
*/
- public final static int TAG_GDEF = 0x47444546;
+ public static final int TAG_GDEF = 0x47444546;
/**
* Glyph positioning. Table tag "GPOS" in the Open
* Type Specification.
*/
- public final static int TAG_GPOS = 0x47504f53;
+ public static final int TAG_GPOS = 0x47504f53;
/**
* Justification. Table tag "JSTF" in the Open
* Type Specification.
*/
- public final static int TAG_JSTF = 0x4a535446;
+ public static final int TAG_JSTF = 0x4a535446;
/**
* Embedded bitmap data. Table tag "EBDT" in the Open
* Type Specification.
*/
- public final static int TAG_EBDT = 0x45424454;
+ public static final int TAG_EBDT = 0x45424454;
/**
* Embedded bitmap location. Table tag "EBLC" in the Open
* Type Specification.
*/
- public final static int TAG_EBLC = 0x45424c43;
+ public static final int TAG_EBLC = 0x45424c43;
/**
* Embedded bitmap scaling. Table tag "EBSC" in the Open
* Type Specification.
*/
- public final static int TAG_EBSC = 0x45425343;
+ public static final int TAG_EBSC = 0x45425343;
/**
* Linear threshold. Table tag "LTSH" in the Open
* Type Specification.
*/
- public final static int TAG_LTSH = 0x4c545348;
+ public static final int TAG_LTSH = 0x4c545348;
/**
* PCL 5 data. Table tag "PCLT" in the Open
* Type Specification.
*/
- public final static int TAG_PCLT = 0x50434c54;
+ public static final int TAG_PCLT = 0x50434c54;
/**
* Accent attachment. Table tag "acnt" in the Open
* Type Specification.
*/
- public final static int TAG_ACNT = 0x61636e74;
+ public static final int TAG_ACNT = 0x61636e74;
/**
* Axis variation. Table tag "avar" in the Open
* Type Specification.
*/
- public final static int TAG_AVAR = 0x61766172;
+ public static final int TAG_AVAR = 0x61766172;
/**
* Bitmap data. Table tag "bdat" in the Open
* Type Specification.
*/
- public final static int TAG_BDAT = 0x62646174;
+ public static final int TAG_BDAT = 0x62646174;
/**
* Bitmap location. Table tag "bloc" in the Open
* Type Specification.
*/
- public final static int TAG_BLOC = 0x626c6f63;
+ public static final int TAG_BLOC = 0x626c6f63;
/**
* CVT variation. Table tag "cvar" in the Open
* Type Specification.
*/
- public final static int TAG_CVAR = 0x63766172;
+ public static final int TAG_CVAR = 0x63766172;
/**
* Feature name. Table tag "feat" in the Open
* Type Specification.
*/
- public final static int TAG_FEAT = 0x66656174;
+ public static final int TAG_FEAT = 0x66656174;
/**
* Font descriptors. Table tag "fdsc" in the Open
* Type Specification.
*/
- public final static int TAG_FDSC = 0x66647363;
+ public static final int TAG_FDSC = 0x66647363;
/**
* Font metrics. Table tag "fmtx" in the Open
* Type Specification.
*/
- public final static int TAG_FMTX = 0x666d7478;
+ public static final int TAG_FMTX = 0x666d7478;
/**
* Justification. Table tag "just" in the Open
* Type Specification.
*/
- public final static int TAG_JUST = 0x6a757374;
+ public static final int TAG_JUST = 0x6a757374;
/**
* Ligature caret. Table tag "lcar" in the Open
* Type Specification.
*/
- public final static int TAG_LCAR = 0x6c636172;
+ public static final int TAG_LCAR = 0x6c636172;
/**
* Glyph metamorphosis. Table tag "mort" in the Open
* Type Specification.
*/
- public final static int TAG_MORT = 0x6d6f7274;
+ public static final int TAG_MORT = 0x6d6f7274;
/**
* Optical bounds. Table tag "opbd" in the Open
* Type Specification.
*/
- public final static int TAG_OPBD = 0x6F706264;
+ public static final int TAG_OPBD = 0x6F706264;
/**
* Glyph properties. Table tag "prop" in the Open
* Type Specification.
*/
- public final static int TAG_PROP = 0x70726f70;
+ public static final int TAG_PROP = 0x70726f70;
/**
* Tracking. Table tag "trak" in the Open
* Type Specification.
*/
- public final static int TAG_TRAK = 0x7472616b;
+ public static final int TAG_TRAK = 0x7472616b;
/**
* Returns the version of the <code>OpenType</code> font.
--- a/jdk/src/java.desktop/share/classes/java/awt/font/TextAttribute.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/font/TextAttribute.java Wed Jul 05 20:52:10 2017 +0200
@@ -44,7 +44,7 @@
import java.text.AttributedCharacterIterator.Attribute;
import java.util.Map;
import java.util.HashMap;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.SharedSecrets;
/**
* The <code>TextAttribute</code> class defines attribute keys and
--- a/jdk/src/java.desktop/share/classes/java/awt/geom/Arc2D.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/geom/Arc2D.java Wed Jul 05 20:52:10 2017 +0200
@@ -60,7 +60,7 @@
* connecting the two ends of the arc segment.
* @since 1.2
*/
- public final static int OPEN = 0;
+ public static final int OPEN = 0;
/**
* The closure type for an arc closed by drawing a straight
@@ -68,7 +68,7 @@
* arc segment.
* @since 1.2
*/
- public final static int CHORD = 1;
+ public static final int CHORD = 1;
/**
* The closure type for an arc closed by drawing straight line
@@ -76,7 +76,7 @@
* of the full ellipse and from that point to the end of the arc segment.
* @since 1.2
*/
- public final static int PIE = 2;
+ public static final int PIE = 2;
/**
* This class defines an arc specified in {@code float} precision.
--- a/jdk/src/java.desktop/share/classes/java/awt/geom/Path2D.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/geom/Path2D.java Wed Jul 05 20:52:10 2017 +0200
@@ -2675,7 +2675,7 @@
}
}
- static abstract class Iterator implements PathIterator {
+ abstract static class Iterator implements PathIterator {
int typeIdx;
int pointIdx;
Path2D path;
--- a/jdk/src/java.desktop/share/classes/java/awt/im/InputMethodHighlight.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/im/InputMethodHighlight.java Wed Jul 05 20:52:10 2017 +0200
@@ -71,36 +71,36 @@
/**
* Constant for the raw text state.
*/
- public final static int RAW_TEXT = 0;
+ public static final int RAW_TEXT = 0;
/**
* Constant for the converted text state.
*/
- public final static int CONVERTED_TEXT = 1;
+ public static final int CONVERTED_TEXT = 1;
/**
* Constant for the default highlight for unselected raw text.
*/
- public final static InputMethodHighlight UNSELECTED_RAW_TEXT_HIGHLIGHT =
+ public static final InputMethodHighlight UNSELECTED_RAW_TEXT_HIGHLIGHT =
new InputMethodHighlight(false, RAW_TEXT);
/**
* Constant for the default highlight for selected raw text.
*/
- public final static InputMethodHighlight SELECTED_RAW_TEXT_HIGHLIGHT =
+ public static final InputMethodHighlight SELECTED_RAW_TEXT_HIGHLIGHT =
new InputMethodHighlight(true, RAW_TEXT);
/**
* Constant for the default highlight for unselected converted text.
*/
- public final static InputMethodHighlight UNSELECTED_CONVERTED_TEXT_HIGHLIGHT =
+ public static final InputMethodHighlight UNSELECTED_CONVERTED_TEXT_HIGHLIGHT =
new InputMethodHighlight(false, CONVERTED_TEXT);
/**
* Constant for the default highlight for selected converted text.
*/
- public final static InputMethodHighlight SELECTED_CONVERTED_TEXT_HIGHLIGHT =
+ public static final InputMethodHighlight SELECTED_CONVERTED_TEXT_HIGHLIGHT =
new InputMethodHighlight(true, CONVERTED_TEXT);
--- a/jdk/src/java.desktop/share/classes/java/awt/image/BufferedImage.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/image/BufferedImage.java Wed Jul 05 20:52:10 2017 +0200
@@ -281,7 +281,7 @@
private static final int DCM_BGR_BLU_MASK = 0xff0000;
- static private native void initIDs();
+ private static native void initIDs();
static {
ColorModel.loadLibraries();
initIDs();
--- a/jdk/src/java.desktop/share/classes/java/awt/image/ColorModel.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/image/ColorModel.java Wed Jul 05 20:52:10 2017 +0200
@@ -403,7 +403,7 @@
* @return <code>true</code> if alpha is supported in this
* <code>ColorModel</code>; <code>false</code> otherwise.
*/
- final public boolean hasAlpha() {
+ public final boolean hasAlpha() {
return supportsAlpha;
}
@@ -419,7 +419,7 @@
* in the pixel values to be translated by this
* <code>ColorModel</code>; <code>false</code> otherwise.
*/
- final public boolean isAlphaPremultiplied() {
+ public final boolean isAlphaPremultiplied() {
return isAlphaPremultiplied;
}
@@ -430,7 +430,7 @@
* @return the transfer type.
* @since 1.3
*/
- final public int getTransferType() {
+ public final int getTransferType() {
return transferType;
}
@@ -1512,7 +1512,7 @@
* @return the <code>ColorSpace</code> of this
* <code>ColorModel</code>.
*/
- final public ColorSpace getColorSpace() {
+ public final ColorSpace getColorSpace() {
return colorSpace;
}
--- a/jdk/src/java.desktop/share/classes/java/awt/image/DirectColorModel.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/image/DirectColorModel.java Wed Jul 05 20:52:10 2017 +0200
@@ -266,7 +266,7 @@
* @return the mask, which indicates which bits of the <code>int</code>
* pixel representation contain the red color sample.
*/
- final public int getRedMask() {
+ public final int getRedMask() {
return maskArray[0];
}
@@ -276,7 +276,7 @@
* @return the mask, which indicates which bits of the <code>int</code>
* pixel representation contain the green color sample.
*/
- final public int getGreenMask() {
+ public final int getGreenMask() {
return maskArray[1];
}
@@ -286,7 +286,7 @@
* @return the mask, which indicates which bits of the <code>int</code>
* pixel representation contain the blue color sample.
*/
- final public int getBlueMask() {
+ public final int getBlueMask() {
return maskArray[2];
}
@@ -296,7 +296,7 @@
* @return the mask, which indicates which bits of the <code>int</code>
* pixel representation contain the alpha sample.
*/
- final public int getAlphaMask() {
+ public final int getAlphaMask() {
if (supportsAlpha) {
return maskArray[3];
} else {
@@ -365,7 +365,7 @@
* @return the red color component for the specified pixel, from
* 0 to 255 in the sRGB <code>ColorSpace</code>.
*/
- final public int getRed(int pixel) {
+ public final int getRed(int pixel) {
if (is_sRGB) {
return getsRGBComponentFromsRGB(pixel, 0);
} else if (is_LinearRGB) {
@@ -388,7 +388,7 @@
* @return the green color component for the specified pixel, from
* 0 to 255 in the sRGB <code>ColorSpace</code>.
*/
- final public int getGreen(int pixel) {
+ public final int getGreen(int pixel) {
if (is_sRGB) {
return getsRGBComponentFromsRGB(pixel, 1);
} else if (is_LinearRGB) {
@@ -411,7 +411,7 @@
* @return the blue color component for the specified pixel, from
* 0 to 255 in the sRGB <code>ColorSpace</code>.
*/
- final public int getBlue(int pixel) {
+ public final int getBlue(int pixel) {
if (is_sRGB) {
return getsRGBComponentFromsRGB(pixel, 2);
} else if (is_LinearRGB) {
@@ -428,7 +428,7 @@
* @return the value of the alpha component of <code>pixel</code>
* from 0 to 255.
*/
- final public int getAlpha(int pixel) {
+ public final int getAlpha(int pixel) {
if (!supportsAlpha) return 255;
int a = ((pixel & maskArray[3]) >>> maskOffsets[3]);
if (scaleFactors[3] != 1.0f) {
@@ -450,7 +450,7 @@
* pixel.
* @see ColorModel#getRGBdefault
*/
- final public int getRGB(int pixel) {
+ public final int getRGB(int pixel) {
if (is_sRGB || is_LinearRGB) {
return (getAlpha(pixel) << 24)
| (getRed(pixel) << 16)
@@ -923,7 +923,7 @@
* @return an array containing the color and alpha components of the
* specified pixel starting at the specified offset.
*/
- final public int[] getComponents(int pixel, int[] components, int offset) {
+ public final int[] getComponents(int pixel, int[] components, int offset) {
if (components == null) {
components = new int[offset+numComponents];
}
@@ -974,7 +974,7 @@
* <code>transferType</code> is not supported by this
* color model
*/
- final public int[] getComponents(Object pixel, int[] components,
+ public final int[] getComponents(Object pixel, int[] components,
int offset) {
int intpixel=0;
switch (transferType) {
@@ -1010,7 +1010,7 @@
* @see WritableRaster
* @see SampleModel
*/
- final public WritableRaster createCompatibleWritableRaster (int w,
+ public final WritableRaster createCompatibleWritableRaster (int w,
int h) {
if ((w <= 0) || (h <= 0)) {
throw new IllegalArgumentException("Width (" + w + ") and height (" + h +
@@ -1173,7 +1173,7 @@
* <code>transferType</code> is not supported by this
* color model
*/
- final public ColorModel coerceData (WritableRaster raster,
+ public final ColorModel coerceData (WritableRaster raster,
boolean isAlphaPremultiplied)
{
if (!supportsAlpha ||
--- a/jdk/src/java.desktop/share/classes/java/awt/image/IndexColorModel.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/image/IndexColorModel.java Wed Jul 05 20:52:10 2017 +0200
@@ -135,7 +135,7 @@
private static int[] opaqueBits = {8, 8, 8};
private static int[] alphaBits = {8, 8, 8, 8};
- static private native void initIDs();
+ private static native void initIDs();
static {
ColorModel.loadLibraries();
initIDs();
@@ -634,7 +634,7 @@
* <code>IndexColorModel</code>.
* @return the size of the color and alpha component arrays.
*/
- final public int getMapSize() {
+ public final int getMapSize() {
return map_size;
}
@@ -650,7 +650,7 @@
* <code>IndexColorModel</code> object, or -1 if there
* is no such pixel
*/
- final public int getTransparentPixel() {
+ public final int getTransparentPixel() {
return transparent_index;
}
@@ -661,7 +661,7 @@
* @param r the specified array into which the elements of the
* array of red color components are copied
*/
- final public void getReds(byte r[]) {
+ public final void getReds(byte r[]) {
for (int i = 0; i < map_size; i++) {
r[i] = (byte) (rgb[i] >> 16);
}
@@ -674,7 +674,7 @@
* @param g the specified array into which the elements of the
* array of green color components are copied
*/
- final public void getGreens(byte g[]) {
+ public final void getGreens(byte g[]) {
for (int i = 0; i < map_size; i++) {
g[i] = (byte) (rgb[i] >> 8);
}
@@ -687,7 +687,7 @@
* @param b the specified array into which the elements of the
* array of blue color components are copied
*/
- final public void getBlues(byte b[]) {
+ public final void getBlues(byte b[]) {
for (int i = 0; i < map_size; i++) {
b[i] = (byte) rgb[i];
}
@@ -700,7 +700,7 @@
* @param a the specified array into which the elements of the
* array of alpha components are copied
*/
- final public void getAlphas(byte a[]) {
+ public final void getAlphas(byte a[]) {
for (int i = 0; i < map_size; i++) {
a[i] = (byte) (rgb[i] >> 24);
}
@@ -717,7 +717,7 @@
* values from this array of color and alpha components
* are copied.
*/
- final public void getRGBs(int rgb[]) {
+ public final void getRGBs(int rgb[]) {
System.arraycopy(this.rgb, 0, rgb, 0, map_size);
}
@@ -776,7 +776,7 @@
* @param pixel the specified pixel
* @return the value of the red color component for the specified pixel
*/
- final public int getRed(int pixel) {
+ public final int getRed(int pixel) {
return (rgb[pixel & pixel_mask] >> 16) & 0xff;
}
@@ -791,7 +791,7 @@
* @param pixel the specified pixel
* @return the value of the green color component for the specified pixel
*/
- final public int getGreen(int pixel) {
+ public final int getGreen(int pixel) {
return (rgb[pixel & pixel_mask] >> 8) & 0xff;
}
@@ -806,7 +806,7 @@
* @param pixel the specified pixel
* @return the value of the blue color component for the specified pixel
*/
- final public int getBlue(int pixel) {
+ public final int getBlue(int pixel) {
return rgb[pixel & pixel_mask] & 0xff;
}
@@ -819,7 +819,7 @@
* @param pixel the specified pixel
* @return the value of the alpha component for the specified pixel
*/
- final public int getAlpha(int pixel) {
+ public final int getAlpha(int pixel) {
return (rgb[pixel & pixel_mask] >> 24) & 0xff;
}
@@ -834,7 +834,7 @@
* @return the color and alpha components of the specified pixel
* @see ColorModel#getRGBdefault
*/
- final public int getRGB(int pixel) {
+ public final int getRGB(int pixel) {
return rgb[pixel & pixel_mask];
}
--- a/jdk/src/java.desktop/share/classes/java/awt/image/Kernel.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/image/Kernel.java Wed Jul 05 20:52:10 2017 +0200
@@ -83,7 +83,7 @@
* Returns the X origin of this <code>Kernel</code>.
* @return the X origin.
*/
- final public int getXOrigin(){
+ public final int getXOrigin(){
return xOrigin;
}
@@ -91,7 +91,7 @@
* Returns the Y origin of this <code>Kernel</code>.
* @return the Y origin.
*/
- final public int getYOrigin() {
+ public final int getYOrigin() {
return yOrigin;
}
@@ -99,7 +99,7 @@
* Returns the width of this <code>Kernel</code>.
* @return the width of this <code>Kernel</code>.
*/
- final public int getWidth() {
+ public final int getWidth() {
return width;
}
@@ -107,7 +107,7 @@
* Returns the height of this <code>Kernel</code>.
* @return the height of this <code>Kernel</code>.
*/
- final public int getHeight() {
+ public final int getHeight() {
return height;
}
@@ -123,7 +123,7 @@
* @throws IllegalArgumentException if <code>data</code> is less
* than the size of this <code>Kernel</code>
*/
- final public float[] getKernelData(float[] data) {
+ public final float[] getKernelData(float[] data) {
if (data == null) {
data = new float[this.data.length];
}
--- a/jdk/src/java.desktop/share/classes/java/awt/image/PackedColorModel.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/image/PackedColorModel.java Wed Jul 05 20:52:10 2017 +0200
@@ -240,7 +240,7 @@
* <code>PackedColorModel</code> or if <code>index</code> is
* less than zero
*/
- final public int getMask(int index) {
+ public final int getMask(int index) {
return maskArray[index];
}
@@ -251,7 +251,7 @@
* <code>int</code> pixel
* representation contain the color or alpha samples.
*/
- final public int[] getMasks() {
+ public final int[] getMasks() {
return maskArray.clone();
}
@@ -415,7 +415,7 @@
return true;
}
- private final static int[] createBitsArray(int[]colorMaskArray,
+ private static final int[] createBitsArray(int[]colorMaskArray,
int alphaMask) {
int numColors = colorMaskArray.length;
int numAlpha = (alphaMask == 0 ? 0 : 1);
@@ -438,7 +438,7 @@
return arr;
}
- private final static int[] createBitsArray(int rmask, int gmask, int bmask,
+ private static final int[] createBitsArray(int rmask, int gmask, int bmask,
int amask) {
int[] arr = new int[3 + (amask == 0 ? 0 : 1)];
arr[0] = countBits(rmask);
@@ -466,7 +466,7 @@
return arr;
}
- private final static int countBits(int mask) {
+ private static final int countBits(int mask) {
int count = 0;
if (mask != 0) {
while ((mask & 1) == 0) {
--- a/jdk/src/java.desktop/share/classes/java/awt/image/Raster.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/image/Raster.java Wed Jul 05 20:52:10 2017 +0200
@@ -167,7 +167,7 @@
/** The parent of this Raster, or null. */
protected Raster parent;
- static private native void initIDs();
+ private static native void initIDs();
static {
ColorModel.loadLibraries();
initIDs();
@@ -1139,7 +1139,7 @@
* @return the X translation from the coordinate space of the
* Raster's SampleModel to that of the Raster.
*/
- final public int getSampleModelTranslateX() {
+ public final int getSampleModelTranslateX() {
return sampleModelTranslateX;
}
@@ -1151,7 +1151,7 @@
* @return the Y translation from the coordinate space of the
* Raster's SampleModel to that of the Raster.
*/
- final public int getSampleModelTranslateY() {
+ public final int getSampleModelTranslateY() {
return sampleModelTranslateY;
}
@@ -1360,35 +1360,35 @@
/** Returns the minimum valid X coordinate of the Raster.
* @return the minimum x coordinate of this <code>Raster</code>.
*/
- final public int getMinX() {
+ public final int getMinX() {
return minX;
}
/** Returns the minimum valid Y coordinate of the Raster.
* @return the minimum y coordinate of this <code>Raster</code>.
*/
- final public int getMinY() {
+ public final int getMinY() {
return minY;
}
/** Returns the width in pixels of the Raster.
* @return the width of this <code>Raster</code>.
*/
- final public int getWidth() {
+ public final int getWidth() {
return width;
}
/** Returns the height in pixels of the Raster.
* @return the height of this <code>Raster</code>.
*/
- final public int getHeight() {
+ public final int getHeight() {
return height;
}
/** Returns the number of bands (samples per pixel) in this Raster.
* @return the number of bands of this <code>Raster</code>.
*/
- final public int getNumBands() {
+ public final int getNumBands() {
return numBands;
}
@@ -1403,7 +1403,7 @@
* as the storage data type of the DataBuffer.
* @return the number of data elements.
*/
- final public int getNumDataElements() {
+ public final int getNumDataElements() {
return sampleModel.getNumDataElements();
}
@@ -1419,7 +1419,7 @@
* be one of the types defined in DataBuffer.
* @return this transfer type.
*/
- final public int getTransferType() {
+ public final int getTransferType() {
return sampleModel.getTransferType();
}
--- a/jdk/src/java.desktop/share/classes/java/awt/image/RescaleOp.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/image/RescaleOp.java Wed Jul 05 20:52:10 2017 +0200
@@ -142,7 +142,7 @@
* this <code>RescaleOp</code>
* @return the scale factors of this <code>RescaleOp</code>.
*/
- final public float[] getScaleFactors (float scaleFactors[]) {
+ public final float[] getScaleFactors (float scaleFactors[]) {
if (scaleFactors == null) {
return this.scaleFactors.clone();
}
@@ -160,7 +160,7 @@
* this <code>RescaleOp</code>
* @return the offsets of this <code>RescaleOp</code>.
*/
- final public float[] getOffsets(float offsets[]) {
+ public final float[] getOffsets(float offsets[]) {
if (offsets == null) {
return this.offsets.clone();
}
@@ -176,7 +176,7 @@
* @return the number of scaling factors and offsets of this
* <code>RescaleOp</code>.
*/
- final public int getNumFactors() {
+ public final int getNumFactors() {
return length;
}
--- a/jdk/src/java.desktop/share/classes/java/awt/image/SampleModel.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/awt/image/SampleModel.java Wed Jul 05 20:52:10 2017 +0200
@@ -99,7 +99,7 @@
*/
protected int dataType;
- static private native void initIDs();
+ private static native void initIDs();
static {
ColorModel.loadLibraries();
initIDs();
@@ -153,7 +153,7 @@
* @return the width in pixels of the region of image data
* that this <code>SampleModel</code> describes.
*/
- final public int getWidth() {
+ public final int getWidth() {
return width;
}
@@ -161,7 +161,7 @@
* @return the height in pixels of the region of image data
* that this <code>SampleModel</code> describes.
*/
- final public int getHeight() {
+ public final int getHeight() {
return height;
}
@@ -169,7 +169,7 @@
* @return the number of bands of image data that this
* <code>SampleModel</code> describes.
*/
- final public int getNumBands() {
+ public final int getNumBands() {
return numBands;
}
@@ -193,7 +193,7 @@
/** Returns the data type of the DataBuffer storing the pixel data.
* @return the data type.
*/
- final public int getDataType() {
+ public final int getDataType() {
return dataType;
}
--- a/jdk/src/java.desktop/share/classes/java/beans/BeanInfo.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/beans/BeanInfo.java Wed Jul 05 20:52:10 2017 +0200
@@ -159,20 +159,20 @@
/**
* Constant to indicate a 16 x 16 color icon.
*/
- final static int ICON_COLOR_16x16 = 1;
+ static final int ICON_COLOR_16x16 = 1;
/**
* Constant to indicate a 32 x 32 color icon.
*/
- final static int ICON_COLOR_32x32 = 2;
+ static final int ICON_COLOR_32x32 = 2;
/**
* Constant to indicate a 16 x 16 monochrome icon.
*/
- final static int ICON_MONO_16x16 = 3;
+ static final int ICON_MONO_16x16 = 3;
/**
* Constant to indicate a 32 x 32 monochrome icon.
*/
- final static int ICON_MONO_32x32 = 4;
+ static final int ICON_MONO_32x32 = 4;
}
--- a/jdk/src/java.desktop/share/classes/java/beans/Introspector.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/beans/Introspector.java Wed Jul 05 20:52:10 2017 +0200
@@ -47,9 +47,9 @@
import java.util.EventObject;
import java.util.List;
import java.util.TreeMap;
-import sun.misc.JavaBeansAccess;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaBeansAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.reflect.misc.ReflectUtil;
/**
@@ -102,17 +102,17 @@
* Flag to indicate to use of all beaninfo.
* @since 1.2
*/
- public final static int USE_ALL_BEANINFO = 1;
+ public static final int USE_ALL_BEANINFO = 1;
/**
* Flag to indicate to ignore immediate beaninfo.
* @since 1.2
*/
- public final static int IGNORE_IMMEDIATE_BEANINFO = 2;
+ public static final int IGNORE_IMMEDIATE_BEANINFO = 2;
/**
* Flag to indicate to ignore all beaninfo.
* @since 1.2
*/
- public final static int IGNORE_ALL_BEANINFO = 3;
+ public static final int IGNORE_ALL_BEANINFO = 3;
// Static Caches to speed up introspection.
private static final WeakCache<Class<?>, Method[]> declaredMethodCache = new WeakCache<>();
@@ -139,7 +139,7 @@
// events maps from String names to EventSetDescriptors
private Map<String, EventSetDescriptor> events;
- private final static EventSetDescriptor[] EMPTY_EVENTSETDESCRIPTORS = new EventSetDescriptor[0];
+ private static final EventSetDescriptor[] EMPTY_EVENTSETDESCRIPTORS = new EventSetDescriptor[0];
static final String ADD_PREFIX = "add";
static final String REMOVE_PREFIX = "remove";
--- a/jdk/src/java.desktop/share/classes/java/beans/MetaData.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/java/beans/MetaData.java Wed Jul 05 20:52:10 2017 +0200
@@ -356,7 +356,7 @@
*
* @author Sergey A. Malenkov
*/
-private static abstract class java_util_Collections extends PersistenceDelegate {
+private abstract static class java_util_Collections extends PersistenceDelegate {
protected boolean mutatesTo(Object oldInstance, Object newInstance) {
if (!super.mutatesTo(oldInstance, newInstance)) {
return false;
@@ -1319,7 +1319,7 @@
}
@SuppressWarnings("rawtypes")
- public synchronized static PersistenceDelegate getPersistenceDelegate(Class type) {
+ public static synchronized PersistenceDelegate getPersistenceDelegate(Class type) {
if (type == null) {
return nullPersistenceDelegate;
}
--- a/jdk/src/java.desktop/share/classes/javax/accessibility/AccessibleRole.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/accessibility/AccessibleRole.java Wed Jul 05 20:52:10 2017 +0200
@@ -588,7 +588,7 @@
*
* @since 1.5
*/
- static public final AccessibleRole EDITBAR =
+ public static final AccessibleRole EDITBAR =
new AccessibleRole("editbar");
/**
@@ -597,7 +597,7 @@
*
* @since 1.5
*/
- static public final AccessibleRole PROGRESS_MONITOR =
+ public static final AccessibleRole PROGRESS_MONITOR =
new AccessibleRole("progressMonitor");
--- a/jdk/src/java.desktop/share/classes/javax/accessibility/AccessibleState.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/accessibility/AccessibleState.java Wed Jul 05 20:52:10 2017 +0200
@@ -353,7 +353,7 @@
*
* @since 1.5
*/
- static public final AccessibleState TRUNCATED
+ public static final AccessibleState TRUNCATED
= new AccessibleState("truncated");
/**
--- a/jdk/src/java.desktop/share/classes/javax/imageio/metadata/IIOMetadataFormatImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/imageio/metadata/IIOMetadataFormatImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -1252,7 +1252,7 @@
// Standard format descriptor
- private synchronized static void createStandardFormat() {
+ private static synchronized void createStandardFormat() {
if (standardFormat == null) {
standardFormat = new StandardMetadataFormat();
}
--- a/jdk/src/java.desktop/share/classes/javax/print/attribute/standard/MediaSize.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/print/attribute/standard/MediaSize.java Wed Jul 05 20:52:10 2017 +0200
@@ -288,7 +288,7 @@
* Class MediaSize.ISO includes {@link MediaSize MediaSize} values for ISO
* media.
*/
- public final static class ISO {
+ public static final class ISO {
/**
* Specifies the ISO A0 size, 841 mm by 1189 mm.
*/
@@ -437,7 +437,7 @@
* Class MediaSize.JIS includes {@link MediaSize MediaSize} values for JIS
* (Japanese) media. *
*/
- public final static class JIS {
+ public static final class JIS {
/**
* Specifies the JIS B0 size, 1030 mm by 1456 mm.
@@ -601,7 +601,7 @@
* Class MediaSize.NA includes {@link MediaSize MediaSize} values for North
* American media.
*/
- public final static class NA {
+ public static final class NA {
/**
* Specifies the North American letter size, 8.5 inches by 11 inches.
@@ -721,7 +721,7 @@
* Class MediaSize.Engineering includes {@link MediaSize MediaSize} values
* for engineering media.
*/
- public final static class Engineering {
+ public static final class Engineering {
/**
* Specifies the engineering A size, 8.5 inch by 11 inch.
@@ -764,7 +764,7 @@
* Class MediaSize.Other includes {@link MediaSize MediaSize} values for
* miscellaneous media.
*/
- public final static class Other {
+ public static final class Other {
/**
* Specifies the executive size, 7.25 inches by 10.5 inches.
*/
--- a/jdk/src/java.desktop/share/classes/javax/sound/midi/MetaMessage.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/sound/midi/MetaMessage.java Wed Jul 05 20:52:10 2017 +0200
@@ -214,7 +214,7 @@
return length;
}
- private final static long mask = 0x7F;
+ private static final long mask = 0x7F;
private void writeVarInt(byte[] data, int off, long value) {
int shift=63; // number of bitwise left-shifts of mask
--- a/jdk/src/java.desktop/share/classes/javax/sound/midi/MidiDevice.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/sound/midi/MidiDevice.java Wed Jul 05 20:52:10 2017 +0200
@@ -335,7 +335,7 @@
/**
* Obtains the version of the device.
*
- * @return textual version information for the device.
+ * @return textual version information for the device
*/
public final String getVersion() {
return version;
--- a/jdk/src/java.desktop/share/classes/javax/sound/midi/Synthesizer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/sound/midi/Synthesizer.java Wed Jul 05 20:52:10 2017 +0200
@@ -344,7 +344,7 @@
* Opens the receiver.
*
* @throws MidiUnavailableException if the receiver is cannot be opened,
- * usually because the MIDI device is in use by another application.
+ * usually because the MIDI device is in use by another application
* @throws SecurityException if the receiver cannot be opened due to
* security restrictions
*/
--- a/jdk/src/java.desktop/share/classes/javax/sound/midi/SysexMessage.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/sound/midi/SysexMessage.java Wed Jul 05 20:52:10 2017 +0200
@@ -124,7 +124,7 @@
* including the status byte; it should be non-negative and less
* than or equal to {@code data.length}
* @throws InvalidMidiDataException if the parameter values do not specify a
- * valid MIDI meta message.
+ * valid MIDI meta message
* @see #setMessage(byte[], int)
* @see #setMessage(int, byte[], int)
* @see #getData()
--- a/jdk/src/java.desktop/share/classes/javax/sound/sampled/AudioInputStream.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/sound/sampled/AudioInputStream.java Wed Jul 05 20:52:10 2017 +0200
@@ -392,7 +392,7 @@
* Marks the current position in this audio input stream.
*
* @param readlimit the maximum number of bytes that can be read before the
- * mark position becomes invalid.
+ * mark position becomes invalid
* @see #reset
* @see #markSupported
*/
--- a/jdk/src/java.desktop/share/classes/javax/sound/sampled/LineEvent.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/sound/sampled/LineEvent.java Wed Jul 05 20:52:10 2017 +0200
@@ -82,7 +82,7 @@
* @param position the number of sample frames that the line had already
* processed when the event occurred, or
* {@link AudioSystem#NOT_SPECIFIED}
- * @throws IllegalArgumentException if {@code line} is {@code null}.
+ * @throws IllegalArgumentException if {@code line} is {@code null}
*/
public LineEvent(Line line, Type type, long position) {
--- a/jdk/src/java.desktop/share/classes/javax/swing/AbstractCellEditor.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/AbstractCellEditor.java Wed Jul 05 20:52:10 2017 +0200
@@ -60,7 +60,7 @@
/**
* The change event.
*/
- transient protected ChangeEvent changeEvent = null;
+ protected transient ChangeEvent changeEvent = null;
// Force this to be implemented.
// public Object getCellEditorValue()
--- a/jdk/src/java.desktop/share/classes/javax/swing/BorderFactory.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/BorderFactory.java Wed Jul 05 20:52:10 2017 +0200
@@ -536,7 +536,7 @@
titlePosition, titleFont, titleColor);
}
//// EmptyBorder ///////////////////////////////////////////////////////////
- final static Border emptyBorder = new EmptyBorder(0, 0, 0, 0);
+ static final Border emptyBorder = new EmptyBorder(0, 0, 0, 0);
/**
* Creates an empty border that takes up no space. (The width
--- a/jdk/src/java.desktop/share/classes/javax/swing/DefaultButtonModel.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/DefaultButtonModel.java Wed Jul 05 20:52:10 2017 +0200
@@ -89,33 +89,33 @@
* indicates partial commitment towards choosing/triggering
* the button.
*/
- public final static int ARMED = 1 << 0;
+ public static final int ARMED = 1 << 0;
/**
* Identifies the "selected" bit in the bitmask, which
* indicates that the button has been selected. Only needed for
* certain types of buttons - such as radio button or check box.
*/
- public final static int SELECTED = 1 << 1;
+ public static final int SELECTED = 1 << 1;
/**
* Identifies the "pressed" bit in the bitmask, which
* indicates that the button is pressed.
*/
- public final static int PRESSED = 1 << 2;
+ public static final int PRESSED = 1 << 2;
/**
* Identifies the "enabled" bit in the bitmask, which
* indicates that the button can be selected by
* an input device (such as a mouse pointer).
*/
- public final static int ENABLED = 1 << 3;
+ public static final int ENABLED = 1 << 3;
/**
* Identifies the "rollover" bit in the bitmask, which
* indicates that the mouse is over the button.
*/
- public final static int ROLLOVER = 1 << 4;
+ public static final int ROLLOVER = 1 << 4;
/**
* {@inheritDoc}
--- a/jdk/src/java.desktop/share/classes/javax/swing/DefaultDesktopManager.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/DefaultDesktopManager.java Wed Jul 05 20:52:10 2017 +0200
@@ -50,11 +50,11 @@
*/
@SuppressWarnings("serial") // No Interesting Non-Transient State
public class DefaultDesktopManager implements DesktopManager, java.io.Serializable {
- final static String HAS_BEEN_ICONIFIED_PROPERTY = "wasIconOnce";
+ static final String HAS_BEEN_ICONIFIED_PROPERTY = "wasIconOnce";
- final static int DEFAULT_DRAG_MODE = 0;
- final static int OUTLINE_DRAG_MODE = 1;
- final static int FASTER_DRAG_MODE = 2;
+ static final int DEFAULT_DRAG_MODE = 0;
+ static final int OUTLINE_DRAG_MODE = 1;
+ static final int FASTER_DRAG_MODE = 2;
int dragMode = DEFAULT_DRAG_MODE;
--- a/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/GroupLayout.java Wed Jul 05 20:52:10 2017 +0200
@@ -3391,7 +3391,7 @@
* Represents two springs that should have autopadding inserted between
* them.
*/
- private final static class AutoPreferredGapMatch {
+ private static final class AutoPreferredGapMatch {
public final ComponentSpring source;
public final ComponentSpring target;
--- a/jdk/src/java.desktop/share/classes/javax/swing/ImageIcon.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/ImageIcon.java Wed Jul 05 20:52:10 2017 +0200
@@ -74,8 +74,8 @@
* images symbolically rather than including the image data
* in the archive.
*/
- transient private String filename;
- transient private URL location;
+ private transient String filename;
+ private transient URL location;
transient Image image;
transient int loadStatus = 0;
@@ -88,7 +88,7 @@
* @deprecated since 1.8
*/
@Deprecated
- protected final static Component component;
+ protected static final Component component;
/**
* Do not use this shared media tracker, which is used to load images.
@@ -96,7 +96,7 @@
* @deprecated since 1.8
*/
@Deprecated
- protected final static MediaTracker tracker;
+ protected static final MediaTracker tracker;
static {
component = AccessController.doPrivileged(new PrivilegedAction<Component>() {
@@ -144,7 +144,7 @@
*/
private static int mediaTrackerID;
- private final static Object TRACKER_KEY = new StringBuilder("TRACKER_KEY");
+ private static final Object TRACKER_KEY = new StringBuilder("TRACKER_KEY");
int width = -1;
int height = -1;
--- a/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JComponent.java Wed Jul 05 20:52:10 2017 +0200
@@ -377,8 +377,8 @@
/**
* AA text hints.
*/
- transient private Object aaHint;
- transient private Object lcdRenderingHint;
+ private transient Object aaHint;
+ private transient Object lcdRenderingHint;
static Graphics safelyGetGraphics(Component c) {
return safelyGetGraphics(c, SwingUtilities.getRoot(c));
@@ -2805,7 +2805,7 @@
* @see #setLocale
* @since 1.4
*/
- static public Locale getDefaultLocale() {
+ public static Locale getDefaultLocale() {
Locale l = (Locale) SwingUtilities.appContextGet(defaultLocale);
if( l == null ) {
//REMIND(bcb) choosing the default value is more complicated
@@ -2832,7 +2832,7 @@
* @see #setLocale
* @since 1.4
*/
- static public void setDefaultLocale( Locale l ) {
+ public static void setDefaultLocale( Locale l ) {
SwingUtilities.appContextPut(defaultLocale, l);
}
@@ -3714,7 +3714,7 @@
* to add/remove ContainerListener and FocusListener to track
* target JComponent's state
*/
- private volatile transient int propertyListenersCount = 0;
+ private transient volatile int propertyListenersCount = 0;
/**
* This field duplicates the function of the accessibleAWTFocusHandler field
@@ -4064,8 +4064,6 @@
return aaHint;
} else if (key == RenderingHints.KEY_TEXT_LCD_CONTRAST) {
return lcdRenderingHint;
- } else if (key == SwingUtilities2.COMPONENT_UI_PROPERTY_KEY) {
- return ui;
}
if(clientProperties == null) {
return null;
--- a/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JEditorPane.java Wed Jul 05 20:52:10 2017 +0200
@@ -1537,7 +1537,7 @@
private Hashtable<String, Object> pageProperties;
/** Should be kept in sync with javax.swing.text.html.FormView counterpart. */
- final static String PostDataProperty = "javax.swing.JEditorPane.postdata";
+ static final String PostDataProperty = "javax.swing.JEditorPane.postdata";
/**
* Table of registered type handlers for this editor.
--- a/jdk/src/java.desktop/share/classes/javax/swing/JFormattedTextField.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JFormattedTextField.java Wed Jul 05 20:52:10 2017 +0200
@@ -860,7 +860,7 @@
* doesn't have focus.
* @since 1.4
*/
- public static abstract class AbstractFormatterFactory {
+ public abstract static class AbstractFormatterFactory {
/**
* Returns an <code>AbstractFormatter</code> that can handle formatting
* of the passed in <code>JFormattedTextField</code>.
@@ -903,7 +903,7 @@
* at the appropriate times.
* @since 1.4
*/
- public static abstract class AbstractFormatter implements Serializable {
+ public abstract static class AbstractFormatter implements Serializable {
private JFormattedTextField ftf;
/**
--- a/jdk/src/java.desktop/share/classes/javax/swing/JInternalFrame.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JInternalFrame.java Wed Jul 05 20:52:10 2017 +0200
@@ -198,31 +198,31 @@
private Component lastFocusOwner;
/** Bound property name. */
- public final static String CONTENT_PANE_PROPERTY = "contentPane";
+ public static final String CONTENT_PANE_PROPERTY = "contentPane";
/** Bound property name. */
- public final static String MENU_BAR_PROPERTY = "JMenuBar";
+ public static final String MENU_BAR_PROPERTY = "JMenuBar";
/** Bound property name. */
- public final static String TITLE_PROPERTY = "title";
+ public static final String TITLE_PROPERTY = "title";
/** Bound property name. */
- public final static String LAYERED_PANE_PROPERTY = "layeredPane";
+ public static final String LAYERED_PANE_PROPERTY = "layeredPane";
/** Bound property name. */
- public final static String ROOT_PANE_PROPERTY = "rootPane";
+ public static final String ROOT_PANE_PROPERTY = "rootPane";
/** Bound property name. */
- public final static String GLASS_PANE_PROPERTY = "glassPane";
+ public static final String GLASS_PANE_PROPERTY = "glassPane";
/** Bound property name. */
- public final static String FRAME_ICON_PROPERTY = "frameIcon";
+ public static final String FRAME_ICON_PROPERTY = "frameIcon";
/**
* Constrained property name indicated that this frame has
* selected status.
*/
- public final static String IS_SELECTED_PROPERTY = "selected";
+ public static final String IS_SELECTED_PROPERTY = "selected";
/** Constrained property name indicating that the internal frame is closed. */
- public final static String IS_CLOSED_PROPERTY = "closed";
+ public static final String IS_CLOSED_PROPERTY = "closed";
/** Constrained property name indicating that the internal frame is maximized. */
- public final static String IS_MAXIMUM_PROPERTY = "maximum";
+ public static final String IS_MAXIMUM_PROPERTY = "maximum";
/** Constrained property name indicating that the internal frame is iconified. */
- public final static String IS_ICON_PROPERTY = "icon";
+ public static final String IS_ICON_PROPERTY = "icon";
private static final Object PROPERTY_CHANGE_LISTENER_KEY =
new StringBuilder("InternalFramePropertyChangeListener");
@@ -2159,7 +2159,7 @@
* @author David Kloba
*/
@SuppressWarnings("serial") // Same-version serialization only
- static public class JDesktopIcon extends JComponent implements Accessible
+ public static class JDesktopIcon extends JComponent implements Accessible
{
JInternalFrame internalFrame;
--- a/jdk/src/java.desktop/share/classes/javax/swing/JLayeredPane.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JLayeredPane.java Wed Jul 05 20:52:10 2017 +0200
@@ -159,25 +159,25 @@
public class JLayeredPane extends JComponent implements Accessible {
/// Watch the values in getObjectForLayer()
/** Convenience object defining the Default layer. Equivalent to new Integer(0).*/
- public final static Integer DEFAULT_LAYER = 0;
+ public static final Integer DEFAULT_LAYER = 0;
/** Convenience object defining the Palette layer. Equivalent to new Integer(100).*/
- public final static Integer PALETTE_LAYER = 100;
+ public static final Integer PALETTE_LAYER = 100;
/** Convenience object defining the Modal layer. Equivalent to new Integer(200).*/
- public final static Integer MODAL_LAYER = 200;
+ public static final Integer MODAL_LAYER = 200;
/** Convenience object defining the Popup layer. Equivalent to new Integer(300).*/
- public final static Integer POPUP_LAYER = 300;
+ public static final Integer POPUP_LAYER = 300;
/** Convenience object defining the Drag layer. Equivalent to new Integer(400).*/
- public final static Integer DRAG_LAYER = 400;
+ public static final Integer DRAG_LAYER = 400;
/** Convenience object defining the Frame Content layer.
* This layer is normally only use to position the contentPane and menuBar
* components of JFrame.
* Equivalent to new Integer(-30000).
* @see JFrame
*/
- public final static Integer FRAME_CONTENT_LAYER = new Integer(-30000);
+ public static final Integer FRAME_CONTENT_LAYER = new Integer(-30000);
/** Bound property */
- public final static String LAYER_PROPERTY = "layeredContainerLayer";
+ public static final String LAYER_PROPERTY = "layeredContainerLayer";
// Hashtable to store layer values for non-JComponent components
private Hashtable<Component,Integer> componentToLayer;
private boolean optimizedDrawingPossible = true;
--- a/jdk/src/java.desktop/share/classes/javax/swing/JList.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JList.java Wed Jul 05 20:52:10 2017 +0200
@@ -161,8 +161,8 @@
* // Display an icon and a string for each object in the list.
*
* class MyCellRenderer extends JLabel implements ListCellRenderer<Object> {
- * final static ImageIcon longIcon = new ImageIcon("long.gif");
- * final static ImageIcon shortIcon = new ImageIcon("short.gif");
+ * static final ImageIcon longIcon = new ImageIcon("long.gif");
+ * static final ImageIcon shortIcon = new ImageIcon("short.gif");
*
* // This is the only method defined by ListCellRenderer.
* // We just reconfigure the JLabel each time we're called.
--- a/jdk/src/java.desktop/share/classes/javax/swing/JOptionPane.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JOptionPane.java Wed Jul 05 20:52:10 2017 +0200
@@ -394,13 +394,13 @@
public static final String WANTS_INPUT_PROPERTY = "wantsInput";
/** Icon used in pane. */
- transient protected Icon icon;
+ protected transient Icon icon;
/** Message to display. */
- transient protected Object message;
+ protected transient Object message;
/** Options to display to the user. */
- transient protected Object[] options;
+ protected transient Object[] options;
/** Value that should be initially selected in <code>options</code>. */
- transient protected Object initialValue;
+ protected transient Object initialValue;
/** Message type. */
protected int messageType;
/**
@@ -412,7 +412,7 @@
protected int optionType;
/** Currently selected value, will be a valid option, or
* <code>UNINITIALIZED_VALUE</code> or <code>null</code>. */
- transient protected Object value;
+ protected transient Object value;
/** Array of values the user can choose from. Look and feel will
* provide the UI component to choose this from. */
protected transient Object[] selectionValues;
--- a/jdk/src/java.desktop/share/classes/javax/swing/JPopupMenu.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JPopupMenu.java Wed Jul 05 20:52:10 2017 +0200
@@ -1545,7 +1545,7 @@
* A popup menu-specific separator.
*/
@SuppressWarnings("serial")
- static public class Separator extends JSeparator
+ public static class Separator extends JSeparator
{
/**
* Constructs a popup menu-specific Separator.
--- a/jdk/src/java.desktop/share/classes/javax/swing/JProgressBar.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JProgressBar.java Wed Jul 05 20:52:10 2017 +0200
@@ -190,15 +190,15 @@
/**
* The default minimum for a progress bar is 0.
*/
- static final private int defaultMinimum = 0;
+ private static final int defaultMinimum = 0;
/**
* The default maximum for a progress bar is 100.
*/
- static final private int defaultMaximum = 100;
+ private static final int defaultMaximum = 100;
/**
* The default orientation for a progress bar is <code>HORIZONTAL</code>.
*/
- static final private int defaultOrientation = HORIZONTAL;
+ private static final int defaultOrientation = HORIZONTAL;
/**
* Only one <code>ChangeEvent</code> is needed per instance since the
--- a/jdk/src/java.desktop/share/classes/javax/swing/JSplitPane.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JSplitPane.java Wed Jul 05 20:52:10 2017 +0200
@@ -113,7 +113,7 @@
* split along the y axis. For example the two
* <code>Component</code>s will be split one on top of the other.
*/
- public final static int VERTICAL_SPLIT = 0;
+ public static final int VERTICAL_SPLIT = 0;
/**
* Horizontal split indicates the <code>Component</code>s are
@@ -121,75 +121,75 @@
* <code>Component</code>s will be split one to the left of the
* other.
*/
- public final static int HORIZONTAL_SPLIT = 1;
+ public static final int HORIZONTAL_SPLIT = 1;
/**
* Used to add a <code>Component</code> to the left of the other
* <code>Component</code>.
*/
- public final static String LEFT = "left";
+ public static final String LEFT = "left";
/**
* Used to add a <code>Component</code> to the right of the other
* <code>Component</code>.
*/
- public final static String RIGHT = "right";
+ public static final String RIGHT = "right";
/**
* Used to add a <code>Component</code> above the other
* <code>Component</code>.
*/
- public final static String TOP = "top";
+ public static final String TOP = "top";
/**
* Used to add a <code>Component</code> below the other
* <code>Component</code>.
*/
- public final static String BOTTOM = "bottom";
+ public static final String BOTTOM = "bottom";
/**
* Used to add a <code>Component</code> that will represent the divider.
*/
- public final static String DIVIDER = "divider";
+ public static final String DIVIDER = "divider";
/**
* Bound property name for orientation (horizontal or vertical).
*/
- public final static String ORIENTATION_PROPERTY = "orientation";
+ public static final String ORIENTATION_PROPERTY = "orientation";
/**
* Bound property name for continuousLayout.
*/
- public final static String CONTINUOUS_LAYOUT_PROPERTY = "continuousLayout";
+ public static final String CONTINUOUS_LAYOUT_PROPERTY = "continuousLayout";
/**
* Bound property name for border.
*/
- public final static String DIVIDER_SIZE_PROPERTY = "dividerSize";
+ public static final String DIVIDER_SIZE_PROPERTY = "dividerSize";
/**
* Bound property for oneTouchExpandable.
*/
- public final static String ONE_TOUCH_EXPANDABLE_PROPERTY =
+ public static final String ONE_TOUCH_EXPANDABLE_PROPERTY =
"oneTouchExpandable";
/**
* Bound property for lastLocation.
*/
- public final static String LAST_DIVIDER_LOCATION_PROPERTY =
+ public static final String LAST_DIVIDER_LOCATION_PROPERTY =
"lastDividerLocation";
/**
* Bound property for the dividerLocation.
* @since 1.3
*/
- public final static String DIVIDER_LOCATION_PROPERTY = "dividerLocation";
+ public static final String DIVIDER_LOCATION_PROPERTY = "dividerLocation";
/**
* Bound property for weight.
* @since 1.3
*/
- public final static String RESIZE_WEIGHT_PROPERTY = "resizeWeight";
+ public static final String RESIZE_WEIGHT_PROPERTY = "resizeWeight";
/**
* How the views are split.
--- a/jdk/src/java.desktop/share/classes/javax/swing/JTable.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JTable.java Wed Jul 05 20:52:10 2017 +0200
@@ -343,27 +343,27 @@
protected boolean cellSelectionEnabled;
/** If editing, the <code>Component</code> that is handling the editing. */
- transient protected Component editorComp;
+ protected transient Component editorComp;
/**
* The active cell editor object, that overwrites the screen real estate
* occupied by the current cell and allows the user to change its contents.
* {@code null} if the table isn't currently editing.
*/
- transient protected TableCellEditor cellEditor;
+ protected transient TableCellEditor cellEditor;
/** Identifies the column of the cell being edited. */
- transient protected int editingColumn;
+ protected transient int editingColumn;
/** Identifies the row of the cell being edited. */
- transient protected int editingRow;
+ protected transient int editingRow;
/**
* A table of objects that display the contents of a cell,
* indexed by class as declared in <code>getColumnClass</code>
* in the <code>TableModel</code> interface.
*/
- transient protected Hashtable<Object, Object> defaultRenderersByColumnClass;
+ protected transient Hashtable<Object, Object> defaultRenderersByColumnClass;
// Logicaly, the above is a Hashtable<Class<?>, TableCellRenderer>.
// It is declared otherwise to accomodate using UIDefaults.
@@ -372,7 +372,7 @@
* indexed by class as declared in <code>getColumnClass</code>
* in the <code>TableModel</code> interface.
*/
- transient protected Hashtable<Object, Object> defaultEditorsByColumnClass;
+ protected transient Hashtable<Object, Object> defaultEditorsByColumnClass;
// Logicaly, the above is a Hashtable<Class<?>, TableCellEditor>.
// It is declared otherwise to accomodate using UIDefaults.
@@ -880,7 +880,7 @@
* replaced by <code>new JScrollPane(aTable)</code>.
*/
@Deprecated
- static public JScrollPane createScrollPaneForTable(JTable aTable) {
+ public static JScrollPane createScrollPaneForTable(JTable aTable) {
return new JScrollPane(aTable);
}
--- a/jdk/src/java.desktop/share/classes/javax/swing/JToolBar.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JToolBar.java Wed Jul 05 20:52:10 2017 +0200
@@ -593,7 +593,7 @@
* A toolbar-specific separator. An object with dimension but
* no contents used to divide buttons on a tool bar into groups.
*/
- static public class Separator extends JSeparator
+ public static class Separator extends JSeparator
{
private Dimension separatorSize;
--- a/jdk/src/java.desktop/share/classes/javax/swing/JTree.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JTree.java Wed Jul 05 20:52:10 2017 +0200
@@ -155,12 +155,12 @@
/**
* The model that defines the tree displayed by this object.
*/
- transient protected TreeModel treeModel;
+ protected transient TreeModel treeModel;
/**
* Models the set of selected nodes in this tree.
*/
- transient protected TreeSelectionModel selectionModel;
+ protected transient TreeSelectionModel selectionModel;
/**
* True if the root node is displayed, false if its children are
@@ -172,7 +172,7 @@
* The cell used to draw nodes. If <code>null</code>, the UI uses a default
* <code>cellRenderer</code>.
*/
- transient protected TreeCellRenderer cellRenderer;
+ protected transient TreeCellRenderer cellRenderer;
/**
* Height to use for each display row. If this is <= 0 the renderer
@@ -189,7 +189,7 @@
* information must be determined by visiting all the parent
* paths and seeing if they are visible.
*/
- transient private Hashtable<TreePath, Boolean> expandedState;
+ private transient Hashtable<TreePath, Boolean> expandedState;
/**
@@ -227,7 +227,7 @@
* Editor for the entries. Default is <code>null</code>
* (tree is not editable).
*/
- transient protected TreeCellEditor cellEditor;
+ protected transient TreeCellEditor cellEditor;
/**
* Is the tree editable? Default is false.
@@ -277,13 +277,13 @@
/**
* Updates the <code>expandedState</code>.
*/
- transient protected TreeModelListener treeModelListener;
+ protected transient TreeModelListener treeModelListener;
/**
* Used when <code>setExpandedState</code> is invoked,
* will be a <code>Stack</code> of <code>Stack</code>s.
*/
- transient private Stack<Stack<TreePath>> expandedStack;
+ private transient Stack<Stack<TreePath>> expandedStack;
/**
* Lead selection path, may not be <code>null</code>.
@@ -459,40 +459,40 @@
// Bound property names
//
/** Bound property name for <code>cellRenderer</code>. */
- public final static String CELL_RENDERER_PROPERTY = "cellRenderer";
+ public static final String CELL_RENDERER_PROPERTY = "cellRenderer";
/** Bound property name for <code>treeModel</code>. */
- public final static String TREE_MODEL_PROPERTY = "model";
+ public static final String TREE_MODEL_PROPERTY = "model";
/** Bound property name for <code>rootVisible</code>. */
- public final static String ROOT_VISIBLE_PROPERTY = "rootVisible";
+ public static final String ROOT_VISIBLE_PROPERTY = "rootVisible";
/** Bound property name for <code>showsRootHandles</code>. */
- public final static String SHOWS_ROOT_HANDLES_PROPERTY = "showsRootHandles";
+ public static final String SHOWS_ROOT_HANDLES_PROPERTY = "showsRootHandles";
/** Bound property name for <code>rowHeight</code>. */
- public final static String ROW_HEIGHT_PROPERTY = "rowHeight";
+ public static final String ROW_HEIGHT_PROPERTY = "rowHeight";
/** Bound property name for <code>cellEditor</code>. */
- public final static String CELL_EDITOR_PROPERTY = "cellEditor";
+ public static final String CELL_EDITOR_PROPERTY = "cellEditor";
/** Bound property name for <code>editable</code>. */
- public final static String EDITABLE_PROPERTY = "editable";
+ public static final String EDITABLE_PROPERTY = "editable";
/** Bound property name for <code>largeModel</code>. */
- public final static String LARGE_MODEL_PROPERTY = "largeModel";
+ public static final String LARGE_MODEL_PROPERTY = "largeModel";
/** Bound property name for selectionModel. */
- public final static String SELECTION_MODEL_PROPERTY = "selectionModel";
+ public static final String SELECTION_MODEL_PROPERTY = "selectionModel";
/** Bound property name for <code>visibleRowCount</code>. */
- public final static String VISIBLE_ROW_COUNT_PROPERTY = "visibleRowCount";
+ public static final String VISIBLE_ROW_COUNT_PROPERTY = "visibleRowCount";
/** Bound property name for <code>messagesStopCellEditing</code>. */
- public final static String INVOKES_STOP_CELL_EDITING_PROPERTY = "invokesStopCellEditing";
+ public static final String INVOKES_STOP_CELL_EDITING_PROPERTY = "invokesStopCellEditing";
/** Bound property name for <code>scrollsOnExpand</code>. */
- public final static String SCROLLS_ON_EXPAND_PROPERTY = "scrollsOnExpand";
+ public static final String SCROLLS_ON_EXPAND_PROPERTY = "scrollsOnExpand";
/** Bound property name for <code>toggleClickCount</code>. */
- public final static String TOGGLE_CLICK_COUNT_PROPERTY = "toggleClickCount";
+ public static final String TOGGLE_CLICK_COUNT_PROPERTY = "toggleClickCount";
/** Bound property name for <code>leadSelectionPath</code>.
* @since 1.3 */
- public final static String LEAD_SELECTION_PATH_PROPERTY = "leadSelectionPath";
+ public static final String LEAD_SELECTION_PATH_PROPERTY = "leadSelectionPath";
/** Bound property name for anchor selection path.
* @since 1.3 */
- public final static String ANCHOR_SELECTION_PATH_PROPERTY = "anchorSelectionPath";
+ public static final String ANCHOR_SELECTION_PATH_PROPERTY = "anchorSelectionPath";
/** Bound property name for expands selected paths property
* @since 1.3 */
- public final static String EXPANDS_SELECTED_PATHS_PROPERTY = "expandsSelectedPaths";
+ public static final String EXPANDS_SELECTED_PATHS_PROPERTY = "expandsSelectedPaths";
/**
@@ -3322,7 +3322,7 @@
*
* @return single instance of {@code EmptySelectionModel}
*/
- static public EmptySelectionModel sharedInstance() {
+ public static EmptySelectionModel sharedInstance() {
return sharedInstance;
}
--- a/jdk/src/java.desktop/share/classes/javax/swing/JViewport.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/JViewport.java Wed Jul 05 20:52:10 2017 +0200
@@ -139,7 +139,7 @@
protected boolean backingStore = false;
/** The view image used for a backing store. */
- transient protected Image backingStoreImage = null;
+ protected transient Image backingStoreImage = null;
/**
* The <code>scrollUnderway</code> flag is used for components like
--- a/jdk/src/java.desktop/share/classes/javax/swing/KeyStroke.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/KeyStroke.java Wed Jul 05 20:52:10 2017 +0200
@@ -26,6 +26,7 @@
import java.awt.AWTKeyStroke;
import java.awt.event.KeyEvent;
+import sun.swing.SwingAccessor;
/**
* A KeyStroke represents a key action on the keyboard, or equivalent input
@@ -70,6 +71,16 @@
*/
private static final long serialVersionUID = -9060180771037902530L;
+ static {
+ SwingAccessor.setKeyStrokeAccessor(new SwingAccessor.KeyStrokeAccessor() {
+
+ @Override
+ public KeyStroke create() {
+ return new KeyStroke();
+ }
+ });
+ }
+
private KeyStroke() {
}
private KeyStroke(char keyChar, int keyCode, int modifiers,
@@ -87,7 +98,6 @@
*/
public static KeyStroke getKeyStroke(char keyChar) {
synchronized (AWTKeyStroke.class) {
- registerSubclass(KeyStroke.class);
return (KeyStroke)getAWTKeyStroke(keyChar);
}
}
@@ -148,7 +158,6 @@
*/
public static KeyStroke getKeyStroke(Character keyChar, int modifiers) {
synchronized (AWTKeyStroke.class) {
- registerSubclass(KeyStroke.class);
return (KeyStroke)getAWTKeyStroke(keyChar, modifiers);
}
}
@@ -199,7 +208,6 @@
public static KeyStroke getKeyStroke(int keyCode, int modifiers,
boolean onKeyRelease) {
synchronized (AWTKeyStroke.class) {
- registerSubclass(KeyStroke.class);
return (KeyStroke)getAWTKeyStroke(keyCode, modifiers,
onKeyRelease);
}
@@ -247,7 +255,6 @@
*/
public static KeyStroke getKeyStroke(int keyCode, int modifiers) {
synchronized (AWTKeyStroke.class) {
- registerSubclass(KeyStroke.class);
return (KeyStroke)getAWTKeyStroke(keyCode, modifiers);
}
}
@@ -266,7 +273,6 @@
*/
public static KeyStroke getKeyStrokeForEvent(KeyEvent anEvent) {
synchronized (AWTKeyStroke.class) {
- registerSubclass(KeyStroke.class);
return (KeyStroke)getAWTKeyStrokeForEvent(anEvent);
}
}
@@ -307,7 +313,6 @@
return null;
}
synchronized (AWTKeyStroke.class) {
- registerSubclass(KeyStroke.class);
try {
return (KeyStroke)getAWTKeyStroke(s);
} catch (IllegalArgumentException e) {
--- a/jdk/src/java.desktop/share/classes/javax/swing/RepaintManager.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/RepaintManager.java Wed Jul 05 20:52:10 2017 +0200
@@ -35,13 +35,13 @@
import java.util.concurrent.atomic.AtomicInteger;
import java.applet.*;
+import jdk.internal.misc.JavaSecurityAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.awt.AWTAccessor;
import sun.awt.AppContext;
import sun.awt.DisplayChangedListener;
import sun.awt.SunToolkit;
import sun.java2d.SunGraphicsEnvironment;
-import sun.misc.JavaSecurityAccess;
-import sun.misc.SharedSecrets;
import sun.security.action.GetPropertyAction;
import com.sun.java.swing.SwingUtilities3;
--- a/jdk/src/java.desktop/share/classes/javax/swing/RowFilter.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/RowFilter.java Wed Jul 05 20:52:10 2017 +0200
@@ -340,7 +340,7 @@
* @see javax.swing.DefaultRowSorter#setRowFilter(javax.swing.RowFilter)
* @since 1.6
*/
- public static abstract class Entry<M, I> {
+ public abstract static class Entry<M, I> {
/**
* Creates an <code>Entry</code>.
*/
@@ -409,7 +409,7 @@
}
- private static abstract class GeneralFilter<M, I> extends RowFilter<M, I> {
+ private abstract static class GeneralFilter<M, I> extends RowFilter<M, I> {
private int[] columns;
GeneralFilter(int[] columns) {
--- a/jdk/src/java.desktop/share/classes/javax/swing/SortingFocusTraversalPolicy.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/SortingFocusTraversalPolicy.java Wed Jul 05 20:52:10 2017 +0200
@@ -83,16 +83,16 @@
* that they need to invoke getFirstComponent or getLastComponent, the
* sorted list should be reused if possible.
*/
- transient private Container cachedRoot;
- transient private List<Component> cachedCycle;
+ private transient Container cachedRoot;
+ private transient List<Component> cachedCycle;
// Delegate our fitness test to ContainerOrder so that we only have to
// code the algorithm once.
private static final SwingContainerOrderFocusTraversalPolicy
fitnessTestPolicy = new SwingContainerOrderFocusTraversalPolicy();
- final private int FORWARD_TRAVERSAL = 0;
- final private int BACKWARD_TRAVERSAL = 1;
+ private final int FORWARD_TRAVERSAL = 0;
+ private final int BACKWARD_TRAVERSAL = 1;
/*
* When true (by default), the legacy merge-sort algo is used to sort an FTP cycle.
--- a/jdk/src/java.desktop/share/classes/javax/swing/SwingWorker.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/SwingWorker.java Wed Jul 05 20:52:10 2017 +0200
@@ -827,7 +827,7 @@
}
private static class DoSubmitAccumulativeRunnable
extends AccumulativeRunnable<Runnable> implements ActionListener {
- private final static int DELAY = 1000 / 30;
+ private static final int DELAY = 1000 / 30;
@Override
protected void run(List<Runnable> args) {
for (Runnable runnable : args) {
--- a/jdk/src/java.desktop/share/classes/javax/swing/Timer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/Timer.java Wed Jul 05 20:52:10 2017 +0200
@@ -172,16 +172,16 @@
// notify is set to true when the Timer fires and the Runnable is queued.
// It will be set to false after notifying the listeners (if coalesce is
// true) or if the developer invokes stop.
- private transient final AtomicBoolean notify = new AtomicBoolean(false);
+ private final transient AtomicBoolean notify = new AtomicBoolean(false);
private volatile int initialDelay, delay;
private volatile boolean repeats = true, coalesce = true;
- private transient final Runnable doPostEvent;
+ private final transient Runnable doPostEvent;
private static volatile boolean logTimers;
- private transient final Lock lock = new ReentrantLock();
+ private final transient Lock lock = new ReentrantLock();
// This field is maintained by TimerQueue.
// eventQueued can also be reset by the TimerQueue, but will only ever
--- a/jdk/src/java.desktop/share/classes/javax/swing/TimerQueue.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/TimerQueue.java Wed Jul 05 20:52:10 2017 +0200
@@ -267,7 +267,7 @@
}
- final public long getDelay(TimeUnit unit) {
+ public final long getDelay(TimeUnit unit) {
return unit.convert(time - now(), TimeUnit.NANOSECONDS);
}
--- a/jdk/src/java.desktop/share/classes/javax/swing/TransferHandler.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/TransferHandler.java Wed Jul 05 20:52:10 2017 +0200
@@ -47,8 +47,8 @@
import java.security.AccessControlContext;
import java.security.ProtectionDomain;
-import sun.misc.SharedSecrets;
-import sun.misc.JavaSecurityAccess;
+import jdk.internal.misc.SharedSecrets;
+import jdk.internal.misc.JavaSecurityAccess;
import sun.awt.AWTAccessor;
@@ -210,7 +210,7 @@
* @see #importData(TransferHandler.TransferSupport)
* @since 1.6
*/
- public final static class TransferSupport {
+ public static final class TransferSupport {
private boolean isDrop;
private Component component;
--- a/jdk/src/java.desktop/share/classes/javax/swing/UIManager.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/UIManager.java Wed Jul 05 20:52:10 2017 +0200
@@ -1074,7 +1074,7 @@
* @see #getAuxiliaryLookAndFeels
* @see #getInstalledLookAndFeels
*/
- static public void addAuxiliaryLookAndFeel(LookAndFeel laf) {
+ public static void addAuxiliaryLookAndFeel(LookAndFeel laf) {
maybeInitialize();
if (!laf.isSupportedLookAndFeel()) {
@@ -1115,7 +1115,7 @@
* @see #setLookAndFeel
* @see #getInstalledLookAndFeels
*/
- static public boolean removeAuxiliaryLookAndFeel(LookAndFeel laf) {
+ public static boolean removeAuxiliaryLookAndFeel(LookAndFeel laf) {
maybeInitialize();
boolean result;
@@ -1153,7 +1153,7 @@
* @see #setLookAndFeel
* @see #getInstalledLookAndFeels
*/
- static public LookAndFeel[] getAuxiliaryLookAndFeels() {
+ public static LookAndFeel[] getAuxiliaryLookAndFeels() {
maybeInitialize();
Vector<LookAndFeel> v = getLAFState().auxLookAndFeels;
--- a/jdk/src/java.desktop/share/classes/javax/swing/border/TitledBorder.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/border/TitledBorder.java Wed Jul 05 20:52:10 2017 +0200
@@ -100,55 +100,55 @@
/**
* Use the default vertical orientation for the title text.
*/
- static public final int DEFAULT_POSITION = 0;
+ public static final int DEFAULT_POSITION = 0;
/** Position the title above the border's top line. */
- static public final int ABOVE_TOP = 1;
+ public static final int ABOVE_TOP = 1;
/** Position the title in the middle of the border's top line. */
- static public final int TOP = 2;
+ public static final int TOP = 2;
/** Position the title below the border's top line. */
- static public final int BELOW_TOP = 3;
+ public static final int BELOW_TOP = 3;
/** Position the title above the border's bottom line. */
- static public final int ABOVE_BOTTOM = 4;
+ public static final int ABOVE_BOTTOM = 4;
/** Position the title in the middle of the border's bottom line. */
- static public final int BOTTOM = 5;
+ public static final int BOTTOM = 5;
/** Position the title below the border's bottom line. */
- static public final int BELOW_BOTTOM = 6;
+ public static final int BELOW_BOTTOM = 6;
/**
* Use the default justification for the title text.
*/
- static public final int DEFAULT_JUSTIFICATION = 0;
+ public static final int DEFAULT_JUSTIFICATION = 0;
/** Position title text at the left side of the border line. */
- static public final int LEFT = 1;
+ public static final int LEFT = 1;
/** Position title text in the center of the border line. */
- static public final int CENTER = 2;
+ public static final int CENTER = 2;
/** Position title text at the right side of the border line. */
- static public final int RIGHT = 3;
+ public static final int RIGHT = 3;
/** Position title text at the left side of the border line
* for left to right orientation, at the right side of the
* border line for right to left orientation.
*/
- static public final int LEADING = 4;
+ public static final int LEADING = 4;
/** Position title text at the right side of the border line
* for left to right orientation, at the left side of the
* border line for right to left orientation.
*/
- static public final int TRAILING = 5;
+ public static final int TRAILING = 5;
/**
* Space between the border and the component's edge
*/
- static protected final int EDGE_SPACING = 2;
+ protected static final int EDGE_SPACING = 2;
/**
* Space between the border and text
*/
- static protected final int TEXT_SPACING = 2;
+ protected static final int TEXT_SPACING = 2;
/**
* Horizontal inset of text that is left or right justified
*/
- static protected final int TEXT_INSET_H = 5;
+ protected static final int TEXT_INSET_H = 5;
/**
* Creates a TitledBorder instance.
--- a/jdk/src/java.desktop/share/classes/javax/swing/event/EventListenerList.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/event/EventListenerList.java Wed Jul 05 20:52:10 2017 +0200
@@ -100,7 +100,7 @@
@SuppressWarnings("serial")
public class EventListenerList implements Serializable {
/* A null array to be shared by all empty listener lists*/
- private final static Object[] NULL_ARRAY = new Object[0];
+ private static final Object[] NULL_ARRAY = new Object[0];
/** The list of ListenerType - Listener pairs */
protected transient Object[] listenerList = NULL_ARRAY;
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicButtonUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicButtonUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -64,7 +64,7 @@
*/
protected int defaultTextShiftOffset;
- private final static String propertyPrefix = "Button" + ".";
+ private static final String propertyPrefix = "Button" + ".";
private static final Object BASIC_BUTTON_UI_KEY = new Object();
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicCheckBoxUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicCheckBoxUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -54,7 +54,7 @@
private static final Object BASIC_CHECK_BOX_UI_KEY = new Object();
- private final static String propertyPrefix = "CheckBox" + ".";
+ private static final String propertyPrefix = "CheckBox" + ".";
// ********************************
// Create PLAF
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboBoxRenderer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicComboBoxRenderer.java Wed Jul 05 20:52:10 2017 +0200
@@ -57,7 +57,7 @@
* the <code>setBorder</code> method.
*/
protected static Border noFocusBorder = new EmptyBorder(1, 1, 1, 1);
- private final static Border SAFE_NO_FOCUS_BORDER = new EmptyBorder(1, 1, 1, 1);
+ private static final Border SAFE_NO_FOCUS_BORDER = new EmptyBorder(1, 1, 1, 1);
/**
* Constructs a new instance of {@code BasicComboBoxRenderer}.
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicIconFactory.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicIconFactory.java Wed Jul 05 20:52:10 2017 +0200
@@ -167,7 +167,7 @@
private static class CheckBoxIcon implements Icon, Serializable
{
- final static int csize = 13;
+ static final int csize = 13;
public void paintIcon(Component c, Graphics g, int x, int y) {
}
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicListUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicListUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -167,35 +167,35 @@
/**
* The bit relates to model changed property.
*/
- protected final static int modelChanged = 1 << 0;
+ protected static final int modelChanged = 1 << 0;
/**
* The bit relates to selection model changed property.
*/
- protected final static int selectionModelChanged = 1 << 1;
+ protected static final int selectionModelChanged = 1 << 1;
/**
* The bit relates to font changed property.
*/
- protected final static int fontChanged = 1 << 2;
+ protected static final int fontChanged = 1 << 2;
/**
* The bit relates to fixed cell width changed property.
*/
- protected final static int fixedCellWidthChanged = 1 << 3;
+ protected static final int fixedCellWidthChanged = 1 << 3;
/**
* The bit relates to fixed cell height changed property.
*/
- protected final static int fixedCellHeightChanged = 1 << 4;
+ protected static final int fixedCellHeightChanged = 1 << 4;
/**
* The bit relates to prototype cell value changed property.
*/
- protected final static int prototypeCellValueChanged = 1 << 5;
+ protected static final int prototypeCellValueChanged = 1 << 5;
/**
* The bit relates to cell renderer changed property.
*/
- protected final static int cellRendererChanged = 1 << 6;
- private final static int layoutOrientationChanged = 1 << 7;
- private final static int heightChanged = 1 << 8;
- private final static int widthChanged = 1 << 9;
- private final static int componentOrientationChanged = 1 << 10;
+ protected static final int cellRendererChanged = 1 << 6;
+ private static final int layoutOrientationChanged = 1 << 7;
+ private static final int heightChanged = 1 << 8;
+ private static final int widthChanged = 1 << 9;
+ private static final int componentOrientationChanged = 1 << 10;
private static final int DROP_LINE_THICKNESS = 2;
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicRadioButtonUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicRadioButtonUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -53,7 +53,7 @@
private boolean defaults_initialized = false;
- private final static String propertyPrefix = "RadioButton" + ".";
+ private static final String propertyPrefix = "RadioButton" + ".";
private KeyListener keyListener = null;
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicScrollBarUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -115,7 +115,7 @@
/** Scroll timer */
protected Timer scrollTimer;
- private final static int scrollSpeedThrottle = 60; // delay in milli seconds
+ private static final int scrollSpeedThrottle = 60; // delay in milli seconds
/**
* True indicates a middle click will absolutely position the
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -2542,21 +2542,21 @@
}
private static class Actions extends UIAction {
- final static String NEXT = "navigateNext";
- final static String PREVIOUS = "navigatePrevious";
- final static String RIGHT = "navigateRight";
- final static String LEFT = "navigateLeft";
- final static String UP = "navigateUp";
- final static String DOWN = "navigateDown";
- final static String PAGE_UP = "navigatePageUp";
- final static String PAGE_DOWN = "navigatePageDown";
- final static String REQUEST_FOCUS = "requestFocus";
- final static String REQUEST_FOCUS_FOR_VISIBLE =
+ static final String NEXT = "navigateNext";
+ static final String PREVIOUS = "navigatePrevious";
+ static final String RIGHT = "navigateRight";
+ static final String LEFT = "navigateLeft";
+ static final String UP = "navigateUp";
+ static final String DOWN = "navigateDown";
+ static final String PAGE_UP = "navigatePageUp";
+ static final String PAGE_DOWN = "navigatePageDown";
+ static final String REQUEST_FOCUS = "requestFocus";
+ static final String REQUEST_FOCUS_FOR_VISIBLE =
"requestFocusForVisibleComponent";
- final static String SET_SELECTED = "setSelectedIndex";
- final static String SELECT_FOCUSED = "selectTabWithFocus";
- final static String SCROLL_FORWARD = "scrollTabsForwardAction";
- final static String SCROLL_BACKWARD = "scrollTabsBackwardAction";
+ static final String SET_SELECTED = "setSelectedIndex";
+ static final String SELECT_FOCUSED = "selectTabWithFocus";
+ static final String SCROLL_FORWARD = "scrollTabsForwardAction";
+ static final String SCROLL_BACKWARD = "scrollTabsBackwardAction";
Actions(String key) {
super(key);
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextFieldUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTextFieldUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -97,7 +97,13 @@
String kind = elem.getName();
if (kind != null) {
if (kind.equals(AbstractDocument.ContentElementName)) {
- return new GlyphView(elem);
+ return new GlyphView(elem){
+ @Override
+ public float getMinimumSpan(int axis) {
+ // no wrap
+ return getPreferredSpan(axis);
+ }
+ };
} else if (kind.equals(AbstractDocument.ParagraphElementName)) {
return new I18nFieldView(elem);
}
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicToggleButtonUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicToggleButtonUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -46,7 +46,7 @@
private static final Object BASIC_TOGGLE_BUTTON_UI_KEY = new Object();
- private final static String propertyPrefix = "ToggleButton" + ".";
+ private static final String propertyPrefix = "ToggleButton" + ".";
// ********************************
// Create PLAF
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTreeUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -61,16 +61,16 @@
new StringBuilder("Tree.baselineComponent");
// Old actions forward to an instance of this.
- static private final Actions SHARED_ACTION = new Actions();
+ private static final Actions SHARED_ACTION = new Actions();
/**
* The collapsed icon.
*/
- transient protected Icon collapsedIcon;
+ protected transient Icon collapsedIcon;
/**
* The expanded icon.
*/
- transient protected Icon expandedIcon;
+ protected transient Icon expandedIcon;
/**
* Color used to draw hash marks. If <code>null</code> no hash marks
@@ -98,14 +98,14 @@
protected JTree tree;
/** Renderer that is being used to do the actual cell drawing. */
- transient protected TreeCellRenderer currentCellRenderer;
+ protected transient TreeCellRenderer currentCellRenderer;
/** Set to true if the renderer that is currently in the tree was
* created by this instance. */
protected boolean createdRenderer;
/** Editor for the tree. */
- transient protected TreeCellEditor cellEditor;
+ protected transient TreeCellEditor cellEditor;
/** Set to true if editor that is currently in the tree was
* created by this instance. */
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalCheckBoxUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalCheckBoxUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -60,7 +60,7 @@
private static final Object METAL_CHECK_BOX_UI_KEY = new Object();
- private final static String propertyPrefix = "CheckBox" + ".";
+ private static final String propertyPrefix = "CheckBox" + ".";
private boolean defaults_initialized = false;
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -954,7 +954,7 @@
}
}
- final static int space = 10;
+ static final int space = 10;
class IndentIcon implements Icon {
Icon icon = null;
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalIconFactory.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalIconFactory.java Wed Jul 05 20:52:10 2017 +0200
@@ -1617,7 +1617,7 @@
} // End class TreeFloppyDriveIcon
- static private final Dimension folderIcon16Size = new Dimension( 16, 16 );
+ private static final Dimension folderIcon16Size = new Dimension( 16, 16 );
/**
* Utility class for caching icon images. This is necessary because
@@ -1787,7 +1787,7 @@
}
- static private final Dimension fileIcon16Size = new Dimension( 16, 16 );
+ private static final Dimension fileIcon16Size = new Dimension( 16, 16 );
/**
* <p>
@@ -1887,7 +1887,7 @@
}
- static private final Dimension treeControlSize = new Dimension( 18, 18 );
+ private static final Dimension treeControlSize = new Dimension( 18, 18 );
/**
* <p>
@@ -2052,9 +2052,9 @@
// Menu Icons
//
- static private final Dimension menuArrowIconSize = new Dimension( 4, 8 );
- static private final Dimension menuCheckIconSize = new Dimension( 10, 10 );
- static private final int xOff = 4;
+ private static final Dimension menuArrowIconSize = new Dimension( 4, 8 );
+ private static final Dimension menuCheckIconSize = new Dimension( 10, 10 );
+ private static final int xOff = 4;
private static class MenuArrowIcon implements Icon, UIResource, Serializable
{
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalToolBarUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalToolBarUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -88,7 +88,7 @@
/**
* Registers the specified component.
*/
- synchronized static void register(JComponent c) {
+ static synchronized void register(JComponent c) {
if (c == null) {
// Exception is thrown as convenience for callers that are
// typed to throw an NPE.
@@ -100,7 +100,7 @@
/**
* Unregisters the specified component.
*/
- synchronized static void unregister(JComponent c) {
+ static synchronized void unregister(JComponent c) {
for (int counter = components.size() - 1; counter >= 0; counter--) {
// Search for the component, removing any flushed references
// along the way.
@@ -116,7 +116,7 @@
* Finds a previously registered component of class <code>target</code>
* that shares the JRootPane ancestor of <code>from</code>.
*/
- synchronized static Object findRegisteredComponentOfType(JComponent from,
+ static synchronized Object findRegisteredComponentOfType(JComponent from,
Class<?> target) {
JRootPane rp = SwingUtilities.getRootPane(from);
if (rp != null) {
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/SynthLookAndFeel.java Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2002, 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
@@ -949,8 +949,7 @@
* @comp the component to check
*/
private void repaintIfBackgroundsDiffer(JComponent comp) {
- ComponentUI ui = (ComponentUI)comp.getClientProperty(
- SwingUtilities2.COMPONENT_UI_PROPERTY_KEY);
+ ComponentUI ui = comp.getUI();
if (ui instanceof SynthUI) {
SynthUI synthUI = (SynthUI)ui;
SynthContext context = synthUI.getContext(comp);
--- a/jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/plaf/synth/doc-files/synthFileFormat.html Wed Jul 05 20:52:10 2017 +0200
@@ -105,7 +105,7 @@
<dd>Unique identifier for the style.</dd>
<dt><a name="style.clone"><samp>clone</samp></a></dt>
<dd>Identifier of a previously defined style that is copied
- and used for the new style. This provides a conveniant
+ and used for the new style. This provides a convenient
mechanism for overriding only a portion of an existing
style.</dd>
</dl>
--- a/jdk/src/java.desktop/share/classes/javax/swing/table/DefaultTableColumnModel.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/table/DefaultTableColumnModel.java Wed Jul 05 20:52:10 2017 +0200
@@ -73,7 +73,7 @@
protected EventListenerList listenerList = new EventListenerList();
/** Change event (only one needed) */
- transient protected ChangeEvent changeEvent = null;
+ protected transient ChangeEvent changeEvent = null;
/** Column selection allowed in this column model */
protected boolean columnSelectionAllowed;
--- a/jdk/src/java.desktop/share/classes/javax/swing/table/JTableHeader.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/table/JTableHeader.java Wed Jul 05 20:52:10 2017 +0200
@@ -106,13 +106,13 @@
protected boolean updateTableInRealTime;
/** The index of the column being resized. <code>null</code> if not resizing. */
- transient protected TableColumn resizingColumn;
+ protected transient TableColumn resizingColumn;
/** The index of the column being dragged. <code>null</code> if not dragging. */
- transient protected TableColumn draggedColumn;
+ protected transient TableColumn draggedColumn;
/** The distance from its original position the column has been dragged. */
- transient protected int draggedDistance;
+ protected transient int draggedDistance;
/**
* The default renderer to be used when a <code>TableColumn</code>
--- a/jdk/src/java.desktop/share/classes/javax/swing/table/TableColumn.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/table/TableColumn.java Wed Jul 05 20:52:10 2017 +0200
@@ -92,25 +92,25 @@
* Warning: The value of this constant, "columWidth" is wrong as the
* name of the property is "columnWidth".
*/
- public final static String COLUMN_WIDTH_PROPERTY = "columWidth";
+ public static final String COLUMN_WIDTH_PROPERTY = "columWidth";
/**
* Obsolete as of Java 2 platform v1.3. Please use string literals to identify
* properties.
*/
- public final static String HEADER_VALUE_PROPERTY = "headerValue";
+ public static final String HEADER_VALUE_PROPERTY = "headerValue";
/**
* Obsolete as of Java 2 platform v1.3. Please use string literals to identify
* properties.
*/
- public final static String HEADER_RENDERER_PROPERTY = "headerRenderer";
+ public static final String HEADER_RENDERER_PROPERTY = "headerRenderer";
/**
* Obsolete as of Java 2 platform v1.3. Please use string literals to identify
* properties.
*/
- public final static String CELL_RENDERER_PROPERTY = "cellRenderer";
+ public static final String CELL_RENDERER_PROPERTY = "cellRenderer";
//
// Instance Variables
@@ -173,7 +173,7 @@
* end of the resize.
*/
@Deprecated
- transient protected int resizedPostingDisableCount;
+ protected transient int resizedPostingDisableCount;
/**
* If any <code>PropertyChangeListeners</code> have been registered, the
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/AbstractDocument.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/AbstractDocument.java Wed Jul 05 20:52:10 2017 +0200
@@ -1300,7 +1300,7 @@
* @return the thread actively modifying the document
* or <code>null</code> if there are no modifications in progress
*/
- protected synchronized final Thread getCurrentWriter() {
+ protected final synchronized Thread getCurrentWriter() {
return currWriter;
}
@@ -1329,7 +1329,7 @@
* where order of delivery is not guaranteed and all listeners
* should be notified before further mutations are allowed.
*/
- protected synchronized final void writeLock() {
+ protected final synchronized void writeLock() {
try {
while ((numReaders > 0) || (currWriter != null)) {
if (Thread.currentThread() == currWriter) {
@@ -1359,7 +1359,7 @@
*
* @see #writeLock
*/
- protected synchronized final void writeUnlock() {
+ protected final synchronized void writeUnlock() {
if (--numWriters <= 0) {
numWriters = 0;
currWriter = null;
@@ -1378,7 +1378,7 @@
*
* @see #readUnlock
*/
- public synchronized final void readLock() {
+ public final synchronized void readLock() {
try {
while (currWriter != null) {
if (currWriter == Thread.currentThread()) {
@@ -1412,7 +1412,7 @@
*
* @see #readLock
*/
- public synchronized final void readUnlock() {
+ public final synchronized void readUnlock() {
if (currWriter == Thread.currentThread()) {
// writer has full read access.... may try to acquire
// lock in notification
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/AbstractWriter.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/AbstractWriter.java Wed Jul 05 20:52:10 2017 +0200
@@ -261,7 +261,7 @@
* @throws BadLocationException for an invalid location within
* the document
*/
- abstract protected void write() throws IOException, BadLocationException;
+ protected abstract void write() throws IOException, BadLocationException;
/**
* Returns the text associated with the element.
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultCaret.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultCaret.java Wed Jul 05 20:52:10 2017 +0200
@@ -1598,11 +1598,11 @@
boolean dotLTR;
boolean markLTR;
transient Handler handler = new Handler();
- transient private int[] flagXPoints = new int[3];
- transient private int[] flagYPoints = new int[3];
+ private transient int[] flagXPoints = new int[3];
+ private transient int[] flagYPoints = new int[3];
private transient NavigationFilter.FilterBypass filterBypass;
- static private transient Action selectWord = null;
- static private transient Action selectLine = null;
+ private static transient Action selectWord = null;
+ private static transient Action selectLine = null;
/**
* This is used to indicate if the caret currently owns the selection.
* This is always false if the system does not support the system
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultHighlighter.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultHighlighter.java Wed Jul 05 20:52:10 2017 +0200
@@ -352,7 +352,7 @@
// ---- member variables --------------------------------------------
- private final static Highlighter.Highlight[] noHighlights =
+ private static final Highlighter.Highlight[] noHighlights =
new Highlighter.Highlight[0];
private Vector<HighlightInfo> highlights = new Vector<HighlightInfo>();
private JTextComponent component;
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/DefaultStyledDocument.java Wed Jul 05 20:52:10 2017 +0200
@@ -2650,7 +2650,7 @@
}
/** Class-specific reference queues. */
- private final static Map<Class<?>, ReferenceQueue<DefaultStyledDocument>> queueMap
+ private static final Map<Class<?>, ReferenceQueue<DefaultStyledDocument>> queueMap
= new HashMap<Class<?>, ReferenceQueue<DefaultStyledDocument>>();
/** A weak reference to the document object. */
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/DocumentFilter.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/DocumentFilter.java Wed Jul 05 20:52:10 2017 +0200
@@ -129,7 +129,7 @@
* are invoked from the DocumentFilter.
* @since 1.4
*/
- public static abstract class FilterBypass {
+ public abstract static class FilterBypass {
/**
* Returns the Document the mutation is occurring on.
*
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/GapContent.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/GapContent.java Wed Jul 05 20:52:10 2017 +0200
@@ -332,7 +332,7 @@
private transient ReferenceQueue<StickyPosition> queue;
- final static int GROWTH_SIZE = 1024 * 512;
+ static final int GROWTH_SIZE = 1024 * 512;
// --- gap management -------------------------------
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/GlyphView.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/GlyphView.java Wed Jul 05 20:52:10 2017 +0200
@@ -550,11 +550,6 @@
*/
@Override
public float getMinimumSpan(int axis) {
- int w = getResizeWeight(axis);
- if (w == 0) {
- // can't resize
- return getPreferredSpan(axis);
- }
switch (axis) {
case View.X_AXIS:
if (minimumSpan < 0) {
@@ -1158,7 +1153,7 @@
*
* @since 1.3
*/
- public static abstract class GlyphPainter {
+ public abstract static class GlyphPainter {
/**
* Determine the span the glyphs given a start location
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/LayeredHighlighter.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/LayeredHighlighter.java Wed Jul 05 20:52:10 2017 +0200
@@ -55,7 +55,7 @@
/**
* Layered highlight renderer.
*/
- static public abstract class LayerPainter implements Highlighter.HighlightPainter {
+ public abstract static class LayerPainter implements Highlighter.HighlightPainter {
/**
* @return a shape
* @param g Graphics used to draw
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/NavigationFilter.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/NavigationFilter.java Wed Jul 05 20:52:10 2017 +0200
@@ -120,7 +120,7 @@
* not callback into the NavigationFilter.
* @since 1.4
*/
- public static abstract class FilterBypass {
+ public abstract static class FilterBypass {
/**
* Returns the Caret that is changing.
*
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/ParagraphView.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/ParagraphView.java Wed Jul 05 20:52:10 2017 +0200
@@ -1184,11 +1184,11 @@
lineSpacing);
}
- final static int SPACE_ADDON = 0;
- final static int SPACE_ADDON_LEFTOVER_END = 1;
- final static int START_JUSTIFIABLE = 2;
+ static final int SPACE_ADDON = 0;
+ static final int SPACE_ADDON_LEFTOVER_END = 1;
+ static final int START_JUSTIFIABLE = 2;
//this should be the last index in justificationData
- final static int END_JUSTIFIABLE = 3;
+ static final int END_JUSTIFIABLE = 3;
int justificationData[] = null;
}
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/TableView.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/TableView.java Wed Jul 05 20:52:10 2017 +0200
@@ -579,7 +579,7 @@
SizeRequirements[] columnRequirements;
Vector<TableRow> rows;
boolean gridValid;
- static final private BitSet EMPTY = new BitSet();
+ private static final BitSet EMPTY = new BitSet();
/**
* View of a row in a row-centric table.
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/CSS.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/CSS.java Wed Jul 05 20:52:10 2017 +0200
@@ -2433,7 +2433,7 @@
}
// CSS.Values are static, don't archive it.
- transient private CSS.Value style;
+ private transient CSS.Value style;
}
@SuppressWarnings("serial") // Same-version serialization only
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/CSSBorder.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/CSSBorder.java Wed Jul 05 20:52:10 2017 +0200
@@ -54,13 +54,13 @@
class CSSBorder extends AbstractBorder {
/** Indices for the attribute groups. */
- final static int COLOR = 0, STYLE = 1, WIDTH = 2;
+ static final int COLOR = 0, STYLE = 1, WIDTH = 2;
/** Indices for the box sides within the attribute group. */
- final static int TOP = 0, RIGHT = 1, BOTTOM = 2, LEFT = 3;
+ static final int TOP = 0, RIGHT = 1, BOTTOM = 2, LEFT = 3;
/** The attribute groups. */
- final static Attribute[][] ATTRIBUTES = {
+ static final Attribute[][] ATTRIBUTES = {
{ Attribute.BORDER_TOP_COLOR, Attribute.BORDER_RIGHT_COLOR,
Attribute.BORDER_BOTTOM_COLOR, Attribute.BORDER_LEFT_COLOR, },
{ Attribute.BORDER_TOP_STYLE, Attribute.BORDER_RIGHT_STYLE,
@@ -70,12 +70,12 @@
};
/** Parsers for the border properties. */
- final static CssValue PARSERS[] = {
+ static final CssValue PARSERS[] = {
new ColorValue(), new BorderStyle(), new BorderWidthValue(null, 0),
};
/** Default values for the border properties. */
- final static Object[] DEFAULTS = {
+ static final Object[] DEFAULTS = {
Attribute.BORDER_COLOR, // marker: value will be computed on request
PARSERS[1].parseCssValue(Attribute.BORDER_STYLE.getDefaultValue()),
PARSERS[2].parseCssValue(Attribute.BORDER_WIDTH.getDefaultValue()),
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/FormView.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/FormView.java Wed Jul 05 20:52:10 2017 +0200
@@ -129,7 +129,7 @@
* Document attribute name for storing POST data. JEditorPane.getPostData()
* uses the same name, should be kept in sync.
*/
- final static String PostDataProperty = "javax.swing.JEditorPane.postdata";
+ static final String PostDataProperty = "javax.swing.JEditorPane.postdata";
/**
* Used to indicate if the maximum span should be the same as the
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/HTMLDocument.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/HTMLDocument.java Wed Jul 05 20:52:10 2017 +0200
@@ -1885,7 +1885,7 @@
* its use should be performed under the protection of
* Document.render.
*/
- public static abstract class Iterator {
+ public abstract static class Iterator {
/**
* Return the attributes for this tag.
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/HTMLEditorKit.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/HTMLEditorKit.java Wed Jul 05 20:52:10 2017 +0200
@@ -987,7 +987,7 @@
* providing a different parser while reusing some of the
* implementation provided by this editor kit.
*/
- public static abstract class Parser {
+ public abstract static class Parser {
/**
* Parse the given stream and drive the given callback
* with the results of the parse. This method should
@@ -1564,7 +1564,7 @@
* methods may have inconsistent behavior, or return the wrong thing.
*/
@SuppressWarnings("serial") // Superclass is not serializable across versions
- public static abstract class HTMLTextAction extends StyledTextAction {
+ public abstract static class HTMLTextAction extends StyledTextAction {
/**
* Creates a new HTMLTextAction from a string action name.
@@ -2009,7 +2009,7 @@
/*
* Returns the object in an AttributeSet matching a key
*/
- static private Object getAttrValue(AttributeSet attr, HTML.Attribute key) {
+ private static Object getAttrValue(AttributeSet attr, HTML.Attribute key) {
Enumeration<?> names = attr.getAttributeNames();
while (names.hasMoreElements()) {
Object nextKey = names.nextElement();
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/Map.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/Map.java Wed Jul 05 20:52:10 2017 +0200
@@ -180,7 +180,7 @@
* % the returned value with be negative. If a parse error results
* from trying to parse one of the numbers null is returned.
*/
- static protected int[] extractCoords(Object stringCoords) {
+ protected static int[] extractCoords(Object stringCoords) {
if (stringCoords == null || !(stringCoords instanceof String)) {
return null;
}
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/StyleSheet.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/StyleSheet.java Wed Jul 05 20:52:10 2017 +0200
@@ -3196,7 +3196,7 @@
// ---- Variables ---------------------------------------------
- final static int DEFAULT_FONT_SIZE = 3;
+ static final int DEFAULT_FONT_SIZE = 3;
private CSS css;
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/html/TableView.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/html/TableView.java Wed Jul 05 20:52:10 2017 +0200
@@ -996,7 +996,7 @@
boolean skipComments = false;
boolean gridValid;
- static final private BitSet EMPTY = new BitSet();
+ private static final BitSet EMPTY = new BitSet();
class ColumnIterator implements CSS.LayoutIterator {
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/rtf/RTFAttributes.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/rtf/RTFAttributes.java Wed Jul 05 20:52:10 2017 +0200
@@ -145,7 +145,7 @@
/************************************************************************/
/************************************************************************/
- static abstract class GenericAttribute
+ abstract static class GenericAttribute
{
int domain;
Object swingName;
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/rtf/RTFGenerator.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/rtf/RTFGenerator.java Wed Jul 05 20:52:10 2017 +0200
@@ -76,14 +76,14 @@
/** The default color, used for text without an explicit color
* attribute. */
- static public final Color defaultRTFColor = Color.black;
+ public static final Color defaultRTFColor = Color.black;
- static public final float defaultFontSize = 12f;
+ public static final float defaultFontSize = 12f;
- static public final String defaultFontFamily = "Helvetica";
+ public static final String defaultFontFamily = "Helvetica";
/* constants so we can avoid allocating objects in inner loops */
- final static private Object MagicToken;
+ private static final Object MagicToken;
/* An array of character-keyword pairs. This could be done
as a dictionary (and lookup would be quicker), but that
@@ -91,7 +91,7 @@
written (slow!). */
static class CharacterKeywordPair
{ public char character; public String keyword; }
- static protected CharacterKeywordPair[] textKeywords;
+ protected static CharacterKeywordPair[] textKeywords;
static {
MagicToken = new Object();
@@ -112,7 +112,7 @@
static final char[] hexdigits = { '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
-static public void writeDocument(Document d, OutputStream to)
+public static void writeDocument(Document d, OutputStream to)
throws IOException
{
RTFGenerator gen = new RTFGenerator(to);
@@ -238,7 +238,7 @@
return null;
}
-static private Object attrDiff(MutableAttributeSet oldAttrs,
+private static Object attrDiff(MutableAttributeSet oldAttrs,
AttributeSet newAttrs,
Object key,
Object dfl)
@@ -265,7 +265,7 @@
return null;
}
-static private boolean equalArraysOK(Object a, Object b)
+private static boolean equalArraysOK(Object a, Object b)
{
Object[] aa, bb;
if (a == b)
@@ -987,7 +987,7 @@
* corresponding byte value (as an int, since bytes are signed).
*/
/* Not very efficient. TODO. */
-static protected int convertCharacter(int[] conversion, char ch)
+protected static int convertCharacter(int[] conversion, char ch)
{
int index;
--- a/jdk/src/java.desktop/share/classes/javax/swing/text/rtf/RTFReader.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/text/rtf/RTFReader.java Wed Jul 05 20:52:10 2017 +0200
@@ -86,7 +86,7 @@
* Unicode character. */
int skippingCharacters;
- static private Dictionary<String, RTFAttribute> straightforwardAttributes;
+ private static Dictionary<String, RTFAttribute> straightforwardAttributes;
static {
straightforwardAttributes = RTFAttributes.attributesByKeyword();
}
@@ -1066,7 +1066,7 @@
parserState.put("sec", sectionAttributes);
}
- abstract public void handleText(String text);
+ public abstract void handleText(String text);
public void handleBinaryBlob(byte[] data)
{
--- a/jdk/src/java.desktop/share/classes/javax/swing/tree/AbstractLayoutCache.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/tree/AbstractLayoutCache.java Wed Jul 05 20:52:10 2017 +0200
@@ -513,7 +513,7 @@
* Used by <code>AbstractLayoutCache</code> to determine the size
* and x origin of a particular node.
*/
- static public abstract class NodeDimensions {
+ public abstract static class NodeDimensions {
/**
* Returns, by reference in bounds, the size and x origin to
* place value at. The calling method is responsible for determining
--- a/jdk/src/java.desktop/share/classes/javax/swing/tree/DefaultMutableTreeNode.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/tree/DefaultMutableTreeNode.java Wed Jul 05 20:52:10 2017 +0200
@@ -95,7 +95,7 @@
* An enumeration that is always empty. This is used when an enumeration
* of a leaf node's children is requested.
*/
- static public final Enumeration<TreeNode> EMPTY_ENUMERATION
+ public static final Enumeration<TreeNode> EMPTY_ENUMERATION
= Collections.emptyEnumeration();
/** this node's parent, or null if this node has no parent */
@@ -105,7 +105,7 @@
protected Vector<TreeNode> children;
/** optional user object */
- transient protected Object userObject;
+ protected transient Object userObject;
/** true if the node is able to have children */
protected boolean allowsChildren;
--- a/jdk/src/java.desktop/share/classes/javax/swing/tree/DefaultTreeCellEditor.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/tree/DefaultTreeCellEditor.java Wed Jul 05 20:52:10 2017 +0200
@@ -72,7 +72,7 @@
* Component used in editing, obtained from the
* <code>editingContainer</code>.
*/
- transient protected Component editingComponent;
+ protected transient Component editingComponent;
/**
* As of Java 2 platform v1.4 this field should no longer be used. If
--- a/jdk/src/java.desktop/share/classes/javax/swing/tree/DefaultTreeCellRenderer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/tree/DefaultTreeCellRenderer.java Wed Jul 05 20:52:10 2017 +0200
@@ -131,13 +131,13 @@
// Icons
/** Icon used to show non-leaf nodes that aren't expanded. */
- transient protected Icon closedIcon;
+ protected transient Icon closedIcon;
/** Icon used to show leaf nodes. */
- transient protected Icon leafIcon;
+ protected transient Icon leafIcon;
/** Icon used to show non-leaf nodes that are expanded. */
- transient protected Icon openIcon;
+ protected transient Icon openIcon;
// Colors
/** Color to use for the foreground for selected nodes. */
--- a/jdk/src/java.desktop/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/javax/swing/tree/DefaultTreeSelectionModel.java Wed Jul 05 20:52:10 2017 +0200
@@ -78,7 +78,7 @@
protected EventListenerList listenerList = new EventListenerList();
/** Provides a row for a given path. */
- transient protected RowMapper rowMapper;
+ protected transient RowMapper rowMapper;
/** Handles maintaining the list selection model. The RowMapper is used
* to map from a TreePath to a row, and the value is then placed here. */
--- a/jdk/src/java.desktop/share/classes/sun/applet/AppletPanel.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/applet/AppletPanel.java Wed Jul 05 20:52:10 2017 +0200
@@ -65,13 +65,6 @@
*/
Applet applet;
- /**
- * Applet will allow initialization. Should be
- * set to false if loading a serialized applet
- * that was pickled in the init=true state.
- */
- protected boolean doInit = true;
-
/**
* The classloader for the applet.
@@ -79,23 +72,23 @@
protected AppletClassLoader loader;
/* applet event ids */
- public final static int APPLET_DISPOSE = 0;
- public final static int APPLET_LOAD = 1;
- public final static int APPLET_INIT = 2;
- public final static int APPLET_START = 3;
- public final static int APPLET_STOP = 4;
- public final static int APPLET_DESTROY = 5;
- public final static int APPLET_QUIT = 6;
- public final static int APPLET_ERROR = 7;
+ public static final int APPLET_DISPOSE = 0;
+ public static final int APPLET_LOAD = 1;
+ public static final int APPLET_INIT = 2;
+ public static final int APPLET_START = 3;
+ public static final int APPLET_STOP = 4;
+ public static final int APPLET_DESTROY = 5;
+ public static final int APPLET_QUIT = 6;
+ public static final int APPLET_ERROR = 7;
/* send to the parent to force relayout */
- public final static int APPLET_RESIZE = 51234;
+ public static final int APPLET_RESIZE = 51234;
/* sent to a (distant) parent to indicate that the applet is being
* loaded or as completed loading
*/
- public final static int APPLET_LOADING = 51235;
- public final static int APPLET_LOADING_COMPLETED = 51236;
+ public static final int APPLET_LOADING = 51235;
+ public static final int APPLET_LOADING_COMPLETED = 51236;
/**
* The current status. One of:
@@ -139,15 +132,14 @@
boolean loadAbortRequest = false;
/* abstract classes */
- abstract protected String getCode();
- abstract protected String getJarFiles();
- abstract protected String getSerializedObject();
+ protected abstract String getCode();
+ protected abstract String getJarFiles();
@Override
- abstract public int getWidth();
+ public abstract int getWidth();
@Override
- abstract public int getHeight();
- abstract public boolean hasInitialFocus();
+ public abstract int getHeight();
+ public abstract boolean hasInitialFocus();
private static int threadGroupNumber = 0;
@@ -258,11 +250,11 @@
private Queue<Integer> queue = null;
- synchronized public void addAppletListener(AppletListener l) {
+ public synchronized void addAppletListener(AppletListener l) {
listeners = AppletEventMulticaster.add(listeners, l);
}
- synchronized public void removeAppletListener(AppletListener l) {
+ public synchronized void removeAppletListener(AppletListener l) {
listeners = AppletEventMulticaster.remove(listeners, l);
}
@@ -430,13 +422,12 @@
break;
}
applet.resize(defaultAppletSize);
- if (doInit) {
- if (PerformanceLogger.loggingEnabled()) {
- PerformanceLogger.setTime("Applet Init");
- PerformanceLogger.outputLog();
- }
- applet.init();
+
+ if (PerformanceLogger.loggingEnabled()) {
+ PerformanceLogger.setTime("Applet Init");
+ PerformanceLogger.outputLog();
}
+ applet.init();
//Need the default(fallback) font to be created in this AppContext
Font f = getFont();
@@ -446,8 +437,6 @@
setFont(new Font(Font.DIALOG, Font.PLAIN, 12));
}
- doInit = true; // allow restarts
-
// Validate the applet in event dispatch thread
// to avoid deadlock.
try {
@@ -786,34 +775,17 @@
protected Applet createApplet(final AppletClassLoader loader) throws ClassNotFoundException,
IllegalAccessException, IOException, InstantiationException, InterruptedException {
- final String serName = getSerializedObject();
String code = getCode();
- if (code != null && serName != null) {
- System.err.println(amh.getMessage("runloader.err"));
-// return null;
- throw new InstantiationException("Either \"code\" or \"object\" should be specified, but not both.");
- }
- if (code == null && serName == null) {
+ if (code != null) {
+ applet = (Applet)loader.loadCode(code).newInstance();
+ } else {
String msg = "nocode";
status = APPLET_ERROR;
showAppletStatus(msg);
showAppletLog(msg);
repaint();
}
- if (code != null) {
- applet = (Applet)loader.loadCode(code).newInstance();
- doInit = true;
- } else {
- // serName is not null;
- try (InputStream is = AccessController.doPrivileged(
- (PrivilegedAction<InputStream>)() -> loader.getResourceAsStream(serName));
- ObjectInputStream ois = new AppletObjectInputStream(is, loader)) {
-
- applet = (Applet) ois.readObject();
- doInit = false; // skip over the first init
- }
- }
// Determine the JDK level that the applet targets.
// This is critical for enabling certain backward
--- a/jdk/src/java.desktop/share/classes/sun/applet/AppletViewer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/applet/AppletViewer.java Wed Jul 05 20:52:10 2017 +0200
@@ -1081,7 +1081,7 @@
static String encoding = null;
- static private Reader makeReader(InputStream is) {
+ private static Reader makeReader(InputStream is) {
if (encoding != null) {
try {
return new BufferedReader(new InputStreamReader(is, encoding));
--- a/jdk/src/java.desktop/share/classes/sun/awt/AppContext.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/AppContext.java Wed Jul 05 20:52:10 2017 +0200
@@ -44,6 +44,8 @@
import java.beans.PropertyChangeListener;
import java.lang.ref.SoftReference;
+import jdk.internal.misc.JavaAWTAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.misc.ManagedLocalsThread;
import sun.util.logging.PlatformLogger;
import java.util.concurrent.locks.Condition;
@@ -148,8 +150,8 @@
/*
* The keys to store EventQueue push/pop lock and condition.
*/
- public final static Object EVENT_QUEUE_LOCK_KEY = new StringBuilder("EventQueue.Lock");
- public final static Object EVENT_QUEUE_COND_KEY = new StringBuilder("EventQueue.Condition");
+ public static final Object EVENT_QUEUE_LOCK_KEY = new StringBuilder("EventQueue.Lock");
+ public static final Object EVENT_QUEUE_COND_KEY = new StringBuilder("EventQueue.Condition");
/* A map of AppContexts, referenced by ThreadGroup.
*/
@@ -172,7 +174,7 @@
private static volatile AppContext mainAppContext = null;
private static class GetAppContextLock {};
- private final static Object getAppContextLock = new GetAppContextLock();
+ private static final Object getAppContextLock = new GetAppContextLock();
/*
* The hash map associated with this AppContext. A private delegate
@@ -839,7 +841,7 @@
// Set up JavaAWTAccess in SharedSecrets
static {
- sun.misc.SharedSecrets.setJavaAWTAccess(new sun.misc.JavaAWTAccess() {
+ SharedSecrets.setJavaAWTAccess(new JavaAWTAccess() {
private boolean hasRootThreadGroup(final AppContext ecx) {
return AccessController.doPrivileged(new PrivilegedAction<Boolean>() {
@Override
@@ -878,13 +880,13 @@
// the window of opportunity in which that issue could
// happen.
if (numAppContexts.get() > 0) {
- // Defaults to thread group caching.
- // This is probably not required as we only really need
- // isolation in a deployed applet environment, in which
- // case ecx will not be null when we reach here
- // However it helps emulate the deployed environment,
- // in tests for instance.
- ecx = ecx != null ? ecx : getAppContext();
+ // Defaults to thread group caching.
+ // This is probably not required as we only really need
+ // isolation in a deployed applet environment, in which
+ // case ecx will not be null when we reach here
+ // However it helps emulate the deployed environment,
+ // in tests for instance.
+ ecx = ecx != null ? ecx : getAppContext();
}
// getAppletContext() may be called when initializing the main
@@ -895,8 +897,8 @@
// the root TG as its thread group.
// See: JDK-8023258
final boolean isMainAppContext = ecx == null
- || mainAppContext == ecx
- || mainAppContext == null && hasRootThreadGroup(ecx);
+ || mainAppContext == ecx
+ || mainAppContext == null && hasRootThreadGroup(ecx);
return isMainAppContext ? null : ecx;
}
--- a/jdk/src/java.desktop/share/classes/sun/awt/DebugSettings.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/DebugSettings.java Wed Jul 05 20:52:10 2017 +0200
@@ -252,9 +252,9 @@
private static final String PROP_CTRACE = "ctrace";
private static final int PROP_CTRACE_LEN = PROP_CTRACE.length();
- private native synchronized void setCTracingOn(boolean enabled);
- private native synchronized void setCTracingOn(boolean enabled, String file);
- private native synchronized void setCTracingOn(boolean enabled, String file, int line);
+ private synchronized native void setCTracingOn(boolean enabled);
+ private synchronized native void setCTracingOn(boolean enabled, String file);
+ private synchronized native void setCTracingOn(boolean enabled, String file, int line);
private void loadNativeSettings() {
boolean ctracingOn;
--- a/jdk/src/java.desktop/share/classes/sun/awt/ExtendedKeyCodes.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/ExtendedKeyCodes.java Wed Jul 05 20:52:10 2017 +0200
@@ -12,16 +12,16 @@
* or higher.
*/
// Keycodes declared in KeyEvent.java with corresponding Unicode values.
- private final static HashMap<Integer, Integer> regularKeyCodesMap =
+ private static final HashMap<Integer, Integer> regularKeyCodesMap =
new HashMap<Integer,Integer>(98, 1.0f);
// Keycodes derived from Unicode values. Here should be collected codes
// for characters appearing on the primary layer of at least one
// known keyboard layout. For instance, sterling sign is on the primary layer
// of the Mac Italian layout.
- private final static HashSet<Integer> extendedKeyCodesSet =
+ private static final HashSet<Integer> extendedKeyCodesSet =
new HashSet<Integer>(501, 1.0f);
- final public static int getExtendedKeyCodeForChar( int c ) {
+ public static final int getExtendedKeyCodeForChar( int c ) {
int uc = Character.toUpperCase( c );
int lc = Character.toLowerCase( c );
if (regularKeyCodesMap.containsKey( c )) {
--- a/jdk/src/java.desktop/share/classes/sun/awt/OSInfo.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/OSInfo.java Wed Jul 05 20:52:10 2017 +0200
@@ -60,7 +60,7 @@
private static final String OS_NAME = "os.name";
private static final String OS_VERSION = "os.version";
- private final static Map<String, WindowsVersion> windowsVersionMap = new HashMap<String, OSInfo.WindowsVersion>();
+ private static final Map<String, WindowsVersion> windowsVersionMap = new HashMap<String, OSInfo.WindowsVersion>();
static {
windowsVersionMap.put(WINDOWS_95.toString(), WINDOWS_95);
--- a/jdk/src/java.desktop/share/classes/sun/awt/SunHints.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/SunHints.java Wed Jul 05 20:52:10 2017 +0200
@@ -102,7 +102,7 @@
private static Value[][] ValueObjects =
new Value[NUM_KEYS][VALS_PER_KEY];
- private synchronized static void register(SunHints.Key key,
+ private static synchronized void register(SunHints.Key key,
Value value) {
int kindex = key.getIndex();
int vindex = value.getIndex();
--- a/jdk/src/java.desktop/share/classes/sun/awt/SunToolkit.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/SunToolkit.java Wed Jul 05 20:52:10 2017 +0200
@@ -113,7 +113,7 @@
* the 4-bytes limit for the int type. (CR 6799099)
* One more bit is reserved for FIRST_HIGH_BIT.
*/
- public final static int MAX_BUTTONS_SUPPORTED = 20;
+ public static final int MAX_BUTTONS_SUPPORTED = 20;
/**
* Creates and initializes EventQueue instance for the specified
@@ -1820,7 +1820,7 @@
* Returns the value of "sun.awt.disableMixing" property. Default
* value is {@code false}.
*/
- public synchronized static boolean getSunAwtDisableMixing() {
+ public static synchronized boolean getSunAwtDisableMixing() {
if (sunAwtDisableMixing == null) {
sunAwtDisableMixing = AccessController.doPrivileged(
new GetBooleanAction("sun.awt.disableMixing"));
--- a/jdk/src/java.desktop/share/classes/sun/awt/UngrabEvent.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/UngrabEvent.java Wed Jul 05 20:52:10 2017 +0200
@@ -42,7 +42,7 @@
@SuppressWarnings("serial")
public class UngrabEvent extends AWTEvent {
- private final static int UNGRAB_EVENT_ID = 1998;
+ private static final int UNGRAB_EVENT_ID = 1998;
public UngrabEvent(Component source) {
super(source, UNGRAB_EVENT_ID);
--- a/jdk/src/java.desktop/share/classes/sun/awt/datatransfer/DataTransferer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/datatransfer/DataTransferer.java Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -938,15 +938,9 @@
try (ByteArrayOutputStream bos = new ByteArrayOutputStream()) {
try (InputStream is = (InputStream)obj) {
- boolean eof = false;
- int avail = is.available();
- byte[] tmp = new byte[avail > 8192 ? avail : 8192];
- do {
- int aValue;
- if (!(eof = (aValue = is.read(tmp, 0, tmp.length)) == -1)) {
- bos.write(tmp, 0, aValue);
- }
- } while (!eof);
+ is.mark(Integer.MAX_VALUE);
+ is.transferTo(bos);
+ is.reset();
}
if (DataFlavorUtil.isFlavorCharsetTextType(flavor) && isTextFormat(format)) {
@@ -1086,14 +1080,14 @@
return new File(filePath);
}
- private final static String[] DEPLOYMENT_CACHE_PROPERTIES = {
+ private static final String[] DEPLOYMENT_CACHE_PROPERTIES = {
"deployment.system.cachedir",
"deployment.user.cachedir",
"deployment.javaws.cachedir",
"deployment.javapi.cachedir"
};
- private final static ArrayList <File> deploymentCacheDirectoryList = new ArrayList<>();
+ private static final ArrayList <File> deploymentCacheDirectoryList = new ArrayList<>();
private static boolean isFileInWebstartedCache(File f) {
--- a/jdk/src/java.desktop/share/classes/sun/awt/dnd/SunDragSourceContextPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/dnd/SunDragSourceContextPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -81,12 +81,12 @@
* dispatch constants
*/
- protected final static int DISPATCH_ENTER = 1;
- protected final static int DISPATCH_MOTION = 2;
- protected final static int DISPATCH_CHANGED = 3;
- protected final static int DISPATCH_EXIT = 4;
- protected final static int DISPATCH_FINISH = 5;
- protected final static int DISPATCH_MOUSE_MOVED = 6;
+ protected static final int DISPATCH_ENTER = 1;
+ protected static final int DISPATCH_MOTION = 2;
+ protected static final int DISPATCH_CHANGED = 3;
+ protected static final int DISPATCH_EXIT = 4;
+ protected static final int DISPATCH_FINISH = 5;
+ protected static final int DISPATCH_MOUSE_MOVED = 6;
/**
* construct a new SunDragSourceContextPeer
--- a/jdk/src/java.desktop/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/dnd/SunDropTargetContextPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -137,10 +137,10 @@
* constants used by dropAccept() or dropReject()
*/
- protected final static int STATUS_NONE = 0; // none pending
- protected final static int STATUS_WAIT = 1; // drop pending
- protected final static int STATUS_ACCEPT = 2;
- protected final static int STATUS_REJECT = -1;
+ protected static final int STATUS_NONE = 0; // none pending
+ protected static final int STATUS_WAIT = 1; // drop pending
+ protected static final int STATUS_ACCEPT = 2;
+ protected static final int STATUS_REJECT = -1;
/**
* create the peer
--- a/jdk/src/java.desktop/share/classes/sun/awt/geom/AreaOp.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/geom/AreaOp.java Wed Jul 05 20:52:10 2017 +0200
@@ -31,7 +31,7 @@
import java.util.Arrays;
public abstract class AreaOp {
- public static abstract class CAGOp extends AreaOp {
+ public abstract static class CAGOp extends AreaOp {
boolean inLeft;
boolean inRight;
boolean inResult;
--- a/jdk/src/java.desktop/share/classes/sun/awt/geom/Crossings.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/geom/Crossings.java Wed Jul 05 20:52:10 2017 +0200
@@ -307,7 +307,7 @@
return false;
}
- public final static class EvenOdd extends Crossings {
+ public static final class EvenOdd extends Crossings {
public EvenOdd(double xlo, double ylo, double xhi, double yhi) {
super(xlo, ylo, xhi, yhi);
}
@@ -390,7 +390,7 @@
}
}
- public final static class NonZero extends Crossings {
+ public static final class NonZero extends Crossings {
private int crosscounts[];
public NonZero(double xlo, double ylo, double xhi, double yhi) {
--- a/jdk/src/java.desktop/share/classes/sun/awt/im/CompositionArea.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/im/CompositionArea.java Wed Jul 05 20:52:10 2017 +0200
@@ -64,11 +64,11 @@
private TextLayout composedTextLayout;
private TextHitInfo caret = null;
private JFrame compositionWindow;
- private final static int TEXT_ORIGIN_X = 5;
- private final static int TEXT_ORIGIN_Y = 15;
- private final static int PASSIVE_WIDTH = 480;
- private final static int WIDTH_MARGIN=10;
- private final static int HEIGHT_MARGIN=3;
+ private static final int TEXT_ORIGIN_X = 5;
+ private static final int TEXT_ORIGIN_Y = 15;
+ private static final int PASSIVE_WIDTH = 480;
+ private static final int WIDTH_MARGIN=10;
+ private static final int HEIGHT_MARGIN=3;
CompositionArea() {
// create composition window with localized title
--- a/jdk/src/java.desktop/share/classes/sun/awt/im/InputMethodContext.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/im/InputMethodContext.java Wed Jul 05 20:52:10 2017 +0200
@@ -66,7 +66,7 @@
private CompositionAreaHandler compositionAreaHandler;
private Object compositionAreaHandlerLock = new Object();
- static private boolean belowTheSpotInputRequested;
+ private static boolean belowTheSpotInputRequested;
private boolean inputMethodSupportsBelowTheSpot;
static {
--- a/jdk/src/java.desktop/share/classes/sun/awt/image/ByteComponentRaster.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/image/ByteComponentRaster.java Wed Jul 05 20:52:10 2017 +0200
@@ -76,7 +76,7 @@
/** A cached copy of minY + height for use in bounds checks. */
private int maxY;
- static private native void initIDs();
+ private static native void initIDs();
static {
/* ensure that the necessary native libraries are loaded */
NativeLibLoader.loadLibraries();
--- a/jdk/src/java.desktop/share/classes/sun/awt/image/BytePackedRaster.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/image/BytePackedRaster.java Wed Jul 05 20:52:10 2017 +0200
@@ -73,7 +73,7 @@
/** A cached copy of minY + height for use in bounds checks. */
private int maxY;
- static private native void initIDs();
+ private static native void initIDs();
static {
/* ensure that the necessary native libraries are loaded */
NativeLibLoader.loadLibraries();
--- a/jdk/src/java.desktop/share/classes/sun/awt/image/ImageCache.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/image/ImageCache.java Wed Jul 05 20:52:10 2017 +0200
@@ -40,7 +40,7 @@
* The ImageCache must be used from the thread with an AppContext only.
*
*/
-final public class ImageCache {
+public final class ImageCache {
// Ordered Map keyed by args hash, ordered by most recent accessed entry.
private final LinkedHashMap<PixelsKey, ImageSoftReference> map
--- a/jdk/src/java.desktop/share/classes/sun/awt/image/ImageRepresentation.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/image/ImageRepresentation.java Wed Jul 05 20:52:10 2017 +0200
@@ -75,7 +75,7 @@
boolean isDefaultBI = false;
boolean isSameCM = false;
- private native static void initIDs();
+ private static native void initIDs();
static {
/* ensure that the necessary native libraries are loaded */
--- a/jdk/src/java.desktop/share/classes/sun/awt/image/ImagingLib.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/image/ImagingLib.java Wed Jul 05 20:52:10 2017 +0200
@@ -73,18 +73,18 @@
*/
private static native boolean init();
- static public native int transformBI(BufferedImage src, BufferedImage dst,
+ public static native int transformBI(BufferedImage src, BufferedImage dst,
double[] matrix, int interpType);
- static public native int transformRaster(Raster src, Raster dst,
+ public static native int transformRaster(Raster src, Raster dst,
double[] matrix,
int interpType);
- static public native int convolveBI(BufferedImage src, BufferedImage dst,
+ public static native int convolveBI(BufferedImage src, BufferedImage dst,
Kernel kernel, int edgeHint);
- static public native int convolveRaster(Raster src, Raster dst,
+ public static native int convolveRaster(Raster src, Raster dst,
Kernel kernel, int edgeHint);
- static public native int lookupByteBI(BufferedImage src, BufferedImage dst,
+ public static native int lookupByteBI(BufferedImage src, BufferedImage dst,
byte[][] table);
- static public native int lookupByteRaster(Raster src, Raster dst,
+ public static native int lookupByteRaster(Raster src, Raster dst,
byte[][] table);
static {
--- a/jdk/src/java.desktop/share/classes/sun/awt/image/IntegerComponentRaster.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/image/IntegerComponentRaster.java Wed Jul 05 20:52:10 2017 +0200
@@ -91,7 +91,7 @@
/** A cached copy of minY + height for use in bounds checks. */
private int maxY;
- static private native void initIDs();
+ private static native void initIDs();
static {
/* ensure that the necessary native libraries are loaded */
NativeLibLoader.loadLibraries();
--- a/jdk/src/java.desktop/share/classes/sun/awt/image/PNGImageDecoder.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/image/PNGImageDecoder.java Wed Jul 05 20:52:10 2017 +0200
@@ -650,13 +650,13 @@
}
/* code changed to make it work with ImageDecoder architecture
static int ThreadLimit = 10;
- private synchronized static void waitTurn() {
+ private static synchronized void waitTurn() {
try {
while(ThreadLimit<=0) PNGImageDecoder.class.wait(1000);
} catch(InterruptedException e){}
ThreadLimit--;
}
- private synchronized static void endTurn() {
+ private static synchronized void endTurn() {
if(ThreadLimit<=0) PNGImageDecoder.class.notify();
ThreadLimit++;
}
@@ -771,7 +771,7 @@
is the 1's complement of the final running CRC (see the
crc() routine below)). */
- static private int update_crc(int crc, byte[] buf, int offset, int len) {
+ private static int update_crc(int crc, byte[] buf, int offset, int len) {
int c = crc;
while (--len>=0)
c = crc_table[(c ^ buf[offset++]) & 0xff] ^ (c >>> 8);
@@ -779,7 +779,7 @@
}
/* Return the CRC of the bytes buf[0..len-1]. */
- static private int crc(byte[] buf, int offset, int len) {
+ private static int crc(byte[] buf, int offset, int len) {
return update_crc(0xffffffff, buf, offset, len) ^ 0xffffffff;
}
public static class Chromaticities {
--- a/jdk/src/java.desktop/share/classes/sun/awt/image/ShortComponentRaster.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/image/ShortComponentRaster.java Wed Jul 05 20:52:10 2017 +0200
@@ -76,7 +76,7 @@
/** A cached copy of minY + height for use in bounds checks. */
private int maxY;
- static private native void initIDs();
+ private static native void initIDs();
static {
/* ensure that the necessary native libraries are loaded */
NativeLibLoader.loadLibraries();
--- a/jdk/src/java.desktop/share/classes/sun/awt/image/SurfaceManager.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/awt/image/SurfaceManager.java Wed Jul 05 20:52:10 2017 +0200
@@ -51,7 +51,7 @@
*/
public abstract class SurfaceManager {
- public static abstract class ImageAccessor {
+ public abstract static class ImageAccessor {
public abstract SurfaceManager getSurfaceManager(Image img);
public abstract void setSurfaceManager(Image img, SurfaceManager mgr);
}
--- a/jdk/src/java.desktop/share/classes/sun/dc/DuctusRenderingEngine.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/dc/DuctusRenderingEngine.java Wed Jul 05 20:52:10 2017 +0200
@@ -359,7 +359,7 @@
private static Rasterizer theRasterizer;
- public synchronized static Rasterizer getRasterizer() {
+ public static synchronized Rasterizer getRasterizer() {
Rasterizer r = theRasterizer;
if (r == null) {
r = new Rasterizer();
@@ -369,7 +369,7 @@
return r;
}
- public synchronized static void dropRasterizer(Rasterizer r) {
+ public static synchronized void dropRasterizer(Rasterizer r) {
r.reset();
theRasterizer = r;
}
--- a/jdk/src/java.desktop/share/classes/sun/font/Type1Font.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/font/Type1Font.java Wed Jul 05 20:52:10 2017 +0200
@@ -102,8 +102,8 @@
private String psName = null;
- static private HashMap<String, String> styleAbbreviationsMapping;
- static private HashSet<String> styleNameTokes;
+ private static HashMap<String, String> styleAbbreviationsMapping;
+ private static HashSet<String> styleNameTokes;
static {
styleAbbreviationsMapping = new HashMap<>();
--- a/jdk/src/java.desktop/share/classes/sun/java2d/NullSurfaceData.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/NullSurfaceData.java Wed Jul 05 20:52:10 2017 +0200
@@ -63,7 +63,7 @@
return this;
}
- private final static NullPipe nullpipe = new NullPipe();
+ private static final NullPipe nullpipe = new NullPipe();
public void validatePipe(SunGraphics2D sg2d) {
sg2d.drawpipe = nullpipe;
--- a/jdk/src/java.desktop/share/classes/sun/java2d/StateTrackableDelegate.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/StateTrackableDelegate.java Wed Jul 05 20:52:10 2017 +0200
@@ -44,7 +44,7 @@
* of the StateTrackable interface that is permanently in the
* {@link State#UNTRACKABLE UNTRACKABLE} state.
*/
- public final static StateTrackableDelegate UNTRACKABLE_DELEGATE =
+ public static final StateTrackableDelegate UNTRACKABLE_DELEGATE =
new StateTrackableDelegate(UNTRACKABLE);
/**
@@ -52,7 +52,7 @@
* of the StateTrackable interface that is permanently in the
* {@link State#IMMUTABLE IMMUTABLE} state.
*/
- public final static StateTrackableDelegate IMMUTABLE_DELEGATE =
+ public static final StateTrackableDelegate IMMUTABLE_DELEGATE =
new StateTrackableDelegate(IMMUTABLE);
/**
--- a/jdk/src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/SunGraphics2D.java Wed Jul 05 20:52:10 2017 +0200
@@ -252,7 +252,7 @@
private FontInfo glyphVectorFontInfo;
private FontRenderContext glyphVectorFRC;
- private final static int slowTextTransformMask =
+ private static final int slowTextTransformMask =
AffineTransform.TYPE_GENERAL_TRANSFORM
| AffineTransform.TYPE_MASK_ROTATION
| AffineTransform.TYPE_FLIP;
--- a/jdk/src/java.desktop/share/classes/sun/java2d/SurfaceManagerFactory.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/SurfaceManagerFactory.java Wed Jul 05 20:52:10 2017 +0200
@@ -50,7 +50,7 @@
*
* @return the surface manager factory
*/
- public synchronized static SurfaceManagerFactory getInstance() {
+ public static synchronized SurfaceManagerFactory getInstance() {
if (instance == null) {
throw new IllegalStateException("No SurfaceManagerFactory set.");
@@ -65,7 +65,7 @@
*
* @param factory the factory to set
*/
- public synchronized static void setInstance(SurfaceManagerFactory factory) {
+ public static synchronized void setInstance(SurfaceManagerFactory factory) {
if (factory == null) {
// We don't want to allow setting this to null at any time.
--- a/jdk/src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMS.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/cmm/lcms/LCMS.java Wed Jul 05 20:52:10 2017 +0200
@@ -136,7 +136,7 @@
private native void setTagDataNative(long ptr, int tagSignature,
byte[] data);
- public synchronized static native LCMSProfile getProfileID(ICC_Profile profile);
+ public static synchronized native LCMSProfile getProfileID(ICC_Profile profile);
/* Helper method used from LCMSColorTransfrom */
static long createTransform(
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/CompositeType.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/CompositeType.java Wed Jul 05 20:52:10 2017 +0200
@@ -242,7 +242,7 @@
this.uniqueID = makeUniqueID(desc);
}
- public synchronized static int makeUniqueID(String desc) {
+ public static synchronized int makeUniqueID(String desc) {
Integer i = compositeUIDMap.get(desc);
if (i == null) {
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphList.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphList.java Wed Jul 05 20:52:10 2017 +0200
@@ -39,9 +39,9 @@
*/
public class DrawGlyphList extends GraphicsPrimitive {
- public final static String methodSignature = "DrawGlyphList(...)".toString();
+ public static final String methodSignature = "DrawGlyphList(...)".toString();
- public final static int primTypeID = makePrimTypeID();
+ public static final int primTypeID = makePrimTypeID();
public static DrawGlyphList locate(SurfaceType srctype,
CompositeType comptype,
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphListAA.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphListAA.java Wed Jul 05 20:52:10 2017 +0200
@@ -39,9 +39,9 @@
*/
public class DrawGlyphListAA extends GraphicsPrimitive {
- public final static String methodSignature = "DrawGlyphListAA(...)".toString();
+ public static final String methodSignature = "DrawGlyphListAA(...)".toString();
- public final static int primTypeID = makePrimTypeID();
+ public static final int primTypeID = makePrimTypeID();
public static DrawGlyphListAA locate(SurfaceType srctype,
CompositeType comptype,
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphListLCD.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawGlyphListLCD.java Wed Jul 05 20:52:10 2017 +0200
@@ -39,10 +39,10 @@
*/
public class DrawGlyphListLCD extends GraphicsPrimitive {
- public final static String
+ public static final String
methodSignature = "DrawGlyphListLCD(...)".toString();
- public final static int primTypeID = makePrimTypeID();
+ public static final int primTypeID = makePrimTypeID();
public static DrawGlyphListLCD locate(SurfaceType srctype,
CompositeType comptype,
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawLine.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawLine.java Wed Jul 05 20:52:10 2017 +0200
@@ -44,9 +44,9 @@
*/
public class DrawLine extends GraphicsPrimitive
{
- public final static String methodSignature = "DrawLine(...)".toString();
+ public static final String methodSignature = "DrawLine(...)".toString();
- public final static int primTypeID = makePrimTypeID();
+ public static final int primTypeID = makePrimTypeID();
public static DrawLine locate(SurfaceType srctype,
CompositeType comptype,
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawParallelogram.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawParallelogram.java Wed Jul 05 20:52:10 2017 +0200
@@ -42,10 +42,10 @@
*/
public class DrawParallelogram extends GraphicsPrimitive
{
- public final static String methodSignature =
+ public static final String methodSignature =
"DrawParallelogram(...)".toString();
- public final static int primTypeID = makePrimTypeID();
+ public static final int primTypeID = makePrimTypeID();
public static DrawParallelogram locate(SurfaceType srctype,
CompositeType comptype,
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawPath.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawPath.java Wed Jul 05 20:52:10 2017 +0200
@@ -38,10 +38,10 @@
*/
public class DrawPath extends GraphicsPrimitive {
- public final static String methodSignature =
+ public static final String methodSignature =
"DrawPath(...)".toString();
- public final static int primTypeID = makePrimTypeID();
+ public static final int primTypeID = makePrimTypeID();
public static DrawPath locate(SurfaceType srctype,
CompositeType comptype,
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawPolygons.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawPolygons.java Wed Jul 05 20:52:10 2017 +0200
@@ -41,9 +41,9 @@
*/
public class DrawPolygons extends GraphicsPrimitive
{
- public final static String methodSignature = "DrawPolygons(...)".toString();
+ public static final String methodSignature = "DrawPolygons(...)".toString();
- public final static int primTypeID = makePrimTypeID();
+ public static final int primTypeID = makePrimTypeID();
public static DrawPolygons locate(SurfaceType srctype,
CompositeType comptype,
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawRect.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/DrawRect.java Wed Jul 05 20:52:10 2017 +0200
@@ -44,9 +44,9 @@
*/
public class DrawRect extends GraphicsPrimitive
{
- public final static String methodSignature = "DrawRect(...)".toString();
+ public static final String methodSignature = "DrawRect(...)".toString();
- public final static int primTypeID = makePrimTypeID();
+ public static final int primTypeID = makePrimTypeID();
public static DrawRect locate(SurfaceType srctype,
CompositeType comptype,
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillParallelogram.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillParallelogram.java Wed Jul 05 20:52:10 2017 +0200
@@ -40,10 +40,10 @@
*/
public class FillParallelogram extends GraphicsPrimitive
{
- public final static String methodSignature =
+ public static final String methodSignature =
"FillParallelogram(...)".toString();
- public final static int primTypeID = makePrimTypeID();
+ public static final int primTypeID = makePrimTypeID();
public static FillParallelogram locate(SurfaceType srctype,
CompositeType comptype,
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillPath.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillPath.java Wed Jul 05 20:52:10 2017 +0200
@@ -38,10 +38,10 @@
*/
public class FillPath extends GraphicsPrimitive {
- public final static String methodSignature =
+ public static final String methodSignature =
"FillPath(...)".toString();
- public final static int primTypeID = makePrimTypeID();
+ public static final int primTypeID = makePrimTypeID();
public static FillPath locate(SurfaceType srctype,
CompositeType comptype,
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillRect.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillRect.java Wed Jul 05 20:52:10 2017 +0200
@@ -44,9 +44,9 @@
*/
public class FillRect extends GraphicsPrimitive
{
- public final static String methodSignature = "FillRect(...)".toString();
+ public static final String methodSignature = "FillRect(...)".toString();
- public final static int primTypeID = makePrimTypeID();
+ public static final int primTypeID = makePrimTypeID();
public static FillRect locate(SurfaceType srctype,
CompositeType comptype,
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillSpans.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/FillSpans.java Wed Jul 05 20:52:10 2017 +0200
@@ -45,9 +45,9 @@
*/
public class FillSpans extends GraphicsPrimitive
{
- public final static String methodSignature = "FillSpans(...)".toString();
+ public static final String methodSignature = "FillSpans(...)".toString();
- public final static int primTypeID = makePrimTypeID();
+ public static final int primTypeID = makePrimTypeID();
public static FillSpans locate(SurfaceType srctype,
CompositeType comptype,
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/GraphicsPrimitive.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/GraphicsPrimitive.java Wed Jul 05 20:52:10 2017 +0200
@@ -119,14 +119,14 @@
private long pNativePrim; // Native blit loop info
- public synchronized static final int makePrimTypeID() {
+ public static final synchronized int makePrimTypeID() {
if (unusedPrimID > 255) {
throw new InternalError("primitive id overflow");
}
return unusedPrimID++;
}
- public synchronized static final int makeUniqueID(int primTypeID,
+ public static final synchronized int makeUniqueID(int primTypeID,
SurfaceType src,
CompositeType cmp,
SurfaceType dst)
@@ -456,7 +456,7 @@
}
}
- public synchronized static void tracePrimitive(Object prim) {
+ public static synchronized void tracePrimitive(Object prim) {
if ((traceflags & TRACECOUNTS) != 0) {
if (traceMap == null) {
traceMap = new HashMap<>();
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/GraphicsPrimitiveMgr.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/GraphicsPrimitiveMgr.java Wed Jul 05 20:52:10 2017 +0200
@@ -98,7 +98,7 @@
private GraphicsPrimitiveMgr() {
}
- public synchronized static void register(GraphicsPrimitive[] newPrimitives)
+ public static synchronized void register(GraphicsPrimitive[] newPrimitives)
{
GraphicsPrimitive[] devCollection = primitives;
int oldSize = 0;
@@ -121,7 +121,7 @@
primitives = temp;
}
- public synchronized static void registerGeneral(GraphicsPrimitive gen) {
+ public static synchronized void registerGeneral(GraphicsPrimitive gen) {
if (generalPrimitives == null) {
generalPrimitives = new GraphicsPrimitive[] {gen};
return;
@@ -133,7 +133,7 @@
generalPrimitives = newGen;
}
- public synchronized static GraphicsPrimitive locate(int primTypeID,
+ public static synchronized GraphicsPrimitive locate(int primTypeID,
SurfaceType dsttype)
{
return locate(primTypeID,
@@ -142,7 +142,7 @@
dsttype);
}
- public synchronized static GraphicsPrimitive locate(int primTypeID,
+ public static synchronized GraphicsPrimitive locate(int primTypeID,
SurfaceType srctype,
CompositeType comptype,
SurfaceType dsttype)
@@ -170,7 +170,7 @@
return prim;
}
- public synchronized static GraphicsPrimitive
+ public static synchronized GraphicsPrimitive
locatePrim(int primTypeID,
SurfaceType srctype,
CompositeType comptype,
--- a/jdk/src/java.desktop/share/classes/sun/java2d/loops/ProcessPath.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/loops/ProcessPath.java Wed Jul 05 20:52:10 2017 +0200
@@ -45,7 +45,7 @@
/* Public interfaces and methods for drawing and filling general paths */
- public static abstract class DrawHandler {
+ public abstract static class DrawHandler {
public int xMin;
public int yMin;
public int xMax;
@@ -121,7 +121,7 @@
public static final int PH_MODE_DRAW_CLIP = 0;
public static final int PH_MODE_FILL_CLIP = 1;
- public static abstract class ProcessHandler implements EndSubPathHandler {
+ public abstract static class ProcessHandler implements EndSubPathHandler {
DrawHandler dhnd;
int clipMode;
--- a/jdk/src/java.desktop/share/classes/sun/java2d/opengl/OGLPaints.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/opengl/OGLPaints.java Wed Jul 05 20:52:10 2017 +0200
@@ -151,7 +151,7 @@
/****************** Shared MultipleGradientPaint support ********************/
- private static abstract class MultiGradient extends OGLPaints {
+ private abstract static class MultiGradient extends OGLPaints {
protected MultiGradient() {}
/**
--- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/AAShapePipe.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/AAShapePipe.java Wed Jul 05 20:52:10 2017 +0200
@@ -127,7 +127,7 @@
private static byte[] theTile;
- private synchronized static byte[] getAlphaTile(int len) {
+ private static synchronized byte[] getAlphaTile(int len) {
byte[] t = theTile;
if (t == null || t.length < len) {
t = new byte[len];
@@ -137,7 +137,7 @@
return t;
}
- private synchronized static void dropAlphaTile(byte[] t) {
+ private static synchronized void dropAlphaTile(byte[] t) {
theTile = t;
}
--- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/LoopPipe.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/LoopPipe.java Wed Jul 05 20:52:10 2017 +0200
@@ -52,7 +52,7 @@
ShapeDrawPipe,
LoopBasedPipe
{
- final static RenderingEngine RenderEngine = RenderingEngine.getInstance();
+ static final RenderingEngine RenderEngine = RenderingEngine.getInstance();
public void drawLine(SunGraphics2D sg2d,
int x1, int y1, int x2, int y2)
--- a/jdk/src/java.desktop/share/classes/sun/java2d/pipe/SpanShapeRenderer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/pipe/SpanShapeRenderer.java Wed Jul 05 20:52:10 2017 +0200
@@ -42,7 +42,7 @@
* perform the actual rendering.
*/
public abstract class SpanShapeRenderer implements ShapeDrawPipe {
- final static RenderingEngine RenderEngine = RenderingEngine.getInstance();
+ static final RenderingEngine RenderEngine = RenderingEngine.getInstance();
public static class Composite extends SpanShapeRenderer {
CompositePipe comppipe;
--- a/jdk/src/java.desktop/share/classes/sun/java2d/pisces/Renderer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/java2d/pisces/Renderer.java Wed Jul 05 20:52:10 2017 +0200
@@ -311,12 +311,12 @@
public static final int WIND_NON_ZERO = 1;
// Antialiasing
- final private int SUBPIXEL_LG_POSITIONS_X;
- final private int SUBPIXEL_LG_POSITIONS_Y;
- final private int SUBPIXEL_POSITIONS_X;
- final private int SUBPIXEL_POSITIONS_Y;
- final private int SUBPIXEL_MASK_X;
- final private int SUBPIXEL_MASK_Y;
+ private final int SUBPIXEL_LG_POSITIONS_X;
+ private final int SUBPIXEL_LG_POSITIONS_Y;
+ private final int SUBPIXEL_POSITIONS_X;
+ private final int SUBPIXEL_POSITIONS_Y;
+ private final int SUBPIXEL_MASK_X;
+ private final int SUBPIXEL_MASK_Y;
final int MAX_AA_ALPHA;
// Cache to store RLE-encoded coverage mask of the current primitive
--- a/jdk/src/java.desktop/share/classes/sun/print/CustomMediaSizeName.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/print/CustomMediaSizeName.java Wed Jul 05 20:52:10 2017 +0200
@@ -43,7 +43,7 @@
}
- private synchronized static int nextValue(String name) {
+ private static synchronized int nextValue(String name) {
customStringTable.add(name);
return (customStringTable.size()-1);
--- a/jdk/src/java.desktop/share/classes/sun/print/CustomMediaTray.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/print/CustomMediaTray.java Wed Jul 05 20:52:10 2017 +0200
@@ -40,7 +40,7 @@
}
- private synchronized static int nextValue(String name) {
+ private static synchronized int nextValue(String name) {
customStringTable.add(name);
return (customStringTable.size()-1);
}
--- a/jdk/src/java.desktop/share/classes/sun/print/PSStreamPrintJob.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/print/PSStreamPrintJob.java Wed Jul 05 20:52:10 2017 +0200
@@ -66,9 +66,9 @@
public class PSStreamPrintJob implements CancelablePrintJob {
- transient private Vector<PrintJobListener> jobListeners;
- transient private Vector<PrintJobAttributeListener> attrListeners;
- transient private Vector<PrintJobAttributeSet> listenedAttributeSets;
+ private transient Vector<PrintJobListener> jobListeners;
+ private transient Vector<PrintJobAttributeListener> attrListeners;
+ private transient Vector<PrintJobAttributeSet> listenedAttributeSets;
private PSStreamPrintService service;
private boolean fidelity;
--- a/jdk/src/java.desktop/share/classes/sun/print/PeekGraphics.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/print/PeekGraphics.java Wed Jul 05 20:52:10 2017 +0200
@@ -1885,7 +1885,7 @@
return mHeight;
}
- synchronized private void waitForDimensions(Image img) {
+ private synchronized void waitForDimensions(Image img) {
mHeight = img.getHeight(this);
mWidth = img.getWidth(this);
while (!badImage && (mWidth < 0 || mHeight < 0)) {
@@ -1903,7 +1903,7 @@
}
}
- synchronized public boolean imageUpdate(Image image, int flags,
+ public synchronized boolean imageUpdate(Image image, int flags,
int x, int y, int w, int h) {
boolean dontCallMeAgain = (flags & (HEIGHT | ABORT | ERROR)) != 0;
--- a/jdk/src/java.desktop/share/classes/sun/print/PrintJob2D.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/print/PrintJob2D.java Wed Jul 05 20:52:10 2017 +0200
@@ -263,27 +263,27 @@
// The following Strings are maintained for backward-compatibility with
// Properties based print control.
- private final static String DEST_PROP = "awt.print.destination";
- private final static String PRINTER = "printer";
- private final static String FILE = "file";
+ private static final String DEST_PROP = "awt.print.destination";
+ private static final String PRINTER = "printer";
+ private static final String FILE = "file";
- private final static String PRINTER_PROP = "awt.print.printer";
+ private static final String PRINTER_PROP = "awt.print.printer";
- private final static String FILENAME_PROP = "awt.print.fileName";
+ private static final String FILENAME_PROP = "awt.print.fileName";
- private final static String NUMCOPIES_PROP = "awt.print.numCopies";
+ private static final String NUMCOPIES_PROP = "awt.print.numCopies";
- private final static String OPTIONS_PROP = "awt.print.options";
+ private static final String OPTIONS_PROP = "awt.print.options";
- private final static String ORIENT_PROP = "awt.print.orientation";
- private final static String PORTRAIT = "portrait";
- private final static String LANDSCAPE = "landscape";
+ private static final String ORIENT_PROP = "awt.print.orientation";
+ private static final String PORTRAIT = "portrait";
+ private static final String LANDSCAPE = "landscape";
- private final static String PAPERSIZE_PROP = "awt.print.paperSize";
- private final static String LETTER = "letter";
- private final static String LEGAL = "legal";
- private final static String EXECUTIVE = "executive";
- private final static String A4 = "a4";
+ private static final String PAPERSIZE_PROP = "awt.print.paperSize";
+ private static final String LETTER = "letter";
+ private static final String LEGAL = "legal";
+ private static final String EXECUTIVE = "executive";
+ private static final String A4 = "a4";
private Properties props;
--- a/jdk/src/java.desktop/share/classes/sun/print/RasterPrinterJob.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/print/RasterPrinterJob.java Wed Jul 05 20:52:10 2017 +0200
@@ -335,67 +335,67 @@
* Returns the resolution in dots per inch across the width
* of the page.
*/
- abstract protected double getXRes();
+ protected abstract double getXRes();
/**
* Returns the resolution in dots per inch down the height
* of the page.
*/
- abstract protected double getYRes();
+ protected abstract double getYRes();
/**
* Must be obtained from the current printer.
* Value is in device pixels.
* Not adjusted for orientation of the paper.
*/
- abstract protected double getPhysicalPrintableX(Paper p);
+ protected abstract double getPhysicalPrintableX(Paper p);
/**
* Must be obtained from the current printer.
* Value is in device pixels.
* Not adjusted for orientation of the paper.
*/
- abstract protected double getPhysicalPrintableY(Paper p);
+ protected abstract double getPhysicalPrintableY(Paper p);
/**
* Must be obtained from the current printer.
* Value is in device pixels.
* Not adjusted for orientation of the paper.
*/
- abstract protected double getPhysicalPrintableWidth(Paper p);
+ protected abstract double getPhysicalPrintableWidth(Paper p);
/**
* Must be obtained from the current printer.
* Value is in device pixels.
* Not adjusted for orientation of the paper.
*/
- abstract protected double getPhysicalPrintableHeight(Paper p);
+ protected abstract double getPhysicalPrintableHeight(Paper p);
/**
* Must be obtained from the current printer.
* Value is in device pixels.
* Not adjusted for orientation of the paper.
*/
- abstract protected double getPhysicalPageWidth(Paper p);
+ protected abstract double getPhysicalPageWidth(Paper p);
/**
* Must be obtained from the current printer.
* Value is in device pixels.
* Not adjusted for orientation of the paper.
*/
- abstract protected double getPhysicalPageHeight(Paper p);
+ protected abstract double getPhysicalPageHeight(Paper p);
/**
* Begin a new page.
*/
- abstract protected void startPage(PageFormat format, Printable painter,
+ protected abstract void startPage(PageFormat format, Printable painter,
int index, boolean paperChanged)
throws PrinterException;
/**
* End a page.
*/
- abstract protected void endPage(PageFormat format, Printable painter,
+ protected abstract void endPage(PageFormat format, Printable painter,
int index)
throws PrinterException;
@@ -406,7 +406,7 @@
* page. The width and height of the band is
* specified by the caller.
*/
- abstract protected void printBand(byte[] data, int x, int y,
+ protected abstract void printBand(byte[] data, int x, int y,
int width, int height)
throws PrinterException;
--- a/jdk/src/java.desktop/share/classes/sun/print/ServiceDialog.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/print/ServiceDialog.java Wed Jul 05 20:52:10 2017 +0200
@@ -87,17 +87,17 @@
/**
* Waiting print status (user response pending).
*/
- public final static int WAITING = 0;
+ public static final int WAITING = 0;
/**
* Approve print status (user activated "Print" or "OK").
*/
- public final static int APPROVE = 1;
+ public static final int APPROVE = 1;
/**
* Cancel print status (user activated "Cancel");
*/
- public final static int CANCEL = 2;
+ public static final int CANCEL = 2;
private static final String strBundle = "sun.print.resources.serviceui";
private static final Insets panelInsets = new Insets(6, 6, 6, 6);
--- a/jdk/src/java.desktop/share/classes/sun/swing/FilePane.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/swing/FilePane.java Wed Jul 05 20:52:10 2017 +0200
@@ -63,14 +63,14 @@
// Constants for actions. These are used for the actions' ACTION_COMMAND_KEY
// and as keys in the action maps for FilePane and the corresponding UI classes
- public final static String ACTION_APPROVE_SELECTION = "approveSelection";
- public final static String ACTION_CANCEL = "cancelSelection";
- public final static String ACTION_EDIT_FILE_NAME = "editFileName";
- public final static String ACTION_REFRESH = "refresh";
- public final static String ACTION_CHANGE_TO_PARENT_DIRECTORY = "Go Up";
- public final static String ACTION_NEW_FOLDER = "New Folder";
- public final static String ACTION_VIEW_LIST = "viewTypeList";
- public final static String ACTION_VIEW_DETAILS = "viewTypeDetails";
+ public static final String ACTION_APPROVE_SELECTION = "approveSelection";
+ public static final String ACTION_CANCEL = "cancelSelection";
+ public static final String ACTION_EDIT_FILE_NAME = "editFileName";
+ public static final String ACTION_REFRESH = "refresh";
+ public static final String ACTION_CHANGE_TO_PARENT_DIRECTORY = "Go Up";
+ public static final String ACTION_NEW_FOLDER = "New Folder";
+ public static final String ACTION_VIEW_LIST = "viewTypeList";
+ public static final String ACTION_VIEW_DETAILS = "viewTypeDetails";
private Action[] actions;
--- a/jdk/src/java.desktop/share/classes/sun/swing/ImageCache.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/swing/ImageCache.java Wed Jul 05 20:52:10 2017 +0200
@@ -37,7 +37,7 @@
// Maximum number of entries to cache
private int maxCount;
// The entries.
- final private LinkedList<SoftReference<Entry>> entries;
+ private final LinkedList<SoftReference<Entry>> entries;
public ImageCache(int maxCount) {
this.maxCount = maxCount;
@@ -102,10 +102,10 @@
* Caches set of arguments and Image.
*/
private static class Entry {
- final private GraphicsConfiguration config;
- final private int w;
- final private int h;
- final private Object[] args;
+ private final GraphicsConfiguration config;
+ private final int w;
+ private final int h;
+ private final Object[] args;
private Image image;
Entry(GraphicsConfiguration config, int w, int h, Object[] args) {
--- a/jdk/src/java.desktop/share/classes/sun/swing/SwingAccessor.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/swing/SwingAccessor.java Wed Jul 05 20:52:10 2017 +0200
@@ -97,6 +97,14 @@
int ownerX, int ownerY);
}
+ /*
+ * An accessor for the KeyStroke class
+ */
+ public interface KeyStrokeAccessor {
+
+ KeyStroke create();
+ }
+
/**
* The javax.swing.text.JTextComponent class accessor object.
*/
@@ -185,4 +193,26 @@
public static void setPopupFactoryAccessor(PopupFactoryAccessor popupFactoryAccessor) {
SwingAccessor.popupFactoryAccessor = popupFactoryAccessor;
}
+
+ /**
+ * The KeyStroke class accessor object.
+ */
+ private static KeyStrokeAccessor keyStrokeAccessor;
+
+ /**
+ * Retrieve the accessor object for the KeyStroke class.
+ */
+ public static KeyStrokeAccessor getKeyStrokeAccessor() {
+ if (keyStrokeAccessor == null) {
+ unsafe.ensureClassInitialized(KeyStroke.class);
+ }
+ return keyStrokeAccessor;
+ }
+
+ /*
+ * Set the accessor object for the KeyStroke class.
+ */
+ public static void setKeyStrokeAccessor(KeyStrokeAccessor accessor) {
+ SwingAccessor.keyStrokeAccessor = accessor;
+ }
}
--- a/jdk/src/java.desktop/share/classes/sun/swing/SwingUtilities2.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/swing/SwingUtilities2.java Wed Jul 05 20:52:10 2017 +0200
@@ -135,13 +135,6 @@
}
}
- /**
- * Key used in client properties used to indicate that the
- * {@code ComponentUI} of the JComponent instance should be returned.
- */
- public static final Object COMPONENT_UI_PROPERTY_KEY =
- new StringBuffer("ComponentUIPropertyKey");
-
/** Client Property key for the text maximal offsets for BasicMenuItemUI */
public static final StringUIClientPropertyKey BASICMENUITEMUI_MAX_TEXT_OFFSET =
new StringUIClientPropertyKey ("maxTextOffset");
--- a/jdk/src/java.desktop/share/classes/sun/swing/plaf/synth/SynthFileChooserUI.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/swing/plaf/synth/SynthFileChooserUI.java Wed Jul 05 20:52:10 2017 +0200
@@ -228,8 +228,8 @@
protected void paint(SynthContext context, Graphics g) {
}
- abstract public void setFileName(String fileName);
- abstract public String getFileName();
+ public abstract void setFileName(String fileName);
+ public abstract String getFileName();
protected void doSelectedFileChanged(PropertyChangeEvent e) {
}
--- a/jdk/src/java.desktop/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/share/classes/sun/swing/plaf/synth/SynthFileChooserUIImpl.java Wed Jul 05 20:52:10 2017 +0200
@@ -699,7 +699,7 @@
}
}
- final static int space = 10;
+ static final int space = 10;
class IndentIcon implements Icon {
Icon icon = null;
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/InfoWindow.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/InfoWindow.java Wed Jul 05 20:52:10 2017 +0200
@@ -169,12 +169,12 @@
display();
}};
- private final static int TOOLTIP_SHOW_TIME = 10000;
- private final static int TOOLTIP_START_DELAY_TIME = 1000;
- private final static int TOOLTIP_MAX_LENGTH = 64;
- private final static int TOOLTIP_MOUSE_CURSOR_INDENT = 5;
- private final static Color TOOLTIP_BACKGROUND_COLOR = new Color(255, 255, 220);
- private final static Font TOOLTIP_TEXT_FONT = XWindow.getDefaultFont();
+ private static final int TOOLTIP_SHOW_TIME = 10000;
+ private static final int TOOLTIP_START_DELAY_TIME = 1000;
+ private static final int TOOLTIP_MAX_LENGTH = 64;
+ private static final int TOOLTIP_MOUSE_CURSOR_INDENT = 5;
+ private static final Color TOOLTIP_BACKGROUND_COLOR = new Color(255, 255, 220);
+ private static final Font TOOLTIP_TEXT_FONT = XWindow.getDefaultFont();
public Tooltip(Frame parent, Object target,
LiveArguments liveArguments)
@@ -258,15 +258,15 @@
private final LiveArguments liveArguments;
private final Object target;
- private final static int BALLOON_SHOW_TIME = 10000;
- private final static int BALLOON_TEXT_MAX_LENGTH = 256;
- private final static int BALLOON_WORD_LINE_MAX_LENGTH = 16;
- private final static int BALLOON_WORD_LINE_MAX_COUNT = 4;
- private final static int BALLOON_ICON_WIDTH = 32;
- private final static int BALLOON_ICON_HEIGHT = 32;
- private final static int BALLOON_TRAY_ICON_INDENT = 0;
- private final static Color BALLOON_CAPTION_BACKGROUND_COLOR = new Color(200, 200 ,255);
- private final static Font BALLOON_CAPTION_FONT = new Font(Font.DIALOG, Font.BOLD, 12);
+ private static final int BALLOON_SHOW_TIME = 10000;
+ private static final int BALLOON_TEXT_MAX_LENGTH = 256;
+ private static final int BALLOON_WORD_LINE_MAX_LENGTH = 16;
+ private static final int BALLOON_WORD_LINE_MAX_COUNT = 4;
+ private static final int BALLOON_ICON_WIDTH = 32;
+ private static final int BALLOON_ICON_HEIGHT = 32;
+ private static final int BALLOON_TRAY_ICON_INDENT = 0;
+ private static final Color BALLOON_CAPTION_BACKGROUND_COLOR = new Color(200, 200 ,255);
+ private static final Font BALLOON_CAPTION_FONT = new Font(Font.DIALOG, Font.BOLD, 12);
private Panel mainPanel = new Panel();
private Panel captionPanel = new Panel();
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/MWMConstants.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/MWMConstants.java Wed Jul 05 20:52:10 2017 +0200
@@ -26,7 +26,7 @@
package sun.awt.X11;
-final public class MWMConstants {
+public final class MWMConstants {
private MWMConstants(){}
@@ -62,8 +62,8 @@
/* number of elements of size 32 in _MWM_HINTS */
static final int PROP_MWM_HINTS_ELEMENTS = 5;
/* number of elements of size 32 in _MWM_INFO */
- final static int PROP_MOTIF_WM_INFO_ELEMENTS= 2;
- final static int PROP_MWM_INFO_ELEMENTS= PROP_MOTIF_WM_INFO_ELEMENTS;
+ static final int PROP_MOTIF_WM_INFO_ELEMENTS= 2;
+ static final int PROP_MWM_INFO_ELEMENTS= PROP_MOTIF_WM_INFO_ELEMENTS;
static final String MWM_HINTS_ATOM_NAME = "_MOTIF_WM_HINTS";
}
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XAwtState.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XAwtState.java Wed Jul 05 20:52:10 2017 +0200
@@ -27,7 +27,7 @@
* This class is a placeholder for all internal static objects that represent
* system state. We keep our representation up-to-date with actual system
* state by tracking events, such as X Focus, Component under cursor etc.
- * All attributes should be static private with accessors to simpify change
+ * All attributes should be private static with accessors to simpify change
* tracking.
*/
package sun.awt.X11;
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XBaseMenuWindow.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XBaseMenuWindow.java Wed Jul 05 20:52:10 2017 +0200
@@ -41,7 +41,7 @@
* The abstract class XBaseMenuWindow is the superclass
* of all menu windows.
*/
-abstract public class XBaseMenuWindow extends XWindow {
+public abstract class XBaseMenuWindow extends XWindow {
/************************************************
*
@@ -89,7 +89,7 @@
* no other locks should be taken when
* thread own this lock.
*/
- static private Object menuTreeLock = new Object();
+ private static Object menuTreeLock = new Object();
/************************************************
*
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XBaseWindow.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XBaseWindow.java Wed Jul 05 20:52:10 2017 +0200
@@ -72,8 +72,8 @@
private XSizeHints hints;
private XWMHints wmHints;
- final static int MIN_SIZE = 1;
- final static int DEF_LOCATION = 1;
+ static final int MIN_SIZE = 1;
+ static final int DEF_LOCATION = 1;
private static XAtom wm_client_leader;
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XButtonPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XButtonPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -40,7 +40,7 @@
private Insets borderInsets;
private Insets contentAreaInsets;
- private final static String propertyPrefix = "Button" + ".";
+ private static final String propertyPrefix = "Button" + ".";
protected Color focusColor = SystemColor.windowText;
private boolean disposed = false;
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XChoicePeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XChoicePeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -50,10 +50,10 @@
// at a time in an
// unfurled Choice
// Description of these constants in ListHelper
- public final static int TEXT_SPACE = 1;
- public final static int BORDER_WIDTH = 1;
- public final static int ITEM_MARGIN = 1;
- public final static int SCROLLBAR_WIDTH = 15;
+ public static final int TEXT_SPACE = 1;
+ public static final int BORDER_WIDTH = 1;
+ public static final int ITEM_MARGIN = 1;
+ public static final int SCROLLBAR_WIDTH = 15;
// SHARE THESE!
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XComponentPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XComponentPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -210,7 +210,7 @@
* Descendants should use this method to determine whether or not native window
* has focus.
*/
- final public boolean hasFocus() {
+ public final boolean hasFocus() {
return bHasFocus;
}
@@ -242,7 +242,7 @@
private static Class<?> seClass;
private static Constructor<?> seCtor;
- final static AWTEvent wrapInSequenced(AWTEvent event) {
+ static final AWTEvent wrapInSequenced(AWTEvent event) {
try {
if (seClass == null) {
seClass = Class.forName("java.awt.SequencedEvent");
@@ -283,7 +283,7 @@
// TODO: consider moving it to KeyboardFocusManagerPeerImpl
@SuppressWarnings("deprecation")
- final public boolean requestFocus(Component lightweightChild, boolean temporary,
+ public final boolean requestFocus(Component lightweightChild, boolean temporary,
boolean focusedWindowChangeAllowed, long time,
CausedFocusEvent.Cause cause)
{
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XConstants.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XConstants.java Wed Jul 05 20:52:10 2017 +0200
@@ -25,7 +25,7 @@
package sun.awt.X11;
-final public class XConstants {
+public final class XConstants {
private XConstants(){}
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XCursorFontConstants.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XCursorFontConstants.java Wed Jul 05 20:52:10 2017 +0200
@@ -25,7 +25,7 @@
package sun.awt.X11;
-final public class XCursorFontConstants {
+public final class XCursorFontConstants {
private XCursorFontConstants(){}
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDecoratedPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDecoratedPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -904,7 +904,7 @@
return getSize().height;
}
- final public WindowDimensions getDimensions() {
+ public final WindowDimensions getDimensions() {
return dimensions;
}
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDragAndDropProtocols.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDragAndDropProtocols.java Wed Jul 05 20:52:10 2017 +0200
@@ -36,8 +36,8 @@
* @since 1.5
*/
final class XDragAndDropProtocols {
- private final static List<XDragSourceProtocol> dragProtocols;
- private final static List<XDropTargetProtocol> dropProtocols;
+ private static final List<XDragSourceProtocol> dragProtocols;
+ private static final List<XDropTargetProtocol> dropProtocols;
public static final String XDnD = "XDnD";
public static final String MotifDnD = "MotifDnD";
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDropTargetContextPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XDropTargetContextPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -238,7 +238,7 @@
static final class XDropTargetProtocolListenerImpl
implements XDropTargetProtocolListener {
- private final static XDropTargetProtocolListener theInstance =
+ private static final XDropTargetProtocolListener theInstance =
new XDropTargetProtocolListenerImpl();
private XDropTargetProtocolListenerImpl() {}
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XEmbedHelper.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XEmbedHelper.java Wed Jul 05 20:52:10 2017 +0200
@@ -38,43 +38,43 @@
*/
public class XEmbedHelper {
private static final PlatformLogger xembedLog = PlatformLogger.getLogger("sun.awt.X11.xembed");
- final static Unsafe unsafe = Unsafe.getUnsafe();
+ static final Unsafe unsafe = Unsafe.getUnsafe();
- final static int XEMBED_VERSION = 0,
+ static final int XEMBED_VERSION = 0,
XEMBED_MAPPED = (1 << 0);
/* XEMBED messages */
- final static int XEMBED_EMBEDDED_NOTIFY = 0;
- final static int XEMBED_WINDOW_ACTIVATE = 1;
- final static int XEMBED_WINDOW_DEACTIVATE = 2;
- final static int XEMBED_REQUEST_FOCUS =3;
- final static int XEMBED_FOCUS_IN = 4;
- final static int XEMBED_FOCUS_OUT = 5;
- final static int XEMBED_FOCUS_NEXT = 6;
- final static int XEMBED_FOCUS_PREV = 7;
+ static final int XEMBED_EMBEDDED_NOTIFY = 0;
+ static final int XEMBED_WINDOW_ACTIVATE = 1;
+ static final int XEMBED_WINDOW_DEACTIVATE = 2;
+ static final int XEMBED_REQUEST_FOCUS =3;
+ static final int XEMBED_FOCUS_IN = 4;
+ static final int XEMBED_FOCUS_OUT = 5;
+ static final int XEMBED_FOCUS_NEXT = 6;
+ static final int XEMBED_FOCUS_PREV = 7;
/* 8-9 were used for XEMBED_GRAB_KEY/XEMBED_UNGRAB_KEY */
- final static int XEMBED_GRAB_KEY = 8;
- final static int XEMBED_UNGRAB_KEY = 9;
- final static int XEMBED_MODALITY_ON = 10;
- final static int XEMBED_MODALITY_OFF = 11;
- final static int XEMBED_REGISTER_ACCELERATOR = 12;
- final static int XEMBED_UNREGISTER_ACCELERATOR= 13;
- final static int XEMBED_ACTIVATE_ACCELERATOR = 14;
+ static final int XEMBED_GRAB_KEY = 8;
+ static final int XEMBED_UNGRAB_KEY = 9;
+ static final int XEMBED_MODALITY_ON = 10;
+ static final int XEMBED_MODALITY_OFF = 11;
+ static final int XEMBED_REGISTER_ACCELERATOR = 12;
+ static final int XEMBED_UNREGISTER_ACCELERATOR= 13;
+ static final int XEMBED_ACTIVATE_ACCELERATOR = 14;
- final static int NON_STANDARD_XEMBED_GTK_GRAB_KEY = 108;
- final static int NON_STANDARD_XEMBED_GTK_UNGRAB_KEY = 109;
+ static final int NON_STANDARD_XEMBED_GTK_GRAB_KEY = 108;
+ static final int NON_STANDARD_XEMBED_GTK_UNGRAB_KEY = 109;
// A detail code is required for XEMBED_FOCUS_IN. The following values are valid:
/* Details for XEMBED_FOCUS_IN: */
- final static int XEMBED_FOCUS_CURRENT = 0;
- final static int XEMBED_FOCUS_FIRST = 1;
- final static int XEMBED_FOCUS_LAST = 2;
+ static final int XEMBED_FOCUS_CURRENT = 0;
+ static final int XEMBED_FOCUS_FIRST = 1;
+ static final int XEMBED_FOCUS_LAST = 2;
// Modifiers bits
- final static int XEMBED_MODIFIER_SHIFT = (1 << 0);
- final static int XEMBED_MODIFIER_CONTROL = (1 << 1);
- final static int XEMBED_MODIFIER_ALT = (1 << 2);
- final static int XEMBED_MODIFIER_SUPER = (1 << 3);
- final static int XEMBED_MODIFIER_HYPER = (1 << 4);
+ static final int XEMBED_MODIFIER_SHIFT = (1 << 0);
+ static final int XEMBED_MODIFIER_CONTROL = (1 << 1);
+ static final int XEMBED_MODIFIER_ALT = (1 << 2);
+ static final int XEMBED_MODIFIER_SUPER = (1 << 3);
+ static final int XEMBED_MODIFIER_HYPER = (1 << 4);
static XAtom XEmbedInfo;
static XAtom XEmbed;
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XFileDialogPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XFileDialogPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -862,8 +862,8 @@
@SuppressWarnings("serial") // JDK-implementation class
class Separator extends Canvas {
- public final static int HORIZONTAL = 0;
- public final static int VERTICAL = 1;
+ public static final int HORIZONTAL = 0;
+ public static final int VERTICAL = 1;
int orientation;
@SuppressWarnings("deprecation")
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XIconWindow.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XIconWindow.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,7 +34,7 @@
import sun.util.logging.PlatformLogger;
public class XIconWindow extends XBaseWindow {
- private final static PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XIconWindow");
+ private static final PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XIconWindow");
XDecoratedPeer parent;
Dimension size;
long iconPixmap = 0;
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XLayerProtocol.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XLayerProtocol.java Wed Jul 05 20:52:10 2017 +0200
@@ -28,7 +28,7 @@
public interface XLayerProtocol {
- final static int LAYER_NORMAL = 0,
+ static final int LAYER_NORMAL = 0,
LAYER_ALWAYS_ON_TOP = 1;
boolean supportsLayer(int layer);
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XListPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XListPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -42,28 +42,28 @@
private static final PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XListPeer");
- public final static int MARGIN = 2;
- public final static int SPACE = 1;
- public final static int SCROLLBAR_AREA = 17; // Area reserved for the
+ public static final int MARGIN = 2;
+ public static final int SPACE = 1;
+ public static final int SCROLLBAR_AREA = 17; // Area reserved for the
// scrollbar
- public final static int SCROLLBAR_WIDTH = 13; // Actual width of the
+ public static final int SCROLLBAR_WIDTH = 13; // Actual width of the
// scrollbar
- public final static int NONE = -1;
- public final static int WINDOW = 0;
- public final static int VERSCROLLBAR = 1;
- public final static int HORSCROLLBAR = 2;
- public final static int DEFAULT_VISIBLE_ROWS = 4; // From java.awt.List,
- public final static int HORIZ_SCROLL_AMT = 10;
+ public static final int NONE = -1;
+ public static final int WINDOW = 0;
+ public static final int VERSCROLLBAR = 1;
+ public static final int HORSCROLLBAR = 2;
+ public static final int DEFAULT_VISIBLE_ROWS = 4; // From java.awt.List,
+ public static final int HORIZ_SCROLL_AMT = 10;
- private final static int PAINT_VSCROLL = 2;
- private final static int PAINT_HSCROLL = 4;
- private final static int PAINT_ITEMS = 8;
- private final static int PAINT_FOCUS = 16;
- private final static int PAINT_BACKGROUND = 32;
- private final static int PAINT_HIDEFOCUS = 64;
- private final static int PAINT_ALL =
+ private static final int PAINT_VSCROLL = 2;
+ private static final int PAINT_HSCROLL = 4;
+ private static final int PAINT_ITEMS = 8;
+ private static final int PAINT_FOCUS = 16;
+ private static final int PAINT_BACKGROUND = 32;
+ private static final int PAINT_HIDEFOCUS = 64;
+ private static final int PAINT_ALL =
PAINT_VSCROLL | PAINT_HSCROLL | PAINT_ITEMS | PAINT_FOCUS | PAINT_BACKGROUND;
- private final static int COPY_AREA = 128;
+ private static final int COPY_AREA = 128;
XVerticalScrollbar vsb;
XHorizontalScrollbar hsb;
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XMenuBarPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XMenuBarPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -56,15 +56,15 @@
/*
* dimension constants
*/
- private final static int BAR_SPACING_TOP = 3;
- private final static int BAR_SPACING_BOTTOM = 3;
- private final static int BAR_SPACING_LEFT = 3;
- private final static int BAR_SPACING_RIGHT = 3;
- private final static int BAR_ITEM_SPACING = 2;
- private final static int BAR_ITEM_MARGIN_LEFT = 10;
- private final static int BAR_ITEM_MARGIN_RIGHT = 10;
- private final static int BAR_ITEM_MARGIN_TOP = 2;
- private final static int BAR_ITEM_MARGIN_BOTTOM = 2;
+ private static final int BAR_SPACING_TOP = 3;
+ private static final int BAR_SPACING_BOTTOM = 3;
+ private static final int BAR_SPACING_LEFT = 3;
+ private static final int BAR_SPACING_RIGHT = 3;
+ private static final int BAR_ITEM_SPACING = 2;
+ private static final int BAR_ITEM_MARGIN_LEFT = 10;
+ private static final int BAR_ITEM_MARGIN_RIGHT = 10;
+ private static final int BAR_ITEM_MARGIN_TOP = 2;
+ private static final int BAR_ITEM_MARGIN_BOTTOM = 2;
/************************************************
*
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XMenuItemPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XMenuItemPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -75,8 +75,8 @@
/*
* Size constants
*/
- private final static int SEPARATOR_WIDTH = 20;
- private final static int SEPARATOR_HEIGHT = 5;
+ private static final int SEPARATOR_WIDTH = 20;
+ private static final int SEPARATOR_HEIGHT = 5;
/************************************************
*
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XMenuWindow.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XMenuWindow.java Wed Jul 05 20:52:10 2017 +0200
@@ -52,16 +52,16 @@
/*
* dimension constants
*/
- private final static int WINDOW_SPACING_LEFT = 2;
- private final static int WINDOW_SPACING_RIGHT = 2;
- private final static int WINDOW_SPACING_TOP = 2;
- private final static int WINDOW_SPACING_BOTTOM = 2;
- private final static int WINDOW_ITEM_INDENT = 15;
- private final static int WINDOW_ITEM_MARGIN_LEFT = 2;
- private final static int WINDOW_ITEM_MARGIN_RIGHT = 2;
- private final static int WINDOW_ITEM_MARGIN_TOP = 2;
- private final static int WINDOW_ITEM_MARGIN_BOTTOM = 2;
- private final static int WINDOW_SHORTCUT_SPACING = 10;
+ private static final int WINDOW_SPACING_LEFT = 2;
+ private static final int WINDOW_SPACING_RIGHT = 2;
+ private static final int WINDOW_SPACING_TOP = 2;
+ private static final int WINDOW_SPACING_BOTTOM = 2;
+ private static final int WINDOW_ITEM_INDENT = 15;
+ private static final int WINDOW_ITEM_MARGIN_LEFT = 2;
+ private static final int WINDOW_ITEM_MARGIN_RIGHT = 2;
+ private static final int WINDOW_ITEM_MARGIN_TOP = 2;
+ private static final int WINDOW_ITEM_MARGIN_BOTTOM = 2;
+ private static final int WINDOW_SHORTCUT_SPACING = 10;
/*
* Checkmark
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XNETProtocol.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XNETProtocol.java Wed Jul 05 20:52:10 2017 +0200
@@ -33,8 +33,8 @@
final class XNETProtocol extends XProtocol implements XStateProtocol, XLayerProtocol
{
- private final static PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XNETProtocol");
- private final static PlatformLogger iconLog = PlatformLogger.getLogger("sun.awt.X11.icon.XNETProtocol");
+ private static final PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XNETProtocol");
+ private static final PlatformLogger iconLog = PlatformLogger.getLogger("sun.awt.X11.icon.XNETProtocol");
private static PlatformLogger stateLog = PlatformLogger.getLogger("sun.awt.X11.states.XNETProtocol");
/**
@@ -280,9 +280,9 @@
XAtom XA_NET_WM_WINDOW_OPACITY = XAtom.get("_NET_WM_WINDOW_OPACITY");
/* For _NET_WM_STATE ClientMessage requests */
- final static int _NET_WM_STATE_REMOVE =0; /* remove/unset property */
- final static int _NET_WM_STATE_ADD =1; /* add/set property */
- final static int _NET_WM_STATE_TOGGLE =2; /* toggle property */
+ static final int _NET_WM_STATE_REMOVE =0; /* remove/unset property */
+ static final int _NET_WM_STATE_ADD =1; /* add/set property */
+ static final int _NET_WM_STATE_TOGGLE =2; /* toggle property */
boolean supportChecked = false;
long NetWindow = 0;
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XPopupMenuPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XPopupMenuPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -58,8 +58,8 @@
/*
* Painting constants
*/
- private final static int CAPTION_MARGIN_TOP = 4;
- private final static int CAPTION_SEPARATOR_HEIGHT = 6;
+ private static final int CAPTION_MARGIN_TOP = 4;
+ private static final int CAPTION_SEPARATOR_HEIGHT = 6;
/************************************************
*
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XProtocol.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XProtocol.java Wed Jul 05 20:52:10 2017 +0200
@@ -30,7 +30,7 @@
import java.util.*;
class XProtocol {
- private final static PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XProtocol");
+ private static final PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XProtocol");
private Map<XAtom, XAtomList> atomToList = new HashMap<XAtom, XAtomList>();
private Map<XAtom, Long> atomToAnchor = new HashMap<XAtom, Long>();
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XProtocolConstants.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XProtocolConstants.java Wed Jul 05 20:52:10 2017 +0200
@@ -25,7 +25,7 @@
package sun.awt.X11;
-final public class XProtocolConstants {
+public final class XProtocolConstants {
private XProtocolConstants(){}
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XRobotPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XRobotPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -107,16 +107,16 @@
return pixelArray;
}
- private static native synchronized void setup(int numberOfButtons, int[] buttonDownMasks);
+ private static synchronized native void setup(int numberOfButtons, int[] buttonDownMasks);
- private static native synchronized void mouseMoveImpl(X11GraphicsConfig xgc, int x, int y);
- private static native synchronized void mousePressImpl(int buttons);
- private static native synchronized void mouseReleaseImpl(int buttons);
- private static native synchronized void mouseWheelImpl(int wheelAmt);
+ private static synchronized native void mouseMoveImpl(X11GraphicsConfig xgc, int x, int y);
+ private static synchronized native void mousePressImpl(int buttons);
+ private static synchronized native void mouseReleaseImpl(int buttons);
+ private static synchronized native void mouseWheelImpl(int wheelAmt);
- private static native synchronized void keyPressImpl(int keycode);
- private static native synchronized void keyReleaseImpl(int keycode);
+ private static synchronized native void keyPressImpl(int keycode);
+ private static synchronized native void keyReleaseImpl(int keycode);
- private static native synchronized void getRGBPixelsImpl(X11GraphicsConfig xgc,
+ private static synchronized native void getRGBPixelsImpl(X11GraphicsConfig xgc,
int x, int y, int width, int height, int pixelArray[], boolean isGtkSupported);
}
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XScrollPanePeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XScrollPanePeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,13 +34,13 @@
class XScrollPanePeer extends XComponentPeer implements ScrollPanePeer, XScrollbarClient {
- public final static int MARGIN = 1;
- public final static int SCROLLBAR;
- public final static int SPACE = 2;
- public final static int SCROLLBAR_INSET = 2;
+ public static final int MARGIN = 1;
+ public static final int SCROLLBAR;
+ public static final int SPACE = 2;
+ public static final int SCROLLBAR_INSET = 2;
- public final static int VERTICAL = 1 << 0;
- public final static int HORIZONTAL = 1 << 1;
+ public static final int VERTICAL = 1 << 0;
+ public static final int HORIZONTAL = 1 << 1;
static {
SCROLLBAR = XToolkit.getUIDefaults().getInt("ScrollBar.defaultWidth");
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XScrollbar.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XScrollbar.java Wed Jul 05 20:52:10 2017 +0200
@@ -51,7 +51,7 @@
private XScrollRepeater i_scroller = new XScrollRepeater(null);
// Thumb length is always >= MIN_THUMB_H
- private final static int MIN_THUMB_H = 5;
+ private static final int MIN_THUMB_H = 5;
private static final int ARROW_IND = 1;
@@ -115,7 +115,7 @@
}
}
- abstract protected void rebuildArrows();
+ protected abstract void rebuildArrows();
public void setSize(int width, int height) {
if (log.isLoggable(PlatformLogger.Level.FINER)) {
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XScrollbarPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XScrollbarPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -31,7 +31,7 @@
import sun.util.logging.PlatformLogger;
class XScrollbarPeer extends XComponentPeer implements ScrollbarPeer, XScrollbarClient {
- private final static PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XScrollbarPeer");
+ private static final PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XScrollbarPeer");
private static final int DEFAULT_LENGTH = 50;
private static final int DEFAULT_WIDTH_SOLARIS = 19;
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XToolkit.java Wed Jul 05 20:52:10 2017 +0200
@@ -67,7 +67,7 @@
//There is 400 ms is set by default on Windows and 500 by default on KDE and GNOME.
//We use the same hardcoded constant.
- private final static int AWT_MULTICLICK_DEFAULT_TIME = 500;
+ private static final int AWT_MULTICLICK_DEFAULT_TIME = 500;
static final boolean PRIMARY_LOOP = false;
static final boolean SECONDARY_LOOP = true;
@@ -140,8 +140,8 @@
*/
static native long getTrayIconDisplayTimeout();
- private native static void initIDs();
- native static void waitForEvents(long nextTaskTime);
+ private static native void initIDs();
+ static native void waitForEvents(long nextTaskTime);
static Thread toolkitThread;
static boolean isToolkitThread() {
return Thread.currentThread() == toolkitThread;
@@ -1102,7 +1102,7 @@
* Returns the value of "sun.awt.disableGtkFileDialogs" property. Default
* value is {@code false}.
*/
- public synchronized static boolean getSunAwtDisableGtkFileDialogs() {
+ public static synchronized boolean getSunAwtDisableGtkFileDialogs() {
if (sunAwtDisableGtkFileDialogs == null) {
sunAwtDisableGtkFileDialogs = AccessController.doPrivileged(
new GetBooleanAction("sun.awt.disableGtkFileDialogs"));
@@ -1579,8 +1579,8 @@
return Math.min(XConstants.MAX_BUTTONS, ((SunToolkit) (Toolkit.getDefaultToolkit())).getNumberOfButtons());
}
- private final static String prefix = "DnD.Cursor.";
- private final static String postfix = ".32x32";
+ private static final String prefix = "DnD.Cursor.";
+ private static final String postfix = ".32x32";
private static final String dndPrefix = "DnD.";
@Override
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XTrayIconPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XTrayIconPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -63,8 +63,8 @@
int old_x, old_y;
int ex_width, ex_height;
- final static int TRAY_ICON_WIDTH = 24;
- final static int TRAY_ICON_HEIGHT = 24;
+ static final int TRAY_ICON_WIDTH = 24;
+ static final int TRAY_ICON_HEIGHT = 24;
XTrayIconPeer(TrayIcon target)
throws AWTException
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XUtilConstants.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XUtilConstants.java Wed Jul 05 20:52:10 2017 +0200
@@ -25,7 +25,7 @@
package sun.awt.X11;
-final public class XUtilConstants {
+public final class XUtilConstants {
private XUtilConstants(){}
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWINProtocol.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWINProtocol.java Wed Jul 05 20:52:10 2017 +0200
@@ -30,7 +30,7 @@
import sun.util.logging.PlatformLogger;
class XWINProtocol extends XProtocol implements XStateProtocol, XLayerProtocol {
- final static PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XWINProtocol");
+ static final PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XWINProtocol");
/* Gnome WM spec */
XAtom XA_WIN_SUPPORTING_WM_CHECK = XAtom.get("_WIN_SUPPORTING_WM_CHECK");
@@ -187,15 +187,15 @@
XAtom XA_WIN_LAYER = XAtom.get("_WIN_LAYER");
/* _WIN_STATE bits */
- final static int WIN_STATE_STICKY =(1<<0); /* everyone knows sticky */
- final static int WIN_STATE_MINIMIZED =(1<<1); /* Reserved - definition is unclear */
- final static int WIN_STATE_MAXIMIZED_VERT =(1<<2); /* window in maximized V state */
- final static int WIN_STATE_MAXIMIZED_HORIZ =(1<<3); /* window in maximized H state */
- final static int WIN_STATE_HIDDEN =(1<<4); /* not on taskbar but window visible*/
- final static int WIN_STATE_SHADED =(1<<5); /* shaded (MacOS / Afterstep style) */
+ static final int WIN_STATE_STICKY =(1<<0); /* everyone knows sticky */
+ static final int WIN_STATE_MINIMIZED =(1<<1); /* Reserved - definition is unclear */
+ static final int WIN_STATE_MAXIMIZED_VERT =(1<<2); /* window in maximized V state */
+ static final int WIN_STATE_MAXIMIZED_HORIZ =(1<<3); /* window in maximized H state */
+ static final int WIN_STATE_HIDDEN =(1<<4); /* not on taskbar but window visible*/
+ static final int WIN_STATE_SHADED =(1<<5); /* shaded (MacOS / Afterstep style) */
/* _WIN_LAYER values */
- final static int WIN_LAYER_ONTOP = 6;
- final static int WIN_LAYER_NORMAL = 4;
+ static final int WIN_LAYER_ONTOP = 6;
+ static final int WIN_LAYER_NORMAL = 4;
long WinWindow = 0;
boolean supportChecked = false;
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWM.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWM.java Wed Jul 05 20:52:10 2017 +0200
@@ -50,9 +50,9 @@
final class XWM
{
- private final static PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XWM");
- private final static PlatformLogger insLog = PlatformLogger.getLogger("sun.awt.X11.insets.XWM");
- private final static PlatformLogger stateLog = PlatformLogger.getLogger("sun.awt.X11.states.XWM");
+ private static final PlatformLogger log = PlatformLogger.getLogger("sun.awt.X11.XWM");
+ private static final PlatformLogger insLog = PlatformLogger.getLogger("sun.awt.X11.insets.XWM");
+ private static final PlatformLogger stateLog = PlatformLogger.getLogger("sun.awt.X11.states.XWM");
static final XAtom XA_MWM_HINTS = new XAtom();
@@ -66,30 +66,30 @@
XAtom XA_UTF8_STRING = XAtom.get("UTF8_STRING"); /* like STRING but encoding is UTF-8 */
/* Currently we only care about max_v and max_h in _NET_WM_STATE */
- final static int AWT_NET_N_KNOWN_STATES=2;
+ static final int AWT_NET_N_KNOWN_STATES=2;
/* Enlightenment */
- final static XAtom XA_E_FRAME_SIZE = new XAtom();
+ static final XAtom XA_E_FRAME_SIZE = new XAtom();
/* KWin (KDE2) */
- final static XAtom XA_KDE_NET_WM_FRAME_STRUT = new XAtom();
+ static final XAtom XA_KDE_NET_WM_FRAME_STRUT = new XAtom();
/* KWM (KDE 1.x) OBSOLETE??? */
- final static XAtom XA_KWM_WIN_ICONIFIED = new XAtom();
- final static XAtom XA_KWM_WIN_MAXIMIZED = new XAtom();
+ static final XAtom XA_KWM_WIN_ICONIFIED = new XAtom();
+ static final XAtom XA_KWM_WIN_MAXIMIZED = new XAtom();
/* OpenLook */
- final static XAtom XA_OL_DECOR_DEL = new XAtom();
- final static XAtom XA_OL_DECOR_HEADER = new XAtom();
- final static XAtom XA_OL_DECOR_RESIZE = new XAtom();
- final static XAtom XA_OL_DECOR_PIN = new XAtom();
- final static XAtom XA_OL_DECOR_CLOSE = new XAtom();
+ static final XAtom XA_OL_DECOR_DEL = new XAtom();
+ static final XAtom XA_OL_DECOR_HEADER = new XAtom();
+ static final XAtom XA_OL_DECOR_RESIZE = new XAtom();
+ static final XAtom XA_OL_DECOR_PIN = new XAtom();
+ static final XAtom XA_OL_DECOR_CLOSE = new XAtom();
/* EWMH */
- final static XAtom XA_NET_FRAME_EXTENTS = new XAtom();
- final static XAtom XA_NET_REQUEST_FRAME_EXTENTS = new XAtom();
+ static final XAtom XA_NET_FRAME_EXTENTS = new XAtom();
+ static final XAtom XA_NET_REQUEST_FRAME_EXTENTS = new XAtom();
- final static int
+ static final int
UNDETERMINED_WM = 1,
NO_WM = 2,
OTHER_WM = 3,
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWarningWindow.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWarningWindow.java Wed Jul 05 20:52:10 2017 +0200
@@ -33,14 +33,14 @@
import sun.awt.SunToolkit;
class XWarningWindow extends XWindow {
- private final static int SHOWING_DELAY = 330;
- private final static int HIDING_DELAY = 2000;
+ private static final int SHOWING_DELAY = 330;
+ private static final int HIDING_DELAY = 2000;
private final Window ownerWindow;
private WeakReference<XWindowPeer> ownerPeer;
private long parentWindow;
- private final static String OWNER = "OWNER";
+ private static final String OWNER = "OWNER";
private InfoWindow.Tooltip tooltip;
/**
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWindow.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWindow.java Wed Jul 05 20:52:10 2017 +0200
@@ -54,7 +54,7 @@
* allow a smudge factor so that moving the mouse by a small
* amount does not wipe out the multi-click state variables.
*/
- private final static int AWT_MULTICLICK_SMUDGE = 4;
+ private static final int AWT_MULTICLICK_SMUDGE = 4;
// ButtonXXX events stuff
static int lastX = 0, lastY = 0;
static long lastTime = 0;
@@ -123,7 +123,7 @@
native void getWMInsets(long window, long left, long top, long right, long bottom, long border);
native long getTopWindow(long window, long rootWin);
native void getWindowBounds(long window, long x, long y, long width, long height);
- private native static void initIDs();
+ private static native void initIDs();
static {
initIDs();
@@ -441,7 +441,7 @@
// and one that does not get overridden. The problem is that in postInit
// we call setBackground and we don't have all the stuff initialized to
// do a full paint for most peers. So we cannot call setBackground in postInit.
- final public void xSetBackground(Color c) {
+ public final void xSetBackground(Color c) {
XToolkit.awtLock();
try {
winBackground(c);
@@ -572,6 +572,14 @@
}
static int getModifiers(int state, int button, int keyCode) {
+ return getModifiers(state, button, keyCode, false);
+ }
+
+ static int getWheelModifiers(int state, int button) {
+ return getModifiers(state, button, 0, true);
+ }
+
+ private static int getModifiers(int state, int button, int keyCode, boolean isWheelMouse) {
int modifiers = 0;
if (((state & XConstants.ShiftMask) != 0) ^ (keyCode == KeyEvent.VK_SHIFT)) {
@@ -602,7 +610,7 @@
// ONLY one of these conditions should be TRUE to add that modifier.
if (((state & XlibUtil.getButtonMask(i + 1)) != 0) != (button == XConstants.buttons[i])){
//exclude wheel buttons from adding their numbers as modifiers
- if (!isWheel(XConstants.buttons[i])) {
+ if (!isWheelMouse || !isWheel(XConstants.buttons[i])) {
modifiers |= InputEvent.getMaskForButton(i+1);
}
}
@@ -715,9 +723,9 @@
if (button > XConstants.buttons[4]){
button -= 2;
}
- modifiers = getModifiers(xbe.get_state(),button,0);
if (!isWheel(lbutton)) {
+ modifiers = getModifiers(xbe.get_state(), button, 0);
MouseEvent me = new MouseEvent(getEventSource(),
type == XConstants.ButtonPress ? MouseEvent.MOUSE_PRESSED : MouseEvent.MOUSE_RELEASED,
jWhen,modifiers, x, y,
@@ -743,6 +751,7 @@
}
else {
+ modifiers = getWheelModifiers(xbe.get_state(), button);
if (xev.get_type() == XConstants.ButtonPress) {
MouseWheelEvent mwe = new MouseWheelEvent(getEventSource(),MouseEvent.MOUSE_WHEEL, jWhen,
modifiers,
@@ -1037,13 +1046,13 @@
return xEventType == XConstants.KeyPress ? java.awt.event.KeyEvent.KEY_PRESSED :
xEventType == XConstants.KeyRelease ? java.awt.event.KeyEvent.KEY_RELEASED : 0;
}
- static private long xkeycodeToKeysym(XKeyEvent ev) {
+ private static long xkeycodeToKeysym(XKeyEvent ev) {
return XKeysym.getKeysym( ev );
}
private long xkeycodeToPrimaryKeysym(XKeyEvent ev) {
return XKeysym.xkeycode2primary_keysym( ev );
}
- static private int primaryUnicode2JavaKeycode(int uni) {
+ private static int primaryUnicode2JavaKeycode(int uni) {
return (uni > 0? sun.awt.ExtendedKeyCodes.getExtendedKeyCodeForChar(uni) : 0);
//return (uni > 0? uni + 0x01000000 : 0);
}
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XWindowPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -429,7 +429,7 @@
}
private static ArrayList<IconInfo> defaultIconInfo;
- protected synchronized static java.util.List<IconInfo> getDefaultIconInfo() {
+ protected static synchronized java.util.List<IconInfo> getDefaultIconInfo() {
if (defaultIconInfo == null) {
defaultIconInfo = new ArrayList<IconInfo>();
if (XlibWrapper.dataModel == 32) {
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11/XlibWrapper.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11/XlibWrapper.java Wed Jul 05 20:52:10 2017 +0200
@@ -313,7 +313,7 @@
long delete, long req_type, long actualy_type,
long actualy_format, long nitems_ptr,
long bytes_after, long data_ptr);
- native static void XChangePropertyImpl(long display, long window, long atom,
+ static native void XChangePropertyImpl(long display, long window, long atom,
long type, int format, int mode, long data,
int nelements);
static void XChangeProperty(long display, long window, long atom,
@@ -566,8 +566,8 @@
/* Global memory area used for X lib parameter passing */
- final static long lbuffer = unsafe.allocateMemory(64); // array to hold 8 longs
- final static long ibuffer = unsafe.allocateMemory(32); // array to hold 8 ints
+ static final long lbuffer = unsafe.allocateMemory(64); // array to hold 8 longs
+ static final long ibuffer = unsafe.allocateMemory(32); // array to hold 8 ints
static final long larg1 = lbuffer;
static final long larg2 = larg1+8;
--- a/jdk/src/java.desktop/unix/classes/sun/awt/X11InputMethod.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/awt/X11InputMethod.java Wed Jul 05 20:52:10 2017 +0200
@@ -125,7 +125,7 @@
// private data (X11InputMethodData structure defined in
// awt_InputMethod.c) for native methods
// this structure needs to be accessed within AWT_LOCK/UNLOCK
- transient private long pData = 0; // accessed by native
+ private transient long pData = 0; // accessed by native
// Initialize highlight mapping table
static {
--- a/jdk/src/java.desktop/unix/classes/sun/font/X11GB18030_0.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/font/X11GB18030_0.java Wed Jul 05 20:52:10 2017 +0200
@@ -56,7 +56,7 @@
protected int encodeSingle(char inputChar) {
return -1;
}
- private final static String innerIndex0=
+ private static final String innerIndex0=
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
@@ -570,7 +570,7 @@
"\uA5F0\uA5F1\uA5F2\uA5F3\uA5F4\uA5F5\uA5F6\u0000"+
"\u0000\u0000\u0000\u0000\uA960\uA963\uA964\u0000";
- private final static String innerIndex1=
+ private static final String innerIndex1=
"\u0000\u0000\u0000\u0000\u0000\uA8C5\uA8C6\uA8C7"+
"\uA8C8\uA8C9\uA8CA\uA8CB\uA8CC\uA8CD\uA8CE\uA8CF"+
"\uA8D0\uA8D1\uA8D2\uA8D3\uA8D4\uA8D5\uA8D6\uA8D7"+
@@ -1084,7 +1084,7 @@
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
- private final static String innerIndex2=
+ private static final String innerIndex2=
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
@@ -1598,7 +1598,7 @@
"\u8BAF\uE6CD\u8BB0\u8BB1\u8BB2\u8BB3\u8BB4\u8BB5"+
"\u8BB6\u8BB7\u8BB8\u8BB9\u8BBA\u8BBB\u8BBC\u8BBD";
- private final static String innerIndex3=
+ private static final String innerIndex3=
"\u8BBE\u8BBF\u8BC0\u8BC1\u8BC2\u8BC3\u8BC4\u8BC5"+
"\u8BC6\uE6D2\u8BC7\u8BC8\u8BC9\u8BCA\u8BCB\u8BCC"+
"\u8BCD\u8BCE\u8BCF\u8BD0\u8BD1\u8BD2\uE6D4\uE6D3"+
@@ -2112,7 +2112,7 @@
"\u99C6\u99C7\u99C8\u99C9\u99CA\u99CB\u99CC\u99CD"+
"\u99CE\u99CF\u99D0\u99D1\u99D2\u99D3\u99D4\u99D5";
- private final static String innerIndex4=
+ private static final String innerIndex4=
"\u99D6\u99D7\u99D8\u99D9\u99DA\u99DB\u99DC\u99DD"+
"\u99DE\u99DF\u99E0\u99E1\u99E2\u99E3\u99E4\u99E5"+
"\u99E6\u99E7\u99E8\u99E9\u99EA\u99EB\u99EC\u99ED"+
@@ -2626,7 +2626,7 @@
"\uB87B\uB87C\uB87D\uB87E\uB880\uB881\uB882\uB883"+
"\uB884\uD6F1\uF3C3\uB885\uB886\uF3C4\uB887\uB8CD";
- private final static String innerIndex5=
+ private static final String innerIndex5=
"\uB888\uB889\uB88A\uF3C6\uF3C7\uB88B\uB0CA\uB88C"+
"\uF3C5\uB88D\uF3C9\uCBF1\uB88E\uB88F\uB890\uF3CB"+
"\uB891\uD0A6\uB892\uB893\uB1CA\uF3C8\uB894\uB895"+
@@ -3140,7 +3140,7 @@
"\uD64C\uD64D\uD64E\uD64F\uD650\uD651\uD652\uD653"+
"\uD654\uD655\uD656\uD657\uD658\uD659\uD65A\uD65B";
- private final static String innerIndex6=
+ private static final String innerIndex6=
"\uD65C\uD65D\uD65E\uD65F\uD660\uD661\uD662\uE5C0"+
"\uD663\uD664\uD665\uD666\uD667\uD668\uD669\uD66A"+
"\uD66B\uD66C\uD66D\uD66E\uD66F\uD670\uD671\uD672"+
@@ -3654,7 +3654,7 @@
"\uF38D\uF38E\uF38F\uF390\uF391\uF392\uF393\uF394"+
"\uF395\uF7DB\uF396\uF7D9\uF397\uF398\uF399\uF39A";
- private final static String innerIndex7=
+ private static final String innerIndex7=
"\uF39B\uF39C\uF39D\uD7D7\uF39E\uF39F\uF3A0\uF440"+
"\uF7DC\uF441\uF442\uF443\uF444\uF445\uF446\uF7DD"+
"\uF447\uF448\uF449\uF7DE\uF44A\uF44B\uF44C\uF44D"+
@@ -4168,7 +4168,7 @@
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
- private final static String innerIndex8=
+ private static final String innerIndex8=
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
@@ -4234,7 +4234,7 @@
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
- private final static short index1[] = {
+ private static final short index1[] = {
1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 13, 14,
@@ -4253,7 +4253,7 @@
0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 127, 0, 0, 0, 128, 129
};
- private final static String index2[] = {
+ private static final String index2[] = {
innerIndex0,
innerIndex1,
innerIndex2,
--- a/jdk/src/java.desktop/unix/classes/sun/font/X11GB18030_1.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/font/X11GB18030_1.java Wed Jul 05 20:52:10 2017 +0200
@@ -55,7 +55,7 @@
protected int encodeSingle(char inputChar) {
return -1;
}
- private final static String innerIndex0=
+ private static final String innerIndex0=
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
@@ -569,7 +569,7 @@
"\u0DD2\u0DD3\u0DD4\u0DD5\u0DD6\u0DD7\u0DD8\u0DD9"+
"\u0DDA\u0DDB\u0DDC\u0DDD\u0DDE\u0DDF\u0DE0\u0DE1";
- private final static String innerIndex1=
+ private static final String innerIndex1=
"\u0DE2\u0DE3\u0DE4\u0DE5\u0DE6\u0DE7\u0DE8\u0DE9"+
"\u0DEA\u0DEB\u0DEC\u0DED\u0DEE\u0DEF\u0DF0\u0DF1"+
"\u0DF2\u0DF3\u0DF4\u0DF5\u0DF6\u0DF7\u0DF8\u0DF9"+
@@ -1083,7 +1083,7 @@
"\u1DD2\u1DD3\u1DD4\u1DD5\u1DD6\u1DD7\u1DD8\u1DD9"+
"\u1DDA\u1DDB\u1DDC\u1DDD\u1DDE\u1DDF\u1DE0\u1DE1";
- private final static String innerIndex2=
+ private static final String innerIndex2=
"\u1DE2\u1DE3\u1DE4\u1DE5\u1DE6\u1DE7\u1DE8\u1DE9"+
"\u1DEA\u1DEB\u1DEC\u1DED\u1DEE\u1DEF\u1DF0\u1DF1"+
"\u1DF2\u1DF3\u1DF4\u1DF5\u1DF6\u1DF7\u1DF8\u1DF9"+
@@ -1597,7 +1597,7 @@
"\u2CA2\u2CA3\u2CA4\u2CA5\u2CA6\u2CA7\u2CA8\u2CA9"+
"\u2CAA\u2CAB\u2CAC\u2CAD\u2CAE\u2CAF\u2CB0\u2CB1";
- private final static String innerIndex3=
+ private static final String innerIndex3=
"\u2CB2\u2CB3\u2CB4\u2CB5\u2CB6\u2CB7\u2CB8\u2CB9"+
"\u2CBA\u2CBB\u2CBC\u2CBD\u2CBE\u2CBF\u2CC0\u2CC1"+
"\u2CC2\u2CC3\u2CC4\u2CC5\u2CC6\u2CC7\u2CC8\u2CC9"+
@@ -2111,7 +2111,7 @@
"\u3B79\u3B7A\u3B7B\u3B7C\u3B7D\u3B7E\u3B7F\u3B80"+
"\u3B81\u3B82\u3B83\u3B84\u3B85\u3B86\u3B87\u3B88";
- private final static String innerIndex4=
+ private static final String innerIndex4=
"\u3B89\u3B8A\u3B8B\u3B8C\u3B8D\u3B8E\u3B8F\u3B90"+
"\u3B91\u3B92\u3B93\u3B94\u3B95\u3B96\u3B97\u3B98"+
"\u3B99\u3B9A\u3B9B\u3B9C\u3B9D\u3B9E\u3B9F\u3BA0"+
@@ -2625,7 +2625,7 @@
"\u4AAD\u4AAE\u4AAF\u4AB0\u4AB1\u4AB2\u4AB3\u4AB4"+
"\u4AB5\u4AB6\u4AB7\u4AB8\u4AB9\u4ABA\u4ABB\u4ABC";
- private final static String innerIndex5=
+ private static final String innerIndex5=
"\u4ABD\u4ABE\u4ABF\u4AC0\u4AC1\u4AC2\u4AC3\u4AC4"+
"\u4AC5\u4AC6\u4AC7\u4AC8\u4AC9\u4ACA\u4ACB\u4ACC"+
"\u4ACD\u4ACE\u4ACF\u4AD0\u4AD1\u4AD2\u4AD3\u4AD4"+
@@ -3139,7 +3139,7 @@
"\u5AAD\u5AAE\u5AAF\u5AB0\u5AB1\u5AB2\u5AB3\u5AB4"+
"\u5AB5\u5AB6\u5AB7\u5AB8\u5AB9\u5ABA\u5ABB\u5ABC";
- private final static String innerIndex6=
+ private static final String innerIndex6=
"\u5ABD\u5ABE\u5ABF\u5AC0\u5AC1\u5AC2\u5AC3\u5AC4"+
"\u5AC5\u5AC6\u5AC7\u5AC8\u5AC9\u5ACA\u5ACB\u5ACC"+
"\u5ACD\u5ACE\u5ACF\u5AD0\u5AD1\u5AD2\u5AD3\u5AD4"+
@@ -3653,7 +3653,7 @@
"\u6AAD\u6AAE\u6AAF\u6AB0\u6AB1\u6AB2\u6AB3\u6AB4"+
"\u6AB5\u6AB6\u6AB7\u6AB8\u6AB9\u6ABA\u6ABB\u6ABC";
- private final static String innerIndex7=
+ private static final String innerIndex7=
"\u6ABD\u6ABE\u6ABF\u6AC0\u6AC1\u6AC2\u6AC3\u6AC4"+
"\u6AC5\u6AC6\u6AC7\u6AC8\u6AC9\u6ACA\u6ACB\u6ACC"+
"\u6ACD\u6ACE\u6ACF\u6AD0\u6AD1\u6AD2\u6AD3\u6AD4"+
@@ -4167,7 +4167,7 @@
"\u7AAD\u7AAE\u7AAF\u7AB0\u7AB1\u7AB2\u7AB3\u7AB4"+
"\u7AB5\u7AB6\u7AB7\u7AB8\u7AB9\u7ABA\u7ABB\u7ABC";
- private final static String innerIndex8=
+ private static final String innerIndex8=
"\u7ABD\u7ABE\u7ABF\u7AC0\u7AC1\u7AC2\u7AC3\u7AC4"+
"\u7AC5\u7AC6\u7AC7\u7AC8\u7AC9\u7ACA\u7ACB\u7ACC"+
"\u7ACD\u7ACE\u7ACF\u7AD0\u7AD1\u7AD2\u7AD3\u7AD4"+
@@ -4681,7 +4681,7 @@
"\u8999\u899A\u899B\u899C\u899D\u899E\u899F\u89A0"+
"\u89A1\u89A2\u89A3\u89A4\u89A5\u89A6\u89A7\u89A8";
- private final static String innerIndex9=
+ private static final String innerIndex9=
"\u89A9\u89AA\u89AB\u89AC\u89AD\u89AE\u89AF\u89B0"+
"\u89B1\u89B2\u89B3\u89B4\u89B5\u89B6\u89B7\u89B8"+
"\u89B9\u89BA\u89BB\u89BC\u89BD\u89BE\u89BF\u89C0"+
@@ -5195,7 +5195,7 @@
"\u9950\u9951\u9952\u9953\u9954\u9955\u9956\u9957"+
"\u9958\u9959\u995A\u995B\u995C\u995D\u995E\u995F";
- private final static String innerIndex10=
+ private static final String innerIndex10=
"\u9960\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
@@ -5229,7 +5229,7 @@
"\u99EC\u99ED\u99EE\u99EF\u99F0\u99F1\u99F2\u99F3"+
"\u99F4\u99F5\u99F6\u99F7\u99F8\u0000\u99FA\u99FB";
- private final static short index1[] = {
+ private static final short index1[] = {
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16,
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
@@ -5248,7 +5248,7 @@
145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160
};
- private final static String index2[] = {
+ private static final String index2[] = {
innerIndex0,
innerIndex1,
innerIndex2,
--- a/jdk/src/java.desktop/unix/classes/sun/font/X11Johab.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/font/X11Johab.java Wed Jul 05 20:52:10 2017 +0200
@@ -55,7 +55,7 @@
return true;
}
- private final static String innerIndex0=
+ private static final String innerIndex0=
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
@@ -569,7 +569,7 @@
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
- private final static String innerIndex1=
+ private static final String innerIndex1=
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
@@ -1083,7 +1083,7 @@
"\uE978\u0000\u0000\u0000\uF866\u0000\uE4F6\u0000"+
"\u0000\u0000\u0000\uF3DA\u0000\uF894\u0000\u0000";
- private final static String innerIndex2=
+ private static final String innerIndex2=
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\uEC9F"+
"\u0000\u0000\u0000\u0000\u0000\uE5CF\uE39A\u0000"+
"\u0000\uE1DF\u0000\u0000\uF5CB\u0000\uED92\uE0AB"+
@@ -1597,7 +1597,7 @@
"\uF6C1\u0000\u0000\uEEB6\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
- private final static String innerIndex3=
+ private static final String innerIndex3=
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\uEDC7\uE63C\u0000\u0000\u0000"+
"\u0000\uE957\u0000\u0000\u0000\u0000\u0000\uEBA9"+
@@ -2111,7 +2111,7 @@
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\uE1A7\u0000\u0000\uE33C\u0000";
- private final static String innerIndex4=
+ private static final String innerIndex4=
"\uE3BA\u0000\uF3C4\u0000\uEDB3\uF8F5\uEFE1\uF9E0"+
"\uF94C\u0000\uE832\uE833\u0000\uE431\u0000\u0000"+
"\uE491\u0000\u0000\u0000\uEC7D\u0000\u0000\uEA79"+
@@ -2625,7 +2625,7 @@
"\u0000\u0000\u0000\u0000\uE695\u0000\u0000\u0000"+
"\u0000\u0000\u0000\uE9B8\uE2C5\uEADF\u0000\u0000";
- private final static String innerIndex5=
+ private static final String innerIndex5=
"\u0000\u0000\u0000\u0000\uF44E\uF631\u0000\uF0CB"+
"\uF3FC\u0000\uF4C7\u0000\u0000\uEB7B\u0000\u0000"+
"\u0000\u0000\u0000\uF1FC\u0000\u0000\uEBDB\u0000"+
@@ -3139,7 +3139,7 @@
"\u0000\u0000\u0000\uE995\uE7B0\u0000\uEE79\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
- private final static String innerIndex6=
+ private static final String innerIndex6=
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\uED4C\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
@@ -3653,7 +3653,7 @@
"\u9E89\u9E8A\u9E8B\u9E8C\u9E8D\u9E8E\u9E8F\u9E90"+
"\u9E91\u9E93\u9E94\u9E95\u9E96\u9E97\u9E98\u9E99";
- private final static String innerIndex7=
+ private static final String innerIndex7=
"\u9E9A\u9E9B\u9E9C\u9E9D\u9EA1\u9EA2\u9EA3\u9EA4"+
"\u9EA5\u9EA6\u9EA7\u9EA8\u9EA9\u9EAA\u9EAB\u9EAC"+
"\u9EAD\u9EAE\u9EAF\u9EB0\u9EB1\u9EB3\u9EB4\u9EB5"+
@@ -4167,7 +4167,7 @@
"\uBA71\uBA73\uBA74\uBA75\uBA76\uBA77\uBA78\uBA79"+
"\uBA7A\uBA7B\uBA7C\uBA7D\uBA81\uBA82\uBA83\uBA84";
- private final static String innerIndex8=
+ private static final String innerIndex8=
"\uBA85\uBA86\uBA87\uBA88\uBA89\uBA8A\uBA8B\uBA8C"+
"\uBA8D\uBA8E\uBA8F\uBA90\uBA91\uBA93\uBA94\uBA95"+
"\uBA96\uBA97\uBA98\uBA99\uBA9A\uBA9B\uBA9C\uBA9D"+
@@ -4681,7 +4681,7 @@
"\uF171\uF174\uF177\uF178\uF199\uF19A\uF19C\uF1A1"+
"\uF1A2\uF1A3\uF1EE\uF26B\uF44D\uF49C\uF4B1\uF537";
- private final static String innerIndex9=
+ private static final String innerIndex9=
"\uF57E\uF696\uF698\uF6B8\uF6C8\uF6D3\uF76B\uF792"+
"\uF831\uF832\uF876\uF939\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
@@ -4747,7 +4747,7 @@
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
- private final static short index1[] = {
+ private static final short index1[] = {
1, 2, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
--- a/jdk/src/java.desktop/unix/classes/sun/font/X11SunUnicode_0.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/font/X11SunUnicode_0.java Wed Jul 05 20:52:10 2017 +0200
@@ -55,7 +55,7 @@
super(cs, index1, index2);
}
- private final static String innerIndex0=
+ private static final String innerIndex0=
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
@@ -121,7 +121,7 @@
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"+
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000";
- private final static short index1[] = {
+ private static final short index1[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -140,7 +140,7 @@
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
- private final static String index2[] = {
+ private static final String index2[] = {
innerIndex0
};
--- a/jdk/src/java.desktop/unix/classes/sun/java2d/jules/IdleTileCache.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/java2d/jules/IdleTileCache.java Wed Jul 05 20:52:10 2017 +0200
@@ -28,8 +28,8 @@
import java.util.*;
public class IdleTileCache {
- final static int IDLE_TILE_SYNC_GRANULARITY = 16;
- final static ArrayList<JulesTile> idleBuffers = new ArrayList<JulesTile>();
+ static final int IDLE_TILE_SYNC_GRANULARITY = 16;
+ static final ArrayList<JulesTile> idleBuffers = new ArrayList<JulesTile>();
ArrayList<JulesTile> idleTileWorkerCacheList = new ArrayList<JulesTile>();
ArrayList<JulesTile> idleTileConsumerCacheList =
--- a/jdk/src/java.desktop/unix/classes/sun/java2d/jules/JulesAATileGenerator.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/java2d/jules/JulesAATileGenerator.java Wed Jul 05 20:52:10 2017 +0200
@@ -33,13 +33,13 @@
public class JulesAATileGenerator implements AATileGenerator {
/* Threading stuff */
- final static ExecutorService rasterThreadPool =
+ static final ExecutorService rasterThreadPool =
Executors.newCachedThreadPool();
- final static int CPU_CNT = Runtime.getRuntime().availableProcessors();
+ static final int CPU_CNT = Runtime.getRuntime().availableProcessors();
- final static boolean ENABLE_THREADING = false;
- final static int THREAD_MIN = 16;
- final static int THREAD_BEGIN = 16;
+ static final boolean ENABLE_THREADING = false;
+ static final int THREAD_MIN = 16;
+ static final int THREAD_BEGIN = 16;
IdleTileCache tileCache;
TileWorker worker;
@@ -47,8 +47,8 @@
int rasterTileCnt;
/* Tiling */
- final static int TILE_SIZE = 32;
- final static int TILE_SIZE_FP = 32 << 16;
+ static final int TILE_SIZE = 32;
+ static final int TILE_SIZE_FP = 32 << 16;
int left, right, top, bottom, width, height;
int leftFP, topFP;
int tileCnt, tilesX, tilesY;
--- a/jdk/src/java.desktop/unix/classes/sun/java2d/jules/TileWorker.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/java2d/jules/TileWorker.java Wed Jul 05 20:52:10 2017 +0200
@@ -28,7 +28,7 @@
import java.util.*;
public class TileWorker implements Runnable {
- final static int RASTERIZED_TILE_SYNC_GRANULARITY = 8;
+ static final int RASTERIZED_TILE_SYNC_GRANULARITY = 8;
final ArrayList<JulesTile> rasterizedTileConsumerCache =
new ArrayList<JulesTile>();
final LinkedList<JulesTile> rasterizedBuffers = new LinkedList<JulesTile>();
--- a/jdk/src/java.desktop/unix/classes/sun/java2d/xr/XIDGenerator.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/java2d/xr/XIDGenerator.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,7 +34,7 @@
*/
public class XIDGenerator {
- private final static int XID_BUFFER_SIZE = 512;
+ private static final int XID_BUFFER_SIZE = 512;
int[] xidBuffer = new int[XID_BUFFER_SIZE];
int currentIndex = XID_BUFFER_SIZE;
--- a/jdk/src/java.desktop/unix/classes/sun/java2d/xr/XRBackendNative.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/java2d/xr/XRBackendNative.java Wed Jul 05 20:52:10 2017 +0200
@@ -107,7 +107,7 @@
int x1, int y1, int x2, int y2,
int numStops, int repeat);
- private native static int
+ private static native int
XRCreateRadialGradientPaintNative(float[] fractionsArray,
short[] pixelsArray, int numStops,
int centerX, int centerY,
--- a/jdk/src/java.desktop/unix/classes/sun/java2d/xr/XRCompositeManager.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/java2d/xr/XRCompositeManager.java Wed Jul 05 20:52:10 2017 +0200
@@ -48,9 +48,9 @@
private static boolean enableGradCache = true;
private static XRCompositeManager instance;
- private final static int SOLID = 0;
- private final static int TEXTURE = 1;
- private final static int GRADIENT = 2;
+ private static final int SOLID = 0;
+ private static final int TEXTURE = 1;
+ private static final int GRADIENT = 2;
int srcType;
XRSolidSrcPict solidSrc32;
--- a/jdk/src/java.desktop/unix/classes/sun/java2d/xr/XcbRequestCounter.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/java2d/xr/XcbRequestCounter.java Wed Jul 05 20:52:10 2017 +0200
@@ -32,7 +32,7 @@
*/
public class XcbRequestCounter {
- private final static long MAX_UINT = 4294967295L;
+ private static final long MAX_UINT = 4294967295L;
long value;
--- a/jdk/src/java.desktop/unix/classes/sun/print/IPPPrintService.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/print/IPPPrintService.java Wed Jul 05 20:52:10 2017 +0200
@@ -83,7 +83,7 @@
private String printer;
private URI myURI;
private URL myURL;
- transient private ServiceNotifier notifier = null;
+ private transient ServiceNotifier notifier = null;
private static int MAXCOPIES = 1000;
private static short MAX_ATTRIBUTE_LENGTH = 255;
--- a/jdk/src/java.desktop/unix/classes/sun/print/UnixPrintJob.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/print/UnixPrintJob.java Wed Jul 05 20:52:10 2017 +0200
@@ -90,9 +90,9 @@
public class UnixPrintJob implements CancelablePrintJob {
private static String debugPrefix = "UnixPrintJob>> ";
- transient private Vector<PrintJobListener> jobListeners;
- transient private Vector<PrintJobAttributeListener> attrListeners;
- transient private Vector<PrintJobAttributeSet> listenedAttributeSets;
+ private transient Vector<PrintJobListener> jobListeners;
+ private transient Vector<PrintJobAttributeListener> attrListeners;
+ private transient Vector<PrintJobAttributeSet> listenedAttributeSets;
private PrintService service;
private boolean fidelity;
--- a/jdk/src/java.desktop/unix/classes/sun/print/UnixPrintService.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/unix/classes/sun/print/UnixPrintService.java Wed Jul 05 20:52:10 2017 +0200
@@ -192,8 +192,8 @@
private PrinterName name;
private boolean isInvalid;
- transient private PrintServiceAttributeSet lastSet;
- transient private ServiceNotifier notifier = null;
+ private transient PrintServiceAttributeSet lastSet;
+ private transient ServiceNotifier notifier = null;
UnixPrintService(String name) {
if (name == null) {
--- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WComponentPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WComponentPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -233,7 +233,7 @@
paintArea.paint(target, shouldClearRectBeforePaint());
}
- native synchronized void updateWindow();
+ synchronized native void updateWindow();
@Override
public void paint(Graphics g) {
@@ -566,7 +566,7 @@
}
// fallback default font object
- final static Font defaultFont = new Font(Font.DIALOG, Font.PLAIN, 12);
+ static final Font defaultFont = new Font(Font.DIALOG, Font.PLAIN, 12);
@Override
public Graphics getGraphics() {
--- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WDialogPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WDialogPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -35,7 +35,7 @@
// Platform default background for dialogs. Gets set on target if
// target has none explicitly specified.
- final static Color defaultBackground = SystemColor.control;
+ static final Color defaultBackground = SystemColor.control;
// If target doesn't have its background color set, we set its
// background to platform default.
--- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WFramePeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WFramePeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -195,7 +195,7 @@
setState(target.getExtendedState());
}
- private native static int getSysMenuHeight();
+ private static native int getSysMenuHeight();
native void pSetIMMOption(String option);
void notifyIMMOptionChange(){
--- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WInputMethod.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WInputMethod.java Wed Jul 05 20:52:10 2017 +0200
@@ -67,23 +67,23 @@
private boolean statusWindowHidden = false;
// attribute definition in Win32 (in IMM.H)
- public final static byte ATTR_INPUT = 0x00;
- public final static byte ATTR_TARGET_CONVERTED = 0x01;
- public final static byte ATTR_CONVERTED = 0x02;
- public final static byte ATTR_TARGET_NOTCONVERTED = 0x03;
- public final static byte ATTR_INPUT_ERROR = 0x04;
+ public static final byte ATTR_INPUT = 0x00;
+ public static final byte ATTR_TARGET_CONVERTED = 0x01;
+ public static final byte ATTR_CONVERTED = 0x02;
+ public static final byte ATTR_TARGET_NOTCONVERTED = 0x03;
+ public static final byte ATTR_INPUT_ERROR = 0x04;
// cmode definition in Win32 (in IMM.H)
- public final static int IME_CMODE_ALPHANUMERIC = 0x0000;
- public final static int IME_CMODE_NATIVE = 0x0001;
- public final static int IME_CMODE_KATAKANA = 0x0002;
- public final static int IME_CMODE_LANGUAGE = 0x0003;
- public final static int IME_CMODE_FULLSHAPE = 0x0008;
- public final static int IME_CMODE_HANJACONVERT = 0x0040;
- public final static int IME_CMODE_ROMAN = 0x0010;
+ public static final int IME_CMODE_ALPHANUMERIC = 0x0000;
+ public static final int IME_CMODE_NATIVE = 0x0001;
+ public static final int IME_CMODE_KATAKANA = 0x0002;
+ public static final int IME_CMODE_LANGUAGE = 0x0003;
+ public static final int IME_CMODE_FULLSHAPE = 0x0008;
+ public static final int IME_CMODE_HANJACONVERT = 0x0040;
+ public static final int IME_CMODE_ROMAN = 0x0010;
// flag values for endCompositionNative() behavior
- private final static boolean COMMIT_INPUT = true;
- private final static boolean DISCARD_INPUT = false;
+ private static final boolean COMMIT_INPUT = true;
+ private static final boolean DISCARD_INPUT = false;
private static Map<TextAttribute,Object> [] highlightStyles;
--- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WObjectPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WObjectPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -66,7 +66,7 @@
* Subclasses should override disposeImpl() instead of dispose(). Client
* code should always invoke dispose(), never disposeImpl().
*/
- abstract protected void disposeImpl();
+ protected abstract void disposeImpl();
public final void dispose() {
boolean call_disposeImpl = false;
--- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WScrollPanePeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WScrollPanePeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -78,7 +78,7 @@
private native void setInsets();
@Override
- public native synchronized void setScrollPosition(int x, int y);
+ public synchronized native void setScrollPosition(int x, int y);
@Override
public int getHScrollbarHeight() {
@@ -112,7 +112,7 @@
setInsets();
}
- native synchronized void setSpans(int viewWidth, int viewHeight,
+ synchronized native void setSpans(int viewWidth, int viewHeight,
int childWidth, int childHeight);
/**
--- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WToolkit.java Wed Jul 05 20:52:10 2017 +0200
@@ -832,7 +832,7 @@
* Have Win32GraphicsEnvironment execute the display change code on the
* Event thread.
*/
- static public void displayChanged() {
+ public static void displayChanged() {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
@@ -1127,7 +1127,7 @@
return areExtraMouseButtonsEnabled;
}
- private native synchronized int getNumberOfButtonsImpl();
+ private synchronized native int getNumberOfButtonsImpl();
@Override
public int getNumberOfButtons(){
--- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WTrayIconPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WTrayIconPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -40,9 +40,9 @@
import sun.awt.image.IntegerComponentRaster;
final class WTrayIconPeer extends WObjectPeer implements TrayIconPeer {
- final static int TRAY_ICON_WIDTH = 16;
- final static int TRAY_ICON_HEIGHT = 16;
- final static int TRAY_ICON_MASK_SIZE = (TRAY_ICON_WIDTH * TRAY_ICON_HEIGHT) / 8;
+ static final int TRAY_ICON_WIDTH = 16;
+ static final int TRAY_ICON_HEIGHT = 16;
+ static final int TRAY_ICON_MASK_SIZE = (TRAY_ICON_WIDTH * TRAY_ICON_HEIGHT) / 8;
IconObserver observer = new IconObserver();
boolean firstUpdate = true;
--- a/jdk/src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/awt/windows/WWindowPeer.java Wed Jul 05 20:52:10 2017 +0200
@@ -59,7 +59,7 @@
* is a list of windows, sorted by the time of activation: later a window is
* activated, greater its index is in the list.
*/
- private final static StringBuffer ACTIVE_WINDOWS_KEY =
+ private static final StringBuffer ACTIVE_WINDOWS_KEY =
new StringBuffer("active_windows_list");
/*
@@ -72,7 +72,7 @@
/*
* The object is a listener for the AppContext.GUI_DISPOSED property.
*/
- private final static PropertyChangeListener guiDisposedListener =
+ private static final PropertyChangeListener guiDisposedListener =
new GuiDisposedListener();
/*
--- a/jdk/src/java.desktop/windows/classes/sun/java2d/d3d/D3DPaints.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/java2d/d3d/D3DPaints.java Wed Jul 05 20:52:10 2017 +0200
@@ -158,7 +158,7 @@
/****************** Shared MultipleGradientPaint support ********************/
- private static abstract class MultiGradient extends D3DPaints {
+ private abstract static class MultiGradient extends D3DPaints {
/**
* Note that this number is lower than the MULTI_MAX_FRACTIONS
--- a/jdk/src/java.desktop/windows/classes/sun/print/Win32MediaTray.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/print/Win32MediaTray.java Wed Jul 05 20:52:10 2017 +0200
@@ -59,7 +59,7 @@
winID = id;
}
- private synchronized static int nextValue(String name) {
+ private static synchronized int nextValue(String name) {
winStringTable.add(name);
return (getTraySize()-1);
}
--- a/jdk/src/java.desktop/windows/classes/sun/print/Win32PrintJob.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/print/Win32PrintJob.java Wed Jul 05 20:52:10 2017 +0200
@@ -79,9 +79,9 @@
public class Win32PrintJob implements CancelablePrintJob {
- transient private Vector<PrintJobListener> jobListeners;
- transient private Vector<PrintJobAttributeListener> attrListeners;
- transient private Vector<PrintJobAttributeSet> listenedAttributeSets;
+ private transient Vector<PrintJobListener> jobListeners;
+ private transient Vector<PrintJobAttributeListener> attrListeners;
+ private transient Vector<PrintJobAttributeSet> listenedAttributeSets;
private Win32PrintService service;
private boolean fidelity;
--- a/jdk/src/java.desktop/windows/classes/sun/print/Win32PrintService.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.desktop/windows/classes/sun/print/Win32PrintService.java Wed Jul 05 20:52:10 2017 +0200
@@ -195,8 +195,8 @@
private PrinterName name;
private String port;
- transient private PrintServiceAttributeSet lastSet;
- transient private ServiceNotifier notifier = null;
+ private transient PrintServiceAttributeSet lastSet;
+ private transient ServiceNotifier notifier = null;
private MediaSizeName[] mediaSizeNames;
private MediaPrintableArea[] mediaPrintables;
@@ -1734,7 +1734,7 @@
}
- private synchronized static int nextValue(String name) {
+ private static synchronized int nextValue(String name) {
winStringTable.add(name);
return (winStringTable.size()-1);
}
--- a/jdk/src/java.logging/share/classes/java/util/logging/LogManager.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.logging/share/classes/java/util/logging/LogManager.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,9 +34,9 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.locks.ReentrantLock;
-import sun.misc.JavaAWTAccess;
+import jdk.internal.misc.JavaAWTAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.misc.ManagedLocalsThread;
-import sun.misc.SharedSecrets;
/**
* There is a single global LogManager object that is used to
--- a/jdk/src/java.logging/share/classes/java/util/logging/LogRecord.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.logging/share/classes/java/util/logging/LogRecord.java Wed Jul 05 20:52:10 2017 +0200
@@ -31,8 +31,8 @@
import java.io.*;
import java.time.Clock;
-import sun.misc.JavaLangAccess;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaLangAccess;
+import jdk.internal.misc.SharedSecrets;
/**
* LogRecord objects are used to pass logging requests between
--- a/jdk/src/java.management/share/classes/com/sun/jmx/mbeanserver/Introspector.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.management/share/classes/com/sun/jmx/mbeanserver/Introspector.java Wed Jul 05 20:52:10 2017 +0200
@@ -56,8 +56,6 @@
import javax.management.AttributeNotFoundException;
import javax.management.openmbean.CompositeData;
-import sun.misc.JavaBeansAccess;
-import sun.misc.SharedSecrets;
import sun.reflect.misc.MethodUtil;
import sun.reflect.misc.ReflectUtil;
--- a/jdk/src/java.management/share/classes/com/sun/jmx/mbeanserver/JavaBeansAccessor.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.management/share/classes/com/sun/jmx/mbeanserver/JavaBeansAccessor.java Wed Jul 05 20:52:10 2017 +0200
@@ -26,8 +26,8 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
-import sun.misc.JavaBeansAccess;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaBeansAccess;
+import jdk.internal.misc.SharedSecrets;
/**
* A centralized place for gaining access to java.beans related functionality -
--- a/jdk/src/java.management/share/classes/javax/management/modelmbean/RequiredModelMBean.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.management/share/classes/javax/management/modelmbean/RequiredModelMBean.java Wed Jul 05 20:52:10 2017 +0200
@@ -80,8 +80,8 @@
import javax.management.RuntimeOperationsException;
import javax.management.ServiceNotFoundException;
import javax.management.loading.ClassLoaderRepository;
-import sun.misc.JavaSecurityAccess;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaSecurityAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.reflect.misc.MethodUtil;
import sun.reflect.misc.ReflectUtil;
--- a/jdk/src/java.management/share/classes/sun/management/ManagementFactoryHelper.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.management/share/classes/sun/management/ManagementFactoryHelper.java Wed Jul 05 20:52:10 2017 +0200
@@ -36,6 +36,9 @@
import java.security.AccessController;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
+
+import jdk.internal.misc.JavaNioAccess;
+import jdk.internal.misc.SharedSecrets;
import sun.util.logging.LoggingSupport;
import java.util.ArrayList;
import java.util.List;
@@ -208,7 +211,7 @@
public static synchronized List<BufferPoolMXBean> getBufferPoolMXBeans() {
if (bufferPools == null) {
bufferPools = new ArrayList<>(2);
- bufferPools.add(createBufferPoolMXBean(sun.misc.SharedSecrets.getJavaNioAccess()
+ bufferPools.add(createBufferPoolMXBean(SharedSecrets.getJavaNioAccess()
.getDirectBufferPool()));
bufferPools.add(createBufferPoolMXBean(sun.nio.ch.FileChannelImpl
.getMappedBufferPool()));
@@ -222,7 +225,7 @@
* Creates management interface for the given buffer pool.
*/
private static BufferPoolMXBean
- createBufferPoolMXBean(final sun.misc.JavaNioAccess.BufferPool pool)
+ createBufferPoolMXBean(final JavaNioAccess.BufferPool pool)
{
return new BufferPoolMXBean() {
private volatile ObjectName objname; // created lazily
--- a/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/VersionHelper.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.naming/share/classes/com/sun/jndi/ldap/VersionHelper.java Wed Jul 05 20:52:10 2017 +0200
@@ -25,7 +25,7 @@
package com.sun.jndi.ldap;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.SharedSecrets;
import java.net.MalformedURLException;
import java.net.URL;
--- a/jdk/src/java.sql/share/classes/java/sql/Date.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.sql/share/classes/java/sql/Date.java Wed Jul 05 20:52:10 2017 +0200
@@ -27,8 +27,8 @@
import java.time.Instant;
import java.time.LocalDate;
-import sun.misc.SharedSecrets;
-import sun.misc.JavaLangAccess;
+import jdk.internal.misc.SharedSecrets;
+import jdk.internal.misc.JavaLangAccess;
/**
* <P>A thin wrapper around a millisecond value that allows
--- a/jdk/src/java.sql/share/classes/java/sql/Time.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.sql/share/classes/java/sql/Time.java Wed Jul 05 20:52:10 2017 +0200
@@ -27,8 +27,8 @@
import java.time.Instant;
import java.time.LocalTime;
-import sun.misc.SharedSecrets;
-import sun.misc.JavaLangAccess;
+import jdk.internal.misc.SharedSecrets;
+import jdk.internal.misc.JavaLangAccess;
/**
* <P>A thin wrapper around the <code>java.util.Date</code> class that allows the JDBC
--- a/jdk/src/java.sql/share/classes/java/sql/Timestamp.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.sql/share/classes/java/sql/Timestamp.java Wed Jul 05 20:52:10 2017 +0200
@@ -27,8 +27,8 @@
import java.time.Instant;
import java.time.LocalDateTime;
-import sun.misc.SharedSecrets;
-import sun.misc.JavaLangAccess;
+import jdk.internal.misc.SharedSecrets;
+import jdk.internal.misc.JavaLangAccess;
/**
* <P>A thin wrapper around {@code java.util.Date} that allows
--- a/jdk/src/java.sql/share/classes/javax/transaction/xa/XAException.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.sql/share/classes/javax/transaction/xa/XAException.java Wed Jul 05 20:52:10 2017 +0200
@@ -31,7 +31,11 @@
*
*/
public class XAException extends Exception {
- //private static final long serialVersionUID = -8249683284832867751L;
+
+ /**
+ * Specify serialVersionUID for backward compatibility
+ */
+ private static final long serialVersionUID = -8249683284832867751L;
/**
* The error code with which to create the SystemException.
--- a/jdk/src/java.transaction/share/classes/javax/transaction/InvalidTransactionException.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.transaction/share/classes/javax/transaction/InvalidTransactionException.java Wed Jul 05 20:52:10 2017 +0200
@@ -40,6 +40,11 @@
public class InvalidTransactionException extends java.rmi.RemoteException {
/**
+ * Specify serialVersionUID for backward compatibility
+ */
+ private static final long serialVersionUID = 3597320220337691496L;
+
+ /**
* Constructs an {@code InvalidTransactionException}.
*/
public InvalidTransactionException() {
--- a/jdk/src/java.transaction/share/classes/javax/transaction/TransactionRequiredException.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.transaction/share/classes/javax/transaction/TransactionRequiredException.java Wed Jul 05 20:52:10 2017 +0200
@@ -39,6 +39,11 @@
public class TransactionRequiredException extends java.rmi.RemoteException {
/**
+ * Specify serialVersionUID for backward compatibility
+ */
+ private static final long serialVersionUID = -1898806419937446439L;
+
+ /**
* Constructs a {@code TransactionRequiredException}.
*/
public TransactionRequiredException() {
--- a/jdk/src/java.transaction/share/classes/javax/transaction/TransactionRolledbackException.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/java.transaction/share/classes/javax/transaction/TransactionRolledbackException.java Wed Jul 05 20:52:10 2017 +0200
@@ -42,6 +42,11 @@
public class TransactionRolledbackException extends java.rmi.RemoteException {
/**
+ * Specify serialVersionUID for backward compatibility
+ */
+ private static final long serialVersionUID = -3142798139623020577L;
+
+ /**
* Constructs a {@code TransactionRolledbackException}.
*/
public TransactionRolledbackException() {
--- a/jdk/src/jdk.localedata/share/classes/sun/util/resources/de/TimeZoneNames_de.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/util/resources/de/TimeZoneNames_de.java Wed Jul 05 20:52:10 2017 +0200
@@ -431,6 +431,7 @@
{"America/Eirunepe", ACT},
{"America/El_Salvador", CST},
{"America/Ensenada", PST},
+ {"America/Fort_Nelson", MST},
{"America/Fort_Wayne", EST},
{"America/Fortaleza", BRT},
{"America/Glace_Bay", AST},
--- a/jdk/src/jdk.localedata/share/classes/sun/util/resources/es/TimeZoneNames_es.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/util/resources/es/TimeZoneNames_es.java Wed Jul 05 20:52:10 2017 +0200
@@ -431,6 +431,7 @@
{"America/Eirunepe", ACT},
{"America/El_Salvador", CST},
{"America/Ensenada", PST},
+ {"America/Fort_Nelson", MST},
{"America/Fort_Wayne", EST},
{"America/Fortaleza", BRT},
{"America/Glace_Bay", AST},
--- a/jdk/src/jdk.localedata/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/util/resources/fr/TimeZoneNames_fr.java Wed Jul 05 20:52:10 2017 +0200
@@ -431,6 +431,7 @@
{"America/Eirunepe", ACT},
{"America/El_Salvador", CST},
{"America/Ensenada", PST},
+ {"America/Fort_Nelson", MST},
{"America/Fort_Wayne", EST},
{"America/Fortaleza", BRT},
{"America/Glace_Bay", AST},
--- a/jdk/src/jdk.localedata/share/classes/sun/util/resources/it/TimeZoneNames_it.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/util/resources/it/TimeZoneNames_it.java Wed Jul 05 20:52:10 2017 +0200
@@ -431,6 +431,7 @@
{"America/Eirunepe", ACT},
{"America/El_Salvador", CST},
{"America/Ensenada", PST},
+ {"America/Fort_Nelson", MST},
{"America/Fort_Wayne", EST},
{"America/Fortaleza", BRT},
{"America/Glace_Bay", AST},
--- a/jdk/src/jdk.localedata/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/util/resources/ja/TimeZoneNames_ja.java Wed Jul 05 20:52:10 2017 +0200
@@ -431,6 +431,7 @@
{"America/Eirunepe", ACT},
{"America/El_Salvador", CST},
{"America/Ensenada", PST},
+ {"America/Fort_Nelson", MST},
{"America/Fort_Wayne", EST},
{"America/Fortaleza", BRT},
{"America/Glace_Bay", AST},
--- a/jdk/src/jdk.localedata/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/util/resources/ko/TimeZoneNames_ko.java Wed Jul 05 20:52:10 2017 +0200
@@ -431,6 +431,7 @@
{"America/Eirunepe", ACT},
{"America/El_Salvador", CST},
{"America/Ensenada", PST},
+ {"America/Fort_Nelson", MST},
{"America/Fort_Wayne", EST},
{"America/Fortaleza", BRT},
{"America/Glace_Bay", AST},
--- a/jdk/src/jdk.localedata/share/classes/sun/util/resources/pt/BR/TimeZoneNames_pt_BR.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/util/resources/pt/BR/TimeZoneNames_pt_BR.java Wed Jul 05 20:52:10 2017 +0200
@@ -431,6 +431,7 @@
{"America/Eirunepe", ACT},
{"America/El_Salvador", CST},
{"America/Ensenada", PST},
+ {"America/Fort_Nelson", MST},
{"America/Fort_Wayne", EST},
{"America/Fortaleza", BRT},
{"America/Glace_Bay", AST},
--- a/jdk/src/jdk.localedata/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/util/resources/sv/TimeZoneNames_sv.java Wed Jul 05 20:52:10 2017 +0200
@@ -431,6 +431,7 @@
{"America/Eirunepe", ACT},
{"America/El_Salvador", CST},
{"America/Ensenada", PST},
+ {"America/Fort_Nelson", MST},
{"America/Fort_Wayne", EST},
{"America/Fortaleza", BRT},
{"America/Glace_Bay", AST},
--- a/jdk/src/jdk.localedata/share/classes/sun/util/resources/zh/CN/TimeZoneNames_zh_CN.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/util/resources/zh/CN/TimeZoneNames_zh_CN.java Wed Jul 05 20:52:10 2017 +0200
@@ -431,6 +431,7 @@
{"America/Eirunepe", ACT},
{"America/El_Salvador", CST},
{"America/Ensenada", PST},
+ {"America/Fort_Nelson", MST},
{"America/Fort_Wayne", EST},
{"America/Fortaleza", BRT},
{"America/Glace_Bay", AST},
--- a/jdk/src/jdk.localedata/share/classes/sun/util/resources/zh/TW/TimeZoneNames_zh_TW.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/src/jdk.localedata/share/classes/sun/util/resources/zh/TW/TimeZoneNames_zh_TW.java Wed Jul 05 20:52:10 2017 +0200
@@ -431,6 +431,7 @@
{"America/Eirunepe", ACT},
{"America/El_Salvador", CST},
{"America/Ensenada", PST},
+ {"America/Fort_Nelson", MST},
{"America/Fort_Wayne", EST},
{"America/Fortaleza", BRT},
{"America/Glace_Bay", AST},
--- a/jdk/test/TEST.groups Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/TEST.groups Wed Jul 05 20:52:10 2017 +0200
@@ -250,6 +250,7 @@
javax/naming \
javax/script \
javax/smartcardio \
+ javax/transaction \
javax/xml \
-javax/xml/crypto \
jdk/asm \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.html Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,44 @@
+<!--
+ 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.
+-->
+
+
+<html>
+<!--
+ @test
+ @bug 6392086 8014725
+ @summary Tests basic DnD functionality in an applet
+ @author Alexey Utkin, Semyon Sadetsky area=dnd
+ @run applet HTMLTransferTest.html
+-->
+<head>
+<title> </title>
+</head>
+<body>
+
+<h1>HTMLTransferTest<br>Bug ID: 6392086</h1>
+
+<p> This is an AUTOMATIC test, simply wait for completion </p>
+
+<APPLET CODE="HTMLTransferTest.class" WIDTH=200 HEIGHT=200></APPLET>
+</body>
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/Clipboard/HTMLTransferTest/HTMLTransferTest.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,767 @@
+/*
+ * 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.
+ */
+
+/*
+ @bug 6392086 8014725
+ @summary Tests basic DnD functionality in an applet
+ @author Alexey Utkin, Semyon Sadetsky
+ @run applet HTMLTransferTest.html
+*/
+
+/**
+ * HTMLTransferTest.java
+ *
+ * summary: tests that HTMLs of all supported native HTML formats
+ * are transfered properly
+ */
+
+import java.applet.Applet;
+import java.awt.*;
+import java.awt.datatransfer.*;
+import java.io.*;
+
+
+public class HTMLTransferTest extends Applet {
+ public static final int CODE_NOT_RETURNED = 100;
+ public static final int CODE_CONSUMER_TEST_FAILED = 101;
+ public static final int CODE_FAILURE = 102;
+ public static DataFlavor[] HTMLFlavors = null;
+ public static DataFlavor SyncFlavor = null;
+ static {
+ try{
+ HTMLFlavors = new DataFlavor[] {
+ new DataFlavor("text/html; document=selection; Class=" + InputStream.class.getName() + "; charset=UTF-8"),
+ new DataFlavor("text/html; document=selection; Class=" + String.class.getName() + "; charset=UTF-8")
+ };
+ SyncFlavor = new DataFlavor(
+ "application/x-java-serialized-object; class="
+ + SyncMessage.class.getName()
+ + "; charset=UTF-8"
+ );
+ }catch(Exception e){
+ e.printStackTrace();
+ }
+ }
+
+ private THTMLProducer imPr;
+ private int returnCode = CODE_NOT_RETURNED;
+
+ public void init() {
+ initImpl();
+
+ String[] instructions =
+ {
+ "This is an AUTOMATIC test",
+ "simply wait until it is done"
+ };
+ Sysout.createDialog( );
+ Sysout.printInstructions( instructions );
+
+ } // init()
+
+ private void initImpl() {
+ imPr = new THTMLProducer();
+ imPr.begin();
+ }
+
+
+ public void start() {
+ try {
+ String stFormats = "";
+
+ String iniMsg = "Testing formats from the list:\n";
+ for (int i = 0; i < HTMLTransferTest.HTMLFlavors.length; i++) {
+ stFormats += "\"" + HTMLTransferTest.HTMLFlavors[i].getMimeType() + "\"\n";
+ }
+ Sysout.println(iniMsg + stFormats);
+ System.err.println("===>" + iniMsg + stFormats);
+
+ String javaPath = System.getProperty("java.home", "");
+ String cmd = javaPath + File.separator + "bin" + File.separator
+ + "java -cp " + System.getProperty("test.classes", ".") +
+ //+ "-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 "
+ " THTMLConsumer"
+ //+ stFormats
+ ;
+
+ Process process = Runtime.getRuntime().exec(cmd);
+ ProcessResults pres = ProcessResults.doWaitFor(process);
+ returnCode = pres.exitValue;
+
+ if (pres.stderr != null && pres.stderr.length() > 0) {
+ System.err.println("========= Child VM System.err ========");
+ System.err.print(pres.stderr);
+ System.err.println("======================================");
+ }
+
+ if (pres.stdout != null && pres.stdout.length() > 0) {
+ System.err.println("========= Child VM System.out ========");
+ System.err.print(pres.stdout);
+ System.err.println("======================================");
+ }
+ } catch (Throwable e) {
+ e.printStackTrace();
+ //returnCode equals CODE_NOT_RETURNED
+ }
+
+ switch (returnCode) {
+ case CODE_NOT_RETURNED:
+ System.err.println("Child VM: failed to start");
+ break;
+ case CODE_FAILURE:
+ System.err.println("Child VM: abnormal termination");
+ break;
+ case CODE_CONSUMER_TEST_FAILED:
+ throw new RuntimeException("test failed: HTMLs in some " +
+ "native formats are not transferred properly: " +
+ "see output of child VM");
+ default:
+ boolean failed = false;
+ String passedFormats = "";
+ String failedFormats = "";
+
+ for (int i = 0; i < imPr.passedArray.length; i++) {
+ if (imPr.passedArray[i]) {
+ passedFormats += HTMLTransferTest.HTMLFlavors[i].getMimeType() + " ";
+ } else {
+ failed = true;
+ failedFormats += HTMLTransferTest.HTMLFlavors[i].getMimeType() + " ";
+ }
+ }
+ if (failed) {
+ throw new RuntimeException(
+ "test failed: HTMLs in following "
+ + "native formats are not transferred properly: "
+ + failedFormats
+ );
+ } else {
+ System.err.println(
+ "HTMLs in following native formats are "
+ + "transferred properly: "
+ + passedFormats
+ );
+ }
+ }
+
+ } // start()
+
+} // class HTMLTransferTest
+
+class SyncMessage implements Serializable {
+ String msg;
+
+ public SyncMessage(String sync) {
+ this.msg = sync;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ return this.msg.equals(((SyncMessage)obj).msg);
+ }
+
+ @Override
+ public String toString() {
+ return msg;
+ }
+}
+
+class ProcessResults {
+ public int exitValue;
+ public String stdout;
+ public String stderr;
+
+ public ProcessResults() {
+ exitValue = -1;
+ stdout = "";
+ stderr = "";
+ }
+
+ /**
+ * Method to perform a "wait" for a process and return its exit value.
+ * This is a workaround for <code>Process.waitFor()</code> never returning.
+ */
+ public static ProcessResults doWaitFor(Process p) {
+ ProcessResults pres = new ProcessResults();
+
+ InputStream in = null;
+ InputStream err = null;
+
+ try {
+ in = p.getInputStream();
+ err = p.getErrorStream();
+
+ boolean finished = false;
+
+ while (!finished) {
+ try {
+ while (in.available() > 0) {
+ pres.stdout += (char)in.read();
+ }
+ while (err.available() > 0) {
+ pres.stderr += (char)err.read();
+ }
+ // Ask the process for its exitValue. If the process
+ // is not finished, an IllegalThreadStateException
+ // is thrown. If it is finished, we fall through and
+ // the variable finished is set to true.
+ pres.exitValue = p.exitValue();
+ finished = true;
+ }
+ catch (IllegalThreadStateException e) {
+ // Process is not finished yet;
+ // Sleep a little to save on CPU cycles
+ Thread.currentThread().sleep(500);
+ }
+ }
+ if (in != null) in.close();
+ if (err != null) err.close();
+ }
+ catch (Throwable e) {
+ System.err.println("doWaitFor(): unexpected exception");
+ e.printStackTrace();
+ }
+ return pres;
+ }
+}
+
+
+abstract class HTMLTransferer implements ClipboardOwner {
+
+ static final SyncMessage S_PASSED = new SyncMessage("Y");
+ static final SyncMessage S_FAILED = new SyncMessage("N");
+ static final SyncMessage S_BEGIN = new SyncMessage("B");
+ static final SyncMessage S_BEGIN_ANSWER = new SyncMessage("BA");
+ static final SyncMessage S_END = new SyncMessage("E");
+
+
+
+ Clipboard m_clipboard;
+
+ HTMLTransferer() {
+ m_clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
+ }
+
+
+ abstract void notifyTransferSuccess(boolean status);
+
+
+ static Object createTRInstance(int i) {
+ try{
+ String _htmlText =
+ "The quick <font color='#78650d'>brown</font> <b>mouse</b> jumped over the lazy <b>cat</b>.";
+ switch(i){
+ case 0:
+ return new ByteArrayInputStream(_htmlText.getBytes("utf-8"));
+ case 1:
+ return _htmlText;
+ }
+ }catch(UnsupportedEncodingException e){ e.printStackTrace(); }
+ return null;
+ }
+
+ static byte[] getContent(InputStream is)
+ {
+ ByteArrayOutputStream tmp = new ByteArrayOutputStream();
+ try{
+ int read;
+ while( -1 != (read = is.read()) ){
+ tmp.write(read);
+ };
+ } catch( IOException e ) {
+ e.printStackTrace();
+ }
+ return tmp.toByteArray();
+ }
+
+ static void Dump(byte[] b){
+ System.err.println( new String(b) );
+ };
+
+ void setClipboardContents(
+ Transferable contents,
+ ClipboardOwner owner
+ ) {
+ synchronized (m_clipboard) {
+ boolean set = false;
+ while (!set) {
+ try {
+ m_clipboard.setContents(contents, owner);
+ set = true;
+ } catch (IllegalStateException ise) {
+ try {
+ Thread.sleep(100);
+ } catch(InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+ }
+
+ Transferable getClipboardContents(Object requestor)
+ {
+ synchronized (m_clipboard) {
+ while (true) {
+ try {
+ Transferable t = m_clipboard.getContents(requestor);
+ return t;
+ } catch (IllegalStateException ise) {
+ try {
+ Thread.sleep(100);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+ }
+
+}
+
+
+class THTMLProducer extends HTMLTransferer {
+
+ boolean[] passedArray;
+ int fi = 0; // next format index
+ private boolean isFirstCallOfLostOwnership = true;
+
+ THTMLProducer() {
+ passedArray = new boolean[HTMLTransferTest.HTMLFlavors.length];
+ }
+
+ void begin() {
+ setClipboardContents(
+ new HTMLSelection(
+ HTMLTransferTest.SyncFlavor,
+ S_BEGIN
+ ),
+ this
+ );
+ }
+
+ public void lostOwnership(Clipboard cb, Transferable contents) {
+ System.err.println("{PRODUCER: lost clipboard ownership");
+ Transferable t = getClipboardContents(null);
+ if (t.isDataFlavorSupported(HTMLTransferTest.SyncFlavor)) {
+ SyncMessage msg = null;
+ // for test going on if t.getTransferData() will throw an exception
+ if (isFirstCallOfLostOwnership) {
+ isFirstCallOfLostOwnership = false;
+ msg = S_BEGIN_ANSWER;
+ } else {
+ msg = S_PASSED;
+ }
+ try {
+ msg = (SyncMessage)t.getTransferData(HTMLTransferTest.SyncFlavor);
+ System.err.println("++received message: " + msg);
+ } catch (Exception e) {
+ System.err.println("Can't getTransferData-message: " + e);
+ }
+ if( msg.equals(S_PASSED) ){
+ notifyTransferSuccess(true);
+ } else if( msg.equals(S_FAILED) ){
+ notifyTransferSuccess(false);
+ } else if (!msg.equals(S_BEGIN_ANSWER)) {
+ throw new RuntimeException("wrong message in " +
+ "THTMLProducer.lostOwnership(): " + msg +
+ " (possibly due to bug 4683804)");
+ }
+ } else {
+ throw new RuntimeException(
+ "DataFlavor.stringFlavor is not "
+ + "suppurted by transferable in "
+ + "THTMLProducer.lostOwnership()"
+ );
+ }
+
+ if (fi < HTMLTransferTest.HTMLFlavors.length) {
+ System.err.println(
+ "testing native HTML format \""
+ + HTMLTransferTest.HTMLFlavors[fi].getMimeType()
+ + "\"..."
+ );
+ //leaveFormat( HTMLTransferTest.HTMLFlavors[fi].getMimeType() );
+ setClipboardContents(
+ new HTMLSelection(
+ HTMLTransferTest.HTMLFlavors[fi],
+ HTMLTransferer.createTRInstance(fi)
+ ),
+ this
+ );
+ } else {
+ setClipboardContents(
+ new HTMLSelection(
+ HTMLTransferTest.SyncFlavor,
+ S_END
+ ),
+ null
+ );
+ }
+ System.err.println("}PRODUCER: lost clipboard ownership");
+ }
+
+
+ void notifyTransferSuccess(boolean status) {
+ passedArray[fi] = status;
+ fi++;
+ }
+
+}
+
+
+class THTMLConsumer extends HTMLTransferer
+{
+ private static final Object LOCK = new Object();
+ private static boolean failed;
+ int fi = 0; // next format index
+
+ public void lostOwnership(Clipboard cb, Transferable contents) {
+ System.err.println("{CONSUMER: lost clipboard ownership");
+ Transferable t = getClipboardContents(null);
+ boolean bContinue = true;
+ if(t.isDataFlavorSupported(HTMLTransferTest.SyncFlavor)) {
+ try {
+ SyncMessage msg = (SyncMessage)t.getTransferData(HTMLTransferTest.SyncFlavor);
+ System.err.println("received message: " + msg);
+ if(msg.equals(S_END)){
+ synchronized (LOCK) {
+ LOCK.notifyAll();
+ }
+ bContinue = false;
+ }
+ } catch (Exception e) {
+ System.err.println("Can't getTransferData-message: " + e);
+ }
+ }
+ if(bContinue){
+ // all HTML formats have been processed
+ System.err.println( "============================================================");
+ System.err.println( "Put as " + HTMLTransferTest.HTMLFlavors[fi].getMimeType() );
+ boolean bSuccess = false;
+ for(int i = 0; i < HTMLTransferTest.HTMLFlavors.length; ++i) {
+ System.err.println( "----------------------------------------------------------");
+ if( t.isDataFlavorSupported(HTMLTransferTest.HTMLFlavors[i]) ){
+ Object im = null; //? HTML;
+ try {
+ im = t.getTransferData(HTMLTransferTest.HTMLFlavors[i]);
+ if (im == null) {
+ System.err.println("getTransferData returned null");
+ } else {
+ System.err.println( "Extract as " + HTMLTransferTest.HTMLFlavors[i].getMimeType() );
+ String stIn = "(unknown)", stOut = "(unknown)";
+ switch( i ){
+ case 0:
+ stIn = new String( getContent( (InputStream)HTMLTransferer.createTRInstance(i) ) );
+ stOut = new String( getContent((InputStream)im) );
+ bSuccess = stIn.equals(stOut);
+ break;
+ case 1:
+ stIn = (String)HTMLTransferer.createTRInstance(i);
+ stOut = (String)im;
+ int head = stOut.indexOf("<HTML><BODY>");
+ if (head >= 0) {
+ stOut = stOut.substring(head + 12, stOut.length() - 14);
+ }
+ bSuccess = stIn.equals(stOut);
+ break;
+ default:
+ bSuccess = HTMLTransferer.createTRInstance(i).equals(im);
+ break;
+ };
+ System.err.println("in :" + stIn);
+ System.err.println("out:" + stOut);
+ };
+ } catch (Exception e) {
+ System.err.println("Can't getTransferData: " + e);
+ }
+ if(!bSuccess)
+ System.err.println("transferred DATA is different from initial DATA\n");
+ } else {
+ System.err.println("Flavor is not supported by transferable:\n");
+ DataFlavor[] dfs = t.getTransferDataFlavors();
+ int ii;
+ for(ii = 0; ii < dfs.length; ++ii)
+ System.err.println("Supported:" + dfs[ii] + "\n");
+ dfs = HTMLTransferTest.HTMLFlavors;
+ for(ii = 0; ii < dfs.length; ++ii)
+ System.err.println("Accepted:" + dfs[ii] + "\n" );
+ }
+ }
+ System.err.println( "----------------------------------------------------------");
+ notifyTransferSuccess(bSuccess);
+ System.err.println( "============================================================");
+ ++fi;
+ }
+ System.err.println("}CONSUMER: lost clipboard ownership");
+ }
+
+
+ void notifyTransferSuccess(boolean status) {
+ System.err.println(
+ "format "
+ + (status
+ ? "passed"
+ : "failed"
+ )
+ + "!!!"
+ );
+ setClipboardContents(
+ new HTMLSelection(
+ HTMLTransferTest.SyncFlavor,
+ status
+ ? S_PASSED
+ : S_FAILED
+ ),
+ this
+ );
+ }
+
+
+ public static void main(String[] args) {
+ try {
+ System.err.println("{CONSUMER: start");
+ THTMLConsumer ic = new THTMLConsumer();
+ ic.setClipboardContents(
+ new HTMLSelection(
+ HTMLTransferTest.SyncFlavor,
+ S_BEGIN_ANSWER
+ ),
+ ic
+ );
+ synchronized (LOCK) {
+ LOCK.wait();
+ }
+ System.err.println("}CONSUMER: start");
+ } catch (Throwable e) {
+ e.printStackTrace();
+ System.exit(HTMLTransferTest.CODE_FAILURE);
+ }
+ }
+
+}
+
+
+/**
+ * A <code>Transferable</code> which implements the capability required
+ * to transfer an <code>HTML</code>.
+ *
+ * This <code>Transferable</code> properly supports
+ * <code>HTMLTransferTest.HTMLFlavors</code>.
+ * and all equivalent flavors.
+ * No other <code>DataFlavor</code>s are supported.
+ *
+ * @see java.awt.datatransfer.HTMLTransferTest.HTMLFlavors
+ */
+class HTMLSelection implements Transferable {
+ private DataFlavor m_flavor;
+ private Object m_data;
+
+ /**
+ * Creates a <code>Transferable</code> capable of transferring
+ * the specified <code>String</code>.
+ */
+ public HTMLSelection(
+ DataFlavor flavor,
+ Object data
+ ){
+ m_flavor = flavor;
+ m_data = data;
+ }
+
+ /**
+ * Returns an array of flavors in which this <code>Transferable</code>
+ * can provide the data. <code>DataFlavor.stringFlavor</code>
+ * is properly supported.
+ * Support for <code>DataFlavor.plainTextFlavor</code> is
+ * <b>deprecated</b>.
+ *
+ * @return an array of length one, whose element is <code>DataFlavor.
+ * HTMLTransferTest.HTMLFlavors</code>
+ */
+ public DataFlavor[] getTransferDataFlavors() {
+ // returning flavors itself would allow client code to modify
+ // our internal behavior
+ return new DataFlavor[]{ m_flavor } ;
+ }
+
+ /**
+ * Returns whether the requested flavor is supported by this
+ * <code>Transferable</code>.
+ *
+ * @param flavor the requested flavor for the data
+ * @return true if <code>flavor</code> is equal to
+ * <code>HTMLTransferTest.HTMLFlavors</code>;
+ * false if <code>flavor</code>
+ * is not one of the above flavors
+ * @throws NullPointerException if flavor is <code>null</code>
+ */
+ public boolean isDataFlavorSupported(DataFlavor flavor) {
+ System.err.println("Have:" + flavor + " Can:" + m_flavor);
+ if(flavor.equals(m_flavor))
+ return true;
+ return false;
+ }
+
+ /**
+ * Returns the <code>Transferable</code>'s data in the requested
+ * <code>DataFlavor</code> if possible. If the desired flavor is
+ * <code>HTMLTransferTest.HTMLFlavors</code>, or an equivalent flavor,
+ * the <code>HTML</code> representing the selection is
+ * returned.
+ *
+ * @param flavor the requested flavor for the data
+ * @return the data in the requested flavor, as outlined above
+ * @throws UnsupportedFlavorException if the requested data flavor is
+ * not equivalent to <code>HTMLTransferTest.HTMLFlavors</code>
+ * @throws IOException if an IOException occurs while retrieving the data.
+ * By default, <code>HTMLSelection</code> never throws
+ * this exception, but a subclass may.
+ * @throws NullPointerException if flavor is <code>null</code>
+ */
+ public Object getTransferData(DataFlavor flavor)
+ throws UnsupportedFlavorException, IOException
+ {
+ if (flavor.equals(m_flavor)) {
+ return (Object)m_data;
+ } else {
+ throw new UnsupportedFlavorException(flavor);
+ }
+ }
+
+} // class HTMLSelection
+
+
+/****************************************************
+ Standard Test Machinery
+ DO NOT modify anything below -- it's a standard
+ chunk of code whose purpose is to make user
+ interaction uniform, and thereby make it simpler
+ to read and understand someone else's test.
+ ****************************************************/
+class Sysout
+ {
+ private static TestDialog dialog;
+
+ public static void createDialogWithInstructions( String[] instructions )
+ {
+ dialog = new TestDialog( new Frame(), "Instructions" );
+ dialog.printInstructions( instructions );
+ dialog.show();
+ println( "Any messages for the tester will display here." );
+ }
+
+ public static void createDialog( )
+ {
+ dialog = new TestDialog( new Frame(), "Instructions" );
+ String[] defInstr = { "Instructions will appear here. ", "" } ;
+ dialog.printInstructions( defInstr );
+ dialog.show();
+ println( "Any messages for the tester will display here." );
+ }
+
+
+ public static void printInstructions( String[] instructions )
+ {
+ dialog.printInstructions( instructions );
+ }
+
+
+ public static void println( String messageIn )
+ {
+ dialog.displayMessage( messageIn );
+ }
+
+ }// Sysout class
+
+class TestDialog extends Dialog
+ {
+
+ TextArea instructionsText;
+ TextArea messageText;
+ int maxStringLength = 80;
+
+ //DO NOT call this directly, go through Sysout
+ public TestDialog( Frame frame, String name )
+ {
+ super( frame, name );
+ int scrollBoth = TextArea.SCROLLBARS_BOTH;
+ instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
+ add( "North", instructionsText );
+
+ messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
+ add("South", messageText);
+
+ pack();
+
+ show();
+ }// TestDialog()
+
+ //DO NOT call this directly, go through Sysout
+ public void printInstructions( String[] instructions )
+ {
+ //Clear out any current instructions
+ instructionsText.setText( "" );
+
+ //Go down array of instruction strings
+
+ String printStr, remainingStr;
+ for( int i=0; i < instructions.length; i++ )
+ {
+ //chop up each into pieces maxSringLength long
+ remainingStr = instructions[ i ];
+ while( remainingStr.length() > 0 )
+ {
+ //if longer than max then chop off first max chars to print
+ if( remainingStr.length() >= maxStringLength )
+ {
+ //Try to chop on a word boundary
+ int posOfSpace = remainingStr.
+ lastIndexOf(' ', maxStringLength - 1);
+
+ if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
+
+ printStr = remainingStr.substring( 0, posOfSpace + 1 );
+ remainingStr = remainingStr.substring( posOfSpace + 1 );
+ }
+ //else just print
+ else
+ {
+ printStr = remainingStr;
+ remainingStr = "";
+ }
+
+ instructionsText.append( printStr + "\n" );
+
+ }// while
+
+ }// for
+
+ }//printInstructions()
+
+ //DO NOT call this directly, go through Sysout
+ public void displayMessage( String messageIn )
+ {
+ messageText.append( messageIn + "\n" );
+ }
+
+ }// TestDialog class
--- a/jdk/test/java/awt/EventQueue/6980209/bug6980209.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/java/awt/EventQueue/6980209/bug6980209.java Wed Jul 05 20:52:10 2017 +0200
@@ -29,6 +29,7 @@
import javax.swing.*;
import java.awt.*;
+import java.awt.event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
@@ -47,6 +48,8 @@
private static Boolean enterReturn;
private static Boolean exitReturn;
private static int dispatchedEvents;
+ private static JButton button;
+ private static Point point;
public static void main(String[] args) throws Exception {
System.out.println(
@@ -62,6 +65,23 @@
setup(frame);
}
});
+ final Robot robot = new Robot();
+ robot.delay(100);
+ robot.waitForIdle();
+ robot.setAutoDelay(10);
+ robot.setAutoWaitForIdle(true);
+ SwingUtilities.invokeAndWait(new Runnable() {
+ @Override
+ public void run() {
+ point = button.getLocationOnScreen();
+ }
+ });
+ robot.mouseMove( point.x + 5, point.y + 5 );
+ robot.mousePress(InputEvent.BUTTON1_MASK);
+ robot.mouseRelease(InputEvent.BUTTON1_MASK);
+ robot.delay(100);
+ robot.waitForIdle();
+
testExitBeforeEnter();
System.out.println("Run random test in EDT");
runInEDT = true;
@@ -102,6 +122,7 @@
private static void testRandomly() throws AWTException {
disorderCounter = 0;
final Robot robot = new Robot();
+ robot.setAutoDelay(1);
for (int i = 0; i < ATTEMPTS; i++) {
enterReturn = null;
exitReturn = null;
@@ -156,14 +177,14 @@
}
private static void setup(final JFrame frame) {
- JButton jButton = new JButton("Button");
- frame.getContentPane().add(jButton);
- jButton.addActionListener(new bug6980209());
+ button = new JButton("Button");
+ frame.getContentPane().add(button);
+ button.addActionListener(new bug6980209());
frame.pack();
frame.setVisible(true);
- jButton.setFocusable(true);
- jButton.requestFocus();
- jButton.addKeyListener(new KeyListener() {
+ button.setFocusable(true);
+ button.requestFocus();
+ button.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/MissingEventsOnModalDialog/MissingEventsOnModalDialogTest.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,237 @@
+/*
+ * 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.awt.Dialog;
+import java.awt.Frame;
+import java.awt.Point;
+import java.awt.Robot;
+import java.awt.Window;
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.Transferable;
+import java.awt.dnd.DnDConstants;
+import java.awt.dnd.DragGestureEvent;
+import java.awt.dnd.DragGestureListener;
+import java.awt.dnd.DragSource;
+import java.awt.dnd.DropTarget;
+import java.awt.dnd.DropTargetDragEvent;
+import java.awt.dnd.DropTargetDropEvent;
+import java.awt.dnd.DropTargetEvent;
+import java.awt.dnd.DropTargetListener;
+import java.awt.event.InputEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+
+/*
+ * @test
+ * @bug 8134917
+ * @summary [macosx] JOptionPane doesn't receive mouse events when opened from a drop event
+ * @author Alexandr Scherbatiy
+ */
+public class MissingEventsOnModalDialogTest {
+
+ private static volatile boolean passed = false;
+
+ public static void main(String[] args) throws Exception {
+ Frame sourceFrame = createFrame("Source Frame", 0, 0);
+ Frame targetFrame = createFrame("Target Frame", 250, 250);
+
+ DragSource defaultDragSource
+ = DragSource.getDefaultDragSource();
+ defaultDragSource.createDefaultDragGestureRecognizer(sourceFrame,
+ DnDConstants.ACTION_COPY_OR_MOVE,
+ new TestDragGestureListener());
+ new DropTarget(targetFrame, DnDConstants.ACTION_COPY_OR_MOVE,
+ new TestDropTargetListener(targetFrame));
+
+ Robot robot = new Robot();
+ robot.setAutoDelay(50);
+
+ sourceFrame.toFront();
+ robot.waitForIdle();
+
+ Point point = getCenterPoint(sourceFrame);
+ robot.mouseMove(point.x, point.y);
+ robot.waitForIdle();
+
+ mouseDragAndDrop(robot, point, getCenterPoint(targetFrame));
+
+ long time = System.currentTimeMillis() + 200;
+
+ while (!passed) {
+ if (time < System.currentTimeMillis()) {
+ sourceFrame.dispose();
+ targetFrame.dispose();
+ throw new RuntimeException("Mouse clicked event is lost!");
+ }
+ Thread.sleep(10);
+ }
+ sourceFrame.dispose();
+ targetFrame.dispose();
+ }
+
+ private static Frame createFrame(String title, int x, int y) {
+ Frame frame = new Frame();
+ frame.setSize(200, 200);
+ frame.setLocation(x, y);
+ frame.setTitle(title);
+ frame.setVisible(true);
+ return frame;
+ }
+
+ private static Point getCenterPoint(Window window) {
+ Point centerPoint = window.getLocationOnScreen();
+ centerPoint.translate(window.getWidth() / 2, window.getHeight() / 2);
+ return centerPoint;
+ }
+
+ public static void mouseDragAndDrop(Robot robot, Point from, Point to) {
+ mouseDND(robot, from.x, from.y, to.x, to.y);
+ }
+
+ public static void mouseDND(Robot robot, int x1, int y1, int x2, int y2) {
+
+ int N = 20;
+ int x = x1;
+ int y = y1;
+ int dx = (x2 - x1) / N;
+ int dy = (y2 - y1) / N;
+
+ robot.mousePress(InputEvent.BUTTON1_MASK);
+
+ for (int i = 0; i < N; i++) {
+ robot.mouseMove(x += dx, y += dy);
+ }
+
+ robot.mouseRelease(InputEvent.BUTTON1_MASK);
+ }
+
+ private static class TestDragGestureListener implements DragGestureListener {
+
+ public void dragGestureRecognized(DragGestureEvent dge) {
+ dge.startDrag(null, new StringTransferable());
+ }
+ }
+
+ static class StringTransferable implements Transferable {
+
+ @Override
+ public DataFlavor[] getTransferDataFlavors() {
+ return new DataFlavor[]{DataFlavor.stringFlavor};
+ }
+
+ @Override
+ public boolean isDataFlavorSupported(DataFlavor flavor) {
+ return flavor.equals(DataFlavor.stringFlavor);
+ }
+
+ @Override
+ public Object getTransferData(DataFlavor flavor) {
+ return "Hello World!";
+ }
+ }
+
+ private static class TestDropTargetListener implements DropTargetListener {
+
+ private final Frame targetFrame;
+
+ public TestDropTargetListener(Frame targetFrame) {
+ this.targetFrame = targetFrame;
+ }
+
+ @Override
+ public void dragEnter(DropTargetDragEvent dtde) {
+ dtde.acceptDrag(dtde.getDropAction());
+ }
+
+ @Override
+ public void dragOver(DropTargetDragEvent dtde) {
+ dtde.acceptDrag(dtde.getDropAction());
+ }
+
+ @Override
+ public void dropActionChanged(DropTargetDragEvent dtde) {
+ dtde.acceptDrag(dtde.getDropAction());
+ }
+
+ @Override
+ public void dragExit(DropTargetEvent dte) {
+ }
+
+ @Override
+ public void drop(DropTargetDropEvent dtde) {
+ dtde.acceptDrop(dtde.getDropAction());
+ showModalDialog(targetFrame);
+ dtde.dropComplete(true);
+ }
+ }
+
+ private static void showModalDialog(Frame targetFrame) {
+
+ Dialog dialog = new Dialog(targetFrame, true);
+
+ dialog.addMouseListener(new MouseAdapter() {
+
+ @Override
+ public void mouseClicked(MouseEvent e) {
+ passed = true;
+ dialog.dispose();
+ }
+ });
+
+ dialog.setSize(400, 300);
+ dialog.setTitle("Modal Dialog!");
+
+ clickOnModalDialog(dialog);
+ dialog.setVisible(true);
+ }
+
+ private static void clickOnModalDialog(Dialog dialog) {
+ new Thread(() -> {
+ clickOnDialog(dialog);
+ }).start();
+ }
+
+ private static void clickOnDialog(Dialog dialog) {
+ try {
+ long time = System.currentTimeMillis() + 200;
+
+ while (!dialog.isVisible()) {
+ if (time < System.currentTimeMillis()) {
+ throw new RuntimeException("Dialog is not visible!");
+ }
+ Thread.sleep(10);
+ }
+
+ Point point = getCenterPoint(dialog);
+ Robot robot = new Robot();
+ robot.setAutoDelay(50);
+
+ robot.mouseMove(point.x, point.y);
+ robot.mousePress(InputEvent.BUTTON1_MASK);
+ robot.mouseRelease(InputEvent.BUTTON1_MASK);
+
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/event/KeyEvent/RegisterKeyStroke/TestAWTKeyStroke.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,148 @@
+/*
+ * 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.awt.AWTKeyStroke;
+import java.awt.event.InputEvent;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.ObjectInput;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutput;
+import java.io.ObjectOutputStream;
+import javax.swing.KeyStroke;
+
+/*
+ * @test
+ * @bug 8133453
+ * @summary Remove AWTKeyStroke.registerSubclass(Class) method
+ * @author Alexander Scherbatiy
+ * @run main/othervm TestAWTKeyStroke
+ * @run main/othervm/policy=policy -Djava.security.manager TestAWTKeyStroke
+ */
+public class TestAWTKeyStroke {
+
+ public static void main(String[] args) throws Exception {
+
+ int modifiers = InputEvent.CTRL_MASK | InputEvent.CTRL_DOWN_MASK;
+ checkAWTKeyStroke('A', modifiers, true);
+ checkKeyStroke('B', modifiers, false);
+ checkAWTKeyStroke('C', modifiers, false);
+ checkKeyStroke('D', modifiers, true);
+ checkSerializedKeyStrokes('E', modifiers, true);
+ }
+
+ private static void checkAWTKeyStroke(int keyCode, int modifiers,
+ boolean onKeyRelease) throws Exception {
+
+ AWTKeyStroke awtKeyStroke1 = AWTKeyStroke.getAWTKeyStroke(
+ keyCode, modifiers, onKeyRelease);
+
+ checkAWTKeyStroke(awtKeyStroke1, keyCode, modifiers, onKeyRelease);
+
+ AWTKeyStroke awtKeyStroke2 = AWTKeyStroke.getAWTKeyStroke(
+ keyCode, modifiers, onKeyRelease);
+
+ if (awtKeyStroke1 != awtKeyStroke2) {
+ throw new RuntimeException("AWTKeyStroke is not cached!");
+ }
+
+ checkSerializedKeyStroke(awtKeyStroke1);
+ }
+
+ private static void checkKeyStroke(int keyCode, int modifiers,
+ boolean onKeyRelease) throws Exception {
+
+ KeyStroke keyStroke1 = KeyStroke.getKeyStroke(
+ keyCode, modifiers, onKeyRelease);
+ checkAWTKeyStroke(keyStroke1, keyCode, modifiers, onKeyRelease);
+
+ KeyStroke keyStroke2 = KeyStroke.getKeyStroke(
+ keyCode, modifiers, onKeyRelease);
+
+ if (keyStroke1 != keyStroke2) {
+ throw new RuntimeException("KeyStroke is not cached!");
+ }
+
+ checkSerializedKeyStroke(keyStroke1);
+ }
+
+ private static void checkSerializedKeyStrokes(int keyCode, int modifiers,
+ boolean onKeyRelease) throws Exception {
+
+ AWTKeyStroke awtKeyStroke = AWTKeyStroke.getAWTKeyStroke(
+ keyCode, modifiers, onKeyRelease);
+
+ KeyStroke keyStroke = KeyStroke.getKeyStroke(
+ keyCode, modifiers, onKeyRelease);
+
+ if (awtKeyStroke != getSerializedAWTKeyStroke(awtKeyStroke)) {
+ throw new RuntimeException("Serialized AWTKeyStroke is not cached!");
+ }
+
+ awtKeyStroke = AWTKeyStroke.getAWTKeyStroke(
+ keyCode, modifiers, !onKeyRelease);
+
+ if (!keyStroke.equals(getSerializedAWTKeyStroke(keyStroke))) {
+ throw new RuntimeException("Serialized KeyStroke is not cached!");
+ }
+ }
+
+ private static void checkAWTKeyStroke(AWTKeyStroke awtKeyStroke,
+ int keyCode, int modifiers, boolean onKeyRelease) {
+
+ if (awtKeyStroke.getKeyCode() != keyCode) {
+ throw new RuntimeException("Wrong key code!");
+ }
+
+ if (awtKeyStroke.getModifiers() != modifiers) {
+ throw new RuntimeException("Wrong modifiers!");
+ }
+
+ if (awtKeyStroke.isOnKeyRelease() != onKeyRelease) {
+ throw new RuntimeException("Wrong on key release!");
+ }
+ }
+
+ private static void checkSerializedKeyStroke(AWTKeyStroke keyStroke)
+ throws Exception {
+ if (keyStroke != getSerializedAWTKeyStroke(keyStroke)) {
+ throw new RuntimeException("New instance is returned during"
+ + " serialization!");
+ }
+ }
+
+ private static AWTKeyStroke getSerializedAWTKeyStroke(AWTKeyStroke keyStroke)
+ throws Exception {
+
+ try (ByteArrayOutputStream bos = new ByteArrayOutputStream();
+ ObjectOutput out = new ObjectOutputStream(bos)) {
+ out.writeObject(keyStroke);
+ byte[] bytes = bos.toByteArray();
+
+ try (ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
+ ObjectInput in = new ObjectInputStream(bis)) {
+ return (AWTKeyStroke) in.readObject();
+ }
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/event/KeyEvent/RegisterKeyStroke/policy Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,2 @@
+grant {
+};
--- a/jdk/test/java/lang/ProcessHandle/TreeTest.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/java/lang/ProcessHandle/TreeTest.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,6 +34,7 @@
import java.util.stream.Collectors;
import java.util.stream.Stream;
import java.util.concurrent.ExecutionException;
+import jdk.testlibrary.Utils;
import org.testng.Assert;
import org.testng.TestNG;
import org.testng.annotations.Test;
@@ -174,7 +175,7 @@
// Poll until all 9 child processes exist or the timeout is reached
int expected = 9;
- long timeout = jdk.testlibrary.Utils.adjustTimeout(10L);
+ long timeout = Utils.adjustTimeout(10L);
Instant endTimeout = Instant.now().plusSeconds(timeout);
do {
Thread.sleep(200L);
@@ -223,6 +224,10 @@
/**
* Test destroy of processes.
+ * A JavaChild is started and it starts three children.
+ * Each one is then checked to be alive and listed by allChildren
+ * and forcibly destroyed.
+ * After they exit they should no longer be listed by allChildren.
*/
@Test
public static void test3() {
@@ -239,7 +244,7 @@
// Spawn children and have them wait
p1.sendAction("spawn", newChildren, "stdin");
- // Gather the PIDs from the output of the spawing process
+ // Gather the PIDs from the output of the spawning process
p1.forEachOutputLine((s) -> {
String[] split = s.trim().split(" ");
if (split.length == 3 && split[1].equals("spawn")) {
@@ -259,15 +264,23 @@
Assert.assertTrue(allChildren.contains(p), "Spawned child should be listed in allChildren: " + p);
p.destroyForcibly();
});
+ Assert.assertEquals(processes.size(), newChildren, "Wrong number of children");
processes.forEach((p, parent) -> {
- while (p.isAlive()) {
+ for (long retries = Utils.adjustTimeout(100L); retries > 0 ; retries--) {
+ if (!p.isAlive()) {
+ return; // not alive, go on to the next
+ }
+ // Wait a bit and retry
try {
- Thread.sleep(100L); // It will happen but don't burn the cpu
+ Thread.sleep(100L);
} catch (InterruptedException ie) {
// try again
}
}
+ printf("Timeout waiting for exit of pid %s, parent: %s, info: %s%n",
+ p, parent, p.info());
+ Assert.fail("Process still alive: " + p);
});
p1.destroyForcibly();
p1.waitFor();
@@ -281,7 +294,12 @@
} catch (InterruptedException inte) {
Assert.fail("InterruptedException", inte);
} finally {
- processes.forEach((p, parent) -> p.destroyForcibly());
+ processes.forEach((p, parent) -> {
+ if (p.isAlive()) {
+ ProcessUtil.printProcess(p);
+ p.destroyForcibly();
+ }
+ });
}
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/lang/StrictMath/PowTests.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,301 @@
+/*
+ * 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
+ * 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 8136874
+ * @summary Tests for StrictMath.pow
+ * @author Joseph D. Darcy
+ */
+
+/**
+ * The tests in ../Math/PowTests.java test properties that should
+ * hold for any pow implementation, including the FDLIBM-based one
+ * required for StrictMath.pow. Therefore, the test cases in
+ * ../Math/PowTests.java are run against both the Math and
+ * StrictMath versions of pow. The role of this test is to verify
+ * that the FDLIBM pow algorithm is being used by running golden
+ * file tests on values that may vary from one conforming pow
+ * implementation to another.
+ */
+
+public class PowTests {
+ private PowTests(){}
+
+ private static final double INFINITY = Double.POSITIVE_INFINITY;
+
+ public static void main(String... args) {
+ int failures = 0;
+
+ failures += testPow();
+
+ if (failures > 0) {
+ System.err.println("Testing pow incurred "
+ + failures + " failures.");
+ throw new RuntimeException();
+ }
+ }
+
+ private static int testPow() {
+ int failures = 0;
+
+ double [][] testCases = {
+ // Probe near decision points of the fdlibm algorithm
+
+ {0x1.00000_0000_0001p1, // |x| > 1.0
+ INFINITY, // infinity
+ INFINITY // 0
+ },
+
+
+ {0x1.fffffp-1, // |x| = 0.9999995231628418
+ 0x1.0p31, // 2^31
+ 0.0 // 0
+ },
+
+ {0x1.ffffe_ffffffffp-1, // |x| < 0.9999995231628418
+ 0x1.0p31, // 2^31
+ 0.0 // 0
+ },
+
+ {-0x1.ffffe_ffffffffp-1, // |x| < 0.9999995231628418
+ 0x1.0p31, // 2^31
+ 0.0 // 0
+ },
+
+ {0x1.fffffp-1, // |x| = 0.9999995231628418
+ 0x1.0000000000001p31, // nextUp(2^31)
+ 0.0 // 0
+ },
+
+ {0x1.fffffp-1, // |x| = 0.9999995231628418
+ 0x1.0p31 + 1.0, // 2^31 + 1, odd integer
+ 0.0 // 0
+ },
+
+ {0x1.fffffp-1, // |x| = 0.9999995231628418
+ 0x1.0p31 + 2.0, // 2^31 + 2, even integer
+ 0.0 // 0
+ },
+
+ {0x1.ffffe_ffffffffp-1, // |x| < 0.9999995231628418
+ 0x1.0000000000001p31, // nextUp(2^31)
+ 0.0 // 0
+ },
+
+ {-0x1.ffffe_ffffffffp-1, // |x| < 0.9999995231628418
+ 0x1.0000000000001p31, // nextUp(2^31)
+ Double.NaN // 0
+ },
+
+ {-0x1.ffffe_ffffffffp-1, // |x| < 0.9999995231628418
+ 0x1.0p31 + 1.0, // 2^31 + 1, odd integer
+ -0.0 // 0
+ },
+
+ {-0x1.ffffe_ffffffffp-1, // |x| < 0.9999995231628418
+ 0x1.0p31 + 2.0, // 2^31 + 2, even integer
+ 0.0 // 0
+ },
+
+ {0x1.0000000000001p0, // nextUp(1)
+ 0x1.0000000000001p31, // nextUp(2^31)
+ 0x1.00000800002p0
+ },
+
+ {0x1.0000000000001p0, // nextUp(1)
+ -0x1.0000000000001p31, // -nextUp(2^31)
+ 0x1.fffff000004p-1
+ },
+
+ {-0x1.0000000000001p0, // -nextUp(1)
+ -0x1.0000000000001p31, // -nextUp(2^31)
+ Double.NaN
+ },
+
+ {-0x1.0000000000001p0, // -nextUp(1)
+ 0x1.0p31 + 1.0, // 2^31 + 1, odd integer
+ -0x1.0000080000201p0
+ },
+
+ {-0x1.0000000000001p0, // -nextUp(1)
+ 0x1.0p31 + 2.0, // 2^31 + 2, even integer
+ 0x1.0000080000202p0
+ },
+
+ {0x1.00000_ffff_ffffp0,
+ 0x1.00001_0000_0000p31,
+ INFINITY
+ },
+
+ // Huge y, |y| > 0x1.00000_ffff_ffffp31 ~2**31 is a decision point
+
+ // First y = 0x1.00001_0000_0000p31
+ {0x1.fffff_ffff_ffffp-1,
+ 0x1.00001_0000_0000p31,
+ 0x1.fffff7ffff9p-1
+ },
+
+ {0x1.fffff_ffff_fffep-1,
+ 0x1.00001_0000_0000p31,
+ 0x1.ffffefffff4p-1
+ },
+
+ {0x1.fffff_0000_0000p-1,
+ 0x1.00001_0000_0000p31,
+ 0.0
+ },
+
+ // Cycle through decision points on x values
+
+ {0x1.fffff_0000_0000p-1,
+ 0x1.00001_0000_0000p31,
+ 0.0
+ },
+
+ {-0x1.fffff_0000_0000p-1,
+ 0x1.00001_0000_0000p31,
+ 0.0
+ },
+
+ {0x1.ffffe_ffff_ffffp-1,
+ 0x1.00001_0000_0000p31,
+ 0.0
+ },
+
+ {-0x1.ffffe_ffff_ffffp-1,
+ 0x1.00001_0000_0000p31,
+ 0.0
+ },
+
+ {0x1.00000_ffff_ffffp0,
+ 0x1.00001_0000_0000p31,
+ INFINITY
+ },
+
+
+ {0x1.00001_0000_0000p0,
+ 0x1.00001_0000_0000p31,
+ INFINITY
+ },
+
+ {-0x1.00000_ffff_ffffp0,
+ 0x1.00001_0000_0000p31,
+ INFINITY
+ },
+
+
+ {-0x1.00001_0000_0000p0,
+ 0x1.00001_0000_0000p31,
+ INFINITY
+ },
+
+ // Now y = -0x1.00001_0000_0000p31
+
+ {0x1.fffff_0000_0000p-1,
+ -0x1.00001_0000_0000p31,
+ INFINITY
+ },
+
+ {-0x1.fffff_0000_0000p-1,
+ 0x1.00001_0000_0000p31,
+ 0.0
+ },
+
+ {0x1.ffffe_ffff_ffffp-1,
+ -0x1.00001_0000_0000p31,
+ INFINITY
+ },
+
+ {-0x1.ffffe_ffff_ffffp-1,
+ -0x1.00001_0000_0000p31,
+ INFINITY
+ },
+
+ {0x1.00000_ffff_ffffp0,
+ -0x1.00001_0000_0000p31,
+ 0.0
+ },
+
+
+ {0x1.00001_0000_0000p0,
+ -0x1.00001_0000_0000p31,
+ 0.0
+ },
+
+ {-0x1.00000_ffff_ffffp0,
+ -0x1.00001_0000_0000p31,
+ 0.0
+ },
+
+
+ {-0x1.00001_0000_0000p0,
+ -0x1.00001_0000_0000p31,
+ 0.0
+ },
+
+ //-----------------------
+
+ {0x1.ffffe_ffff_ffffp-1,
+ -0x1.00001_0000_0000p31,
+ INFINITY
+ },
+
+ {0x1.00001_0000_0000p0,
+ -0x1.00001_0000_0000p31,
+ 0.0
+ },
+
+
+ {0x1.0000000000002p0, // 1.0000000000000004
+ 0x1.f4add4p30, // 2.1E9
+ 0x1.00000fa56f1a6p0 // 1.0000009325877754
+ },
+
+ // Verify no early overflow
+ {0x1.0000000000002p0, // 1.0000000000000004
+ 0x1.0642acp31, // 2.2E9
+ 0x1.000010642b465p0, // 1.0000009769967388
+ },
+
+ // Verify proper overflow
+ {0x1.0000000000002p0, // 1.0000000000000004
+ 0x1.62e42fefa39fp60, // 1.59828858065033216E18
+ 0x1.ffffffffffd9fp1023, // 1.7976931348621944E308
+ },
+
+ };
+
+ for (double[] testCase: testCases)
+ failures += testPowCase(testCase[0], testCase[1], testCase[2]);
+
+ return failures;
+ }
+
+ private static int testPowCase(double input1, double input2, double expected) {
+ int failures = 0;
+ failures += Tests.test("StrictMath.pow(double)", input1, input2,
+ StrictMath.pow(input1, input2), expected);
+ return failures;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/net/InetAddress/IsReachableViaLoopbackTest.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,40 @@
+import java.io.*;
+import java.net.*;
+import java.util.*;
+
+/**
+ * @test
+ * @bug 8135305
+ * @summary ensure we can't ping external hosts via loopback if
+ */
+
+public class IsReachableViaLoopbackTest {
+ public static void main(String[] args) {
+ try {
+ InetAddress addr = InetAddress.getByName("localhost");
+ InetAddress remoteAddr = InetAddress.getByName("bugs.openjdk.java.net");
+ if (!addr.isReachable(10000))
+ throw new RuntimeException("Localhost should always be reachable");
+ NetworkInterface inf = NetworkInterface.getByInetAddress(addr);
+ if (inf != null) {
+ if (!addr.isReachable(inf, 20, 10000)) {
+ throw new RuntimeException("Localhost should always be reachable");
+ } else {
+ System.out.println(addr + " is reachable");
+ }
+ if (remoteAddr.isReachable(inf, 20, 10000)) {
+ throw new RuntimeException(remoteAddr + " is reachable");
+ } else {
+ System.out.println(remoteAddr + " is NOT reachable");
+ }
+ } else {
+ System.out.println("inf == null");
+ }
+
+ } catch (IOException e) {
+ throw new RuntimeException("Unexpected exception:" + e);
+ }
+ System.out.println("IsReachableViaLoopbackTest EXIT");
+ }
+}
+
--- a/jdk/test/java/net/NetworkInterface/NetworkInterfaceStreamTest.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/java/net/NetworkInterface/NetworkInterfaceStreamTest.java Wed Jul 05 20:52:10 2017 +0200
@@ -28,6 +28,7 @@
* @build java.util.stream.OpTestCase
* @run testng/othervm NetworkInterfaceStreamTest
* @run testng/othervm -Djava.net.preferIPv4Stack=true NetworkInterfaceStreamTest
+ * @key intermittent
*/
import org.testng.annotations.Test;
--- a/jdk/test/java/nio/channels/FileChannel/LoopingTruncate.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/java/nio/channels/FileChannel/LoopingTruncate.java Wed Jul 05 20:52:10 2017 +0200
@@ -23,32 +23,39 @@
/**
* @test
- * @bug 8137121
+ * @bug 8137121 8137230
* @summary (fc) Infinite loop FileChannel.truncate
+ * @library /lib/testlibrary
+ * @build jdk.testlibrary.Utils
* @run main/othervm LoopingTruncate
*/
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
+import java.nio.channels.ClosedByInterruptException;
import java.nio.file.Files;
import java.nio.file.Path;
import static java.nio.file.StandardOpenOption.*;
+import static jdk.testlibrary.Utils.adjustTimeout;
public class LoopingTruncate {
// (int)FATEFUL_SIZE == -3 == IOStatus.INTERRUPTED
static long FATEFUL_SIZE = 0x1FFFFFFFDL;
- static long TIMEOUT = 10_000; // 10 seconds
+ // At least 20 seconds
+ static long TIMEOUT = adjustTimeout(20_000);
public static void main(String[] args) throws Throwable {
Path path = Files.createTempFile("LoopingTruncate.tmp", null);
- try {
+ try (FileChannel fc = FileChannel.open(path, CREATE, WRITE)) {
+ fc.position(FATEFUL_SIZE + 1L);
+ fc.write(ByteBuffer.wrap(new byte[] {0}));
+
Thread th = new Thread(() -> {
- try (FileChannel fc = FileChannel.open(path, CREATE, WRITE)) {
- fc.position(FATEFUL_SIZE + 1L);
- fc.write(ByteBuffer.wrap(new byte[] {0}));
+ try {
fc.truncate(FATEFUL_SIZE);
+ } catch (ClosedByInterruptException ignore) {
} catch (Exception e) {
throw new RuntimeException(e);
}});
@@ -56,7 +63,14 @@
th.join(TIMEOUT);
if (th.isAlive()) {
+ System.err.println("=== Stack trace of the guilty thread:");
+ for (StackTraceElement el : th.getStackTrace()) {
+ System.err.println("\t" + el);
+ }
+ System.err.println("===");
+
th.interrupt();
+ th.join();
throw new RuntimeException("Failed to complete on time");
}
} finally {
--- a/jdk/test/java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/java/rmi/activation/rmidViaInheritedChannel/InheritedChannelNotServerSocket.java Wed Jul 05 20:52:10 2017 +0200
@@ -36,6 +36,7 @@
* java.rmi/sun.rmi.transport.tcp
* @build TestLibrary RMID ActivationLibrary
* @run main/othervm/timeout=240 InheritedChannelNotServerSocket
+ * @key intermittent
*/
import java.io.IOException;
--- a/jdk/test/java/security/ProtectionDomain/PreserveCombinerTest.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/java/security/ProtectionDomain/PreserveCombinerTest.java Wed Jul 05 20:52:10 2017 +0200
@@ -26,7 +26,7 @@
import java.security.DomainCombiner;
import java.security.PrivilegedAction;
import java.security.ProtectionDomain;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.SharedSecrets;
/*
* @test
@@ -34,7 +34,7 @@
* @summary Make sure that JavaSecurityAccess.doIntersectionPrivilege()
* is not dropping the information about the domain combiner of
* the stack ACC
- * @modules java.base/sun.misc
+ * @modules java.base/jdk.internal.misc
*/
public class PreserveCombinerTest {
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/text/Format/DateFormat/Bug8081794.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,51 @@
+/*
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 8081794
+ * @summary ParsePosition getErrorIndex should return correct index
+ */
+import java.text.ParsePosition;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+
+public class Bug8081794 {
+
+ public static void main(String[] args) {
+ String date = "13 Jan 2005 21:45:34 ABC";
+ String format = "dd MMM yyyy HH:mm:ss z";
+ ParsePosition pp = new ParsePosition(0);
+ pp.setIndex(0);
+ SimpleDateFormat sd = new SimpleDateFormat(format, Locale.ENGLISH);
+ Date d = sd.parse(date, pp);
+ int errorIndex = pp.getErrorIndex();
+ if (errorIndex == 21) {
+ System.out.println(": passed");
+ } else {
+ System.out.println(": failed");
+ throw new RuntimeException("Failed with wrong index: " + errorIndex);
+ }
+ }
+}
--- a/jdk/test/java/text/Format/DecimalFormat/RoundingAndPropertyTest.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/java/text/Format/DecimalFormat/RoundingAndPropertyTest.java Wed Jul 05 20:52:10 2017 +0200
@@ -25,6 +25,7 @@
* @bug 7050528
* @summary Test java.text.DecimalFormat fast-path for format(double...)
* @author Olivier Lagneau
+ * @build GoldenDoubleValues GoldenFormattedValues
* @run main RoundingAndPropertyTest
*
*/
--- a/jdk/test/java/util/Locale/Bug8008577.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/java/util/Locale/Bug8008577.java Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 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
@@ -23,7 +23,7 @@
/*
* @test
- * @bug 8008577
+ * @bug 8008577 8138613
* @summary Check whether CLDR locale provider adapter is enabled by default
* @compile -XDignore.symbol.file Bug8008577.java
* @run main Bug8008577
@@ -38,7 +38,6 @@
static final LocaleProviderAdapter.Type[] expected = {
LocaleProviderAdapter.Type.CLDR,
LocaleProviderAdapter.Type.JRE,
- LocaleProviderAdapter.Type.SPI,
};
public static void main(String[] args) {
--- a/jdk/test/java/util/logging/DrainFindDeadlockTest.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/java/util/logging/DrainFindDeadlockTest.java Wed Jul 05 20:52:10 2017 +0200
@@ -35,7 +35,7 @@
* @summary check for deadlock between findLogger() and drainLoggerRefQueueBounded()
* @author jim.gish@oracle.com
* @build DrainFindDeadlockTest
- * @run main/othervm/timeout=10 DrainFindDeadlockTest
+ * @run main/othervm DrainFindDeadlockTest
* @key randomness
*/
@@ -109,9 +109,13 @@
public void run() {
System.out.println("Running " + Thread.currentThread().getName());
- for (int i=0; i < MAX_ITERATIONS; i++) {
- logger = Logger.getLogger("DrainFindDeadlockTest"+i);
- DrainFindDeadlockTest.randomDelay();
+ try {
+ for (int i=0; i < MAX_ITERATIONS; i++) {
+ logger = Logger.getLogger("DrainFindDeadlockTest"+i);
+ DrainFindDeadlockTest.randomDelay();
+ }
+ } finally {
+ System.out.println("Completed " + Thread.currentThread().getName());
}
}
}
@@ -120,13 +124,17 @@
@Override
public void run() {
System.out.println("Running " + Thread.currentThread().getName());
- for (int i=0; i < MAX_ITERATIONS; i++) {
- try {
- mgr.readConfiguration();
- } catch (IOException | SecurityException ex) {
- throw new RuntimeException("FAILED: test setup problem", ex);
+ try {
+ for (int i=0; i < MAX_ITERATIONS; i++) {
+ try {
+ mgr.readConfiguration();
+ } catch (IOException | SecurityException ex) {
+ throw new RuntimeException("FAILED: test setup problem", ex);
+ }
+ DrainFindDeadlockTest.randomDelay();
}
- DrainFindDeadlockTest.randomDelay();
+ } finally {
+ System.out.println("Completed " + Thread.currentThread().getName());
}
}
}
@@ -185,12 +193,16 @@
@Override
public void run() {
System.out.println("Running " + Thread.currentThread().getName());
- for (int i=0; i < MAX_ITERATIONS*2; i++) {
- checkState(t1, t2);
- try {
- Thread.sleep(10);
- } catch (InterruptedException ex) {
- };
+ try {
+ for (int i=0; i < MAX_ITERATIONS*2; i++) {
+ checkState(t1, t2);
+ try {
+ Thread.sleep(10);
+ } catch (InterruptedException ex) {
+ }
+ }
+ } finally {
+ System.out.println("Completed " + Thread.currentThread().getName());
}
}
}
--- a/jdk/test/java/util/logging/LogManagerAppContextDeadlock.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/java/util/logging/LogManagerAppContextDeadlock.java Wed Jul 05 20:52:10 2017 +0200
@@ -35,13 +35,15 @@
import java.util.concurrent.atomic.AtomicInteger;
import java.util.logging.LogManager;
import java.util.logging.Logger;
+import jdk.internal.misc.JavaAWTAccess;
+import jdk.internal.misc.SharedSecrets;
/**
* @test
* @bug 8065991
* @summary check that when LogManager is initialized, a deadlock similar
* to that described in 8065709 will not occur.
- * @modules java.base/sun.misc
+ * @modules java.base/jdk.internal.misc
* @run main/othervm LogManagerAppContextDeadlock UNSECURE
* @run main/othervm LogManagerAppContextDeadlock SECURE
*
@@ -97,7 +99,7 @@
}
static {
- sun.misc.SharedSecrets.setJavaAWTAccess(new sun.misc.JavaAWTAccess() {
+ SharedSecrets.setJavaAWTAccess(new JavaAWTAccess() {
@Override
public Object getAppletContext() {
if (numAppContexts.get() == 0) return null;
@@ -341,7 +343,7 @@
// FileHandlers because we're passing invalid parameters
// which will make the creation fail...
permissions = new Permissions();
- permissions.add(new RuntimePermission("accessClassInPackage.sun.misc"));
+ permissions.add(new RuntimePermission("accessClassInPackage.jdk.internal.misc"));
// these are used for configuring the test itself...
allPermissions = new Permissions();
--- a/jdk/test/java/util/logging/RootLogger/RootLevelInConfigFile.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/java/util/logging/RootLogger/RootLevelInConfigFile.java Wed Jul 05 20:52:10 2017 +0200
@@ -34,15 +34,15 @@
import java.util.logging.LogManager;
import java.util.logging.Logger;
import java.util.logging.LoggingPermission;
-import sun.misc.JavaAWTAccess;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaAWTAccess;
+import jdk.internal.misc.SharedSecrets;
/**
* @test
* @bug 8030850
* @summary Tests that setting .level=FINEST for the root logger in logging
* configuration file does work.
- * @modules java.base/sun.misc
+ * @modules java.base/jdk.internal.misc
* @run main/othervm RootLevelInConfigFile
*
* @author danielfuchs
@@ -181,7 +181,7 @@
perms.add(new PropertyPermission("java.util.logging.config.class","read"));
perms.add(new PropertyPermission("java.util.logging.config.file","read"));
perms.add(new FilePermission(configFile, "read"));
- perms.add(new RuntimePermission("accessClassInPackage.sun.misc"));
+ perms.add(new RuntimePermission("accessClassInPackage.jdk.internal.misc"));
}
@Override
--- a/jdk/test/java/util/logging/TestAppletLoggerContext.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/java/util/logging/TestAppletLoggerContext.java Wed Jul 05 20:52:10 2017 +0200
@@ -33,8 +33,8 @@
import java.util.logging.LogManager;
import java.util.logging.Logger;
import java.util.logging.LoggingPermission;
-import sun.misc.JavaAWTAccess;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaAWTAccess;
+import jdk.internal.misc.SharedSecrets;
/*
* @test
@@ -42,7 +42,7 @@
* @summary NPE when using Logger.getAnonymousLogger or
* LogManager.getLogManager().getLogger
*
- * @modules java.base/sun.misc
+ * @modules java.base/jdk.internal.misc
* @run main/othervm -Dtest.security=off TestAppletLoggerContext LoadingApplet
* @run main/othervm -Dtest.security=on TestAppletLoggerContext LoadingApplet
* @run main/othervm -Dtest.security=off TestAppletLoggerContext LoadingMain
--- a/jdk/test/java/util/logging/TestGetLoggerNPE.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/java/util/logging/TestGetLoggerNPE.java Wed Jul 05 20:52:10 2017 +0200
@@ -26,8 +26,8 @@
import java.security.ProtectionDomain;
import java.util.logging.LogManager;
import java.util.logging.Logger;
-import sun.misc.JavaAWTAccess;
-import sun.misc.SharedSecrets;
+import jdk.internal.misc.JavaAWTAccess;
+import jdk.internal.misc.SharedSecrets;
/*
* @test
@@ -35,7 +35,7 @@
*
* @summary NPE with logging while launching webstart
*
- * @modules java.base/sun.misc
+ * @modules java.base/jdk.internal.misc
* @build TestGetLoggerNPE
* @run main/othervm TestGetLoggerNPE getLogger
* @run main/othervm TestGetLoggerNPE getLogManager
--- a/jdk/test/javax/rmi/PortableRemoteObject/ConcurrentHashMapTest.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/javax/rmi/PortableRemoteObject/ConcurrentHashMapTest.java Wed Jul 05 20:52:10 2017 +0200
@@ -29,6 +29,7 @@
* @build jdk.testlibrary.*
* @build Test HelloInterface HelloServer HelloClient HelloImpl _HelloImpl_Tie _HelloInterface_Stub ConcurrentHashMapTest
* @run main/othervm -Djava.naming.provider.url=iiop://localhost:1050 -Djava.naming.factory.initial=com.sun.jndi.cosnaming.CNCtxFactory ConcurrentHashMapTest
+ * @key intermittent
*/
--- a/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/javax/sound/midi/Gervill/RiffReaderWriter/Skip.java Wed Jul 05 20:52:10 2017 +0200
@@ -29,9 +29,8 @@
import java.io.File;
import java.io.FileInputStream;
-import javax.sound.sampled.*;
-
-import com.sun.media.sound.*;
+import com.sun.media.sound.RIFFReader;
+import com.sun.media.sound.RIFFWriter;
public class Skip {
@@ -42,6 +41,11 @@
}
public static void main(String[] args) throws Exception {
+ test(false);
+ test(true);
+ }
+
+ private static void test(boolean customStream) throws Exception {
RIFFWriter writer = null;
RIFFReader reader = null;
File tempfile = File.createTempFile("test",".riff");
@@ -53,7 +57,17 @@
chunk.write((byte)44);
writer.close();
writer = null;
- FileInputStream fis = new FileInputStream(tempfile);
+ final FileInputStream fis;
+ if (customStream) {
+ fis = new FileInputStream(tempfile);
+ } else {
+ fis = new FileInputStream(tempfile) {
+ @Override
+ public long skip(long n) {
+ return 0;
+ }
+ };
+ }
reader = new RIFFReader(fis);
RIFFReader readchunk = reader.nextChunk();
reader.skip(1);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/sound/sampled/spi/AudioFileReader/EndlessLoopHugeLengthWave.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,57 @@
+/*
+ * 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.io.ByteArrayInputStream;
+
+import javax.sound.sampled.AudioSystem;
+import javax.sound.sampled.UnsupportedAudioFileException;
+
+/**
+ * @test
+ * @bug 8135160
+ */
+public final class EndlessLoopHugeLengthWave {
+
+ // some data wich can cause an endless loop in RiffReader.java
+ private static byte[] headerWAV = {0x52, 0x49, 0x46, 0x46, // RIFF_MAGIC
+ 0x7, 0xF, 0xF, 0xF, // fileLength
+ 0x57, 0x41, 0x56, 0x45, // waveMagic
+ 0x66, 0x6d, 0x74, 0x20, // FMT_MAGIC
+ 1, 2, 3, 4, // format
+ 3, 0,// wav_type WAVE_FORMAT_IEEE_FLOAT
+ 1, 0, // channels
+ 1, 1, // sampleRate
+ 1, 0, 0, 0, // avgBytesPerSec
+ 0, 1, // blockAlign
+ 1, 0, // sampleSizeInBits
+ 0x64, 0x61, 0x74, 0x61, // DATA_MAGIC
+ };
+
+ public static void main(final String[] args) throws Exception {
+ try {
+ AudioSystem.getAudioFileFormat(new ByteArrayInputStream(headerWAV));
+ } catch (final UnsupportedAudioFileException ignored) {
+ // Expected
+ }
+ }
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/swing/JTextPane/JTextPaneDocumentWrapping.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,101 @@
+/*
+ * 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.
+ */
+
+/* @test
+ @bug 8133108
+ @summary [PIT] Container size is wrong in JEditorPane
+ @author Semyon Sadetsky
+ */
+
+import javax.swing.*;
+import javax.swing.text.BadLocationException;
+import javax.swing.text.SimpleAttributeSet;
+import javax.swing.text.html.CSS;
+import java.awt.*;
+
+public class JTextPaneDocumentWrapping {
+
+ private static JFrame frame;
+ private static JTextPane jTextPane;
+ private static int position;
+
+ public static void main(String[] args) throws Exception{
+ SwingUtilities.invokeAndWait(new Runnable() {
+ @Override
+ public void run() {
+ frame = new JFrame();
+ frame.setUndecorated(true);
+ frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
+ frame.setSize(200, 200);
+ jTextPane = new JTextPane();
+ jTextPane.setContentType("text/html");
+ jTextPane.setText(
+ "<html><body><b id='test'>Test Test Test Test Test Test " +
+ "Test Test Test Test Test Test Test Test Test Test " +
+ "Test Test Test Test Test Test Test Test Test Test" +
+ "</b></body></html>");
+ frame.getContentPane().add(jTextPane);
+ frame.setVisible(true);
+ }
+ });
+ Robot robot = new Robot();
+ robot.waitForIdle();
+ robot.delay(200);
+
+ SwingUtilities.invokeAndWait(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ position = jTextPane.modelToView(100).y;
+ SimpleAttributeSet wrap = new SimpleAttributeSet();
+ wrap.addAttribute(CSS.Attribute.WHITE_SPACE, "nowrap");
+ jTextPane.getStyledDocument()
+ .setParagraphAttributes(0, 10, wrap, true);
+ } catch (BadLocationException e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ if(position < 40) {
+ throw new RuntimeException("Text is not wrapped " + position);
+ }
+ robot.waitForIdle();
+ robot.delay(200);
+ SwingUtilities.invokeAndWait(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ position = jTextPane.modelToView(100).y;
+ } catch (BadLocationException e) {
+ e.printStackTrace();
+ }
+ frame.dispose();
+ }
+ });
+ if(position > 20) {
+ throw new RuntimeException("Text is wrapped " + position);
+ }
+ System.out.println("ok");
+
+ }
+}
--- a/jdk/test/javax/swing/plaf/windows/6921687/bug6921687.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/javax/swing/plaf/windows/6921687/bug6921687.java Wed Jul 05 20:52:10 2017 +0200
@@ -21,22 +21,27 @@
* questions.
*/
-/* @test
- @bug 6921687 8079428
- @summary Mnemonic disappears after repeated attempts to open menu items using
- mnemonics
- @author Semyon Sadetsky
- @library /lib/testlibrary
- @build jdk.testlibrary.OSInfo
- @run main bug6921687
- */
-
-
-import jdk.testlibrary.OSInfo;
-import javax.swing.*;
-import java.awt.*;
+/*
+ * @test
+ * @bug 6921687 8079428
+ * @summary Mnemonic disappears after repeated attempts to open menu items using
+ * mnemonics
+ * @author Semyon Sadetsky
+ * @library /lib/testlibrary
+ * @build jdk.testlibrary.Platform
+ * @requires (os.family == "windows")
+ * @modules java.desktop/com.sun.java.swing.plaf.windows
+ * @run main bug6921687
+ */
+import java.awt.Robot;
import java.awt.event.KeyEvent;
-
+import javax.swing.JFrame;
+import javax.swing.JMenu;
+import javax.swing.JMenuBar;
+import javax.swing.JMenuItem;
+import javax.swing.SwingUtilities;
+import javax.swing.UIManager;
+import jdk.testlibrary.Platform;
public class bug6921687 {
@@ -44,24 +49,24 @@
private static JFrame frame;
public static void main(String[] args) throws Exception {
- if (OSInfo.getOSType() != OSInfo.OSType.WINDOWS) {
+ if (!Platform.isWindows()) {
System.out.println("Only Windows platform test. Test is skipped.");
System.out.println("ok");
return;
}
- lafClass = Class.forName(UIManager.getSystemLookAndFeelClassName());
- UIManager.setLookAndFeel((LookAndFeel) lafClass.newInstance());
+ final String lafClassName = UIManager.getSystemLookAndFeelClassName();
+ lafClass = Class.forName(lafClassName);
+ UIManager.setLookAndFeel(lafClassName);
try {
- SwingUtilities.invokeAndWait(new Runnable() {
- public void run() {
- frame = new JFrame();
- frame.setUndecorated(true);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- setup(frame);
- }
+ SwingUtilities.invokeAndWait(() -> {
+ frame = new JFrame();
+ frame.setUndecorated(true);
+ frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ setup(frame);
});
final Robot robot = new Robot();
+ robot.waitForIdle();
robot.setAutoDelay(20);
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_F);
@@ -108,6 +113,5 @@
frame.setSize(350, 250);
frame.setVisible(true);
-
}
}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/transaction/testng/TEST.properties Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,4 @@
+# JDBC unit tests uses TestNG
+TestNG.dirs= .
+othervm.dirs= .
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/transaction/testng/test/transaction/InvalidTransactionExceptionTests.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ */
+package test.transaction;
+
+import java.io.ByteArrayInputStream;
+import java.io.ObjectInputStream;
+import javax.transaction.InvalidTransactionException;
+import static org.testng.Assert.*;
+import org.testng.annotations.Test;
+import util.SerializedTransactionExceptions;
+
+public class InvalidTransactionExceptionTests {
+
+ protected final String reason = "reason";
+
+ /**
+ * Create InvalidTransactionException with no-arg constructor
+ */
+ @Test
+ public void test1() {
+ InvalidTransactionException ex = new InvalidTransactionException();
+ assertTrue(ex.getMessage() == null
+ && ex.getCause() == null);
+ }
+
+ /**
+ * Create InvalidTransactionException with message
+ */
+ @Test
+ public void test2() {
+ InvalidTransactionException ex = new InvalidTransactionException(reason);
+ assertTrue(ex.getMessage().equals(reason)
+ && ex.getCause() == null);
+ }
+
+ /**
+ * De-Serialize a InvalidTransactionException from JDBC 4.0 and make sure
+ * you can read it back properly
+ */
+ @Test
+ public void test3() throws Exception {
+
+ ObjectInputStream ois = new ObjectInputStream(
+ new ByteArrayInputStream(SerializedTransactionExceptions.ITE_DATA));
+ InvalidTransactionException ex = (InvalidTransactionException) ois.readObject();
+ assertTrue(reason.equals(ex.getMessage())
+ && ex.getCause() == null);
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/transaction/testng/test/transaction/TransactionRequiredExceptionTests.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ */
+package test.transaction;
+
+import java.io.ByteArrayInputStream;
+import java.io.ObjectInputStream;
+import javax.transaction.TransactionRequiredException;
+import static org.testng.Assert.*;
+import org.testng.annotations.Test;
+import util.SerializedTransactionExceptions;
+
+public class TransactionRequiredExceptionTests {
+
+ protected final String reason = "reason";
+
+ /**
+ * Create TransactionRequiredException with no-arg constructor
+ */
+ @Test
+ public void test1() {
+ TransactionRequiredException ex = new TransactionRequiredException();
+ assertTrue(ex.getMessage() == null
+ && ex.getCause() == null);
+ }
+
+ /**
+ * Create TransactionRequiredException with message
+ */
+ @Test
+ public void test2() {
+ TransactionRequiredException ex = new TransactionRequiredException(reason);
+ assertTrue(ex.getMessage().equals(reason)
+ && ex.getCause() == null);
+ }
+
+ /**
+ * De-Serialize a TransactionRequiredException from JDBC 4.0 and make sure
+ * you can read it back properly
+ */
+ @Test
+ public void test3() throws Exception {
+
+ ObjectInputStream ois = new ObjectInputStream(
+ new ByteArrayInputStream(SerializedTransactionExceptions.TRE_DATA));
+ TransactionRequiredException ex = (TransactionRequiredException) ois.readObject();
+ assertTrue(reason.equals(ex.getMessage())
+ && ex.getCause() == null);
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/transaction/testng/test/transaction/TransactionRolledbackExceptionTests.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,70 @@
+/*
+ * 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.
+ */
+package test.transaction;
+
+import java.io.ByteArrayInputStream;
+import java.io.ObjectInputStream;
+import javax.transaction.TransactionRolledbackException;
+import static org.testng.Assert.*;
+import org.testng.annotations.Test;
+import util.SerializedTransactionExceptions;
+
+public class TransactionRolledbackExceptionTests {
+
+ protected final String reason = "reason";
+
+ /**
+ * Create TransactionRolledbackException with no-arg constructor
+ */
+ @Test
+ public void test1() {
+ TransactionRolledbackException ex = new TransactionRolledbackException();
+ assertTrue(ex.getMessage() == null
+ && ex.getCause() == null);
+ }
+
+ /**
+ * Create TransactionRolledbackException with message
+ */
+ @Test
+ public void test2() {
+ TransactionRolledbackException ex = new TransactionRolledbackException(reason);
+ assertTrue(ex.getMessage().equals(reason)
+ && ex.getCause() == null);
+ }
+
+ /**
+ * De-Serialize a TransactionRolledbackException from JDBC 4.0 and make sure
+ * you can read it back properly
+ */
+ @Test
+ public void test3() throws Exception {
+
+ ObjectInputStream ois = new ObjectInputStream(
+ new ByteArrayInputStream(SerializedTransactionExceptions.TRBE_DATA));
+ TransactionRolledbackException ex = (TransactionRolledbackException) ois.readObject();
+ assertTrue(reason.equals(ex.getMessage())
+ && ex.getCause() == null);
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/transaction/testng/test/transaction/XAExceptionTests.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,98 @@
+/*
+ * 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.
+ */
+package test.transaction;
+
+import java.io.ByteArrayInputStream;
+import java.io.ObjectInputStream;
+import javax.transaction.xa.XAException;
+import static org.testng.Assert.*;
+import org.testng.annotations.Test;
+import util.SerializedTransactionExceptions;
+
+public class XAExceptionTests {
+
+ protected final String reason = "reason";
+
+ /**
+ * Create XAException with no-arg constructor
+ */
+ @Test
+ public void test1() {
+ XAException ex = new XAException();
+ assertTrue(ex.getMessage() == null
+ && ex.getCause() == null
+ && ex.errorCode == 0);
+ }
+
+ /**
+ * Create XAException with message
+ */
+ @Test
+ public void test2() {
+ XAException ex = new XAException(reason);
+ assertTrue(ex.getMessage().equals(reason)
+ && ex.getCause() == null
+ && ex.errorCode == 0);
+ }
+
+ /**
+ * De-Serialize a XAException from JDBC 4.0 and make sure you can read it
+ * back properly
+ */
+ @Test
+ public void test3() throws Exception {
+
+ ObjectInputStream ois = new ObjectInputStream(
+ new ByteArrayInputStream(SerializedTransactionExceptions.XAE_DATA));
+ XAException ex = (XAException) ois.readObject();
+ assertTrue(reason.equals(ex.getMessage())
+ && ex.getCause() == null
+ && ex.errorCode == 0);
+ }
+
+ /**
+ * Create TransactionRolledbackException specifying an error code
+ */
+ @Test
+ public void test4() {
+ int error = 21;
+ XAException ex = new XAException(error);
+ assertTrue(ex.getMessage() == null
+ && ex.getCause() == null
+ && ex.errorCode == error);
+ }
+
+ /**
+ * Create TransactionRolledbackException specifying an error code
+ */
+ @Test
+ public void test5() {
+ int error = 21;
+ XAException ex = new XAException(error);
+ ex.errorCode = error;
+ assertTrue(ex.getMessage() == null
+ && ex.getCause() == null
+ && ex.errorCode == error);
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/transaction/testng/util/SerializedTransactionExceptions.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,167 @@
+/*
+ * 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.
+ */
+package util;
+
+public class SerializedTransactionExceptions {
+
+ /**
+ * Serialized XAException from JDK 8 with the following values:
+ * reason = "This was the error msg"
+ * cause = null
+ */
+ public static byte[] XAE_DATA = {
+ (byte) 0xac, (byte) 0xed, (byte) 0x0, (byte) 0x5, (byte) 0x73, (byte) 0x72, (byte) 0x0, (byte) 0x20, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x78, (byte) 0x2e, (byte) 0x74, (byte) 0x72, (byte) 0x61, (byte) 0x6e, (byte) 0x73, (byte) 0x61, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x2e, (byte) 0x78, (byte) 0x61, (byte) 0x2e, (byte) 0x58, (byte) 0x41, (byte) 0x45,
+ (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x8d, (byte) 0x83, (byte) 0x3c, (byte) 0xc2, (byte) 0xda, (byte) 0xf, (byte) 0x2a, (byte) 0x59, (byte) 0x2, (byte) 0x0, (byte) 0x1, (byte) 0x49, (byte) 0x0, (byte) 0x9, (byte) 0x65, (byte) 0x72, (byte) 0x72, (byte) 0x6f, (byte) 0x72, (byte) 0x43, (byte) 0x6f, (byte) 0x64, (byte) 0x65, (byte) 0x78,
+ (byte) 0x72, (byte) 0x0, (byte) 0x13, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0xd0, (byte) 0xfd, (byte) 0x1f, (byte) 0x3e, (byte) 0x1a, (byte) 0x3b, (byte) 0x1c, (byte) 0xc4, (byte) 0x2, (byte) 0x0,
+ (byte) 0x0, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x13, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e, (byte) 0x54, (byte) 0x68, (byte) 0x72, (byte) 0x6f, (byte) 0x77, (byte) 0x61, (byte) 0x62, (byte) 0x6c, (byte) 0x65, (byte) 0xd5, (byte) 0xc6, (byte) 0x35, (byte) 0x27, (byte) 0x39, (byte) 0x77, (byte) 0xb8, (byte) 0xcb,
+ (byte) 0x3, (byte) 0x0, (byte) 0x4, (byte) 0x4c, (byte) 0x0, (byte) 0x5, (byte) 0x63, (byte) 0x61, (byte) 0x75, (byte) 0x73, (byte) 0x65, (byte) 0x74, (byte) 0x0, (byte) 0x15, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2f, (byte) 0x54, (byte) 0x68, (byte) 0x72, (byte) 0x6f, (byte) 0x77, (byte) 0x61, (byte) 0x62,
+ (byte) 0x6c, (byte) 0x65, (byte) 0x3b, (byte) 0x4c, (byte) 0x0, (byte) 0xd, (byte) 0x64, (byte) 0x65, (byte) 0x74, (byte) 0x61, (byte) 0x69, (byte) 0x6c, (byte) 0x4d, (byte) 0x65, (byte) 0x73, (byte) 0x73, (byte) 0x61, (byte) 0x67, (byte) 0x65, (byte) 0x74, (byte) 0x0, (byte) 0x12, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67,
+ (byte) 0x2f, (byte) 0x53, (byte) 0x74, (byte) 0x72, (byte) 0x69, (byte) 0x6e, (byte) 0x67, (byte) 0x3b, (byte) 0x5b, (byte) 0x0, (byte) 0xa, (byte) 0x73, (byte) 0x74, (byte) 0x61, (byte) 0x63, (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63, (byte) 0x65, (byte) 0x74, (byte) 0x0, (byte) 0x1e, (byte) 0x5b, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x6c,
+ (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2f, (byte) 0x53, (byte) 0x74, (byte) 0x61, (byte) 0x63, (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63, (byte) 0x65, (byte) 0x45, (byte) 0x6c, (byte) 0x65, (byte) 0x6d, (byte) 0x65, (byte) 0x6e, (byte) 0x74, (byte) 0x3b, (byte) 0x4c, (byte) 0x0, (byte) 0x14, (byte) 0x73, (byte) 0x75, (byte) 0x70, (byte) 0x70, (byte) 0x72, (byte) 0x65, (byte) 0x73,
+ (byte) 0x73, (byte) 0x65, (byte) 0x64, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x73, (byte) 0x74, (byte) 0x0, (byte) 0x10, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2f, (byte) 0x4c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x3b,
+ (byte) 0x78, (byte) 0x70, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x7, (byte) 0x74, (byte) 0x0, (byte) 0x6, (byte) 0x72, (byte) 0x65, (byte) 0x61, (byte) 0x73, (byte) 0x6f, (byte) 0x6e, (byte) 0x75, (byte) 0x72, (byte) 0x0, (byte) 0x1e, (byte) 0x5b, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e,
+ (byte) 0x53, (byte) 0x74, (byte) 0x61, (byte) 0x63, (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63, (byte) 0x65, (byte) 0x45, (byte) 0x6c, (byte) 0x65, (byte) 0x6d, (byte) 0x65, (byte) 0x6e, (byte) 0x74, (byte) 0x3b, (byte) 0x2, (byte) 0x46, (byte) 0x2a, (byte) 0x3c, (byte) 0x3c, (byte) 0xfd, (byte) 0x22, (byte) 0x39, (byte) 0x2, (byte) 0x0, (byte) 0x0, (byte) 0x78, (byte) 0x70, (byte) 0x0,
+ (byte) 0x0, (byte) 0x0, (byte) 0x2, (byte) 0x73, (byte) 0x72, (byte) 0x0, (byte) 0x1b, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e, (byte) 0x53, (byte) 0x74, (byte) 0x61, (byte) 0x63, (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63, (byte) 0x65, (byte) 0x45, (byte) 0x6c, (byte) 0x65, (byte) 0x6d, (byte) 0x65,
+ (byte) 0x6e, (byte) 0x74, (byte) 0x61, (byte) 0x9, (byte) 0xc5, (byte) 0x9a, (byte) 0x26, (byte) 0x36, (byte) 0xdd, (byte) 0x85, (byte) 0x2, (byte) 0x0, (byte) 0x4, (byte) 0x49, (byte) 0x0, (byte) 0xa, (byte) 0x6c, (byte) 0x69, (byte) 0x6e, (byte) 0x65, (byte) 0x4e, (byte) 0x75, (byte) 0x6d, (byte) 0x62, (byte) 0x65, (byte) 0x72, (byte) 0x4c, (byte) 0x0, (byte) 0xe, (byte) 0x64, (byte) 0x65, (byte) 0x63,
+ (byte) 0x6c, (byte) 0x61, (byte) 0x72, (byte) 0x69, (byte) 0x6e, (byte) 0x67, (byte) 0x43, (byte) 0x6c, (byte) 0x61, (byte) 0x73, (byte) 0x73, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x4, (byte) 0x4c, (byte) 0x0, (byte) 0x8, (byte) 0x66, (byte) 0x69, (byte) 0x6c, (byte) 0x65, (byte) 0x4e, (byte) 0x61, (byte) 0x6d, (byte) 0x65, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x4,
+ (byte) 0x4c, (byte) 0x0, (byte) 0xa, (byte) 0x6d, (byte) 0x65, (byte) 0x74, (byte) 0x68, (byte) 0x6f, (byte) 0x64, (byte) 0x4e, (byte) 0x61, (byte) 0x6d, (byte) 0x65, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x4, (byte) 0x78, (byte) 0x70, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x39, (byte) 0x74, (byte) 0x0, (byte) 0x10, (byte) 0x57, (byte) 0x72, (byte) 0x69, (byte) 0x74, (byte) 0x65,
+ (byte) 0x53, (byte) 0x65, (byte) 0x72, (byte) 0x69, (byte) 0x61, (byte) 0x6c, (byte) 0x44, (byte) 0x61, (byte) 0x74, (byte) 0x61, (byte) 0x31, (byte) 0x74, (byte) 0x0, (byte) 0x15, (byte) 0x57, (byte) 0x72, (byte) 0x69, (byte) 0x74, (byte) 0x65, (byte) 0x53, (byte) 0x65, (byte) 0x72, (byte) 0x69, (byte) 0x61, (byte) 0x6c, (byte) 0x44, (byte) 0x61, (byte) 0x74, (byte) 0x61, (byte) 0x31, (byte) 0x2e, (byte) 0x6a,
+ (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x74, (byte) 0x0, (byte) 0x3, (byte) 0x72, (byte) 0x75, (byte) 0x6e, (byte) 0x73, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0xb, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x24, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0xd, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0xe, (byte) 0x74, (byte) 0x0, (byte) 0x4,
+ (byte) 0x6d, (byte) 0x61, (byte) 0x69, (byte) 0x6e, (byte) 0x73, (byte) 0x72, (byte) 0x0, (byte) 0x26, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2e, (byte) 0x43, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x73, (byte) 0x24, (byte) 0x55, (byte) 0x6e,
+ (byte) 0x6d, (byte) 0x6f, (byte) 0x64, (byte) 0x69, (byte) 0x66, (byte) 0x69, (byte) 0x61, (byte) 0x62, (byte) 0x6c, (byte) 0x65, (byte) 0x4c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0xfc, (byte) 0xf, (byte) 0x25, (byte) 0x31, (byte) 0xb5, (byte) 0xec, (byte) 0x8e, (byte) 0x10, (byte) 0x2, (byte) 0x0, (byte) 0x1, (byte) 0x4c, (byte) 0x0, (byte) 0x4, (byte) 0x6c, (byte) 0x69, (byte) 0x73, (byte) 0x74,
+ (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x6, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x2c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2e, (byte) 0x43, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x73, (byte) 0x24, (byte) 0x55,
+ (byte) 0x6e, (byte) 0x6d, (byte) 0x6f, (byte) 0x64, (byte) 0x69, (byte) 0x66, (byte) 0x69, (byte) 0x61, (byte) 0x62, (byte) 0x6c, (byte) 0x65, (byte) 0x43, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x19, (byte) 0x42, (byte) 0x0, (byte) 0x80, (byte) 0xcb, (byte) 0x5e, (byte) 0xf7, (byte) 0x1e, (byte) 0x2, (byte) 0x0, (byte) 0x1,
+ (byte) 0x4c, (byte) 0x0, (byte) 0x1, (byte) 0x63, (byte) 0x74, (byte) 0x0, (byte) 0x16, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2f, (byte) 0x43, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x3b, (byte) 0x78, (byte) 0x70, (byte) 0x73,
+ (byte) 0x72, (byte) 0x0, (byte) 0x13, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2e, (byte) 0x41, (byte) 0x72, (byte) 0x72, (byte) 0x61, (byte) 0x79, (byte) 0x4c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x78, (byte) 0x81, (byte) 0xd2, (byte) 0x1d, (byte) 0x99, (byte) 0xc7, (byte) 0x61, (byte) 0x9d, (byte) 0x3, (byte) 0x0,
+ (byte) 0x1, (byte) 0x49, (byte) 0x0, (byte) 0x4, (byte) 0x73, (byte) 0x69, (byte) 0x7a, (byte) 0x65, (byte) 0x78, (byte) 0x70, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x77, (byte) 0x4, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x78, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x17, (byte) 0x78, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x0
+ };
+
+ /**
+ * Serialized InvalidTransactionException from JDK 8 with the following
+ * values:
+ * reason = "This was the error msg"
+ * cause = null
+ */
+ public static byte[] ITE_DATA = {
+ (byte) 0xac, (byte) 0xed, (byte) 0x0, (byte) 0x5, (byte) 0x73, (byte) 0x72, (byte) 0x0, (byte) 0x2d, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x78, (byte) 0x2e, (byte) 0x74, (byte) 0x72, (byte) 0x61, (byte) 0x6e, (byte) 0x73, (byte) 0x61, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x2e, (byte) 0x49, (byte) 0x6e, (byte) 0x76, (byte) 0x61, (byte) 0x6c, (byte) 0x69,
+ (byte) 0x64, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x6e, (byte) 0x73, (byte) 0x61, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x31, (byte) 0xec, (byte) 0x3f, (byte) 0xae, (byte) 0x54, (byte) 0x8e, (byte) 0xdb, (byte) 0x68, (byte) 0x2, (byte) 0x0, (byte) 0x0,
+ (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x18, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x72, (byte) 0x6d, (byte) 0x69, (byte) 0x2e, (byte) 0x52, (byte) 0x65, (byte) 0x6d, (byte) 0x6f, (byte) 0x74, (byte) 0x65, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0xb8, (byte) 0x8c, (byte) 0x9d, (byte) 0x4e,
+ (byte) 0xde, (byte) 0xe4, (byte) 0x7a, (byte) 0x22, (byte) 0x2, (byte) 0x0, (byte) 0x1, (byte) 0x4c, (byte) 0x0, (byte) 0x6, (byte) 0x64, (byte) 0x65, (byte) 0x74, (byte) 0x61, (byte) 0x69, (byte) 0x6c, (byte) 0x74, (byte) 0x0, (byte) 0x15, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2f, (byte) 0x54, (byte) 0x68,
+ (byte) 0x72, (byte) 0x6f, (byte) 0x77, (byte) 0x61, (byte) 0x62, (byte) 0x6c, (byte) 0x65, (byte) 0x3b, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x13, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x69, (byte) 0x6f, (byte) 0x2e, (byte) 0x49, (byte) 0x4f, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x6c,
+ (byte) 0x80, (byte) 0x73, (byte) 0x64, (byte) 0x65, (byte) 0x25, (byte) 0xf0, (byte) 0xab, (byte) 0x2, (byte) 0x0, (byte) 0x0, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x13, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70, (byte) 0x74, (byte) 0x69, (byte) 0x6f,
+ (byte) 0x6e, (byte) 0xd0, (byte) 0xfd, (byte) 0x1f, (byte) 0x3e, (byte) 0x1a, (byte) 0x3b, (byte) 0x1c, (byte) 0xc4, (byte) 0x2, (byte) 0x0, (byte) 0x0, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x13, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e, (byte) 0x54, (byte) 0x68, (byte) 0x72, (byte) 0x6f, (byte) 0x77, (byte) 0x61,
+ (byte) 0x62, (byte) 0x6c, (byte) 0x65, (byte) 0xd5, (byte) 0xc6, (byte) 0x35, (byte) 0x27, (byte) 0x39, (byte) 0x77, (byte) 0xb8, (byte) 0xcb, (byte) 0x3, (byte) 0x0, (byte) 0x4, (byte) 0x4c, (byte) 0x0, (byte) 0x5, (byte) 0x63, (byte) 0x61, (byte) 0x75, (byte) 0x73, (byte) 0x65, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x2, (byte) 0x4c, (byte) 0x0, (byte) 0xd, (byte) 0x64, (byte) 0x65,
+ (byte) 0x74, (byte) 0x61, (byte) 0x69, (byte) 0x6c, (byte) 0x4d, (byte) 0x65, (byte) 0x73, (byte) 0x73, (byte) 0x61, (byte) 0x67, (byte) 0x65, (byte) 0x74, (byte) 0x0, (byte) 0x12, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2f, (byte) 0x53, (byte) 0x74, (byte) 0x72, (byte) 0x69, (byte) 0x6e, (byte) 0x67, (byte) 0x3b,
+ (byte) 0x5b, (byte) 0x0, (byte) 0xa, (byte) 0x73, (byte) 0x74, (byte) 0x61, (byte) 0x63, (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63, (byte) 0x65, (byte) 0x74, (byte) 0x0, (byte) 0x1e, (byte) 0x5b, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2f, (byte) 0x53, (byte) 0x74, (byte) 0x61, (byte) 0x63,
+ (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63, (byte) 0x65, (byte) 0x45, (byte) 0x6c, (byte) 0x65, (byte) 0x6d, (byte) 0x65, (byte) 0x6e, (byte) 0x74, (byte) 0x3b, (byte) 0x4c, (byte) 0x0, (byte) 0x14, (byte) 0x73, (byte) 0x75, (byte) 0x70, (byte) 0x70, (byte) 0x72, (byte) 0x65, (byte) 0x73, (byte) 0x73, (byte) 0x65, (byte) 0x64, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70,
+ (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x73, (byte) 0x74, (byte) 0x0, (byte) 0x10, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2f, (byte) 0x4c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x3b, (byte) 0x78, (byte) 0x70, (byte) 0x70, (byte) 0x74, (byte) 0x0, (byte) 0x6, (byte) 0x72, (byte) 0x65,
+ (byte) 0x61, (byte) 0x73, (byte) 0x6f, (byte) 0x6e, (byte) 0x75, (byte) 0x72, (byte) 0x0, (byte) 0x1e, (byte) 0x5b, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e, (byte) 0x53, (byte) 0x74, (byte) 0x61, (byte) 0x63, (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63, (byte) 0x65, (byte) 0x45, (byte) 0x6c,
+ (byte) 0x65, (byte) 0x6d, (byte) 0x65, (byte) 0x6e, (byte) 0x74, (byte) 0x3b, (byte) 0x2, (byte) 0x46, (byte) 0x2a, (byte) 0x3c, (byte) 0x3c, (byte) 0xfd, (byte) 0x22, (byte) 0x39, (byte) 0x2, (byte) 0x0, (byte) 0x0, (byte) 0x78, (byte) 0x70, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x2, (byte) 0x73, (byte) 0x72, (byte) 0x0, (byte) 0x1b, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e,
+ (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e, (byte) 0x53, (byte) 0x74, (byte) 0x61, (byte) 0x63, (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63, (byte) 0x65, (byte) 0x45, (byte) 0x6c, (byte) 0x65, (byte) 0x6d, (byte) 0x65, (byte) 0x6e, (byte) 0x74, (byte) 0x61, (byte) 0x9, (byte) 0xc5, (byte) 0x9a, (byte) 0x26, (byte) 0x36, (byte) 0xdd, (byte) 0x85, (byte) 0x2, (byte) 0x0,
+ (byte) 0x4, (byte) 0x49, (byte) 0x0, (byte) 0xa, (byte) 0x6c, (byte) 0x69, (byte) 0x6e, (byte) 0x65, (byte) 0x4e, (byte) 0x75, (byte) 0x6d, (byte) 0x62, (byte) 0x65, (byte) 0x72, (byte) 0x4c, (byte) 0x0, (byte) 0xe, (byte) 0x64, (byte) 0x65, (byte) 0x63, (byte) 0x6c, (byte) 0x61, (byte) 0x72, (byte) 0x69, (byte) 0x6e, (byte) 0x67, (byte) 0x43, (byte) 0x6c, (byte) 0x61, (byte) 0x73, (byte) 0x73, (byte) 0x71,
+ (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x6, (byte) 0x4c, (byte) 0x0, (byte) 0x8, (byte) 0x66, (byte) 0x69, (byte) 0x6c, (byte) 0x65, (byte) 0x4e, (byte) 0x61, (byte) 0x6d, (byte) 0x65, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x6, (byte) 0x4c, (byte) 0x0, (byte) 0xa, (byte) 0x6d, (byte) 0x65, (byte) 0x74, (byte) 0x68, (byte) 0x6f, (byte) 0x64, (byte) 0x4e, (byte) 0x61, (byte) 0x6d,
+ (byte) 0x65, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x6, (byte) 0x78, (byte) 0x70, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x3a, (byte) 0x74, (byte) 0x0, (byte) 0x10, (byte) 0x57, (byte) 0x72, (byte) 0x69, (byte) 0x74, (byte) 0x65, (byte) 0x53, (byte) 0x65, (byte) 0x72, (byte) 0x69, (byte) 0x61, (byte) 0x6c, (byte) 0x44, (byte) 0x61, (byte) 0x74, (byte) 0x61, (byte) 0x31, (byte) 0x74,
+ (byte) 0x0, (byte) 0x15, (byte) 0x57, (byte) 0x72, (byte) 0x69, (byte) 0x74, (byte) 0x65, (byte) 0x53, (byte) 0x65, (byte) 0x72, (byte) 0x69, (byte) 0x61, (byte) 0x6c, (byte) 0x44, (byte) 0x61, (byte) 0x74, (byte) 0x61, (byte) 0x31, (byte) 0x2e, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x74, (byte) 0x0, (byte) 0x3, (byte) 0x72, (byte) 0x75, (byte) 0x6e, (byte) 0x73, (byte) 0x71, (byte) 0x0,
+ (byte) 0x7e, (byte) 0x0, (byte) 0xd, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x24, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0xf, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x10, (byte) 0x74, (byte) 0x0, (byte) 0x4, (byte) 0x6d, (byte) 0x61, (byte) 0x69, (byte) 0x6e, (byte) 0x73, (byte) 0x72, (byte) 0x0, (byte) 0x26, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61,
+ (byte) 0x2e, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2e, (byte) 0x43, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x73, (byte) 0x24, (byte) 0x55, (byte) 0x6e, (byte) 0x6d, (byte) 0x6f, (byte) 0x64, (byte) 0x69, (byte) 0x66, (byte) 0x69, (byte) 0x61, (byte) 0x62, (byte) 0x6c, (byte) 0x65, (byte) 0x4c, (byte) 0x69,
+ (byte) 0x73, (byte) 0x74, (byte) 0xfc, (byte) 0xf, (byte) 0x25, (byte) 0x31, (byte) 0xb5, (byte) 0xec, (byte) 0x8e, (byte) 0x10, (byte) 0x2, (byte) 0x0, (byte) 0x1, (byte) 0x4c, (byte) 0x0, (byte) 0x4, (byte) 0x6c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x8, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x2c, (byte) 0x6a, (byte) 0x61, (byte) 0x76,
+ (byte) 0x61, (byte) 0x2e, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2e, (byte) 0x43, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x73, (byte) 0x24, (byte) 0x55, (byte) 0x6e, (byte) 0x6d, (byte) 0x6f, (byte) 0x64, (byte) 0x69, (byte) 0x66, (byte) 0x69, (byte) 0x61, (byte) 0x62, (byte) 0x6c, (byte) 0x65, (byte) 0x43,
+ (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x19, (byte) 0x42, (byte) 0x0, (byte) 0x80, (byte) 0xcb, (byte) 0x5e, (byte) 0xf7, (byte) 0x1e, (byte) 0x2, (byte) 0x0, (byte) 0x1, (byte) 0x4c, (byte) 0x0, (byte) 0x1, (byte) 0x63, (byte) 0x74, (byte) 0x0, (byte) 0x16, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61,
+ (byte) 0x2f, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2f, (byte) 0x43, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x3b, (byte) 0x78, (byte) 0x70, (byte) 0x73, (byte) 0x72, (byte) 0x0, (byte) 0x13, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c,
+ (byte) 0x2e, (byte) 0x41, (byte) 0x72, (byte) 0x72, (byte) 0x61, (byte) 0x79, (byte) 0x4c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x78, (byte) 0x81, (byte) 0xd2, (byte) 0x1d, (byte) 0x99, (byte) 0xc7, (byte) 0x61, (byte) 0x9d, (byte) 0x3, (byte) 0x0, (byte) 0x1, (byte) 0x49, (byte) 0x0, (byte) 0x4, (byte) 0x73, (byte) 0x69, (byte) 0x7a, (byte) 0x65, (byte) 0x78, (byte) 0x70, (byte) 0x0, (byte) 0x0,
+ (byte) 0x0, (byte) 0x0, (byte) 0x77, (byte) 0x4, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x78, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x19, (byte) 0x78, (byte) 0x70
+ };
+
+ /**
+ * Serialized TransactionRequiredException from JDK 8 with the following
+ * values:
+ * reason = "This was the error msg"
+ * cause = null
+ */
+ public static byte[] TRE_DATA = {
+ (byte) 0xac, (byte) 0xed, (byte) 0x0, (byte) 0x5, (byte) 0x73, (byte) 0x72, (byte) 0x0, (byte) 0x2e, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x78, (byte) 0x2e, (byte) 0x74, (byte) 0x72, (byte) 0x61, (byte) 0x6e, (byte) 0x73, (byte) 0x61, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x2e, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x6e, (byte) 0x73, (byte) 0x61,
+ (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x52, (byte) 0x65, (byte) 0x71, (byte) 0x75, (byte) 0x69, (byte) 0x72, (byte) 0x65, (byte) 0x64, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0xe5, (byte) 0xa6, (byte) 0x15, (byte) 0x9f, (byte) 0x12, (byte) 0x65, (byte) 0xb5, (byte) 0xd9, (byte) 0x2, (byte) 0x0,
+ (byte) 0x0, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x18, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x72, (byte) 0x6d, (byte) 0x69, (byte) 0x2e, (byte) 0x52, (byte) 0x65, (byte) 0x6d, (byte) 0x6f, (byte) 0x74, (byte) 0x65, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0xb8, (byte) 0x8c, (byte) 0x9d,
+ (byte) 0x4e, (byte) 0xde, (byte) 0xe4, (byte) 0x7a, (byte) 0x22, (byte) 0x2, (byte) 0x0, (byte) 0x1, (byte) 0x4c, (byte) 0x0, (byte) 0x6, (byte) 0x64, (byte) 0x65, (byte) 0x74, (byte) 0x61, (byte) 0x69, (byte) 0x6c, (byte) 0x74, (byte) 0x0, (byte) 0x15, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2f, (byte) 0x54,
+ (byte) 0x68, (byte) 0x72, (byte) 0x6f, (byte) 0x77, (byte) 0x61, (byte) 0x62, (byte) 0x6c, (byte) 0x65, (byte) 0x3b, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x13, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x69, (byte) 0x6f, (byte) 0x2e, (byte) 0x49, (byte) 0x4f, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e,
+ (byte) 0x6c, (byte) 0x80, (byte) 0x73, (byte) 0x64, (byte) 0x65, (byte) 0x25, (byte) 0xf0, (byte) 0xab, (byte) 0x2, (byte) 0x0, (byte) 0x0, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x13, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70, (byte) 0x74, (byte) 0x69,
+ (byte) 0x6f, (byte) 0x6e, (byte) 0xd0, (byte) 0xfd, (byte) 0x1f, (byte) 0x3e, (byte) 0x1a, (byte) 0x3b, (byte) 0x1c, (byte) 0xc4, (byte) 0x2, (byte) 0x0, (byte) 0x0, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x13, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e, (byte) 0x54, (byte) 0x68, (byte) 0x72, (byte) 0x6f, (byte) 0x77,
+ (byte) 0x61, (byte) 0x62, (byte) 0x6c, (byte) 0x65, (byte) 0xd5, (byte) 0xc6, (byte) 0x35, (byte) 0x27, (byte) 0x39, (byte) 0x77, (byte) 0xb8, (byte) 0xcb, (byte) 0x3, (byte) 0x0, (byte) 0x4, (byte) 0x4c, (byte) 0x0, (byte) 0x5, (byte) 0x63, (byte) 0x61, (byte) 0x75, (byte) 0x73, (byte) 0x65, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x2, (byte) 0x4c, (byte) 0x0, (byte) 0xd, (byte) 0x64,
+ (byte) 0x65, (byte) 0x74, (byte) 0x61, (byte) 0x69, (byte) 0x6c, (byte) 0x4d, (byte) 0x65, (byte) 0x73, (byte) 0x73, (byte) 0x61, (byte) 0x67, (byte) 0x65, (byte) 0x74, (byte) 0x0, (byte) 0x12, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2f, (byte) 0x53, (byte) 0x74, (byte) 0x72, (byte) 0x69, (byte) 0x6e, (byte) 0x67,
+ (byte) 0x3b, (byte) 0x5b, (byte) 0x0, (byte) 0xa, (byte) 0x73, (byte) 0x74, (byte) 0x61, (byte) 0x63, (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63, (byte) 0x65, (byte) 0x74, (byte) 0x0, (byte) 0x1e, (byte) 0x5b, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2f, (byte) 0x53, (byte) 0x74, (byte) 0x61,
+ (byte) 0x63, (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63, (byte) 0x65, (byte) 0x45, (byte) 0x6c, (byte) 0x65, (byte) 0x6d, (byte) 0x65, (byte) 0x6e, (byte) 0x74, (byte) 0x3b, (byte) 0x4c, (byte) 0x0, (byte) 0x14, (byte) 0x73, (byte) 0x75, (byte) 0x70, (byte) 0x70, (byte) 0x72, (byte) 0x65, (byte) 0x73, (byte) 0x73, (byte) 0x65, (byte) 0x64, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65,
+ (byte) 0x70, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x73, (byte) 0x74, (byte) 0x0, (byte) 0x10, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2f, (byte) 0x4c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x3b, (byte) 0x78, (byte) 0x70, (byte) 0x70, (byte) 0x74, (byte) 0x0, (byte) 0x6, (byte) 0x72,
+ (byte) 0x65, (byte) 0x61, (byte) 0x73, (byte) 0x6f, (byte) 0x6e, (byte) 0x75, (byte) 0x72, (byte) 0x0, (byte) 0x1e, (byte) 0x5b, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e, (byte) 0x53, (byte) 0x74, (byte) 0x61, (byte) 0x63, (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63, (byte) 0x65, (byte) 0x45,
+ (byte) 0x6c, (byte) 0x65, (byte) 0x6d, (byte) 0x65, (byte) 0x6e, (byte) 0x74, (byte) 0x3b, (byte) 0x2, (byte) 0x46, (byte) 0x2a, (byte) 0x3c, (byte) 0x3c, (byte) 0xfd, (byte) 0x22, (byte) 0x39, (byte) 0x2, (byte) 0x0, (byte) 0x0, (byte) 0x78, (byte) 0x70, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x2, (byte) 0x73, (byte) 0x72, (byte) 0x0, (byte) 0x1b, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61,
+ (byte) 0x2e, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e, (byte) 0x53, (byte) 0x74, (byte) 0x61, (byte) 0x63, (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63, (byte) 0x65, (byte) 0x45, (byte) 0x6c, (byte) 0x65, (byte) 0x6d, (byte) 0x65, (byte) 0x6e, (byte) 0x74, (byte) 0x61, (byte) 0x9, (byte) 0xc5, (byte) 0x9a, (byte) 0x26, (byte) 0x36, (byte) 0xdd, (byte) 0x85, (byte) 0x2,
+ (byte) 0x0, (byte) 0x4, (byte) 0x49, (byte) 0x0, (byte) 0xa, (byte) 0x6c, (byte) 0x69, (byte) 0x6e, (byte) 0x65, (byte) 0x4e, (byte) 0x75, (byte) 0x6d, (byte) 0x62, (byte) 0x65, (byte) 0x72, (byte) 0x4c, (byte) 0x0, (byte) 0xe, (byte) 0x64, (byte) 0x65, (byte) 0x63, (byte) 0x6c, (byte) 0x61, (byte) 0x72, (byte) 0x69, (byte) 0x6e, (byte) 0x67, (byte) 0x43, (byte) 0x6c, (byte) 0x61, (byte) 0x73, (byte) 0x73,
+ (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x6, (byte) 0x4c, (byte) 0x0, (byte) 0x8, (byte) 0x66, (byte) 0x69, (byte) 0x6c, (byte) 0x65, (byte) 0x4e, (byte) 0x61, (byte) 0x6d, (byte) 0x65, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x6, (byte) 0x4c, (byte) 0x0, (byte) 0xa, (byte) 0x6d, (byte) 0x65, (byte) 0x74, (byte) 0x68, (byte) 0x6f, (byte) 0x64, (byte) 0x4e, (byte) 0x61,
+ (byte) 0x6d, (byte) 0x65, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x6, (byte) 0x78, (byte) 0x70, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x3c, (byte) 0x74, (byte) 0x0, (byte) 0x10, (byte) 0x57, (byte) 0x72, (byte) 0x69, (byte) 0x74, (byte) 0x65, (byte) 0x53, (byte) 0x65, (byte) 0x72, (byte) 0x69, (byte) 0x61, (byte) 0x6c, (byte) 0x44, (byte) 0x61, (byte) 0x74, (byte) 0x61, (byte) 0x31,
+ (byte) 0x74, (byte) 0x0, (byte) 0x15, (byte) 0x57, (byte) 0x72, (byte) 0x69, (byte) 0x74, (byte) 0x65, (byte) 0x53, (byte) 0x65, (byte) 0x72, (byte) 0x69, (byte) 0x61, (byte) 0x6c, (byte) 0x44, (byte) 0x61, (byte) 0x74, (byte) 0x61, (byte) 0x31, (byte) 0x2e, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x74, (byte) 0x0, (byte) 0x3, (byte) 0x72, (byte) 0x75, (byte) 0x6e, (byte) 0x73, (byte) 0x71,
+ (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0xd, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x24, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0xf, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x10, (byte) 0x74, (byte) 0x0, (byte) 0x4, (byte) 0x6d, (byte) 0x61, (byte) 0x69, (byte) 0x6e, (byte) 0x73, (byte) 0x72, (byte) 0x0, (byte) 0x26, (byte) 0x6a, (byte) 0x61, (byte) 0x76,
+ (byte) 0x61, (byte) 0x2e, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2e, (byte) 0x43, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x73, (byte) 0x24, (byte) 0x55, (byte) 0x6e, (byte) 0x6d, (byte) 0x6f, (byte) 0x64, (byte) 0x69, (byte) 0x66, (byte) 0x69, (byte) 0x61, (byte) 0x62, (byte) 0x6c, (byte) 0x65, (byte) 0x4c,
+ (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0xfc, (byte) 0xf, (byte) 0x25, (byte) 0x31, (byte) 0xb5, (byte) 0xec, (byte) 0x8e, (byte) 0x10, (byte) 0x2, (byte) 0x0, (byte) 0x1, (byte) 0x4c, (byte) 0x0, (byte) 0x4, (byte) 0x6c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x8, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x2c, (byte) 0x6a, (byte) 0x61,
+ (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2e, (byte) 0x43, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x73, (byte) 0x24, (byte) 0x55, (byte) 0x6e, (byte) 0x6d, (byte) 0x6f, (byte) 0x64, (byte) 0x69, (byte) 0x66, (byte) 0x69, (byte) 0x61, (byte) 0x62, (byte) 0x6c, (byte) 0x65,
+ (byte) 0x43, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x19, (byte) 0x42, (byte) 0x0, (byte) 0x80, (byte) 0xcb, (byte) 0x5e, (byte) 0xf7, (byte) 0x1e, (byte) 0x2, (byte) 0x0, (byte) 0x1, (byte) 0x4c, (byte) 0x0, (byte) 0x1, (byte) 0x63, (byte) 0x74, (byte) 0x0, (byte) 0x16, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76,
+ (byte) 0x61, (byte) 0x2f, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2f, (byte) 0x43, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x3b, (byte) 0x78, (byte) 0x70, (byte) 0x73, (byte) 0x72, (byte) 0x0, (byte) 0x13, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x75, (byte) 0x74, (byte) 0x69,
+ (byte) 0x6c, (byte) 0x2e, (byte) 0x41, (byte) 0x72, (byte) 0x72, (byte) 0x61, (byte) 0x79, (byte) 0x4c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x78, (byte) 0x81, (byte) 0xd2, (byte) 0x1d, (byte) 0x99, (byte) 0xc7, (byte) 0x61, (byte) 0x9d, (byte) 0x3, (byte) 0x0, (byte) 0x1, (byte) 0x49, (byte) 0x0, (byte) 0x4, (byte) 0x73, (byte) 0x69, (byte) 0x7a, (byte) 0x65, (byte) 0x78, (byte) 0x70, (byte) 0x0,
+ (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x77, (byte) 0x4, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x78, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x19, (byte) 0x78, (byte) 0x70
+ };
+
+ /**
+ * Serialized TransactionRolledbackException from JDK 8 with the
+ * following values:
+ * reason = "This was the error msg"
+ * cause = null
+ */
+ public static byte[] TRBE_DATA = {
+ (byte) 0xac, (byte) 0xed, (byte) 0x0, (byte) 0x5, (byte) 0x73, (byte) 0x72, (byte) 0x0, (byte) 0x30, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x78, (byte) 0x2e, (byte) 0x74, (byte) 0x72, (byte) 0x61, (byte) 0x6e, (byte) 0x73, (byte) 0x61, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x2e, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x6e, (byte) 0x73, (byte) 0x61,
+ (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x52, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x64, (byte) 0x62, (byte) 0x61, (byte) 0x63, (byte) 0x6b, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0xd4, (byte) 0x62, (byte) 0x89, (byte) 0xbe, (byte) 0x47, (byte) 0x2, (byte) 0xe7, (byte) 0xdf,
+ (byte) 0x2, (byte) 0x0, (byte) 0x0, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x18, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x72, (byte) 0x6d, (byte) 0x69, (byte) 0x2e, (byte) 0x52, (byte) 0x65, (byte) 0x6d, (byte) 0x6f, (byte) 0x74, (byte) 0x65, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0xb8,
+ (byte) 0x8c, (byte) 0x9d, (byte) 0x4e, (byte) 0xde, (byte) 0xe4, (byte) 0x7a, (byte) 0x22, (byte) 0x2, (byte) 0x0, (byte) 0x1, (byte) 0x4c, (byte) 0x0, (byte) 0x6, (byte) 0x64, (byte) 0x65, (byte) 0x74, (byte) 0x61, (byte) 0x69, (byte) 0x6c, (byte) 0x74, (byte) 0x0, (byte) 0x15, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67,
+ (byte) 0x2f, (byte) 0x54, (byte) 0x68, (byte) 0x72, (byte) 0x6f, (byte) 0x77, (byte) 0x61, (byte) 0x62, (byte) 0x6c, (byte) 0x65, (byte) 0x3b, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x13, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x69, (byte) 0x6f, (byte) 0x2e, (byte) 0x49, (byte) 0x4f, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70, (byte) 0x74, (byte) 0x69,
+ (byte) 0x6f, (byte) 0x6e, (byte) 0x6c, (byte) 0x80, (byte) 0x73, (byte) 0x64, (byte) 0x65, (byte) 0x25, (byte) 0xf0, (byte) 0xab, (byte) 0x2, (byte) 0x0, (byte) 0x0, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x13, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e, (byte) 0x45, (byte) 0x78, (byte) 0x63, (byte) 0x65, (byte) 0x70,
+ (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0xd0, (byte) 0xfd, (byte) 0x1f, (byte) 0x3e, (byte) 0x1a, (byte) 0x3b, (byte) 0x1c, (byte) 0xc4, (byte) 0x2, (byte) 0x0, (byte) 0x0, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x13, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e, (byte) 0x54, (byte) 0x68, (byte) 0x72,
+ (byte) 0x6f, (byte) 0x77, (byte) 0x61, (byte) 0x62, (byte) 0x6c, (byte) 0x65, (byte) 0xd5, (byte) 0xc6, (byte) 0x35, (byte) 0x27, (byte) 0x39, (byte) 0x77, (byte) 0xb8, (byte) 0xcb, (byte) 0x3, (byte) 0x0, (byte) 0x4, (byte) 0x4c, (byte) 0x0, (byte) 0x5, (byte) 0x63, (byte) 0x61, (byte) 0x75, (byte) 0x73, (byte) 0x65, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x2, (byte) 0x4c, (byte) 0x0,
+ (byte) 0xd, (byte) 0x64, (byte) 0x65, (byte) 0x74, (byte) 0x61, (byte) 0x69, (byte) 0x6c, (byte) 0x4d, (byte) 0x65, (byte) 0x73, (byte) 0x73, (byte) 0x61, (byte) 0x67, (byte) 0x65, (byte) 0x74, (byte) 0x0, (byte) 0x12, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2f, (byte) 0x53, (byte) 0x74, (byte) 0x72, (byte) 0x69,
+ (byte) 0x6e, (byte) 0x67, (byte) 0x3b, (byte) 0x5b, (byte) 0x0, (byte) 0xa, (byte) 0x73, (byte) 0x74, (byte) 0x61, (byte) 0x63, (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63, (byte) 0x65, (byte) 0x74, (byte) 0x0, (byte) 0x1e, (byte) 0x5b, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2f, (byte) 0x53,
+ (byte) 0x74, (byte) 0x61, (byte) 0x63, (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63, (byte) 0x65, (byte) 0x45, (byte) 0x6c, (byte) 0x65, (byte) 0x6d, (byte) 0x65, (byte) 0x6e, (byte) 0x74, (byte) 0x3b, (byte) 0x4c, (byte) 0x0, (byte) 0x14, (byte) 0x73, (byte) 0x75, (byte) 0x70, (byte) 0x70, (byte) 0x72, (byte) 0x65, (byte) 0x73, (byte) 0x73, (byte) 0x65, (byte) 0x64, (byte) 0x45, (byte) 0x78,
+ (byte) 0x63, (byte) 0x65, (byte) 0x70, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x73, (byte) 0x74, (byte) 0x0, (byte) 0x10, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2f, (byte) 0x4c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x3b, (byte) 0x78, (byte) 0x70, (byte) 0x70, (byte) 0x74, (byte) 0x0,
+ (byte) 0x6, (byte) 0x72, (byte) 0x65, (byte) 0x61, (byte) 0x73, (byte) 0x6f, (byte) 0x6e, (byte) 0x75, (byte) 0x72, (byte) 0x0, (byte) 0x1e, (byte) 0x5b, (byte) 0x4c, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e, (byte) 0x53, (byte) 0x74, (byte) 0x61, (byte) 0x63, (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63,
+ (byte) 0x65, (byte) 0x45, (byte) 0x6c, (byte) 0x65, (byte) 0x6d, (byte) 0x65, (byte) 0x6e, (byte) 0x74, (byte) 0x3b, (byte) 0x2, (byte) 0x46, (byte) 0x2a, (byte) 0x3c, (byte) 0x3c, (byte) 0xfd, (byte) 0x22, (byte) 0x39, (byte) 0x2, (byte) 0x0, (byte) 0x0, (byte) 0x78, (byte) 0x70, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x2, (byte) 0x73, (byte) 0x72, (byte) 0x0, (byte) 0x1b, (byte) 0x6a, (byte) 0x61,
+ (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x6c, (byte) 0x61, (byte) 0x6e, (byte) 0x67, (byte) 0x2e, (byte) 0x53, (byte) 0x74, (byte) 0x61, (byte) 0x63, (byte) 0x6b, (byte) 0x54, (byte) 0x72, (byte) 0x61, (byte) 0x63, (byte) 0x65, (byte) 0x45, (byte) 0x6c, (byte) 0x65, (byte) 0x6d, (byte) 0x65, (byte) 0x6e, (byte) 0x74, (byte) 0x61, (byte) 0x9, (byte) 0xc5, (byte) 0x9a, (byte) 0x26, (byte) 0x36, (byte) 0xdd,
+ (byte) 0x85, (byte) 0x2, (byte) 0x0, (byte) 0x4, (byte) 0x49, (byte) 0x0, (byte) 0xa, (byte) 0x6c, (byte) 0x69, (byte) 0x6e, (byte) 0x65, (byte) 0x4e, (byte) 0x75, (byte) 0x6d, (byte) 0x62, (byte) 0x65, (byte) 0x72, (byte) 0x4c, (byte) 0x0, (byte) 0xe, (byte) 0x64, (byte) 0x65, (byte) 0x63, (byte) 0x6c, (byte) 0x61, (byte) 0x72, (byte) 0x69, (byte) 0x6e, (byte) 0x67, (byte) 0x43, (byte) 0x6c, (byte) 0x61,
+ (byte) 0x73, (byte) 0x73, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x6, (byte) 0x4c, (byte) 0x0, (byte) 0x8, (byte) 0x66, (byte) 0x69, (byte) 0x6c, (byte) 0x65, (byte) 0x4e, (byte) 0x61, (byte) 0x6d, (byte) 0x65, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x6, (byte) 0x4c, (byte) 0x0, (byte) 0xa, (byte) 0x6d, (byte) 0x65, (byte) 0x74, (byte) 0x68, (byte) 0x6f, (byte) 0x64,
+ (byte) 0x4e, (byte) 0x61, (byte) 0x6d, (byte) 0x65, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x6, (byte) 0x78, (byte) 0x70, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x3e, (byte) 0x74, (byte) 0x0, (byte) 0x10, (byte) 0x57, (byte) 0x72, (byte) 0x69, (byte) 0x74, (byte) 0x65, (byte) 0x53, (byte) 0x65, (byte) 0x72, (byte) 0x69, (byte) 0x61, (byte) 0x6c, (byte) 0x44, (byte) 0x61, (byte) 0x74,
+ (byte) 0x61, (byte) 0x31, (byte) 0x74, (byte) 0x0, (byte) 0x15, (byte) 0x57, (byte) 0x72, (byte) 0x69, (byte) 0x74, (byte) 0x65, (byte) 0x53, (byte) 0x65, (byte) 0x72, (byte) 0x69, (byte) 0x61, (byte) 0x6c, (byte) 0x44, (byte) 0x61, (byte) 0x74, (byte) 0x61, (byte) 0x31, (byte) 0x2e, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x74, (byte) 0x0, (byte) 0x3, (byte) 0x72, (byte) 0x75, (byte) 0x6e,
+ (byte) 0x73, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0xd, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x24, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0xf, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x10, (byte) 0x74, (byte) 0x0, (byte) 0x4, (byte) 0x6d, (byte) 0x61, (byte) 0x69, (byte) 0x6e, (byte) 0x73, (byte) 0x72, (byte) 0x0, (byte) 0x26, (byte) 0x6a,
+ (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2e, (byte) 0x43, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x73, (byte) 0x24, (byte) 0x55, (byte) 0x6e, (byte) 0x6d, (byte) 0x6f, (byte) 0x64, (byte) 0x69, (byte) 0x66, (byte) 0x69, (byte) 0x61, (byte) 0x62, (byte) 0x6c,
+ (byte) 0x65, (byte) 0x4c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0xfc, (byte) 0xf, (byte) 0x25, (byte) 0x31, (byte) 0xb5, (byte) 0xec, (byte) 0x8e, (byte) 0x10, (byte) 0x2, (byte) 0x0, (byte) 0x1, (byte) 0x4c, (byte) 0x0, (byte) 0x4, (byte) 0x6c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x8, (byte) 0x78, (byte) 0x72, (byte) 0x0, (byte) 0x2c,
+ (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2e, (byte) 0x43, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x73, (byte) 0x24, (byte) 0x55, (byte) 0x6e, (byte) 0x6d, (byte) 0x6f, (byte) 0x64, (byte) 0x69, (byte) 0x66, (byte) 0x69, (byte) 0x61, (byte) 0x62,
+ (byte) 0x6c, (byte) 0x65, (byte) 0x43, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x19, (byte) 0x42, (byte) 0x0, (byte) 0x80, (byte) 0xcb, (byte) 0x5e, (byte) 0xf7, (byte) 0x1e, (byte) 0x2, (byte) 0x0, (byte) 0x1, (byte) 0x4c, (byte) 0x0, (byte) 0x1, (byte) 0x63, (byte) 0x74, (byte) 0x0, (byte) 0x16, (byte) 0x4c, (byte) 0x6a,
+ (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2f, (byte) 0x75, (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2f, (byte) 0x43, (byte) 0x6f, (byte) 0x6c, (byte) 0x6c, (byte) 0x65, (byte) 0x63, (byte) 0x74, (byte) 0x69, (byte) 0x6f, (byte) 0x6e, (byte) 0x3b, (byte) 0x78, (byte) 0x70, (byte) 0x73, (byte) 0x72, (byte) 0x0, (byte) 0x13, (byte) 0x6a, (byte) 0x61, (byte) 0x76, (byte) 0x61, (byte) 0x2e, (byte) 0x75,
+ (byte) 0x74, (byte) 0x69, (byte) 0x6c, (byte) 0x2e, (byte) 0x41, (byte) 0x72, (byte) 0x72, (byte) 0x61, (byte) 0x79, (byte) 0x4c, (byte) 0x69, (byte) 0x73, (byte) 0x74, (byte) 0x78, (byte) 0x81, (byte) 0xd2, (byte) 0x1d, (byte) 0x99, (byte) 0xc7, (byte) 0x61, (byte) 0x9d, (byte) 0x3, (byte) 0x0, (byte) 0x1, (byte) 0x49, (byte) 0x0, (byte) 0x4, (byte) 0x73, (byte) 0x69, (byte) 0x7a, (byte) 0x65, (byte) 0x78,
+ (byte) 0x70, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x77, (byte) 0x4, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x78, (byte) 0x71, (byte) 0x0, (byte) 0x7e, (byte) 0x0, (byte) 0x19, (byte) 0x78, (byte) 0x70
+ };
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/jdk/internal/misc/JavaLangAccess/FormatUnsigned.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+import jdk.internal.misc.JavaLangAccess;
+import jdk.internal.misc.SharedSecrets;
+
+/*
+ * @test
+ * @bug 8050114
+ * @summary Test JavaLangAccess.formatUnsignedInt/-Long
+ * @modules java.base/jdk.internal.misc
+ */
+public class FormatUnsigned {
+
+ static final JavaLangAccess jla = SharedSecrets.getJavaLangAccess();
+
+ public static void testFormatUnsignedInt() {
+ testFormatUnsignedInt("7fffffff", Integer.MAX_VALUE, 8, 4, 0, 8);
+ testFormatUnsignedInt("80000000", Integer.MIN_VALUE, 8, 4, 0, 8);
+ testFormatUnsignedInt("4711", 04711, 4, 3, 0, 4);
+ testFormatUnsignedInt("4711", 0x4711, 4, 4, 0, 4);
+ testFormatUnsignedInt("1010", 0b1010, 4, 1, 0, 4);
+ testFormatUnsignedInt("00001010", 0b1010, 8, 1, 0, 8);
+ testFormatUnsignedInt("\u0000\u000000001010", 0b1010, 10, 1, 2, 8);
+ }
+
+ public static void testFormatUnsignedLong() {
+ testFormatUnsignedLong("7fffffffffffffff", Long.MAX_VALUE, 16, 4, 0, 16);
+ testFormatUnsignedLong("8000000000000000", Long.MIN_VALUE, 16, 4, 0, 16);
+ testFormatUnsignedLong("4711", 04711L, 4, 3, 0, 4);
+ testFormatUnsignedLong("4711", 0x4711L, 4, 4, 0, 4);
+ testFormatUnsignedLong("1010", 0b1010L, 4, 1, 0, 4);
+ testFormatUnsignedLong("00001010", 0b1010L, 8, 1, 0, 8);
+ testFormatUnsignedLong("\u0000\u000000001010", 0b1010L, 10, 1, 2, 8);
+ }
+
+ public static void testFormatUnsignedInt(String expected, int value, int arraySize, int shift, int offset, int length) {
+ char[] chars = new char[arraySize];
+ jla.formatUnsignedInt(value, shift, chars, offset, length);
+ String s = new String(chars);
+ if (!expected.equals(s)) {
+ throw new Error(s + " should be equal to expected " + expected);
+ }
+ }
+
+ public static void testFormatUnsignedLong(String expected, long value, int arraySize, int shift, int offset, int length) {
+ char[] chars = new char[arraySize];
+ jla.formatUnsignedLong(value, shift, chars, offset, length);
+ String s = new String(chars);
+ if (!expected.equals(s)) {
+ throw new Error(s + " should be equal to expected " + expected);
+ }
+ }
+
+ public static void main(String[] args) {
+ testFormatUnsignedInt();
+ testFormatUnsignedLong();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/jdk/internal/misc/JavaLangAccess/NewUnsafeString.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,87 @@
+/*
+ * Copyright (c) 2012, 2013, 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 java.util.Comparator;
+import jdk.internal.misc.JavaLangAccess;
+import jdk.internal.misc.SharedSecrets;
+
+/*
+ * @test
+ * @bug 8013528
+ * @summary Test JavaLangAccess.newUnsafeString
+ * @modules java.base/jdk.internal.misc
+ * @compile -XDignore.symbol.file NewUnsafeString.java
+ */
+public class NewUnsafeString {
+
+ static final JavaLangAccess jla = SharedSecrets.getJavaLangAccess();
+
+ public static void testNewUnsafeString() {
+ String benchmark = "exemplar";
+ String constructorCopy = new String(benchmark);
+ char[] jlaChars = benchmark.toCharArray();
+ String jlaCopy = jla.newStringUnsafe(jlaChars);
+
+ if (benchmark == constructorCopy) {
+ throw new Error("should be different instances");
+ }
+ if (!benchmark.equals(constructorCopy)) {
+ throw new Error("Copy not equal");
+ }
+ if (0 != Objects.compare(benchmark, constructorCopy, Comparator.naturalOrder())) {
+ throw new Error("Copy not equal");
+ }
+
+ if (benchmark == jlaCopy) {
+ throw new Error("should be different instances");
+ }
+ if (!benchmark.equals(jlaCopy)) {
+ throw new Error("Copy not equal");
+ }
+ if (0 != Objects.compare(benchmark, jlaCopy, Comparator.naturalOrder())) {
+ throw new Error("Copy not equal");
+ }
+
+ if (constructorCopy == jlaCopy) {
+ throw new Error("should be different instances");
+ }
+ if (!constructorCopy.equals(jlaCopy)) {
+ throw new Error("Copy not equal");
+ }
+ if (0 != Objects.compare(constructorCopy, jlaCopy, Comparator.naturalOrder())) {
+ throw new Error("Copy not equal");
+ }
+
+ // The following is extremely "evil". Never ever do this in non-test code.
+ jlaChars[0] = 'X';
+ if (!"Xxemplar".equals(jlaCopy)) {
+ throw new Error("jla.newStringUnsafe did not use provided string");
+ }
+
+ }
+
+ public static void main(String[] args) {
+ testNewUnsafeString();
+ }
+}
--- a/jdk/test/sun/misc/JavaLangAccess/FormatUnsigned.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-import sun.misc.JavaLangAccess;
-import sun.misc.SharedSecrets;
-
-/*
- * @test
- * @bug 8050114
- * @summary Test JavaLangAccess.formatUnsignedInt/-Long
- * @modules java.base/sun.misc
- */
-public class FormatUnsigned {
-
- static final JavaLangAccess jla = SharedSecrets.getJavaLangAccess();
-
- public static void testFormatUnsignedInt() {
- testFormatUnsignedInt("7fffffff", Integer.MAX_VALUE, 8, 4, 0, 8);
- testFormatUnsignedInt("80000000", Integer.MIN_VALUE, 8, 4, 0, 8);
- testFormatUnsignedInt("4711", 04711, 4, 3, 0, 4);
- testFormatUnsignedInt("4711", 0x4711, 4, 4, 0, 4);
- testFormatUnsignedInt("1010", 0b1010, 4, 1, 0, 4);
- testFormatUnsignedInt("00001010", 0b1010, 8, 1, 0, 8);
- testFormatUnsignedInt("\u0000\u000000001010", 0b1010, 10, 1, 2, 8);
- }
-
- public static void testFormatUnsignedLong() {
- testFormatUnsignedLong("7fffffffffffffff", Long.MAX_VALUE, 16, 4, 0, 16);
- testFormatUnsignedLong("8000000000000000", Long.MIN_VALUE, 16, 4, 0, 16);
- testFormatUnsignedLong("4711", 04711L, 4, 3, 0, 4);
- testFormatUnsignedLong("4711", 0x4711L, 4, 4, 0, 4);
- testFormatUnsignedLong("1010", 0b1010L, 4, 1, 0, 4);
- testFormatUnsignedLong("00001010", 0b1010L, 8, 1, 0, 8);
- testFormatUnsignedLong("\u0000\u000000001010", 0b1010L, 10, 1, 2, 8);
- }
-
- public static void testFormatUnsignedInt(String expected, int value, int arraySize, int shift, int offset, int length) {
- char[] chars = new char[arraySize];
- jla.formatUnsignedInt(value, shift, chars, offset, length);
- String s = new String(chars);
- if (!expected.equals(s)) {
- throw new Error(s + " should be equal to expected " + expected);
- }
- }
-
- public static void testFormatUnsignedLong(String expected, long value, int arraySize, int shift, int offset, int length) {
- char[] chars = new char[arraySize];
- jla.formatUnsignedLong(value, shift, chars, offset, length);
- String s = new String(chars);
- if (!expected.equals(s)) {
- throw new Error(s + " should be equal to expected " + expected);
- }
- }
-
- public static void main(String[] args) {
- testFormatUnsignedInt();
- testFormatUnsignedLong();
- }
-}
--- a/jdk/test/sun/misc/JavaLangAccess/NewUnsafeString.java Tue Oct 06 08:43:02 2015 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 2012, 2013, 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 java.util.Comparator;
-import sun.misc.JavaLangAccess;
-import sun.misc.SharedSecrets;
-
-/*
- * @test
- * @bug 8013528
- * @summary Test JavaLangAccess.newUnsafeString
- * @modules java.base/sun.misc
- * @compile -XDignore.symbol.file NewUnsafeString.java
- */
-public class NewUnsafeString {
-
- static final JavaLangAccess jla = SharedSecrets.getJavaLangAccess();
-
- public static void testNewUnsafeString() {
- String benchmark = "exemplar";
- String constructorCopy = new String(benchmark);
- char[] jlaChars = benchmark.toCharArray();
- String jlaCopy = jla.newStringUnsafe(jlaChars);
-
- if (benchmark == constructorCopy) {
- throw new Error("should be different instances");
- }
- if (!benchmark.equals(constructorCopy)) {
- throw new Error("Copy not equal");
- }
- if (0 != Objects.compare(benchmark, constructorCopy, Comparator.naturalOrder())) {
- throw new Error("Copy not equal");
- }
-
- if (benchmark == jlaCopy) {
- throw new Error("should be different instances");
- }
- if (!benchmark.equals(jlaCopy)) {
- throw new Error("Copy not equal");
- }
- if (0 != Objects.compare(benchmark, jlaCopy, Comparator.naturalOrder())) {
- throw new Error("Copy not equal");
- }
-
- if (constructorCopy == jlaCopy) {
- throw new Error("should be different instances");
- }
- if (!constructorCopy.equals(jlaCopy)) {
- throw new Error("Copy not equal");
- }
- if (0 != Objects.compare(constructorCopy, jlaCopy, Comparator.naturalOrder())) {
- throw new Error("Copy not equal");
- }
-
- // The following is extremely "evil". Never ever do this in non-test code.
- jlaChars[0] = 'X';
- if (!"Xxemplar".equals(jlaCopy)) {
- throw new Error("jla.newStringUnsafe did not use provided string");
- }
-
- }
-
- public static void main(String[] args) {
- testNewUnsafeString();
- }
-}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/net/www/http/HttpURLConnection/NTLMAuthWithSM.java Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,183 @@
+/*
+ * 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 com.sun.net.httpserver.HttpExchange;
+import com.sun.net.httpserver.HttpHandler;
+import com.sun.net.httpserver.HttpServer;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.Authenticator;
+import java.net.InetSocketAddress;
+import java.net.PasswordAuthentication;
+import java.net.URL;
+import java.net.URLConnection;
+import java.util.List;
+import sun.net.www.protocol.http.ntlm.NTLMAuthenticationCallback;
+
+/*
+ * @test
+ * @bug 8137174
+ * @summary Checks if NTLM auth works fine if security manager set
+ * @run main/othervm/java.security.policy=NTLMAuthWithSM.policy NTLMAuthWithSM
+ */
+public class NTLMAuthWithSM {
+
+ public static void main(String[] args) throws Exception {
+ // security manager is required
+ if (System.getSecurityManager() == null) {
+ throw new RuntimeException("Security manager not specified");
+ }
+
+ if (System.getProperty("os.name").startsWith("Windows")) {
+ // disable transparent NTLM authentication on Windows
+ NTLMAuthenticationCallback.setNTLMAuthenticationCallback(
+ new NTLMAuthenticationCallbackImpl());
+ }
+
+ try (LocalHttpServer server = LocalHttpServer.startServer()) {
+ // set authenticator
+ Authenticator.setDefault(new AuthenticatorImpl());
+
+ String url = String.format("http://localhost:%d/test/",
+ server.getPort());
+
+ // load a document which is protected with NTML authentication
+ System.out.println("load() called: " + url);
+ URLConnection conn = new URL(url).openConnection();
+ try (BufferedReader reader = new BufferedReader(
+ new InputStreamReader(conn.getInputStream()))) {
+
+ String line = reader.readLine();
+ if (line == null) {
+ throw new IOException("Couldn't read a response");
+ }
+ do {
+ System.out.println(line);
+ } while ((line = reader.readLine()) != null);
+ }
+ }
+
+ System.out.println("Test passed");
+ }
+
+ private static class AuthenticatorImpl extends Authenticator {
+
+ @Override
+ public PasswordAuthentication getPasswordAuthentication() {
+ System.out.println("getPasswordAuthentication() called, scheme: "
+ + getRequestingScheme());
+ if (getRequestingScheme().equalsIgnoreCase("ntlm")) {
+ return new PasswordAuthentication("test", "test".toCharArray());
+ }
+ return null;
+ }
+ }
+
+ // local http server which pretends to support NTLM auth
+ static class LocalHttpServer implements HttpHandler, AutoCloseable {
+
+ private final HttpServer server;
+
+ private LocalHttpServer(HttpServer server) {
+ this.server = server;
+ }
+
+ static LocalHttpServer startServer() throws IOException {
+ HttpServer httpServer = HttpServer.create(
+ new InetSocketAddress(0), 0);
+ LocalHttpServer localHttpServer = new LocalHttpServer(httpServer);
+ localHttpServer.start();
+
+ return localHttpServer;
+ }
+
+ void start() {
+ server.createContext("/test", this);
+ server.start();
+ System.out.println("HttpServer: started on port " + getPort());
+ }
+
+ void stop() {
+ server.stop(0);
+ System.out.println("HttpServer: stopped");
+ }
+
+ int getPort() {
+ return server.getAddress().getPort();
+ }
+
+ @Override
+ public void handle(HttpExchange t) throws IOException {
+ System.out.println("HttpServer: handle connection");
+
+ // read a request
+ try (InputStream is = t.getRequestBody()) {
+ while (is.read() > 0);
+ }
+
+ try {
+ List<String> headers = t.getRequestHeaders()
+ .get("Authorization");
+ if (headers != null && !headers.isEmpty()
+ && headers.get(0).trim().contains("NTLM")) {
+ byte[] output = "hello".getBytes();
+ t.sendResponseHeaders(200, output.length);
+ t.getResponseBody().write(output);
+ System.out.println("HttpServer: return 200");
+ } else {
+ t.getResponseHeaders().set("WWW-Authenticate", "NTLM");
+ byte[] output = "forbidden".getBytes();
+ t.sendResponseHeaders(401, output.length);
+ t.getResponseBody().write(output);
+ System.out.println("HttpServer: return 401");
+ }
+ } catch (IOException e) {
+ System.out.println("HttpServer: exception: " + e);
+ System.out.println("HttpServer: return 500");
+ t.sendResponseHeaders(500, 0);
+ } finally {
+ t.close();
+ }
+ }
+
+ @Override
+ public void close() {
+ stop();
+ }
+ }
+
+ private static class NTLMAuthenticationCallbackImpl
+ extends NTLMAuthenticationCallback {
+
+ // don't trust any site, so that no transparent NTLM auth happens
+ @Override
+ public boolean isTrustedSite(URL url) {
+ System.out.println(
+ "NTLMAuthenticationCallbackImpl.isTrustedSite() called: "
+ + "return false");
+ return false;
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/sun/net/www/http/HttpURLConnection/NTLMAuthWithSM.policy Wed Jul 05 20:52:10 2017 +0200
@@ -0,0 +1,7 @@
+grant {
+ permission java.net.NetPermission "setDefaultAuthenticator";
+ permission java.net.SocketPermission "localhost:*",
+ "connect,resolve,listen,accept";
+ permission java.lang.RuntimePermission
+ "accessClassInPackage.sun.net.www.protocol.http.ntlm";
+};
--- a/jdk/test/sun/security/krb5/auto/tools/KinitConfPlusProps.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/sun/security/krb5/auto/tools/KinitConfPlusProps.java Wed Jul 05 20:52:10 2017 +0200
@@ -22,7 +22,6 @@
*/
import java.io.File;
-import java.net.PortUnreachableException;
import java.util.HashMap;
import java.util.Map;
import jdk.testlibrary.ProcessTools;
@@ -86,7 +85,6 @@
try {
OutputAnalyzer out = ProcessTools.executeCommand(command);
out.shouldHaveExitValue(-1);
- out.shouldContain(PortUnreachableException.class.getName());
} catch(Throwable e) {
System.out.println("Unexpected exception: " + e);
e.printStackTrace(System.out);
--- a/jdk/test/sun/util/calendar/zi/tzdata/VERSION Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/sun/util/calendar/zi/tzdata/VERSION Wed Jul 05 20:52:10 2017 +0200
@@ -21,4 +21,4 @@
# or visit www.oracle.com if you need additional information or have any
# questions.
#
-tzdata2015f
+tzdata2015g
--- a/jdk/test/sun/util/calendar/zi/tzdata/asia Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/sun/util/calendar/zi/tzdata/asia Wed Jul 05 20:52:10 2017 +0200
@@ -154,7 +154,8 @@
# Azerbaijan
# From Rustam Aliyev of the Azerbaijan Internet Forum (2005-10-23):
# According to the resolution of Cabinet of Ministers, 1997
-# Resolution available at: http://aif.az/docs/daylight_res.pdf
+# From Paul Eggert (2015-09-17): It was Resolution No. 21 (1997-03-17).
+# http://code.az/files/daylight_res.pdf
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Azer 1997 max - Mar lastSun 4:00 1:00 S
Rule Azer 1997 max - Oct lastSun 5:00 0 -
@@ -1740,11 +1741,12 @@
# the 8:30 time zone on August 15, one example:
# http://www.bbc.com/news/world-asia-33815049
#
-# From Paul Eggert (2015-08-07):
-# No transition time is specified; assume 00:00.
+# From Paul Eggert (2015-08-15):
+# Bells rang out midnight (00:00) Friday as part of the celebrations. See:
+# Talmadge E. North Korea celebrates new time zone, 'Pyongyang Time'
+# http://news.yahoo.com/north-korea-celebrates-time-zone-pyongyang-time-164038128.html
# There is no common English-language abbreviation for this time zone.
-# Use %z rather than invent one. We can't assume %z works everywhere yet,
-# so for now substitute its output manually.
+# Use KST, as that's what we already use for 1954-1961 in ROK.
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Seoul 8:27:52 - LMT 1908 Apr 1
@@ -1758,7 +1760,7 @@
8:30 - KST 1912 Jan 1
9:00 - JCST 1937 Oct 1
9:00 - JST 1945 Aug 24
- 9:00 - KST 2015 Aug 15
+ 9:00 - KST 2015 Aug 15 00:00
8:30 - KST
###############################################################################
--- a/jdk/test/sun/util/calendar/zi/tzdata/australasia Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/sun/util/calendar/zi/tzdata/australasia Wed Jul 05 20:52:10 2017 +0200
@@ -358,10 +358,17 @@
# DST will start Nov. 2 this year.
# http://www.fiji.gov.fj/Media-Center/Press-Releases/DAYLIGHT-SAVING-STARTS-ON-SUNDAY,-NOVEMBER-2ND.aspx
-# From Paul Eggert (2014-10-20):
+# From a government order dated 2015-08-26 and published as Legal Notice No. 77
+# in the Government of Fiji Gazette Supplement No. 24 (2015-08-28),
+# via Ken Rylander (2015-09-02):
+# the daylight saving period is 1 hour in advance of the standard time
+# commencing at 2.00 am on Sunday 1st November, 2015 and ending at
+# 3.00 am on Sunday 17th January, 2016.
+
+# From Paul Eggert (2015-09-01):
# For now, guess DST from 02:00 the first Sunday in November to
-# 03:00 the first Sunday on or after January 18. Although ad hoc, it
-# matches this year's plan and seems more likely to match future
+# 03:00 the third Sunday in January. Although ad hoc, it matches
+# transitions since late 2014 and seems more likely to match future
# practice than guessing no DST.
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
@@ -374,7 +381,7 @@
Rule Fiji 2012 2013 - Jan Sun>=18 3:00 0 -
Rule Fiji 2014 only - Jan Sun>=18 2:00 0 -
Rule Fiji 2014 max - Nov Sun>=1 2:00 1:00 S
-Rule Fiji 2015 max - Jan Sun>=18 3:00 0 -
+Rule Fiji 2015 max - Jan Sun>=15 3:00 0 -
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Fiji 11:55:44 - LMT 1915 Oct 26 # Suva
12:00 Fiji FJ%sT # Fiji Time
@@ -533,7 +540,10 @@
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Pacific/Norfolk 11:11:52 - LMT 1901 # Kingston
11:12 - NMT 1951 # Norfolk Mean Time
- 11:30 - NFT # Norfolk Time
+ 11:30 - NFT 1974 Oct 27 02:00 # Norfolk T.
+ 11:30 1:00 NFST 1975 Mar 2 02:00
+ 11:30 - NFT 2015 Oct 4 02:00
+ 11:00 - NFT
# Palau (Belau)
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
@@ -1573,6 +1583,20 @@
# started DST on June 3. Possibly DST was observed other years
# in Midway, but we have no record of it.
+# Norfolk
+
+# From Alexander Krivenyshev (2015-09-23):
+# Norfolk Island will change ... from +1130 to +1100:
+# https://www.comlaw.gov.au/Details/F2015L01483/Explanatory%20Statement/Text
+# ... at 12.30 am (by legal time in New South Wales) on 4 October 2015.
+# http://www.norfolkisland.gov.nf/nia/MediaRelease/Media%20Release%20Norfolk%20Island%20Standard%20Time%20Change.pdf
+
+# From Paul Eggert (2015-09-23):
+# Transitions before 2015 are from timeanddate.com, which consulted
+# the Norfolk Island Museum and the Australian Bureau of Meteorology's
+# Norfolk Island station, and found no record of Norfolk observing DST
+# other than in 1974/5. See:
+# http://www.timeanddate.com/time/australia/norfolk-island.html
# Pitcairn
--- a/jdk/test/sun/util/calendar/zi/tzdata/europe Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/sun/util/calendar/zi/tzdata/europe Wed Jul 05 20:52:10 2017 +0200
@@ -3173,6 +3173,11 @@
# http://www.balkaneu.com/eventful-elections-turkey/ 2014-03-30.
# I guess the best we can do is document the official time.
+# From Fatih (2015-09-29):
+# It's officially announced now by the Ministry of Energy.
+# Turkey delays winter time to 8th of November 04:00
+# http://www.aa.com.tr/tr/turkiye/yaz-saati-uygulamasi-8-kasimda-sona-erecek/362217
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Turkey 1916 only - May 1 0:00 1:00 S
Rule Turkey 1916 only - Oct 1 0:00 0 -
@@ -3242,6 +3247,8 @@
2:00 - EET 2011 Mar 28 1:00u
2:00 EU EE%sT 2014 Mar 30 1:00u
2:00 - EET 2014 Mar 31 1:00u
+ 2:00 EU EE%sT 2015 Oct 25 1:00u
+ 2:00 1:00 EEST 2015 Nov 8 1:00u
2:00 EU EE%sT
Link Europe/Istanbul Asia/Istanbul # Istanbul is in both continents.
--- a/jdk/test/sun/util/calendar/zi/tzdata/northamerica Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/sun/util/calendar/zi/tzdata/northamerica Wed Jul 05 20:52:10 2017 +0200
@@ -1849,6 +1849,22 @@
# The transition dates (and times) are guesses.
+# From Matt Johnson (2015-09-21):
+# Fort Nelson, BC, Canada will cancel DST this year. So while previously they
+# were aligned with America/Vancouver, they're now aligned with
+# America/Dawson_Creek.
+# http://www.northernrockies.ca/EN/meta/news/archives/2015/northern-rockies-time-change.html
+#
+# From Tim Parenti (2015-09-23):
+# This requires a new zone for the Northern Rockies Regional Municipality,
+# America/Fort_Nelson. The resolution of 2014-12-08 was reached following a
+# 2014-11-15 poll with nearly 75% support. Effectively, the municipality has
+# been on MST (-0700) like Dawson Creek since it advanced its clocks on
+# 2015-03-08.
+#
+# From Paul Eggert (2015-09-23):
+# Shanks says Fort Nelson did not observe DST in 1946, unlike Vancouver.
+
# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
Rule Vanc 1918 only - Apr 14 2:00 1:00 D
Rule Vanc 1918 only - Oct 27 2:00 0 S
@@ -1867,6 +1883,12 @@
-8:00 Canada P%sT 1947
-8:00 Vanc P%sT 1972 Aug 30 2:00
-7:00 - MST
+Zone America/Fort_Nelson -8:10:47 - LMT 1884
+ -8:00 Vanc P%sT 1946
+ -8:00 - PST 1947
+ -8:00 Vanc P%sT 1987
+ -8:00 Canada P%sT 2015 Mar 8 2:00
+ -7:00 - MST
Zone America/Creston -7:46:04 - LMT 1884
-7:00 - MST 1916 Oct 1
-8:00 - PST 1918 Jun 2
--- a/jdk/test/sun/util/calendar/zi/tzdata/zone.tab Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/sun/util/calendar/zi/tzdata/zone.tab Wed Jul 05 20:52:10 2017 +0200
@@ -152,6 +152,7 @@
CA +682059-1334300 America/Inuvik Mountain Time - west Northwest Territories
CA +4906-11631 America/Creston Mountain Standard Time - Creston, British Columbia
CA +5946-12014 America/Dawson_Creek Mountain Standard Time - Dawson Creek & Fort Saint John, British Columbia
+CA +5848-12242 America/Fort_Nelson Mountain Standard Time - Fort Nelson, British Columbia
CA +4916-12307 America/Vancouver Pacific Time - west British Columbia
CA +6043-13503 America/Whitehorse Pacific Time - south Yukon
CA +6404-13925 America/Dawson Pacific Time - north Yukon
--- a/jdk/test/tools/pack200/Pack200Props.java Tue Oct 06 08:43:02 2015 -0700
+++ b/jdk/test/tools/pack200/Pack200Props.java Wed Jul 05 20:52:10 2017 +0200
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 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
@@ -88,8 +88,6 @@
private static void verifyDefaults() {
Map<String, String> expectedDefaults = new HashMap<>();
Packer p = Pack200.newPacker();
- expectedDefaults.put("com.sun.java.util.jar.pack.default.timezone",
- p.FALSE);
expectedDefaults.put("com.sun.java.util.jar.pack.disable.native",
p.FALSE);
expectedDefaults.put("com.sun.java.util.jar.pack.verbose", "0");
--- a/make/Main.gmk Tue Oct 06 08:43:02 2015 -0700
+++ b/make/Main.gmk Wed Jul 05 20:52:10 2017 +0200
@@ -72,9 +72,6 @@
interim-langtools:
+($(CD) $(LANGTOOLS_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterim.gmk)
-interim-corba:
- +($(CD) $(CORBA_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterim.gmk)
-
interim-rmic:
+($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f CompileInterimRmic.gmk)
@@ -84,7 +81,7 @@
buildtools-jdk:
+($(CD) $(JDK_TOPDIR)/make && $(MAKE) $(MAKE_ARGS) -f Tools.gmk java-tools)
-ALL_TARGETS += buildtools-langtools interim-langtools interim-corba \
+ALL_TARGETS += buildtools-langtools interim-langtools \
interim-rmic interim-cldrconverter buildtools-jdk
################################################################################
@@ -357,13 +354,11 @@
$(JDK_GENSRC_TARGETS): interim-langtools buildtools-jdk
- interim-corba: $(CORBA_GENSRC_TARGETS)
-
$(GENDATA_TARGETS): interim-langtools buildtools-jdk
interim-rmic: interim-langtools
- $(RMIC_TARGETS): interim-langtools interim-corba interim-rmic
+ $(RMIC_TARGETS): interim-langtools interim-rmic
$(JAVA_TARGETS): interim-langtools
@@ -463,7 +458,7 @@
################################################################################
# Virtual targets without recipes
-buildtools: buildtools-langtools interim-langtools interim-corba interim-rmic \
+buildtools: buildtools-langtools interim-langtools interim-rmic \
buildtools-jdk
gensrc: $(GENSRC_TARGETS)
--- a/make/StripBinaries.gmk Tue Oct 06 08:43:02 2015 -0700
+++ b/make/StripBinaries.gmk Wed Jul 05 20:52:10 2017 +0200
@@ -38,13 +38,13 @@
MODULES_CMDS_STRIPPED := $(SUPPORT_OUTPUTDIR)/modules_cmds-stripped
MODULES_LIBS_STRIPPED := $(SUPPORT_OUTPUTDIR)/modules_libs-stripped
-ifneq ($(POST_STRIP_CMD), )
+ifneq ($(STRIP), )
define StripRecipe
$(ECHO) Stripping $(LOG_INFO) $(patsubst $(OUTPUT_ROOT)/%,%,$<)
$(MKDIR) -p $(@D)
$(CP) $< $@.tmp
$(CHMOD) u+w $@.tmp
- $(POST_STRIP_CMD) $@.tmp
+ $(STRIP) $(STRIPFLAGS) $@.tmp
$(CHMOD) go-w $@.tmp
$(MV) $@.tmp $@
endef
--- a/make/common/JavaCompilation.gmk Tue Oct 06 08:43:02 2015 -0700
+++ b/make/common/JavaCompilation.gmk Wed Jul 05 20:52:10 2017 +0200
@@ -122,9 +122,9 @@
$1_GREP_INCLUDES:=| ( $(GREP) $$(patsubst %,$(SPACE)-e$(SPACE)$(DQUOTE)%$(DQUOTE),$$($1_GREP_INCLUDE_PATTERNS)) \
|| test "$$$$?" = "1" )
else
- $1_GREP_INCLUDE_OUTPUT:=$(RM) $$($1_BIN)/_the.$$($1_JARNAME)_include $$(NEWLINE) \
- $$(call ListPathsSafely,$1_GREP_INCLUDE_PATTERNS,\n, \
- >> $$($1_BIN)/_the.$$($1_JARNAME)_include)
+ $1_GREP_INCLUDE_OUTPUT = \
+ $$(eval $$(call ListPathsSafely,$1_GREP_INCLUDE_PATTERNS, \
+ $$($1_BIN)/_the.$$($1_JARNAME)_include))
$1_GREP_INCLUDES:=| ( $(GREP) -f $$($1_BIN)/_the.$$($1_JARNAME)_include \
|| test "$$$$?" = "1" )
endif
@@ -138,9 +138,9 @@
$1_GREP_EXCLUDES:=| ( $(GREP) -v $$(patsubst %,$(SPACE)-e$(SPACE)$(DQUOTE)%$(DQUOTE),$$($1_GREP_EXCLUDE_PATTERNS)) \
|| test "$$$$?" = "1" )
else
- $1_GREP_EXCLUDE_OUTPUT=$(RM) $$($1_BIN)/_the.$$($1_JARNAME)_exclude $$(NEWLINE) \
- $$(call ListPathsSafely,$1_GREP_EXCLUDE_PATTERNS,\n, \
- >> $$($1_BIN)/_the.$$($1_JARNAME)_exclude)
+ $1_GREP_EXCLUDE_OUTPUT = \
+ $$(eval $$(call ListPathsSafely,$1_GREP_EXCLUDE_PATTERNS, \
+ $$($1_BIN)/_the.$$($1_JARNAME)_exclude))
$1_GREP_EXCLUDES:=| ( $(GREP) -v -f $$($1_BIN)/_the.$$($1_JARNAME)_exclude \
|| test "$$$$?" = "1" )
endif
@@ -190,13 +190,12 @@
# The EXTRA_FILES_RESOLVED varible must be set in the macro so that it's evaluated
# in the recipe when the files are guaranteed to exist.
$1_CAPTURE_EXTRA_FILES=\
- $(RM) $$($1_BIN)/_the.$$($1_JARNAME)_contents.extra $$(NEWLINE) \
- $$(eval $1_EXTRA_FILES_RESOLVED:=$$(call DoubleDollar, $$(call DoubleDollar, \
+ $$(eval $1_EXTRA_FILES_RESOLVED:=$$(call DoubleDollar, \
$$(wildcard $$(foreach src, $$($1_SRCS), \
- $$(addprefix $$(src)/, $$($1_EXTRA_FILES))) $$($1_EXTRA_FILES))))) \
+ $$(addprefix $$(src)/, $$($1_EXTRA_FILES))) $$($1_EXTRA_FILES)))) \
$$(if $$($1_EXTRA_FILES_RESOLVED), \
- $$(call ListPathsSafely,$1_EXTRA_FILES_RESOLVED,\n, \
- >> $$($1_BIN)/_the.$$($1_JARNAME)_contents.extra) $$(NEWLINE) \
+ $$(eval $$(call ListPathsSafely,$1_EXTRA_FILES_RESOLVED, \
+ $$($1_BIN)/_the.$$($1_JARNAME)_contents.extra)) \
$(SED) $$(foreach src,$$($1_SRCS), -e 's|$$(src)/|-C $$(src) |g') \
$$($1_BIN)/_the.$$($1_JARNAME)_contents.extra \
>> $$($1_BIN)/_the.$$($1_JARNAME)_contents $$(NEWLINE))
@@ -577,7 +576,7 @@
$$($1_BIN)/_the.$1_batch: $$($1_SRCS) $$($1_DEPENDS) $$($1_VARDEPS_FILE)
$(MKDIR) -p $$(@D) $$(dir $$($1_SJAVAC_PORTFILE))
- $$(call ListPathsSafely,$1_SRCS,\n, >> $$($1_BIN)/_the.$1_batch.tmp)
+ $$(eval $$(call ListPathsSafely,$1_SRCS, $$($1_BIN)/_the.$1_batch.tmp))
$(ECHO) Compiling $1
$(call LogFailures, $$($1_BIN)/_the.$$($1_SAFE_NAME)_batch.log, $$($1_SAFE_NAME), \
$$($1_JVM) $$($1_SJAVAC) \
@@ -636,8 +635,7 @@
# When not using sjavac, pass along all sources to javac using an @file.
$$($1_BIN)/_the.$1_batch: $$($1_SRCS) $$($1_DEPENDS) $$($1_VARDEPS_FILE)
$(MKDIR) -p $$(@D)
- $(RM) $$($1_BIN)/_the.$1_batch $$($1_BIN)/_the.$1_batch.tmp
- $$(call ListPathsSafely,$1_SRCS,\n, >> $$($1_BIN)/_the.$1_batch.tmp)
+ $$(eval $$(call ListPathsSafely,$1_SRCS, $$($1_BIN)/_the.$1_batch.tmp))
$(ECHO) Compiling `$(WC) $$($1_BIN)/_the.$1_batch.tmp | $(TR) -s ' ' | $(CUT) -f 2 -d ' '` files for $1
$(call LogFailures, $$($1_BIN)/_the.$$($1_SAFE_NAME)_batch.log, $$($1_SAFE_NAME), \
$$($1_JVM) $$($1_JAVAC) $$($1_FLAGS) \
--- a/make/common/MakeBase.gmk Tue Oct 06 08:43:02 2015 -0700
+++ b/make/common/MakeBase.gmk Wed Jul 05 20:52:10 2017 +0200
@@ -64,6 +64,11 @@
endef
+# In GNU Make 4.0 and higher, there is a file function for writing to files.
+ifeq (4.0, $(firstword $(sort 4.0 $(MAKE_VERSION))))
+ HAS_FILE_FUNCTION := true
+endif
+
##############################
# Functions
##############################
@@ -122,266 +127,111 @@
DoubleDollar = $(subst $$,$$$$,$(strip $1))
################################################################################
+# ListPathsSafely can be used to print command parameters to a file. This is
+# typically done if the command line lenght risk being too long for the
+# OS/shell. In later make versions, the file function can be used for this
+# purpose. For earlier versions, a more complex implementation is provided.
+#
+# The function ListPathsSafely can be called either directly or, more commonly
+# from a recipe line. If called from a recipe, it will be executed in the
+# evaluation phase of that recipe, which means that it will write to the file
+# before any other line in the recipe has been run.
+ifeq ($(HAS_FILE_FUNCTION), true)
+ # Param 1 - Name of variable containing paths/arguments to output
+ # Param 2 - File to print to
+ # Param 3 - Set to true to append to file instead of overwriting
+ define ListPathsSafely
+ $$(call MakeDir, $$(dir $$(strip $2)))
+ $$(file $$(if $$(filter true, $$(strip $3)),>>,>) \
+ $$(strip $2),$$(subst $$(SPACE),$$(NEWLINE),$$(strip $$($$(strip $1)))))
+ endef
-# If the variable that you want to send to stdout for piping into a file or otherwise,
-# is potentially long, for example the a list of file paths, eg a list of all package directories.
-# Then you need to use ListPathsSafely, which optimistically splits the output into several shell
-# calls as well as use compression on recurrent file paths segments, to get around the potential
-# command line length problem that exists in cygwin and other shells.
-compress_pre:=$(strip $(shell $(CAT) $(SRC_ROOT)/make/common/support/ListPathsSafely-pre-compress.incl))
-compress_post:=$(strip $(shell $(CAT) $(SRC_ROOT)/make/common/support/ListPathsSafely-post-compress.incl))
-compress_paths=$(compress_pre)\
+else # HAS_FILE_FUNCTION
+
+ $(eval compress_paths = \
+ $(strip $(shell $(CAT) $(SRC_ROOT)/make/common/support/ListPathsSafely-pre-compress.incl)))
+ compress_paths += \
$(subst $(SRC_ROOT),X97,\
$(subst $(OUTPUT_ROOT),X98,\
$(subst X,X00,\
-$(subst $(SPACE),\n,$(strip $1)))))\
-$(compress_post)
-
-decompress_paths=$(SED) -f $(SRC_ROOT)/make/common/support/ListPathsSafely-uncompress.sed -e 's|X99|\\n|g' \
- -e 's|X98|$(OUTPUT_ROOT)|g' -e 's|X97|$(SRC_ROOT)|g' \
- -e 's|X00|X|g' | tr '\n' '$2'
-
-define ListPathsSafely_If
- $(if $(word $3,$($1)),$(eval $1_LPS$3:=$(call compress_paths,$(wordlist $3,$4,$($1)))))
-endef
-
-define ListPathsSafely_Printf
- $(if $(strip $($1_LPS$4)),$(if $(findstring $(LOG_LEVEL),trace),,@)printf \
- -- "$(strip $(call EscapeDollar, $($1_LPS$4)))\n" | $(decompress_paths) $3)
-endef
-
-# Receipt example:
-# rm -f thepaths
-# $(call ListPathsSafely,THEPATHS,\n, >> thepaths)
-# The \n argument means translate spaces into \n
-# if instead , , (a space) is supplied, then spaces remain spaces.
-define ListPathsSafely
- $(if $(word 16001,$($1)),$(error Cannot list safely more than 16000 paths. $1 has $(words $($1)) paths!))
- $(ECHO) $(LOG_DEBUG) Writing $(words $($1)) paths to '$3'
- $(call ListPathsSafely_If,$1,$2,1,250)
- $(call ListPathsSafely_If,$1,$2,251,500)
- $(call ListPathsSafely_If,$1,$2,501,750)
- $(call ListPathsSafely_If,$1,$2,751,1000)
-
- $(call ListPathsSafely_If,$1,$2,1001,1250)
- $(call ListPathsSafely_If,$1,$2,1251,1500)
- $(call ListPathsSafely_If,$1,$2,1501,1750)
- $(call ListPathsSafely_If,$1,$2,1751,2000)
-
- $(call ListPathsSafely_If,$1,$2,2001,2250)
- $(call ListPathsSafely_If,$1,$2,2251,2500)
- $(call ListPathsSafely_If,$1,$2,2501,2750)
- $(call ListPathsSafely_If,$1,$2,2751,3000)
-
- $(call ListPathsSafely_If,$1,$2,3001,3250)
- $(call ListPathsSafely_If,$1,$2,3251,3500)
- $(call ListPathsSafely_If,$1,$2,3501,3750)
- $(call ListPathsSafely_If,$1,$2,3751,4000)
+ $(subst $(SPACE),\n,$(strip $1)))))
+ $(eval compress_paths += \
+ $(strip $(shell $(CAT) $(SRC_ROOT)/make/common/support/ListPathsSafely-post-compress.incl)))
- $(call ListPathsSafely_If,$1,$2,4001,4250)
- $(call ListPathsSafely_If,$1,$2,4251,4500)
- $(call ListPathsSafely_If,$1,$2,4501,4750)
- $(call ListPathsSafely_If,$1,$2,4751,5000)
-
- $(call ListPathsSafely_If,$1,$2,5001,5250)
- $(call ListPathsSafely_If,$1,$2,5251,5500)
- $(call ListPathsSafely_If,$1,$2,5501,5750)
- $(call ListPathsSafely_If,$1,$2,5751,6000)
-
- $(call ListPathsSafely_If,$1,$2,6001,6250)
- $(call ListPathsSafely_If,$1,$2,6251,6500)
- $(call ListPathsSafely_If,$1,$2,6501,6750)
- $(call ListPathsSafely_If,$1,$2,6751,7000)
-
- $(call ListPathsSafely_If,$1,$2,7001,7250)
- $(call ListPathsSafely_If,$1,$2,7251,7500)
- $(call ListPathsSafely_If,$1,$2,7501,7750)
- $(call ListPathsSafely_If,$1,$2,7751,8000)
-
- $(call ListPathsSafely_If,$1,$2,8001,8250)
- $(call ListPathsSafely_If,$1,$2,8251,8500)
- $(call ListPathsSafely_If,$1,$2,8501,8750)
- $(call ListPathsSafely_If,$1,$2,8751,9000)
-
- $(call ListPathsSafely_If,$1,$2,9001,9250)
- $(call ListPathsSafely_If,$1,$2,9251,9500)
- $(call ListPathsSafely_If,$1,$2,9501,9750)
- $(call ListPathsSafely_If,$1,$2,9751,10000)
-
- $(call ListPathsSafely_If,$1,$2,10001,10250)
- $(call ListPathsSafely_If,$1,$2,10251,10500)
- $(call ListPathsSafely_If,$1,$2,10501,10750)
- $(call ListPathsSafely_If,$1,$2,10751,11000)
-
- $(call ListPathsSafely_If,$1,$2,11001,11250)
- $(call ListPathsSafely_If,$1,$2,11251,11500)
- $(call ListPathsSafely_If,$1,$2,11501,11750)
- $(call ListPathsSafely_If,$1,$2,11751,12000)
-
- $(call ListPathsSafely_If,$1,$2,12001,12250)
- $(call ListPathsSafely_If,$1,$2,12251,12500)
- $(call ListPathsSafely_If,$1,$2,12501,12750)
- $(call ListPathsSafely_If,$1,$2,12751,13000)
-
- $(call ListPathsSafely_If,$1,$2,13001,13250)
- $(call ListPathsSafely_If,$1,$2,13251,13500)
- $(call ListPathsSafely_If,$1,$2,13501,13750)
- $(call ListPathsSafely_If,$1,$2,13751,14000)
+ decompress_paths=$(SED) -f $(SRC_ROOT)/make/common/support/ListPathsSafely-uncompress.sed \
+ -e 's|X99|\\n|g' \
+ -e 's|X98|$(OUTPUT_ROOT)|g' -e 's|X97|$(SRC_ROOT)|g' \
+ -e 's|X00|X|g'
- $(call ListPathsSafely_If,$1,$2,14001,14250)
- $(call ListPathsSafely_If,$1,$2,14251,14500)
- $(call ListPathsSafely_If,$1,$2,14501,14750)
- $(call ListPathsSafely_If,$1,$2,14751,15000)
-
- $(call ListPathsSafely_If,$1,$2,15001,15250)
- $(call ListPathsSafely_If,$1,$2,15251,15500)
- $(call ListPathsSafely_If,$1,$2,15501,15750)
- $(call ListPathsSafely_If,$1,$2,15751,16000)
-
- $(call ListPathsSafely_Printf,$1,$2,$3,1)
- $(call ListPathsSafely_Printf,$1,$2,$3,251)
- $(call ListPathsSafely_Printf,$1,$2,$3,501)
- $(call ListPathsSafely_Printf,$1,$2,$3,751)
-
- $(call ListPathsSafely_Printf,$1,$2,$3,1001)
- $(call ListPathsSafely_Printf,$1,$2,$3,1251)
- $(call ListPathsSafely_Printf,$1,$2,$3,1501)
- $(call ListPathsSafely_Printf,$1,$2,$3,1751)
-
- $(call ListPathsSafely_Printf,$1,$2,$3,2001)
- $(call ListPathsSafely_Printf,$1,$2,$3,2251)
- $(call ListPathsSafely_Printf,$1,$2,$3,2501)
- $(call ListPathsSafely_Printf,$1,$2,$3,2751)
-
- $(call ListPathsSafely_Printf,$1,$2,$3,3001)
- $(call ListPathsSafely_Printf,$1,$2,$3,3251)
- $(call ListPathsSafely_Printf,$1,$2,$3,3501)
- $(call ListPathsSafely_Printf,$1,$2,$3,3751)
-
- $(call ListPathsSafely_Printf,$1,$2,$3,4001)
- $(call ListPathsSafely_Printf,$1,$2,$3,4251)
- $(call ListPathsSafely_Printf,$1,$2,$3,4501)
- $(call ListPathsSafely_Printf,$1,$2,$3,4751)
-
- $(call ListPathsSafely_Printf,$1,$2,$3,5001)
- $(call ListPathsSafely_Printf,$1,$2,$3,5251)
- $(call ListPathsSafely_Printf,$1,$2,$3,5501)
- $(call ListPathsSafely_Printf,$1,$2,$3,5751)
-
- $(call ListPathsSafely_Printf,$1,$2,$3,6001)
- $(call ListPathsSafely_Printf,$1,$2,$3,6251)
- $(call ListPathsSafely_Printf,$1,$2,$3,6501)
- $(call ListPathsSafely_Printf,$1,$2,$3,6751)
-
- $(call ListPathsSafely_Printf,$1,$2,$3,7001)
- $(call ListPathsSafely_Printf,$1,$2,$3,7251)
- $(call ListPathsSafely_Printf,$1,$2,$3,7501)
- $(call ListPathsSafely_Printf,$1,$2,$3,7751)
+ ListPathsSafely_IfPrintf = \
+ $(if $(word $3,$($(strip $1))), \
+ $(shell $(PRINTF) -- "$(strip $(call EscapeDollar, \
+ $(call compress_paths, $(wordlist $3,$4,$($(strip $1))))))\n" \
+ | $(decompress_paths) >> $2))
- $(call ListPathsSafely_Printf,$1,$2,$3,8001)
- $(call ListPathsSafely_Printf,$1,$2,$3,8251)
- $(call ListPathsSafely_Printf,$1,$2,$3,8501)
- $(call ListPathsSafely_Printf,$1,$2,$3,8751)
-
- $(call ListPathsSafely_Printf,$1,$2,$3,9001)
- $(call ListPathsSafely_Printf,$1,$2,$3,9251)
- $(call ListPathsSafely_Printf,$1,$2,$3,9501)
- $(call ListPathsSafely_Printf,$1,$2,$3,9751)
-
- $(call ListPathsSafely_Printf,$1,$2,$3,10001)
- $(call ListPathsSafely_Printf,$1,$2,$3,10251)
- $(call ListPathsSafely_Printf,$1,$2,$3,10501)
- $(call ListPathsSafely_Printf,$1,$2,$3,10751)
-
- $(call ListPathsSafely_Printf,$1,$2,$3,11001)
- $(call ListPathsSafely_Printf,$1,$2,$3,11251)
- $(call ListPathsSafely_Printf,$1,$2,$3,11501)
- $(call ListPathsSafely_Printf,$1,$2,$3,11751)
-
- $(call ListPathsSafely_Printf,$1,$2,$3,12001)
- $(call ListPathsSafely_Printf,$1,$2,$3,12251)
- $(call ListPathsSafely_Printf,$1,$2,$3,12501)
- $(call ListPathsSafely_Printf,$1,$2,$3,12751)
-
- $(call ListPathsSafely_Printf,$1,$2,$3,13001)
- $(call ListPathsSafely_Printf,$1,$2,$3,13251)
- $(call ListPathsSafely_Printf,$1,$2,$3,13501)
- $(call ListPathsSafely_Printf,$1,$2,$3,13751)
-
- $(call ListPathsSafely_Printf,$1,$2,$3,14001)
- $(call ListPathsSafely_Printf,$1,$2,$3,14251)
- $(call ListPathsSafely_Printf,$1,$2,$3,14501)
- $(call ListPathsSafely_Printf,$1,$2,$3,14751)
-
- $(call ListPathsSafely_Printf,$1,$2,$3,15001)
- $(call ListPathsSafely_Printf,$1,$2,$3,15251)
- $(call ListPathsSafely_Printf,$1,$2,$3,15501)
- $(call ListPathsSafely_Printf,$1,$2,$3,15751)
-endef
-
-define ListPathsSafelyNow_IfPrintf
- ifneq (,$$(word $4,$$($1)))
- $$(eval $1_LPS$4:=$$(call compress_paths,$$(wordlist $4,$5,$$($1))))
- $$(shell printf -- "$$(strip $$($1_LPS$4))\n" | $(decompress_paths) $3)
- endif
-endef
-
-# And an non-receipt version:
-define ListPathsSafelyNow
+ # Param 1 - Name of variable containing paths/arguments to output
+ # Param 2 - File to print to
+ # Param 3 - Set to true to append to file instead of overwriting
+define ListPathsSafely
ifneq (,$$(word 10001,$$($1)))
$$(error Cannot list safely more than 10000 paths. $1 has $$(words $$($1)) paths!)
endif
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1,250)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,251,500)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,501,750)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,751,1000)
+ $$(call MakeDir, $$(dir $2))
+ ifneq ($$(strip $3), true)
+ $$(shell $(RM) $$(strip $2))
+ endif
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1001,1250)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1251,1500)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1501,1750)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,1751,2000)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,1,250)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,251,500)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,501,750)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,751,1000)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2001,2250)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2251,2500)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2501,2750)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,2751,3000)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,1001,1250)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,1251,1500)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,1501,1750)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,1751,2000)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3001,3250)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3251,3500)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3501,3750)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,3751,4000)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,2001,2250)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,2251,2500)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,2501,2750)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,2751,3000)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4001,4250)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4251,4500)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4501,4750)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,4751,5000)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,3001,3250)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,3251,3500)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,3501,3750)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,3751,4000)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5001,5250)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5251,5500)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5501,5750)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,5751,6000)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,4001,4250)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,4251,4500)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,4501,4750)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,4751,5000)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6001,6250)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6251,6500)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6501,6750)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,6751,7000)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,5001,5250)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,5251,5500)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,5501,5750)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,5751,6000)
+
+ $$(call ListPathsSafely_IfPrintf,$1,$2,6001,6250)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,6251,6500)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,6501,6750)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,6751,7000)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7001,7250)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7251,7500)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7501,7750)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,7751,8000)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,7001,7250)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,7251,7500)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,7501,7750)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,7751,8000)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8001,8250)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8251,8500)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8501,8750)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,8751,9000)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,8001,8250)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,8251,8500)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,8501,8750)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,8751,9000)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9001,9250)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9251,9500)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9501,9750)
- $(call ListPathsSafelyNow_IfPrintf,$1,$2,$3,9751,10000)
-
+ $$(call ListPathsSafely_IfPrintf,$1,$2,9001,9250)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,9251,9500)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,9501,9750)
+ $$(call ListPathsSafely_IfPrintf,$1,$2,9751,10000)
endef
+endif # HAS_FILE_FUNCTION
# The source tips can come from the Mercurial repository, or in the files
# $(HGTIP_FILENAME) which contains the tip but is also positioned in the same
@@ -674,6 +524,10 @@
$3 += $2
endef
+# Returns the value of the first argument
+identity = \
+ $(strip $1)
+
# Setup make rules for copying files, with an option to do more complex
# processing instead of copying.
#
@@ -688,6 +542,8 @@
# FLATTEN : Set to flatten the directory structure in the DEST dir.
# MACRO : Optionally override the default macro used for making the copy.
# Default is 'install-file'
+# NAME_MACRO : Optionally supply a macro that rewrites the target file name
+# based on the source file name
SetupCopyFiles = $(NamedParamsMacroTemplate)
define SetupCopyFilesBody
@@ -700,12 +556,17 @@
$1_SRC := $$(dir $$(firstword $$($1_FILES)))
endif
+ ifeq ($$($1_NAME_MACRO), )
+ $1_NAME_MACRO := identity
+ endif
+
# Remove any trailing slash from SRC
$1_SRC := $$(patsubst %/,%,$$($1_SRC))
$$(foreach f, $$(patsubst $$($1_SRC)/%,%,$$($1_FILES)), \
$$(eval $$(call AddFileToCopy, $$($1_SRC)/$$f, \
- $$($1_DEST)/$$(if $$($1_FLATTEN),$$(notdir $$f),$$f), $1, $$($1_MACRO))))
+ $$($1_DEST)/$$(call $$(strip $$($1_NAME_MACRO)),$$(if $$($1_FLATTEN),$$(notdir $$f),$$f)), \
+ $1, $$($1_MACRO))))
endef
@@ -727,9 +588,14 @@
# Param 1 - Text to write
# Param 2 - File to write to
+ifeq ($(HAS_FILE_FUNCTION), true)
+ WriteFile = \
+ $(file >$2,$(strip $1))
+else
# Use printf to get consistent behavior on all platforms.
WriteFile = \
$(shell $(PRINTF) "%s" $(call ShellQuote, $1) > $2)
+endif
################################################################################
# DependOnVariable
@@ -767,15 +633,16 @@
# Param 1 - Name of variable
# Param 2 - (optional) name of file to store value in
DependOnVariableHelper = \
- $(strip $(if $(and $(wildcard $(call DependOnVariableFileName, $1, $2)),\
- $(call equals, $(strip $($1)), \
- $(call ReadFile, $(call DependOnVariableFileName, $1, $2)))),,\
- $(call MakeDir, $(dir $(call DependOnVariableFileName, $1, $2))) \
- $(if $(findstring $(LOG_LEVEL), trace), \
- $(info Variable $1: >$(strip $($1))<) \
- $(info File: >$(call ReadFile, $(call DependOnVariableFileName, $1, $2))<)) \
- $(call WriteFile, $($1), $(call DependOnVariableFileName, $1, $2))) \
- $(call DependOnVariableFileName, $1, $2))
+ $(strip \
+ $(eval -include $(call DependOnVariableFileName, $1, $2)) \
+ $(if $(call equals, $(strip $($1)), $(strip $($1_old))),,\
+ $(call MakeDir, $(dir $(call DependOnVariableFileName, $1, $2))) \
+ $(if $(findstring $(LOG_LEVEL), trace), \
+ $(info NewVariable $1: >$(strip $($1))<) \
+ $(info OldVariable $1: >$(strip $($1_old))<)) \
+ $(call WriteFile, $1_old:=$($1), $(call DependOnVariableFileName, $1, $2))) \
+ $(call DependOnVariableFileName, $1, $2) \
+ )
# Main macro
# Param 1 - Name of variable
--- a/make/common/NativeCompilation.gmk Tue Oct 06 08:43:02 2015 -0700
+++ b/make/common/NativeCompilation.gmk Wed Jul 05 20:52:10 2017 +0200
@@ -49,6 +49,7 @@
# AS - Assembler
# MT - Windows MT tool
# RC - Windows RC tool
+# STRIP - The tool to use for stripping debug symbols
# SYSROOT_CFLAGS - Compiler flags for using the specific sysroot
# SYSROOT_LDFLAGS - Linker flags for using the specific sysroot
DefineNativeToolchain = $(NamedParamsMacroTemplate)
@@ -64,6 +65,7 @@
$$(call SetIfEmpty, $1_AS, $$($$($1_EXTENDS)_AS))
$$(call SetIfEmpty, $1_MT, $$($$($1_EXTENDS)_MT))
$$(call SetIfEmpty, $1_RC, $$($$($1_EXTENDS)_RC))
+ $$(call SetIfEmpty, $1_STRIP, $$($$($1_EXTENDS)_STRIP))
$$(call SetIfEmpty, $1_SYSROOT_CFLAGS, $$($$($1_EXTENDS)_SYSROOT_CFLAGS))
$$(call SetIfEmpty, $1_SYSROOT_LDFLAGS, $$($$($1_EXTENDS)_SYSROOT_LDFLAGS))
endif
@@ -78,6 +80,7 @@
AS := $(AS), \
MT := $(MT), \
RC := $(RC), \
+ STRIP := $(STRIP), \
SYSROOT_CFLAGS := $(SYSROOT_CFLAGS), \
SYSROOT_LDFLAGS := $(SYSROOT_LDFLAGS), \
))
@@ -211,23 +214,25 @@
$(call LogFailures, $$($1_$2_OBJ).log, $$($1_SAFE_NAME)_$$(notdir $2), \
$$($1_$2_COMP) $$($1_$2_FLAGS) $$($1_$2_DEP_FLAG) $$($1_$2_DEP) $(CC_OUT_OPTION)$$($1_$2_OBJ) $2)
endif
+ # Create a dependency target file from the dependency file.
+ # Solution suggested by http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/
+ ifneq ($$($1_$2_DEP),)
+ $(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_$2_DEP) > $$($1_$2_DEP_TARGETS)
+ endif
else
# The Visual Studio compiler lacks a feature for generating make dependencies, but by
# setting -showIncludes, all included files are printed. These are filtered out and
# parsed into make dependences.
+ # Keep as much as possible on one execution line for best performance on Windows
($(call LogFailures, $$($1_$2_OBJ).log, $$($1_SAFE_NAME)_$$(notdir $2), \
$$($1_$2_COMP) $$($1_$2_FLAGS) -showIncludes $$($1_$2_DEBUG_OUT_FLAGS) \
$(CC_OUT_OPTION)$$($1_$2_OBJ) $2) ; echo $$$$? > $$($1_$2_DEP).exitvalue) \
| $(TEE) $$($1_$2_DEP).raw | $(GREP) -v -e "^Note: including file:" \
-e "^$(notdir $2)$$$$" || test "$$$$?" = "1" ; \
- exit `cat $$($1_$2_DEP).exitvalue`
- $(RM) $$($1_$2_DEP).exitvalue
- ($(ECHO) $$@: \\ \
- && $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_$2_DEP).raw) | $(SORT) -u > $$($1_$2_DEP)
- endif
- # Create a dependency target file from the dependency file.
- # Solution suggested by http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/
- ifneq ($$($1_$2_DEP),)
+ exit `cat $$($1_$2_DEP).exitvalue` ; \
+ $(RM) $$($1_$2_DEP).exitvalue ; \\
+ ($(ECHO) $$@: \\ ; \
+ $(SED) $(WINDOWS_SHOWINCLUDE_SED_PATTERN) $$($1_$2_DEP).raw) | $(SORT) -u > $$($1_$2_DEP) ; \
$(SED) $(DEPENDENCY_TARGET_SED_PATTERN) $$($1_$2_DEP) > $$($1_$2_DEP_TARGETS)
endif
endif
@@ -265,6 +270,8 @@
# LD the linker to use, default is $(LD)
# OPTIMIZATION sets optimization level to NONE, LOW, HIGH, HIGHEST
# DISABLED_WARNINGS_<toolchain> Disable the given warnings for the specified toolchain
+# STRIP_SYMBOLS Set to true to strip the final binary if the toolchain allows for it
+# STRIPFLAGS Optionally change the flags given to the strip command
SetupNativeCompilation = $(NamedParamsMacroTemplate)
define SetupNativeCompilationBody
@@ -368,6 +375,7 @@
$$(call SetIfEmpty, $1_AS, $$($$($1_TOOLCHAIN)_AS))
$$(call SetIfEmpty, $1_MT, $$($$($1_TOOLCHAIN)_MT))
$$(call SetIfEmpty, $1_RC, $$($$($1_TOOLCHAIN)_RC))
+ $$(call SetIfEmpty, $1_STRIP, $$($$($1_TOOLCHAIN)_STRIP))
$$(call SetIfEmpty, $1_SYSROOT_CFLAGS, $$($$($1_TOOLCHAIN)_SYSROOT_CFLAGS))
$$(call SetIfEmpty, $1_SYSROOT_LDFLAGS, $$($$($1_TOOLCHAIN)_SYSROOT_LDFLAGS))
@@ -628,6 +636,10 @@
"-map:$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).map"
$1_DEBUGINFO_FILES := $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).pdb \
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).map
+ # No separate command is needed for debuginfo on windows, instead
+ # touch target to make sure it has a later time stamp than the debug
+ # symbol files to avoid unnecessary relinking on rebuild.
+ $1_CREATE_DEBUGINFO_CMDS := $(TOUCH) $$($1_TARGET)
else ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris), )
$1_DEBUGINFO_FILES := $$($1_OBJECT_DIR)/$$($1_NOSUFFIX).debuginfo
@@ -662,6 +674,14 @@
endif # $1_DEBUG_SYMBOLS
endif # !STATIC_LIBRARY
+ ifeq ($$($1_STRIP_SYMBOLS), true)
+ ifneq ($$($1_STRIP), )
+ # Default to using the global STRIPFLAGS. Allow for overriding with an empty value
+ $1_STRIPFLAGS ?= $(STRIPFLAGS)
+ $1_STRIP_CMD := $$($1_STRIP) $$($1_STRIPFLAGS) $$($1_TARGET)
+ endif
+ endif
+
ifneq (,$$($1_LIBRARY))
# Generating a dynamic library.
$1_EXTRA_LDFLAGS += $$(call SET_SHARED_LIBRARY_NAME,$$($1_BASENAME))
@@ -672,19 +692,21 @@
$1_EXTRA_LDFLAGS_SUFFIX += $(GLOBAL_LDFLAGS_SUFFIX)
$1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
- $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) $$($1_CREATE_DEBUGINFO_CMDS)
+ $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) $$($1_CREATE_DEBUGINFO_CMDS) \
+ $$($1_STRIP_CMD)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
$$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_REAL_MAPFILE) \
$$($1_VARDEPS_FILE)
- $(ECHO) $(LOG_INFO) "Linking $$($1_BASENAME)"
+ $(ECHO) $(LOG_INFO) "Linking $$($1_BASENAME)" ; \
$(call LogFailures, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link.log, $$($1_SAFE_NAME)_link, \
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
$(LD_OUT_OPTION)$$@ \
$$($1_EXPECTED_OBJS) $$($1_RES) \
- $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX))
+ $$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX)) ; \
$$($1_CREATE_DEBUGINFO_CMDS)
+ $$($1_STRIP_CMD)
# Touch target to make sure it has a later time stamp than the debug
# symbol files to avoid unnecessary relinking on rebuild.
ifeq ($(OPENJDK_TARGET_OS), windows)
@@ -713,13 +735,14 @@
$1_VARDEPS := $$($1_LD) $$($1_SYSROOT_LDFLAGS) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) \
$$($1_LDFLAGS_SUFFIX) $$($1_EXTRA_LDFLAGS_SUFFIX) $$($1_MT) \
- $$($1_CODESIGN) $$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION)
+ $$($1_CODESIGN) $$($1_CREATE_DEBUGINFO_CMDS) $$($1_MANIFEST_VERSION) \
+ $$($1_STRIP_CMD)
$1_VARDEPS_FILE := $$(call DependOnVariable, $1_VARDEPS, \
$$($1_OBJECT_DIR)/$$($1_NOSUFFIX).vardeps)
$$($1_TARGET): $$($1_EXPECTED_OBJS) $$($1_RES) $$($1_MANIFEST) \
$$($1_VARDEPS_FILE)
- $(ECHO) $(LOG_INFO) "Linking executable $$($1_BASENAME)"
+ $(ECHO) $(LOG_INFO) "Linking executable $$($1_BASENAME)" ; \
$(call LogFailures, $$($1_OBJECT_DIR)/$$($1_SAFE_NAME)_link.log, $$($1_SAFE_NAME)_link, \
$$($1_LD) $$($1_LDFLAGS) $$($1_EXTRA_LDFLAGS) $$($1_SYSROOT_LDFLAGS) \
$(EXE_OUT_OPTION)$$($1_TARGET) \
@@ -738,6 +761,7 @@
endif
endif
$$($1_CREATE_DEBUGINFO_CMDS)
+ $$($1_STRIP_CMD)
# Touch target to make sure it has a later time stamp than the debug
# symbol files to avoid unnecessary relinking on rebuild.
ifeq ($(OPENJDK_TARGET_OS), windows)
--- a/make/common/RMICompilation.gmk Tue Oct 06 08:43:02 2015 -0700
+++ b/make/common/RMICompilation.gmk Wed Jul 05 20:52:10 2017 +0200
@@ -34,8 +34,6 @@
# STUB_CLASSES_DIR:=Directory in where to put stub classes
# RUN_V11:=Set to run rmic with -v1.1
# RUN_V12:=Set to run rmic with -v1.2
-# RUN_IIOP:=Set to run rmic with -iiop
-# RUN_IIOP_STDPKG:=Set to run rmic with -iiop -standardPackage
# KEEP_GENERATED:=Set to keep generated sources around
SetupRMICompilation = $(NamedParamsMacroTemplate)
define SetupRMICompilationBody
@@ -60,15 +58,6 @@
$1_TIE_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/org/omg/stub/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES)))
$1_TIE_STDPKG_FILES := $$(addprefix $$($1_STUB_CLASSES_DIR)/,$$(addsuffix _Tie.class,$$($1_TIE_BASE_FILES)))
- ifneq (,$$($1_RUN_IIOP))
- $1_TARGETS += $$($1_TIE_FILES)
- $1_ARGS += -iiop -emitPermissionCheck
- endif
- ifneq (,$$($1_RUN_IIOP_STDPKG))
- $1_TARGETS += $$($1_TIE_STDPKG_FILES)
- $1_ARGS2 := -iiop -emitPermissionCheck -standardPackage
- endif
-
ifneq (,$$($1_KEEP_GENERATED))
$1_ARGS += -keepgenerated
$1_TARGETS += $$(subst .class,.java,$$($1_TARGETS))
--- a/modules.xml Tue Oct 06 08:43:02 2015 -0700
+++ b/modules.xml Wed Jul 05 20:52:10 2017 +0200
@@ -223,6 +223,16 @@
<to>jdk.dev</to>
</export>
<export>
+ <name>jdk.internal.misc</name>
+ <to>java.corba</to>
+ <to>java.desktop</to>
+ <to>java.logging</to>
+ <to>java.management</to>
+ <to>java.naming</to>
+ <to>java.sql</to>
+ <to>jdk.management.resource</to>
+ </export>
+ <export>
<name>jdk.internal.org.objectweb.asm</name>
<to>java.instrument</to>
<to>jdk.jfr</to>
@@ -265,7 +275,6 @@
<to>java.rmi</to>
<to>java.security.jgss</to>
<to>java.security.sasl</to>
- <to>java.sql</to>
<to>java.xml</to>
<to>java.xml.ws</to>
<to>jdk.charsets</to>
--- a/test/make/TestMakeBase.gmk Tue Oct 06 08:43:02 2015 -0700
+++ b/test/make/TestMakeBase.gmk Wed Jul 05 20:52:10 2017 +0200
@@ -213,23 +213,20 @@
VARDEP_TEST_VAR2 := value3
VARDEP_RETURN_VALUE := $(call DependOnVariable, VARDEP_TEST_VAR2, $(VARDEP_VALUE_FILE))
-ifneq ($(VARDEP_VALUE_FILE), $(VARDEP_RETURN_VALUE))
- $(error Expected: $(VARDEP_VALUE_FILE) - DependOnVariable: $(VARDEP_RETURN_VALUE))
-endif
+$(eval $(call assert-equals, $(VARDEP_RETURN_VALUE), $(VARDEP_VALUE_FILE), \
+ Wrong filename returned))
VARDEP_FILE_CONTENTS := $(shell $(CAT) $(VARDEP_VALUE_FILE))
-ifneq ($(VARDEP_TEST_VAR2), $(VARDEP_FILE_CONTENTS))
- $(error Expected: $(VARDEP_TEST_VAR2) - DependOnVariable file contained: \
- $(VARDEP_FILE_CONTENTS))
-endif
+$(eval $(call assert-equals, $(VARDEP_FILE_CONTENTS), \
+ VARDEP_TEST_VAR2_old:=$(VARDEP_TEST_VAR2), \
+ Wrong contents in vardeps file))
# Test with a variable value containing some problematic characters
VARDEP_TEST_VAR3 := foo '""' "''" bar
VARDEP_VALUE_FILE := $(call DependOnVariable, VARDEP_TEST_VAR3)
VARDEP_FILE_CONTENTS := $(shell $(CAT) $(VARDEP_VALUE_FILE))
-ifneq ($(VARDEP_TEST_VAR3), $(VARDEP_FILE_CONTENTS))
- $(error Expected: >$(VARDEP_TEST_VAR3)< - DependOnVariable file contained: \
- >$(VARDEP_FILE_CONTENTS)<)
-endif
+$(eval $(call assert-equals, $(VARDEP_FILE_CONTENTS), \
+ VARDEP_TEST_VAR3_old:=$(VARDEP_TEST_VAR3), \
+ Wrong contents in vardep file))
TEST_TARGETS += test-vardep