diff options
author | glewis <glewis@FreeBSD.org> | 2016-05-17 13:14:41 +0800 |
---|---|---|
committer | glewis <glewis@FreeBSD.org> | 2016-05-17 13:14:41 +0800 |
commit | c75e49367661823cf3d86810be16472022d2e2bb (patch) | |
tree | 6bb26cfd31aab8b3a6b5463e728ea846b82c9a56 /java | |
parent | 084aa44effc8c1e616c7b797da2aaead5d51d114 (diff) | |
download | freebsd-ports-gnome-c75e49367661823cf3d86810be16472022d2e2bb.tar.gz freebsd-ports-gnome-c75e49367661823cf3d86810be16472022d2e2bb.tar.zst freebsd-ports-gnome-c75e49367661823cf3d86810be16472022d2e2bb.zip |
. Update to 8u92.
Diffstat (limited to 'java')
-rw-r--r-- | java/openjdk8/Makefile | 7 | ||||
-rw-r--r-- | java/openjdk8/distinfo | 2 | ||||
-rw-r--r-- | java/openjdk8/files/patch-bsd | 9765 | ||||
-rw-r--r-- | java/openjdk8/files/patch-bsd-test | 472 | ||||
-rw-r--r-- | java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.cpp | 121 | ||||
-rw-r--r-- | java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.hpp | 10 |
6 files changed, 6995 insertions, 3382 deletions
diff --git a/java/openjdk8/Makefile b/java/openjdk8/Makefile index 78576d5a89fd..8ab358b9b8a5 100644 --- a/java/openjdk8/Makefile +++ b/java/openjdk8/Makefile @@ -23,7 +23,8 @@ PATCHFILES= patch-8u05-b13.xz \ patch-8u66-b17-1.xz \ patch-8u72-b15.xz \ patch-8u74-b02.xz \ - patch-8u77-b03.xz + patch-8u77-b03.xz \ + patch-8u92-b14.xz MAINTAINER= java@FreeBSD.org COMMENT?= Java Development Kit ${JDK_MAJOR_VERSION} @@ -201,8 +202,8 @@ NO_CCACHE= yes NOPRECIOUSMAKEVARS= yes JDK_MAJOR_VERSION= 8 -JDK_UPDATE_VERSION= 77 -JDK_BUILD_NUMBER= 03 +JDK_UPDATE_VERSION= 92 +JDK_BUILD_NUMBER= 14 DIST_BUILD_NUMBER= 132 JTREG_VERSION= 4.1 JTREG_BUILD_NUMBER= b08 diff --git a/java/openjdk8/distinfo b/java/openjdk8/distinfo index 897e8febed25..936bf5625df1 100644 --- a/java/openjdk8/distinfo +++ b/java/openjdk8/distinfo @@ -28,3 +28,5 @@ SHA256 (patch-8u74-b02.xz) = c21a08d00d8417369837fe82d68bb4f30bcf8c1c93aef855817 SIZE (patch-8u74-b02.xz) = 2056 SHA256 (patch-8u77-b03.xz) = d6469852d556ff9e379852e5a64cc104faf0545804c7f18f65b9840a8cb3a1c1 SIZE (patch-8u77-b03.xz) = 4404 +SHA256 (patch-8u92-b14.xz) = c3c8e607048c61c8b425849c6bb73add59ba9887e4a9d4f6147ab51ad11c8d17 +SIZE (patch-8u92-b14.xz) = 172836 diff --git a/java/openjdk8/files/patch-bsd b/java/openjdk8/files/patch-bsd index 0a214d6cf014..9e844d5cb476 100644 --- a/java/openjdk8/files/patch-bsd +++ b/java/openjdk8/files/patch-bsd @@ -1,5 +1,5 @@ ---- ./common/autoconf/build-performance.m4 Fri Dec 18 11:33:41 2015 -0800 -+++ ./common/autoconf/build-performance.m4 Sat Jan 30 22:11:02 2016 -0800 +--- ./common/autoconf/build-performance.m4 Tue Mar 22 11:03:36 2016 -0700 ++++ ./common/autoconf/build-performance.m4 Sun May 01 23:37:49 2016 -0700 @@ -41,6 +41,10 @@ # Looks like a MacOSX system NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk '{print [$]5}'` @@ -38,8 +38,8 @@ AC_MSG_RESULT([no, disabling ccache]) CCACHE= else ---- ./common/autoconf/generated-configure.sh Fri Dec 18 11:33:41 2015 -0800 -+++ ./common/autoconf/generated-configure.sh Sat Jan 30 22:11:02 2016 -0800 +--- ./common/autoconf/generated-configure.sh Tue Mar 22 11:03:36 2016 -0700 ++++ ./common/autoconf/generated-configure.sh Sun May 01 23:37:49 2016 -0700 @@ -646,6 +646,8 @@ LIBM LIBZIP_CAN_USE_MMAP @@ -102,8 +102,8 @@ #CUSTOM_AUTOCONF_INCLUDE # Do not change or remove the following line, it is needed for consistency checks: --DATE_WHEN_GENERATED=1445418840 -+DATE_WHEN_GENERATED=1454212428 +-DATE_WHEN_GENERATED=1449096260 ++DATE_WHEN_GENERATED=1460430898 ############################################################################### # @@ -265,6 +265,15 @@ fi else if test "x$OPENJDK_TARGET_OS" = xsolaris; then +@@ -29667,7 +29732,7 @@ + # + case $COMPILER_NAME in + gcc ) +- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \ ++ CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses -Wno-sign-compare \ + -pipe \ + -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE" + case $OPENJDK_TARGET_CPU_ARCH in @@ -29749,22 +29814,37 @@ CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64" @@ -619,8 +628,8 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, disabling ccache" >&5 $as_echo "no, disabling ccache" >&6; } CCACHE= ---- ./common/autoconf/jdk-options.m4 Fri Dec 18 11:33:41 2015 -0800 -+++ ./common/autoconf/jdk-options.m4 Sat Jan 30 22:11:02 2016 -0800 +--- ./common/autoconf/jdk-options.m4 Tue Mar 22 11:03:36 2016 -0700 ++++ ./common/autoconf/jdk-options.m4 Sun May 01 23:37:49 2016 -0700 @@ -410,6 +410,20 @@ ############################################################################### @@ -642,8 +651,8 @@ # Enable or disable the elliptic curve crypto implementation # AC_DEFUN_ONCE([JDKOPT_DETECT_INTREE_EC], ---- ./common/autoconf/libraries.m4 Fri Dec 18 11:33:41 2015 -0800 -+++ ./common/autoconf/libraries.m4 Sat Jan 30 22:11:02 2016 -0800 +--- ./common/autoconf/libraries.m4 Tue Mar 22 11:03:36 2016 -0700 ++++ ./common/autoconf/libraries.m4 Sun May 01 23:37:49 2016 -0700 @@ -69,9 +69,15 @@ fi @@ -781,8 +790,8 @@ + AC_SUBST(LIBCXX) ]) ---- ./common/autoconf/platform.m4 Fri Dec 18 11:33:41 2015 -0800 -+++ ./common/autoconf/platform.m4 Sat Jan 30 22:11:02 2016 -0800 +--- ./common/autoconf/platform.m4 Tue Mar 22 11:03:36 2016 -0700 ++++ ./common/autoconf/platform.m4 Sun May 01 23:37:49 2016 -0700 @@ -30,7 +30,7 @@ [ # First argument is the cpu name from the trip/quad @@ -842,8 +851,8 @@ OPENJDK_TARGET_CPU_OSARCH="i386" elif test "x$OPENJDK_TARGET_OS" != xmacosx && test "x$OPENJDK_TARGET_CPU" = xx86_64; then # On all platforms except macosx, we replace x86_64 with amd64. ---- ./common/autoconf/spec.gmk.in Fri Dec 18 11:33:41 2015 -0800 -+++ ./common/autoconf/spec.gmk.in Sat Jan 30 22:11:02 2016 -0800 +--- ./common/autoconf/spec.gmk.in Tue Mar 22 11:03:36 2016 -0700 ++++ ./common/autoconf/spec.gmk.in Sun May 01 23:37:49 2016 -0700 @@ -76,6 +76,7 @@ OPENJDK_TARGET_OS:=@OPENJDK_TARGET_OS@ OPENJDK_TARGET_OS_API:=@OPENJDK_TARGET_OS_API@ @@ -880,8 +889,8 @@ USE_EXTERNAL_LIBZ:=@USE_EXTERNAL_LIBZ@ LIBZIP_CAN_USE_MMAP:=@LIBZIP_CAN_USE_MMAP@ MSVCR_DLL:=@MSVCR_DLL@ ---- ./common/autoconf/toolchain.m4 Fri Dec 18 11:33:41 2015 -0800 -+++ ./common/autoconf/toolchain.m4 Sat Jan 30 22:11:02 2016 -0800 +--- ./common/autoconf/toolchain.m4 Tue Mar 22 11:03:36 2016 -0700 ++++ ./common/autoconf/toolchain.m4 Sun May 01 23:37:49 2016 -0700 @@ -72,7 +72,7 @@ else COMPILER_VERSION_TEST=`$COMPILER --version 2>&1 | $HEAD -n 1` @@ -921,6 +930,15 @@ fi else if test "x$OPENJDK_TARGET_OS" = xsolaris; then +@@ -957,7 +961,7 @@ + # + case $COMPILER_NAME in + gcc ) +- CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses \ ++ CCXXFLAGS_JDK="$CCXXFLAGS $CCXXFLAGS_JDK -W -Wall -Wno-unused -Wno-parentheses -Wno-sign-compare \ + -pipe \ + -D_GNU_SOURCE -D_REENTRANT -D_LARGEFILE64_SOURCE" + case $OPENJDK_TARGET_CPU_ARCH in @@ -1039,22 +1043,33 @@ CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64" @@ -967,16 +985,16 @@ fi if test "x$OPENJDK_TARGET_OS" = xlinux; then CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX" ---- ./configure Fri Dec 18 11:33:41 2015 -0800 -+++ ./configure Sat Jan 30 22:11:02 2016 -0800 +--- ./configure Tue Mar 22 11:03:36 2016 -0700 ++++ ./configure Sun May 01 23:37:49 2016 -0700 @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # # Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ---- ./make/Javadoc.gmk Fri Dec 18 11:33:41 2015 -0800 -+++ ./make/Javadoc.gmk Sat Jan 30 22:11:02 2016 -0800 +--- ./make/Javadoc.gmk Tue Mar 22 11:03:36 2016 -0700 ++++ ./make/Javadoc.gmk Sun May 01 23:37:49 2016 -0700 @@ -46,8 +46,18 @@ BUILD_NUMBER=$(JDK_BUILD_NUMBER) @@ -997,8 +1015,8 @@ -Djava.awt.headless=true \ $(NEW_JAVADOC) \ -bootclasspath $(JDK_OUTPUTDIR)/classes ---- ./make/Main.gmk Fri Dec 18 11:33:41 2015 -0800 -+++ ./make/Main.gmk Sat Jan 30 22:11:02 2016 -0800 +--- ./make/Main.gmk Tue Mar 22 11:03:36 2016 -0700 ++++ ./make/Main.gmk Sun May 01 23:37:49 2016 -0700 @@ -58,7 +58,11 @@ # Setup number of jobs to use. -jN is unfortunately not available for us to parse from the command line, @@ -1011,8 +1029,8 @@ ### Main targets ---- ./make/common/MakeBase.gmk Fri Dec 18 11:33:41 2015 -0800 -+++ ./make/common/MakeBase.gmk Sat Jan 30 22:11:02 2016 -0800 +--- ./make/common/MakeBase.gmk Tue Mar 22 11:03:36 2016 -0700 ++++ ./make/common/MakeBase.gmk Sun May 01 23:37:49 2016 -0700 @@ -338,7 +338,7 @@ # (and causing a crash on Cygwin). # Default shell seems to always be /bin/sh. Must override with bash to get this to work on Solaris. @@ -1033,8 +1051,8 @@ endef # Make directory without forking mkdir if not needed ---- ./make/common/NativeCompilation.gmk Fri Dec 18 11:33:41 2015 -0800 -+++ ./make/common/NativeCompilation.gmk Sat Jan 30 22:11:02 2016 -0800 +--- ./make/common/NativeCompilation.gmk Tue Mar 22 11:03:36 2016 -0700 ++++ ./make/common/NativeCompilation.gmk Sun May 01 23:37:49 2016 -0700 @@ -151,9 +151,9 @@ # CC the compiler to use, default is $(CC) # LDEXE the linker to use for linking executables, default is $(LDEXE) @@ -1048,8 +1066,21 @@ ifneq (,$$($1_BIN)) $$(error BIN has been replaced with OBJECT_DIR) ---- ./hotspot/make/bsd/makefiles/build_vm_def.sh Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/make/bsd/makefiles/build_vm_def.sh Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/make/bsd/Makefile Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/make/bsd/Makefile Mon May 09 17:15:53 2016 -0400 +@@ -66,6 +66,10 @@ + FORCE_TIERED=1 + endif + endif ++# C1 is not ported on ppc64, so we cannot build a tiered VM: ++ifeq ($(ARCH),ppc64) ++ FORCE_TIERED=0 ++endif + + ifdef LP64 + ifeq ("$(filter $(LP64_ARCH),$(BUILDARCH))","") +--- ./hotspot/make/bsd/makefiles/build_vm_def.sh Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/make/bsd/makefiles/build_vm_def.sh Mon May 09 17:15:53 2016 -0400 @@ -1,12 +1,28 @@ #!/bin/sh @@ -1085,8 +1116,8 @@ + if ($3 ~ /^_ZN9Arguments17SharedArchivePathE$/) print "\t" $3 ";" + }' | sort -u ;; +esac ---- ./hotspot/make/bsd/makefiles/debug.make Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/make/bsd/makefiles/debug.make Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/make/bsd/makefiles/debug.make Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/make/bsd/makefiles/debug.make Mon May 09 17:15:53 2016 -0400 @@ -35,7 +35,10 @@ # to inhibit the effect of the previous line on CFLAGS. @@ -1099,8 +1130,57 @@ VERSION = debug SYSDEFS += -DASSERT ---- ./hotspot/make/bsd/makefiles/fastdebug.make Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/make/bsd/makefiles/fastdebug.make Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/make/bsd/makefiles/defs.make Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/make/bsd/makefiles/defs.make Mon May 09 17:15:53 2016 -0400 +@@ -29,7 +29,10 @@ + SLASH_JAVA ?= /java + + # Need PLATFORM (os-arch combo names) for jdk and hotspot, plus libarch name +-ARCH:=$(shell uname -m) ++# ARCH can be set explicitly in spec.gmk ++ifndef ARCH ++ ARCH := $(shell uname -m) ++endif + PATH_SEP = : + ifeq ($(LP64), 1) + ARCH_DATA_MODEL ?= 64 +@@ -124,6 +127,15 @@ + HS_ARCH = ppc + endif + ++# PPC64 ++ifeq ($(ARCH), ppc64) ++ ARCH_DATA_MODEL = 64 ++ MAKE_ARGS += LP64=1 ++ PLATFORM = bsd-ppc64 ++ VM_PLATFORM = bsd_ppc64 ++ HS_ARCH = ppc ++endif ++ + # On 32 bit bsd we build server and client, on 64 bit just server. + ifeq ($(JVM_VARIANTS),) + ifeq ($(ARCH_DATA_MODEL), 32) +@@ -321,6 +333,18 @@ + ifeq ($(JVM_VARIANT_MINIMAL1),true) + EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/Xusage.txt + EXPORT_LIST += $(EXPORT_MINIMAL_DIR)/libjvm.$(LIBRARY_SUFFIX) ++ ++ ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) ++ ifeq ($(ZIP_DEBUGINFO_FILES),1) ++ EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.diz ++ else ++ ifeq ($(OS_VENDOR), Darwin) ++ EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.$(LIBRARY_SUFFIX).dSYM ++ else ++ EXPORT_LIST += $(EXPORT_CLIENT_DIR)/libjvm.debuginfo ++ endif ++ endif ++ endif + endif + + # Serviceability Binaries +--- ./hotspot/make/bsd/makefiles/fastdebug.make Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/make/bsd/makefiles/fastdebug.make Mon May 09 17:15:53 2016 -0400 @@ -56,7 +56,10 @@ # to inhibit the effect of the previous line on CFLAGS. @@ -1113,8 +1193,8 @@ VERSION = fastdebug SYSDEFS += -DASSERT -DCHECK_UNHANDLED_OOPS ---- ./hotspot/make/bsd/makefiles/gcc.make Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/make/bsd/makefiles/gcc.make Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/make/bsd/makefiles/gcc.make Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/make/bsd/makefiles/gcc.make Mon May 09 17:15:53 2016 -0400 @@ -168,6 +168,9 @@ CFLAGS += -DDONT_USE_PRECOMPILED_HEADER endif @@ -1156,40 +1236,92 @@ ifeq ($(USE_CLANG),) WARNING_FLAGS += -Wconversion endif -@@ -432,17 +438,20 @@ - # (warning: that could easily inflate libjvm.so to 150M!) - # Note: The Itanium gcc compiler crashes when using -gstabs. - DEBUG_CFLAGS/ia64 = -g +@@ -421,53 +427,43 @@ + CFLAGS += -flimit-debug-info + endif + ++# Use the stabs format for debugging information (this is the default ++# on gcc-2.91). It's good enough, has all the information about line ++# numbers and local variables, and libjvm.so is only about 16M. ++# Change this back to "-g" if you want the most expressive format. ++# (warning: that could easily inflate libjvm.so to 150M!) ++# Note: The Itanium gcc compiler crashes when using -gstabs. ++# Don't use stabs on gcc>=4.8 because it is incompatible with ++# pre-compiled-headers ++ifeq ($(USE_CLANG), true) ++ # Clang doesn't understand -gstabs ++ STABS_CFLAGS += -g ++else ++ ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 8 \) \))" "1" ++ # GCC >= 4.8 ++ STABS_CFLAGS += -g ++ else ++ STABS_CFLAGS/ia64 = -g ++ STABS_CFLAGS/arm = -g ++ STABS_CFLAGS/ppc = -g ++ ifeq ($(STABS_CFLAGS/$(BUILDARCH)),) ++ STABS_CFLAGS += -gstabs ++ else ++ STABS_CFLAGS += $(STABS_CFLAGS/$(BUILDARCH)) ++ endif ++ endif ++endif ++ + # DEBUG_BINARIES uses full -g debug information for all configs + ifeq ($(DEBUG_BINARIES), true) + CFLAGS += -g + else +- # Use the stabs format for debugging information (this is the default +- # on gcc-2.91). It's good enough, has all the information about line +- # numbers and local variables, and libjvm.so is only about 16M. +- # Change this back to "-g" if you want the most expressive format. +- # (warning: that could easily inflate libjvm.so to 150M!) +- # Note: The Itanium gcc compiler crashes when using -gstabs. +- DEBUG_CFLAGS/ia64 = -g - DEBUG_CFLAGS/amd64 = -g - DEBUG_CFLAGS/arm = -g - DEBUG_CFLAGS/ppc = -g - DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH)) - ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),) +- DEBUG_CFLAGS/arm = -g +- DEBUG_CFLAGS/ppc = -g +- DEBUG_CFLAGS += $(DEBUG_CFLAGS/$(BUILDARCH)) +- ifeq ($(DEBUG_CFLAGS/$(BUILDARCH)),) - DEBUG_CFLAGS += -gstabs -+ ifeq ($(USE_CLANG), true) -+ # Clang doesn't understand -gstabs -+ DEBUG_CFLAGS += -g -+ else -+ DEBUG_CFLAGS += -gstabs -+ endif - endif +- endif ++ DEBUG_CFLAGS += ${STABS_CFLAGS} ifeq ($(ENABLE_FULL_DEBUG_SYMBOLS),1) - FASTDEBUG_CFLAGS/ia64 = -g +- FASTDEBUG_CFLAGS/ia64 = -g - FASTDEBUG_CFLAGS/amd64 = -g - FASTDEBUG_CFLAGS/arm = -g - FASTDEBUG_CFLAGS/ppc = -g - FASTDEBUG_CFLAGS += $(FASTDEBUG_CFLAGS/$(BUILDARCH)) -@@ -456,7 +465,6 @@ - endif +- FASTDEBUG_CFLAGS/arm = -g +- FASTDEBUG_CFLAGS/ppc = -g +- FASTDEBUG_CFLAGS += $(FASTDEBUG_CFLAGS/$(BUILDARCH)) +- ifeq ($(FASTDEBUG_CFLAGS/$(BUILDARCH)),) +- ifeq ($(USE_CLANG), true) +- # Clang doesn't understand -gstabs +- FASTDEBUG_CFLAGS += -g +- else +- FASTDEBUG_CFLAGS += -gstabs +- endif +- endif ++ FASTDEBUG_CFLAGS += ${STABS_CFLAGS} - OPT_CFLAGS/ia64 = -g +- OPT_CFLAGS/ia64 = -g - OPT_CFLAGS/amd64 = -g - OPT_CFLAGS/arm = -g - OPT_CFLAGS/ppc = -g - OPT_CFLAGS += $(OPT_CFLAGS/$(BUILDARCH)) +- OPT_CFLAGS/arm = -g +- OPT_CFLAGS/ppc = -g +- OPT_CFLAGS += $(OPT_CFLAGS/$(BUILDARCH)) +- ifeq ($(OPT_CFLAGS/$(BUILDARCH)),) +- ifeq ($(USE_CLANG), true) +- # Clang doesn't understand -gstabs +- OPT_CFLAGS += -g +- else +- OPT_CFLAGS += -gstabs +- endif +- endif ++ OPT_CFLAGS += ${STABS_CFLAGS} + endif + endif + --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./hotspot/make/bsd/makefiles/launcher.make Mon Jan 25 21:17:47 2016 -0800 ++++ ./hotspot/make/bsd/makefiles/launcher.make Mon May 09 17:15:53 2016 -0400 @@ -0,0 +1,117 @@ +# +# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. @@ -1308,8 +1440,8 @@ + $(QUIETLY) sed -e 's/@@LIBARCH@@/$(LIBARCH)/g' $< > $@ + $(QUIETLY) chmod +x $@ + ---- ./hotspot/make/bsd/makefiles/mapfile-vers-debug Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/make/bsd/makefiles/mapfile-vers-debug Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/make/bsd/makefiles/mapfile-vers-debug Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/make/bsd/makefiles/mapfile-vers-debug Mon May 09 17:15:53 2016 -0400 @@ -21,246 +21,254 @@ # questions. # @@ -1797,7 +1929,7 @@ + *; +}; --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./hotspot/make/bsd/makefiles/mapfile-vers-debug.macosx Mon Jan 25 21:17:47 2016 -0800 ++++ ./hotspot/make/bsd/makefiles/mapfile-vers-debug.macosx Mon May 09 17:15:53 2016 -0400 @@ -0,0 +1,266 @@ +# +# Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. @@ -2065,8 +2197,8 @@ + + # INSERT VTABLE SYMBOLS HERE + ---- ./hotspot/make/bsd/makefiles/mapfile-vers-product Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/make/bsd/makefiles/mapfile-vers-product Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/make/bsd/makefiles/mapfile-vers-product Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/make/bsd/makefiles/mapfile-vers-product Mon May 09 17:15:53 2016 -0400 @@ -21,241 +21,249 @@ # questions. # @@ -2545,7 +2677,7 @@ + *; +}; --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./hotspot/make/bsd/makefiles/mapfile-vers-product.macosx Mon Jan 25 21:17:47 2016 -0800 ++++ ./hotspot/make/bsd/makefiles/mapfile-vers-product.macosx Mon May 09 17:15:53 2016 -0400 @@ -0,0 +1,261 @@ +# +# Copyright (c) 2002, 2014, Oracle and/or its affiliates. All rights reserved. @@ -2808,8 +2940,8 @@ + + # INSERT VTABLE SYMBOLS HERE + ---- ./hotspot/make/bsd/makefiles/optimized.make Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/make/bsd/makefiles/optimized.make Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/make/bsd/makefiles/optimized.make Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/make/bsd/makefiles/optimized.make Mon May 09 17:15:53 2016 -0400 @@ -38,6 +38,9 @@ # to inhibit the effect of the previous line on CFLAGS. @@ -2821,8 +2953,113 @@ +MAPFILE = $(GAMMADIR)/make/bsd/makefiles/mapfile-vers-debug$(MAPSUFX) VERSION = optimized ---- ./hotspot/make/bsd/makefiles/product.make Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/make/bsd/makefiles/product.make Mon Jan 25 21:17:47 2016 -0800 +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ ./hotspot/make/bsd/makefiles/ppc64.make Mon May 09 17:15:53 2016 -0400 +@@ -0,0 +1,102 @@ ++# ++# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. ++# Copyright 2012, 2013 SAP AG. All rights reserved. ++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++# ++# 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. ++# ++# ++ ++# make c code know it is on a 64 bit platform. ++CFLAGS += -D_LP64=1 ++ ++ifeq ($(origin OPENJDK_TARGET_CPU_ENDIAN),undefined) ++ # This can happen during hotspot standalone build. Set endianness from ++ # uname. We assume build and target machines are the same. ++ OPENJDK_TARGET_CPU_ENDIAN:=$(if $(filter ppc64le,$(shell uname -m)),little,big) ++endif ++ ++ifeq ($(filter $(OPENJDK_TARGET_CPU_ENDIAN),big little),) ++ $(error OPENJDK_TARGET_CPU_ENDIAN value should be 'big' or 'little') ++endif ++ ++ifeq ($(OPENJDK_TARGET_CPU_ENDIAN),big) ++ # fixes `relocation truncated to fit' error for gcc 4.1. ++ CFLAGS += -mminimal-toc ++ ++ # finds use ppc64 instructions, but schedule for power5 ++ CFLAGS += -mcpu=powerpc64 -mtune=power5 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string ++else ++ # Little endian machine uses ELFv2 ABI. ++ CFLAGS += -DVM_LITTLE_ENDIAN -DABI_ELFv2 ++ ++ # Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI. ++ CFLAGS += -mcpu=power7 -mtune=power8 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string ++endif ++# ++# Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved. ++# Copyright 2012, 2013 SAP AG. All rights reserved. ++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++# ++# 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. ++# ++# ++ ++# make c code know it is on a 64 bit platform. ++CFLAGS += -D_LP64=1 ++ ++ifeq ($(origin OPENJDK_TARGET_CPU_ENDIAN),undefined) ++ # This can happen during hotspot standalone build. Set endianness from ++ # uname. We assume build and target machines are the same. ++ OPENJDK_TARGET_CPU_ENDIAN:=$(if $(filter ppc64le,$(shell uname -m)),little,big) ++endif ++ ++ifeq ($(filter $(OPENJDK_TARGET_CPU_ENDIAN),big little),) ++ $(error OPENJDK_TARGET_CPU_ENDIAN value should be 'big' or 'little') ++endif ++ ++ifeq ($(OPENJDK_TARGET_CPU_ENDIAN),big) ++ # fixes `relocation truncated to fit' error for gcc 4.1. ++ CFLAGS += -mminimal-toc ++ ++ # finds use ppc64 instructions, but schedule for power5 ++ CFLAGS += -mcpu=powerpc64 -mtune=power5 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string ++else ++ # Little endian machine uses ELFv2 ABI. ++ CFLAGS += -DVM_LITTLE_ENDIAN -DABI_ELFv2 ++ ++ # Use Power8, this is the first CPU to support PPC64 LE with ELFv2 ABI. ++ CFLAGS += -mcpu=power7 -mtune=power8 -minsert-sched-nops=regroup_exact -mno-multiple -mno-string ++endif +--- ./hotspot/make/bsd/makefiles/product.make Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/make/bsd/makefiles/product.make Mon May 09 17:15:53 2016 -0400 @@ -38,7 +38,10 @@ # to inhibit the effect of the previous line on CFLAGS. @@ -2835,8 +3072,8 @@ SYSDEFS += -DPRODUCT VERSION = optimized ---- ./hotspot/make/bsd/makefiles/rules.make Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/make/bsd/makefiles/rules.make Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/make/bsd/makefiles/rules.make Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/make/bsd/makefiles/rules.make Mon May 09 17:15:53 2016 -0400 @@ -34,7 +34,7 @@ CC_COMPILE = $(CC) $(CXXFLAGS) $(CFLAGS) CXX_COMPILE = $(CXX) $(CXXFLAGS) $(CFLAGS) @@ -2846,8 +3083,8 @@ COMPILE.CC = $(CC_COMPILE) -c GENASM.CC = $(CC_COMPILE) -S ---- ./hotspot/make/bsd/makefiles/vm.make Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/make/bsd/makefiles/vm.make Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/make/bsd/makefiles/vm.make Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/make/bsd/makefiles/vm.make Mon May 09 17:15:53 2016 -0400 @@ -107,7 +107,7 @@ # File specific flags CXXFLAGS += $(CXXFLAGS/BYFILE) @@ -2857,8 +3094,68 @@ CXXFLAGS += -DDEFAULT_LIBPATH="\"$(DEFAULT_LIBPATH)\"" endif ---- ./hotspot/src/cpu/x86/vm/jni_x86.h Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/cpu/x86/vm/jni_x86.h Mon Jan 25 21:17:47 2016 -0800 +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ ./hotspot/make/bsd/platform_ppc64 Mon May 09 17:15:53 2016 -0400 +@@ -0,0 +1,34 @@ ++os_family = bsd ++ ++arch = ppc ++ ++arch_model = ppc_64 ++ ++os_arch = bsd_ppc ++ ++os_arch_model = bsd_ppc_64 ++ ++lib_arch = ppc64 ++ ++compiler = gcc ++ ++gnu_dis_arch = ppc64 ++ ++sysdefs = -DBSD -D_ALLBSD_SOURCE -D_GNU_SOURCE -DPPC64 ++os_family = bsd ++ ++arch = ppc ++ ++arch_model = ppc_64 ++ ++os_arch = bsd_ppc ++ ++os_arch_model = bsd_ppc_64 ++ ++lib_arch = ppc64 ++ ++compiler = gcc ++ ++gnu_dis_arch = ppc64 ++ ++sysdefs = -DBSD -D_ALLBSD_SOURCE -D_GNU_SOURCE -DPPC64 +--- ./hotspot/src/cpu/ppc/vm/bytes_ppc.hpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/cpu/ppc/vm/bytes_ppc.hpp Mon May 09 17:15:53 2016 -0400 +@@ -277,5 +277,9 @@ + #if defined(TARGET_OS_ARCH_linux_ppc) + #include "bytes_linux_ppc.inline.hpp" + #endif ++#if defined(TARGET_OS_ARCH_bsd_ppc) ++#include "bytes_bsd_ppc.inline.hpp" ++#endif ++ + + #endif // CPU_PPC_VM_BYTES_PPC_HPP +--- ./hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/cpu/ppc/vm/interpreter_ppc.cpp Mon May 09 17:15:53 2016 -0400 +@@ -307,6 +307,8 @@ + // Although AIX runs on big endian CPU, float is in most significant + // word of an argument slot. + __ stfs(floatSlot, 0, arg_c); ++#elif defined(BSD) ++ __ stfs(floatSlot, 4, arg_c); + #else + #error "unknown OS" + #endif +--- ./hotspot/src/cpu/x86/vm/jni_x86.h Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/cpu/x86/vm/jni_x86.h Mon May 09 17:15:53 2016 -0400 @@ -34,7 +34,7 @@ #ifndef __has_attribute #define __has_attribute(x) 0 @@ -2868,8 +3165,8 @@ #define JNIEXPORT __attribute__((visibility("default"))) #define JNIIMPORT __attribute__((visibility("default"))) #else ---- ./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp Mon May 09 17:15:53 2016 -0400 @@ -2266,7 +2266,7 @@ if (!is_critical_native) { // reset handle block @@ -2879,9 +3176,9 @@ // Any exception pending? __ cmpptr(Address(thread, in_bytes(Thread::pending_exception_offset())), (int32_t)NULL_WORD); ---- ./hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Mon Jan 25 21:17:47 2016 -0800 -@@ -1287,7 +1287,7 @@ +--- ./hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/cpu/x86/vm/templateInterpreter_x86_32.cpp Mon May 09 17:15:53 2016 -0400 +@@ -1293,7 +1293,7 @@ // reset handle block __ movptr(t, Address(thread, JavaThread::active_handles_offset())); @@ -2890,9 +3187,9 @@ // If result was an oop then unbox and save it in the frame { Label L; ---- ./hotspot/src/cpu/x86/vm/x86_32.ad Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/cpu/x86/vm/x86_32.ad Mon Jan 25 21:17:47 2016 -0800 -@@ -1246,6 +1246,7 @@ +--- ./hotspot/src/cpu/x86/vm/x86_32.ad Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/cpu/x86/vm/x86_32.ad Mon May 09 17:15:53 2016 -0400 +@@ -1250,6 +1250,7 @@ Unimplemented(); @@ -2900,8 +3197,8 @@ } #ifndef PRODUCT ---- ./hotspot/src/os/aix/vm/os_aix.cpp Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/os/aix/vm/os_aix.cpp Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/src/os/aix/vm/os_aix.cpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/os/aix/vm/os_aix.cpp Mon May 09 17:15:53 2016 -0400 @@ -5236,6 +5236,10 @@ return 0; } @@ -2914,8 +3211,8 @@ } --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./hotspot/src/os/bsd/vm/decoder_bsd.cpp Mon Jan 25 21:17:47 2016 -0800 -@@ -0,0 +1,47 @@ ++++ ./hotspot/src/os/bsd/vm/decoder_bsd.cpp Mon May 09 17:15:53 2016 -0400 +@@ -0,0 +1,53 @@ +/* + * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. @@ -2951,6 +3248,12 @@ + char* result; + size_t size = (size_t)buflen; + ++#ifdef PPC64 ++ // On PPC64 ElfDecoder::decode() may return a dot (.) prefixed name ++ // (see elfFuncDescTable.hpp for details) ++ if (symbol && *symbol == '.') symbol += 1; ++#endif ++ + // Don't pass buf to __cxa_demangle. In case of the 'buf' is too small, + // __cxa_demangle will call system "realloc" for additional memory, which + // may use different malloc/realloc mechanism that allocates 'buf'. @@ -2963,8 +3266,8 @@ + return false; +} +#endif ---- ./hotspot/src/os/bsd/vm/jsig.c Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/os/bsd/vm/jsig.c Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/src/os/bsd/vm/jsig.c Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/os/bsd/vm/jsig.c Mon May 09 17:15:53 2016 -0400 @@ -165,9 +165,8 @@ } @@ -2977,8 +3280,8 @@ static int call_os_sigaction(int sig, const struct sigaction *act, struct sigaction *oact) { ---- ./hotspot/src/os/bsd/vm/jvm_bsd.cpp Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/os/bsd/vm/jvm_bsd.cpp Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/src/os/bsd/vm/jvm_bsd.cpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/os/bsd/vm/jvm_bsd.cpp Mon May 09 17:15:53 2016 -0400 @@ -50,6 +50,7 @@ case INTERRUPT_SIGNAL: case SIGFPE: @@ -3088,8 +3391,8 @@ + jio_snprintf(buf, len, "SIG%s", signame); + return true; } ---- ./hotspot/src/os/bsd/vm/jvm_bsd.h Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/os/bsd/vm/jvm_bsd.h Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/src/os/bsd/vm/jvm_bsd.h Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/os/bsd/vm/jvm_bsd.h Mon May 09 17:15:53 2016 -0400 @@ -112,20 +112,6 @@ #define SHUTDOWN2_SIGNAL SIGINT #define SHUTDOWN3_SIGNAL SIGTERM @@ -3111,8 +3414,8 @@ #endif /* JVM_MD_H */ #endif // OS_BSD_VM_JVM_BSD_H ---- ./hotspot/src/os/bsd/vm/osThread_bsd.cpp Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/os/bsd/vm/osThread_bsd.cpp Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/src/os/bsd/vm/osThread_bsd.cpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/os/bsd/vm/osThread_bsd.cpp Mon May 09 17:15:53 2016 -0400 @@ -30,7 +30,7 @@ void OSThread::pd_initialize() { @@ -3122,8 +3425,8 @@ _thread_id = 0; #else _thread_id = NULL; ---- ./hotspot/src/os/bsd/vm/os_bsd.cpp Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/os/bsd/vm/os_bsd.cpp Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/src/os/bsd/vm/os_bsd.cpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/os/bsd/vm/os_bsd.cpp Mon May 09 17:15:53 2016 -0400 @@ -97,16 +97,31 @@ # include <sys/shm.h> #ifndef __APPLE__ @@ -3156,7 +3459,15 @@ #ifdef __APPLE__ # include <mach/mach.h> // semaphore_* API # include <mach-o/dyld.h> -@@ -169,6 +184,27 @@ +@@ -136,6 +151,7 @@ + volatile uint64_t os::Bsd::_max_abstime = 0; + #else + int (*os::Bsd::_clock_gettime)(clockid_t, struct timespec *) = NULL; ++int (*os::Bsd::_getcpuclockid)(pthread_t, clockid_t *) = NULL; + #endif + pthread_t os::Bsd::_main_thread; + int os::Bsd::_page_size = -1; +@@ -169,6 +185,27 @@ // available here means free julong os::Bsd::available_memory() { @@ -3184,7 +3495,7 @@ uint64_t available = physical_memory() >> 2; #ifdef __APPLE__ mach_msg_type_number_t count = HOST_VM_INFO64_COUNT; -@@ -208,7 +244,7 @@ +@@ -208,7 +245,7 @@ static bool init = false; static bool privileges = false; if (!init) { @@ -3193,7 +3504,16 @@ init = true; } return privileges; -@@ -411,12 +447,21 @@ +@@ -229,6 +266,8 @@ + static char cpu_arch[] = "arm"; + #elif defined(PPC32) + static char cpu_arch[] = "ppc"; ++#elif defined(PPC64) ++static char cpu_arch[] = "ppc64"; + #elif defined(SPARC) + # ifdef _LP64 + static char cpu_arch[] = "sparcv9"; +@@ -411,12 +450,21 @@ const char *v = ::getenv("LD_LIBRARY_PATH"); const char *v_colon = ":"; if (v == NULL) { v = ""; v_colon = ""; } @@ -3215,7 +3535,39 @@ Arguments::set_library_path(ld_library_path); FREE_C_HEAP_ARRAY(char, ld_library_path, mtInternal); } -@@ -1190,35 +1235,38 @@ +@@ -591,6 +639,9 @@ + sigaddset(&unblocked_sigs, SIGSEGV); + sigaddset(&unblocked_sigs, SIGBUS); + sigaddset(&unblocked_sigs, SIGFPE); ++#if defined(PPC64) ++ sigaddset(&unblocked_sigs, SIGTRAP); ++#endif + sigaddset(&unblocked_sigs, SR_signum); + + if (!ReduceSignalUsage) { +@@ -983,6 +1034,13 @@ + bool os::vtime_enabled() { return false; } + + double os::elapsedVTime() { ++#ifdef RUSAGE_THREAD ++ struct rusage usage; ++ int retval = getrusage(RUSAGE_THREAD, &usage); ++ if (retval == 0) { ++ return (double) (usage.ru_utime.tv_sec + usage.ru_stime.tv_sec) + (double) (usage.ru_utime.tv_usec + usage.ru_stime.tv_usec) / (1000 * 1000); ++ } ++#endif + // better than nothing, but not much + return elapsedTime(); + } +@@ -1013,6 +1071,7 @@ + // yes, monotonic clock is supported + _clock_gettime = ::clock_gettime; + } ++ _getcpuclockid = (int (*)(pthread_t, clockid_t *))dlsym(RTLD_DEFAULT, "pthread_getcpuclockid"); + } + #endif + +@@ -1190,35 +1249,38 @@ pid_t os::Bsd::gettid() { int retval = -1; @@ -3266,7 +3618,7 @@ #else return (intx)::pthread_self(); #endif -@@ -1696,14 +1744,14 @@ +@@ -1696,14 +1758,14 @@ } void os::print_os_info_brief(outputStream* st) { @@ -3283,7 +3635,7 @@ os::Posix::print_uname_info(st); -@@ -1716,6 +1764,29 @@ +@@ -1716,6 +1778,29 @@ // Nothing to do for now. } @@ -3313,7 +3665,7 @@ void os::print_memory_info(outputStream* st) { st->print("Memory:"); -@@ -1725,11 +1796,14 @@ +@@ -1725,11 +1810,14 @@ os::physical_memory() >> 10); st->print("(" UINT64_FORMAT "k free)", os::available_memory() >> 10); @@ -3333,7 +3685,17 @@ st->cr(); } -@@ -1965,7 +2039,7 @@ +@@ -1768,6 +1856,9 @@ + print_signal_handler(st, SHUTDOWN2_SIGNAL , buf, buflen); + print_signal_handler(st, SHUTDOWN3_SIGNAL , buf, buflen); + print_signal_handler(st, BREAK_SIGNAL, buf, buflen); ++#if defined(PPC64) ++ print_signal_handler(st, SIGTRAP, buf, buflen); ++#endif + } + + static char saved_jvm_path[MAXPATHLEN] = {0}; +@@ -1965,7 +2056,7 @@ os_semaphore_t _semaphore; }; @@ -3342,7 +3704,7 @@ SEM_INIT(_semaphore, 0); } -@@ -2153,7 +2227,7 @@ +@@ -2153,7 +2244,7 @@ if (::write(fd, "", 1) == 1) { mmap(base, size, PROT_READ|PROT_WRITE|PROT_EXEC, @@ -3351,7 +3713,7 @@ } } ::close(fd); -@@ -2263,7 +2337,7 @@ +@@ -2263,7 +2354,7 @@ return ::mprotect(addr, size, PROT_NONE) == 0; #else uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE, @@ -3360,7 +3722,7 @@ return res != (uintptr_t) MAP_FAILED; #endif } -@@ -2290,7 +2364,7 @@ +@@ -2290,7 +2381,7 @@ char * addr; int flags; @@ -3369,7 +3731,7 @@ if (fixed) { assert((uintptr_t)requested_addr % os::Bsd::page_size() == 0, "unaligned address"); flags |= MAP_FIXED; -@@ -2779,6 +2853,7 @@ +@@ -2779,6 +2870,7 @@ return OS_OK; #elif defined(__FreeBSD__) int ret = pthread_setprio(thread->osthread()->pthread_id(), newpri); @@ -3377,7 +3739,17 @@ #elif defined(__APPLE__) || defined(__NetBSD__) struct sched_param sp; int policy; -@@ -3373,18 +3448,6 @@ +@@ -3325,6 +3417,9 @@ + set_signal_handler(SIGBUS, true); + set_signal_handler(SIGILL, true); + set_signal_handler(SIGFPE, true); ++#if defined(PPC64) ++ set_signal_handler(SIGTRAP, true); ++#endif + set_signal_handler(SIGXFSZ, true); + + #if defined(__APPLE__) +@@ -3373,18 +3468,6 @@ } } @@ -3396,7 +3768,7 @@ static const char* get_signal_handler_name(address handler, char* buf, int buflen) { int offset; -@@ -3408,9 +3471,6 @@ +@@ -3408,9 +3491,6 @@ sigaction(sig, NULL, &sa); @@ -3406,7 +3778,7 @@ st->print("%s: ", os::exception_name(sig, buf, buflen)); address handler = (sa.sa_flags & SA_SIGINFO) -@@ -3432,7 +3492,7 @@ +@@ -3432,7 +3512,7 @@ // May be, handler was resetted by VMError? if(rh != NULL) { handler = rh; @@ -3415,7 +3787,17 @@ } st->print(", sa_flags="); -@@ -3508,8 +3568,6 @@ +@@ -3474,6 +3554,9 @@ + DO_SIGNAL_CHECK(SIGBUS); + DO_SIGNAL_CHECK(SIGPIPE); + DO_SIGNAL_CHECK(SIGXFSZ); ++#if defined(PPC64) ++ DO_SIGNAL_CHECK(SIGTRAP); ++#endif + + + // ReduceSignalUsage allows the user to override these handlers +@@ -3508,8 +3591,6 @@ os_sigaction(sig, (struct sigaction*)NULL, &act); @@ -3424,7 +3806,7 @@ address thisHandler = (act.sa_flags & SA_SIGINFO) ? CAST_FROM_FN_PTR(address, act.sa_sigaction) : CAST_FROM_FN_PTR(address, act.sa_handler) ; -@@ -3574,6 +3632,14 @@ +@@ -3574,6 +3655,14 @@ extern bool signal_name(int signo, char* buf, size_t len); @@ -3439,7 +3821,7 @@ const char* os::exception_name(int exception_code, char* buf, size_t size) { if (0 < exception_code && exception_code <= SIGRTMAX) { // signal -@@ -3770,6 +3836,19 @@ +@@ -3770,6 +3859,19 @@ }; int os::active_processor_count() { @@ -3459,7 +3841,7 @@ return _processor_count; } -@@ -3981,7 +4060,10 @@ +@@ -3981,7 +4083,10 @@ } int fd; int o_delete = (oflag & O_DELETE); @@ -3471,7 +3853,7 @@ fd = ::open(path, oflag, mode); if (fd == -1) return -1; -@@ -4026,7 +4108,7 @@ +@@ -4026,7 +4131,7 @@ * 4843136: (process) pipe file descriptor from Runtime.exec not being closed * 6339493: (process) Runtime.exec does not close all file descriptors on Solaris 9 */ @@ -3480,7 +3862,96 @@ { int flags = ::fcntl(fd, F_GETFD); if (flags != -1) -@@ -4822,13 +4904,29 @@ +@@ -4166,8 +4271,9 @@ + #ifdef __APPLE__ + return os::thread_cpu_time(Thread::current(), true /* user + sys */); + #else +- Unimplemented(); +- return 0; ++ if (Bsd::_getcpuclockid != NULL) ++ return os::thread_cpu_time(Thread::current(), true /* user + sys */); ++ return -1; + #endif + } + +@@ -4175,8 +4281,9 @@ + #ifdef __APPLE__ + return os::thread_cpu_time(thread, true /* user + sys */); + #else +- Unimplemented(); +- return 0; ++ if (Bsd::_getcpuclockid != NULL) ++ return os::thread_cpu_time(thread, true /* user + sys */); ++ return -1; + #endif + } + +@@ -4184,8 +4291,9 @@ + #ifdef __APPLE__ + return os::thread_cpu_time(Thread::current(), user_sys_cpu_time); + #else +- Unimplemented(); +- return 0; ++ if (Bsd::_getcpuclockid != NULL) ++ return os::thread_cpu_time(Thread::current(), user_sys_cpu_time); ++ return -1; + #endif + } + +@@ -4210,8 +4318,41 @@ + return ((jlong)tinfo.user_time.seconds * 1000000000) + ((jlong)tinfo.user_time.microseconds * (jlong)1000); + } + #else +- Unimplemented(); +- return 0; ++ if (user_sys_cpu_time && Bsd::_getcpuclockid != NULL) { ++ struct timespec tp; ++ clockid_t clockid; ++ int ret; ++ ++ /* ++ * XXX This is essentially a copy of the Linux implementation, ++ * but with fewer indirections. ++ */ ++ ret = Bsd::_getcpuclockid(thread->osthread()->pthread_id(), &clockid); ++ if (ret != 0) ++ return -1; ++ /* NB: _clock_gettime only needs to be valid for CLOCK_MONOTONIC. */ ++ ret = ::clock_gettime(clockid, &tp); ++ if (ret != 0) ++ return -1; ++ return (tp.tv_sec * NANOSECS_PER_SEC) + tp.tv_nsec; ++ } ++#ifdef RUSAGE_THREAD ++ if (thread == Thread::current()) { ++ struct rusage usage; ++ jlong nanos; ++ ++ if (getrusage(RUSAGE_THREAD, &usage) != 0) ++ return -1; ++ nanos = (jlong)usage.ru_utime.tv_sec * NANOSECS_PER_SEC; ++ nanos += (jlong)usage.ru_utime.tv_usec * 1000; ++ if (user_sys_cpu_time) { ++ nanos += (jlong)usage.ru_stime.tv_sec * NANOSECS_PER_SEC; ++ nanos += (jlong)usage.ru_stime.tv_usec * 1000; ++ } ++ return nanos; ++ } ++#endif ++ return -1; + #endif + } + +@@ -4234,7 +4375,7 @@ + #ifdef __APPLE__ + return true; + #else +- return false; ++ return (Bsd::_getcpuclockid != NULL); + #endif + } + +@@ -4822,13 +4963,29 @@ // Get the default path to the core file // Returns the length of the string @@ -3517,8 +3988,37 @@ } #ifndef PRODUCT ---- ./hotspot/src/os/bsd/vm/vmError_bsd.cpp Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/os/bsd/vm/vmError_bsd.cpp Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/src/os/bsd/vm/os_bsd.hpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/os/bsd/vm/os_bsd.hpp Mon May 09 17:15:53 2016 -0400 +@@ -58,12 +58,16 @@ + // For signal flags diagnostics + static int sigflags[MAXSIGNUM]; + ++ static address _initial_thread_stack_bottom; ++ static uintptr_t _initial_thread_stack_size; ++ + #ifdef __APPLE__ + // mach_absolute_time + static mach_timebase_info_data_t _timebase_info; + static volatile uint64_t _max_abstime; + #else + static int (*_clock_gettime)(clockid_t, struct timespec *); ++ static int (*_getcpuclockid)(pthread_t, clockid_t *); + #endif + + static GrowableArray<int>* _cpu_to_node; +@@ -95,6 +99,9 @@ + static bool is_initial_thread(void); + static pid_t gettid(); + ++ static address initial_thread_stack_bottom(void) { return _initial_thread_stack_bottom; } ++ static uintptr_t initial_thread_stack_size(void) { return _initial_thread_stack_size; } ++ + static int page_size(void) { return _page_size; } + static void set_page_size(int val) { _page_size = val; } + +--- ./hotspot/src/os/bsd/vm/vmError_bsd.cpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/os/bsd/vm/vmError_bsd.cpp Mon May 09 17:15:53 2016 -0400 @@ -33,30 +33,50 @@ #include <sys/syscall.h> #include <unistd.h> @@ -3580,8 +4080,8 @@ os::fork_and_exec(buf); yes = false; } ---- ./hotspot/src/os/linux/vm/os_linux.cpp Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/os/linux/vm/os_linux.cpp Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/src/os/linux/vm/os_linux.cpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/os/linux/vm/os_linux.cpp Mon May 09 17:15:53 2016 -0400 @@ -6048,6 +6048,10 @@ return 0; } @@ -3593,8 +4093,8 @@ return strlen(buffer); } ---- ./hotspot/src/os/posix/vm/os_posix.cpp Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/os/posix/vm/os_posix.cpp Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/src/os/posix/vm/os_posix.cpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/os/posix/vm/os_posix.cpp Mon May 09 17:15:53 2016 -0400 @@ -53,12 +53,11 @@ n = get_core_path(buffer, bufferSize); @@ -3657,9 +4157,9 @@ // Linux specific #ifdef SI_TKILL { SI_TKILL, "SI_TKILL", "Signal sent by tkill (pthread_kill)" }, ---- ./hotspot/src/os/solaris/vm/os_solaris.cpp Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/os/solaris/vm/os_solaris.cpp Mon Jan 25 21:17:47 2016 -0800 -@@ -6500,6 +6500,10 @@ +--- ./hotspot/src/os/solaris/vm/os_solaris.cpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/os/solaris/vm/os_solaris.cpp Mon May 09 17:15:53 2016 -0400 +@@ -6375,6 +6375,10 @@ return 0; } @@ -3670,8 +4170,3328 @@ return strlen(buffer); } ---- ./hotspot/src/share/vm/opto/node.cpp Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/share/vm/opto/node.cpp Mon Jan 25 21:17:47 2016 -0800 +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ ./hotspot/src/os_cpu/bsd_ppc/vm/atomic_bsd_ppc.inline.hpp Mon May 09 17:15:53 2016 -0400 +@@ -0,0 +1,800 @@ ++/* ++ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_ATOMIC_BSD_PPC_INLINE_HPP ++#define OS_CPU_BSD_PPC_VM_ATOMIC_BSD_PPC_INLINE_HPP ++ ++#include "runtime/atomic.hpp" ++#include "runtime/os.hpp" ++#include "vm_version_ppc.hpp" ++ ++#ifndef PPC64 ++#error "Atomic currently only implemented for PPC64" ++#endif ++ ++// Implementation of class atomic ++ ++inline void Atomic::store (jbyte store_value, jbyte* dest) { *dest = store_value; } ++inline void Atomic::store (jshort store_value, jshort* dest) { *dest = store_value; } ++inline void Atomic::store (jint store_value, jint* dest) { *dest = store_value; } ++inline void Atomic::store (jlong store_value, jlong* dest) { *dest = store_value; } ++inline void Atomic::store_ptr(intptr_t store_value, intptr_t* dest) { *dest = store_value; } ++inline void Atomic::store_ptr(void* store_value, void* dest) { *(void**)dest = store_value; } ++ ++inline void Atomic::store (jbyte store_value, volatile jbyte* dest) { *dest = store_value; } ++inline void Atomic::store (jshort store_value, volatile jshort* dest) { *dest = store_value; } ++inline void Atomic::store (jint store_value, volatile jint* dest) { *dest = store_value; } ++inline void Atomic::store (jlong store_value, volatile jlong* dest) { *dest = store_value; } ++inline void Atomic::store_ptr(intptr_t store_value, volatile intptr_t* dest) { *dest = store_value; } ++inline void Atomic::store_ptr(void* store_value, volatile void* dest) { *(void* volatile *)dest = store_value; } ++ ++inline jlong Atomic::load(volatile jlong* src) { return *src; } ++ ++// ++// machine barrier instructions: ++// ++// - sync two-way memory barrier, aka fence ++// - lwsync orders Store|Store, ++// Load|Store, ++// Load|Load, ++// but not Store|Load ++// - eieio orders memory accesses for device memory (only) ++// - isync invalidates speculatively executed instructions ++// From the POWER ISA 2.06 documentation: ++// "[...] an isync instruction prevents the execution of ++// instructions following the isync until instructions ++// preceding the isync have completed, [...]" ++// From IBM's AIX assembler reference: ++// "The isync [...] instructions causes the processor to ++// refetch any instructions that might have been fetched ++// prior to the isync instruction. The instruction isync ++// causes the processor to wait for all previous instructions ++// to complete. Then any instructions already fetched are ++// discarded and instruction processing continues in the ++// environment established by the previous instructions." ++// ++// semantic barrier instructions: ++// (as defined in orderAccess.hpp) ++// ++// - release orders Store|Store, (maps to lwsync) ++// Load|Store ++// - acquire orders Load|Store, (maps to lwsync) ++// Load|Load ++// - fence orders Store|Store, (maps to sync) ++// Load|Store, ++// Load|Load, ++// Store|Load ++// ++ ++#define strasm_sync "\n sync \n" ++#define strasm_lwsync "\n lwsync \n" ++#define strasm_isync "\n isync \n" ++#define strasm_release strasm_lwsync ++#define strasm_acquire strasm_lwsync ++#define strasm_fence strasm_sync ++#define strasm_nobarrier "" ++#define strasm_nobarrier_clobber_memory "" ++ ++inline jint Atomic::add (jint add_value, volatile jint* dest) { ++ ++ unsigned int result; ++ ++ __asm__ __volatile__ ( ++ strasm_lwsync ++ "1: lwarx %0, 0, %2 \n" ++ " add %0, %0, %1 \n" ++ " stwcx. %0, 0, %2 \n" ++ " bne- 1b \n" ++ strasm_isync ++ : /*%0*/"=&r" (result) ++ : /*%1*/"r" (add_value), /*%2*/"r" (dest) ++ : "cc", "memory" ); ++ ++ return (jint) result; ++} ++ ++ ++inline intptr_t Atomic::add_ptr(intptr_t add_value, volatile intptr_t* dest) { ++ ++ long result; ++ ++ __asm__ __volatile__ ( ++ strasm_lwsync ++ "1: ldarx %0, 0, %2 \n" ++ " add %0, %0, %1 \n" ++ " stdcx. %0, 0, %2 \n" ++ " bne- 1b \n" ++ strasm_isync ++ : /*%0*/"=&r" (result) ++ : /*%1*/"r" (add_value), /*%2*/"r" (dest) ++ : "cc", "memory" ); ++ ++ return (intptr_t) result; ++} ++ ++inline void* Atomic::add_ptr(intptr_t add_value, volatile void* dest) { ++ return (void*)add_ptr(add_value, (volatile intptr_t*)dest); ++} ++ ++ ++inline void Atomic::inc (volatile jint* dest) { ++ ++ unsigned int temp; ++ ++ __asm__ __volatile__ ( ++ strasm_nobarrier ++ "1: lwarx %0, 0, %2 \n" ++ " addic %0, %0, 1 \n" ++ " stwcx. %0, 0, %2 \n" ++ " bne- 1b \n" ++ strasm_nobarrier ++ : /*%0*/"=&r" (temp), "=m" (*dest) ++ : /*%2*/"r" (dest), "m" (*dest) ++ : "cc" strasm_nobarrier_clobber_memory); ++ ++} ++ ++inline void Atomic::inc_ptr(volatile intptr_t* dest) { ++ ++ long temp; ++ ++ __asm__ __volatile__ ( ++ strasm_nobarrier ++ "1: ldarx %0, 0, %2 \n" ++ " addic %0, %0, 1 \n" ++ " stdcx. %0, 0, %2 \n" ++ " bne- 1b \n" ++ strasm_nobarrier ++ : /*%0*/"=&r" (temp), "=m" (*dest) ++ : /*%2*/"r" (dest), "m" (*dest) ++ : "cc" strasm_nobarrier_clobber_memory); ++ ++} ++ ++inline void Atomic::inc_ptr(volatile void* dest) { ++ inc_ptr((volatile intptr_t*)dest); ++} ++ ++ ++inline void Atomic::dec (volatile jint* dest) { ++ ++ unsigned int temp; ++ ++ __asm__ __volatile__ ( ++ strasm_nobarrier ++ "1: lwarx %0, 0, %2 \n" ++ " addic %0, %0, -1 \n" ++ " stwcx. %0, 0, %2 \n" ++ " bne- 1b \n" ++ strasm_nobarrier ++ : /*%0*/"=&r" (temp), "=m" (*dest) ++ : /*%2*/"r" (dest), "m" (*dest) ++ : "cc" strasm_nobarrier_clobber_memory); ++ ++} ++ ++inline void Atomic::dec_ptr(volatile intptr_t* dest) { ++ ++ long temp; ++ ++ __asm__ __volatile__ ( ++ strasm_nobarrier ++ "1: ldarx %0, 0, %2 \n" ++ " addic %0, %0, -1 \n" ++ " stdcx. %0, 0, %2 \n" ++ " bne- 1b \n" ++ strasm_nobarrier ++ : /*%0*/"=&r" (temp), "=m" (*dest) ++ : /*%2*/"r" (dest), "m" (*dest) ++ : "cc" strasm_nobarrier_clobber_memory); ++ ++} ++ ++inline void Atomic::dec_ptr(volatile void* dest) { ++ dec_ptr((volatile intptr_t*)dest); ++} ++ ++inline jint Atomic::xchg(jint exchange_value, volatile jint* dest) { ++ ++ // Note that xchg_ptr doesn't necessarily do an acquire ++ // (see synchronizer.cpp). ++ ++ unsigned int old_value; ++ const uint64_t zero = 0; ++ ++ __asm__ __volatile__ ( ++ /* lwsync */ ++ strasm_lwsync ++ /* atomic loop */ ++ "1: \n" ++ " lwarx %[old_value], %[dest], %[zero] \n" ++ " stwcx. %[exchange_value], %[dest], %[zero] \n" ++ " bne- 1b \n" ++ /* isync */ ++ strasm_sync ++ /* exit */ ++ "2: \n" ++ /* out */ ++ : [old_value] "=&r" (old_value), ++ "=m" (*dest) ++ /* in */ ++ : [dest] "b" (dest), ++ [zero] "r" (zero), ++ [exchange_value] "r" (exchange_value), ++ "m" (*dest) ++ /* clobber */ ++ : "cc", ++ "memory" ++ ); ++ ++ return (jint) old_value; ++} ++ ++inline intptr_t Atomic::xchg_ptr(intptr_t exchange_value, volatile intptr_t* dest) { ++ ++ // Note that xchg_ptr doesn't necessarily do an acquire ++ // (see synchronizer.cpp). ++ ++ long old_value; ++ const uint64_t zero = 0; ++ ++ __asm__ __volatile__ ( ++ /* lwsync */ ++ strasm_lwsync ++ /* atomic loop */ ++ "1: \n" ++ " ldarx %[old_value], %[dest], %[zero] \n" ++ " stdcx. %[exchange_value], %[dest], %[zero] \n" ++ " bne- 1b \n" ++ /* isync */ ++ strasm_sync ++ /* exit */ ++ "2: \n" ++ /* out */ ++ : [old_value] "=&r" (old_value), ++ "=m" (*dest) ++ /* in */ ++ : [dest] "b" (dest), ++ [zero] "r" (zero), ++ [exchange_value] "r" (exchange_value), ++ "m" (*dest) ++ /* clobber */ ++ : "cc", ++ "memory" ++ ); ++ ++ return (intptr_t) old_value; ++} ++ ++inline void* Atomic::xchg_ptr(void* exchange_value, volatile void* dest) { ++ return (void*)xchg_ptr((intptr_t)exchange_value, (volatile intptr_t*)dest); ++} ++ ++inline jint Atomic::cmpxchg(jint exchange_value, volatile jint* dest, jint compare_value) { ++ ++ // Note that cmpxchg guarantees a two-way memory barrier across ++ // the cmpxchg, so it's really a a 'fence_cmpxchg_acquire' ++ // (see atomic.hpp). ++ ++ unsigned int old_value; ++ const uint64_t zero = 0; ++ ++ __asm__ __volatile__ ( ++ /* fence */ ++ strasm_sync ++ /* simple guard */ ++ " lwz %[old_value], 0(%[dest]) \n" ++ " cmpw %[compare_value], %[old_value] \n" ++ " bne- 2f \n" ++ /* atomic loop */ ++ "1: \n" ++ " lwarx %[old_value], %[dest], %[zero] \n" ++ " cmpw %[compare_value], %[old_value] \n" ++ " bne- 2f \n" ++ " stwcx. %[exchange_value], %[dest], %[zero] \n" ++ " bne- 1b \n" ++ /* acquire */ ++ strasm_sync ++ /* exit */ ++ "2: \n" ++ /* out */ ++ : [old_value] "=&r" (old_value), ++ "=m" (*dest) ++ /* in */ ++ : [dest] "b" (dest), ++ [zero] "r" (zero), ++ [compare_value] "r" (compare_value), ++ [exchange_value] "r" (exchange_value), ++ "m" (*dest) ++ /* clobber */ ++ : "cc", ++ "memory" ++ ); ++ ++ return (jint) old_value; ++} ++ ++inline jlong Atomic::cmpxchg(jlong exchange_value, volatile jlong* dest, jlong compare_value) { ++ ++ // Note that cmpxchg guarantees a two-way memory barrier across ++ // the cmpxchg, so it's really a a 'fence_cmpxchg_acquire' ++ // (see atomic.hpp). ++ ++ long old_value; ++ const uint64_t zero = 0; ++ ++ __asm__ __volatile__ ( ++ /* fence */ ++ strasm_sync ++ /* simple guard */ ++ " ld %[old_value], 0(%[dest]) \n" ++ " cmpd %[compare_value], %[old_value] \n" ++ " bne- 2f \n" ++ /* atomic loop */ ++ "1: \n" ++ " ldarx %[old_value], %[dest], %[zero] \n" ++ " cmpd %[compare_value], %[old_value] \n" ++ " bne- 2f \n" ++ " stdcx. %[exchange_value], %[dest], %[zero] \n" ++ " bne- 1b \n" ++ /* acquire */ ++ strasm_sync ++ /* exit */ ++ "2: \n" ++ /* out */ ++ : [old_value] "=&r" (old_value), ++ "=m" (*dest) ++ /* in */ ++ : [dest] "b" (dest), ++ [zero] "r" (zero), ++ [compare_value] "r" (compare_value), ++ [exchange_value] "r" (exchange_value), ++ "m" (*dest) ++ /* clobber */ ++ : "cc", ++ "memory" ++ ); ++ ++ return (jlong) old_value; ++} ++ ++inline intptr_t Atomic::cmpxchg_ptr(intptr_t exchange_value, volatile intptr_t* dest, intptr_t compare_value) { ++ return (intptr_t)cmpxchg((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value); ++} ++ ++inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void* dest, void* compare_value) { ++ return (void*)cmpxchg((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value); ++} ++ ++#undef strasm_sync ++#undef strasm_lwsync ++#undef strasm_isync ++#undef strasm_release ++#undef strasm_acquire ++#undef strasm_fence ++#undef strasm_nobarrier ++#undef strasm_nobarrier_clobber_memory ++ ++#endif // OS_CPU_BSD_PPC_VM_ATOMIC_BSD_PPC_INLINE_HPP ++/* ++ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_ATOMIC_BSD_PPC_INLINE_HPP ++#define OS_CPU_BSD_PPC_VM_ATOMIC_BSD_PPC_INLINE_HPP ++ ++#include "runtime/atomic.hpp" ++#include "runtime/os.hpp" ++#include "vm_version_ppc.hpp" ++ ++#ifndef PPC64 ++#error "Atomic currently only implemented for PPC64" ++#endif ++ ++// Implementation of class atomic ++ ++inline void Atomic::store (jbyte store_value, jbyte* dest) { *dest = store_value; } ++inline void Atomic::store (jshort store_value, jshort* dest) { *dest = store_value; } ++inline void Atomic::store (jint store_value, jint* dest) { *dest = store_value; } ++inline void Atomic::store (jlong store_value, jlong* dest) { *dest = store_value; } ++inline void Atomic::store_ptr(intptr_t store_value, intptr_t* dest) { *dest = store_value; } ++inline void Atomic::store_ptr(void* store_value, void* dest) { *(void**)dest = store_value; } ++ ++inline void Atomic::store (jbyte store_value, volatile jbyte* dest) { *dest = store_value; } ++inline void Atomic::store (jshort store_value, volatile jshort* dest) { *dest = store_value; } ++inline void Atomic::store (jint store_value, volatile jint* dest) { *dest = store_value; } ++inline void Atomic::store (jlong store_value, volatile jlong* dest) { *dest = store_value; } ++inline void Atomic::store_ptr(intptr_t store_value, volatile intptr_t* dest) { *dest = store_value; } ++inline void Atomic::store_ptr(void* store_value, volatile void* dest) { *(void* volatile *)dest = store_value; } ++ ++inline jlong Atomic::load(volatile jlong* src) { return *src; } ++ ++// ++// machine barrier instructions: ++// ++// - sync two-way memory barrier, aka fence ++// - lwsync orders Store|Store, ++// Load|Store, ++// Load|Load, ++// but not Store|Load ++// - eieio orders memory accesses for device memory (only) ++// - isync invalidates speculatively executed instructions ++// From the POWER ISA 2.06 documentation: ++// "[...] an isync instruction prevents the execution of ++// instructions following the isync until instructions ++// preceding the isync have completed, [...]" ++// From IBM's AIX assembler reference: ++// "The isync [...] instructions causes the processor to ++// refetch any instructions that might have been fetched ++// prior to the isync instruction. The instruction isync ++// causes the processor to wait for all previous instructions ++// to complete. Then any instructions already fetched are ++// discarded and instruction processing continues in the ++// environment established by the previous instructions." ++// ++// semantic barrier instructions: ++// (as defined in orderAccess.hpp) ++// ++// - release orders Store|Store, (maps to lwsync) ++// Load|Store ++// - acquire orders Load|Store, (maps to lwsync) ++// Load|Load ++// - fence orders Store|Store, (maps to sync) ++// Load|Store, ++// Load|Load, ++// Store|Load ++// ++ ++#define strasm_sync "\n sync \n" ++#define strasm_lwsync "\n lwsync \n" ++#define strasm_isync "\n isync \n" ++#define strasm_release strasm_lwsync ++#define strasm_acquire strasm_lwsync ++#define strasm_fence strasm_sync ++#define strasm_nobarrier "" ++#define strasm_nobarrier_clobber_memory "" ++ ++inline jint Atomic::add (jint add_value, volatile jint* dest) { ++ ++ unsigned int result; ++ ++ __asm__ __volatile__ ( ++ strasm_lwsync ++ "1: lwarx %0, 0, %2 \n" ++ " add %0, %0, %1 \n" ++ " stwcx. %0, 0, %2 \n" ++ " bne- 1b \n" ++ strasm_isync ++ : /*%0*/"=&r" (result) ++ : /*%1*/"r" (add_value), /*%2*/"r" (dest) ++ : "cc", "memory" ); ++ ++ return (jint) result; ++} ++ ++ ++inline intptr_t Atomic::add_ptr(intptr_t add_value, volatile intptr_t* dest) { ++ ++ long result; ++ ++ __asm__ __volatile__ ( ++ strasm_lwsync ++ "1: ldarx %0, 0, %2 \n" ++ " add %0, %0, %1 \n" ++ " stdcx. %0, 0, %2 \n" ++ " bne- 1b \n" ++ strasm_isync ++ : /*%0*/"=&r" (result) ++ : /*%1*/"r" (add_value), /*%2*/"r" (dest) ++ : "cc", "memory" ); ++ ++ return (intptr_t) result; ++} ++ ++inline void* Atomic::add_ptr(intptr_t add_value, volatile void* dest) { ++ return (void*)add_ptr(add_value, (volatile intptr_t*)dest); ++} ++ ++ ++inline void Atomic::inc (volatile jint* dest) { ++ ++ unsigned int temp; ++ ++ __asm__ __volatile__ ( ++ strasm_nobarrier ++ "1: lwarx %0, 0, %2 \n" ++ " addic %0, %0, 1 \n" ++ " stwcx. %0, 0, %2 \n" ++ " bne- 1b \n" ++ strasm_nobarrier ++ : /*%0*/"=&r" (temp), "=m" (*dest) ++ : /*%2*/"r" (dest), "m" (*dest) ++ : "cc" strasm_nobarrier_clobber_memory); ++ ++} ++ ++inline void Atomic::inc_ptr(volatile intptr_t* dest) { ++ ++ long temp; ++ ++ __asm__ __volatile__ ( ++ strasm_nobarrier ++ "1: ldarx %0, 0, %2 \n" ++ " addic %0, %0, 1 \n" ++ " stdcx. %0, 0, %2 \n" ++ " bne- 1b \n" ++ strasm_nobarrier ++ : /*%0*/"=&r" (temp), "=m" (*dest) ++ : /*%2*/"r" (dest), "m" (*dest) ++ : "cc" strasm_nobarrier_clobber_memory); ++ ++} ++ ++inline void Atomic::inc_ptr(volatile void* dest) { ++ inc_ptr((volatile intptr_t*)dest); ++} ++ ++ ++inline void Atomic::dec (volatile jint* dest) { ++ ++ unsigned int temp; ++ ++ __asm__ __volatile__ ( ++ strasm_nobarrier ++ "1: lwarx %0, 0, %2 \n" ++ " addic %0, %0, -1 \n" ++ " stwcx. %0, 0, %2 \n" ++ " bne- 1b \n" ++ strasm_nobarrier ++ : /*%0*/"=&r" (temp), "=m" (*dest) ++ : /*%2*/"r" (dest), "m" (*dest) ++ : "cc" strasm_nobarrier_clobber_memory); ++ ++} ++ ++inline void Atomic::dec_ptr(volatile intptr_t* dest) { ++ ++ long temp; ++ ++ __asm__ __volatile__ ( ++ strasm_nobarrier ++ "1: ldarx %0, 0, %2 \n" ++ " addic %0, %0, -1 \n" ++ " stdcx. %0, 0, %2 \n" ++ " bne- 1b \n" ++ strasm_nobarrier ++ : /*%0*/"=&r" (temp), "=m" (*dest) ++ : /*%2*/"r" (dest), "m" (*dest) ++ : "cc" strasm_nobarrier_clobber_memory); ++ ++} ++ ++inline void Atomic::dec_ptr(volatile void* dest) { ++ dec_ptr((volatile intptr_t*)dest); ++} ++ ++inline jint Atomic::xchg(jint exchange_value, volatile jint* dest) { ++ ++ // Note that xchg_ptr doesn't necessarily do an acquire ++ // (see synchronizer.cpp). ++ ++ unsigned int old_value; ++ const uint64_t zero = 0; ++ ++ __asm__ __volatile__ ( ++ /* lwsync */ ++ strasm_lwsync ++ /* atomic loop */ ++ "1: \n" ++ " lwarx %[old_value], %[dest], %[zero] \n" ++ " stwcx. %[exchange_value], %[dest], %[zero] \n" ++ " bne- 1b \n" ++ /* isync */ ++ strasm_sync ++ /* exit */ ++ "2: \n" ++ /* out */ ++ : [old_value] "=&r" (old_value), ++ "=m" (*dest) ++ /* in */ ++ : [dest] "b" (dest), ++ [zero] "r" (zero), ++ [exchange_value] "r" (exchange_value), ++ "m" (*dest) ++ /* clobber */ ++ : "cc", ++ "memory" ++ ); ++ ++ return (jint) old_value; ++} ++ ++inline intptr_t Atomic::xchg_ptr(intptr_t exchange_value, volatile intptr_t* dest) { ++ ++ // Note that xchg_ptr doesn't necessarily do an acquire ++ // (see synchronizer.cpp). ++ ++ long old_value; ++ const uint64_t zero = 0; ++ ++ __asm__ __volatile__ ( ++ /* lwsync */ ++ strasm_lwsync ++ /* atomic loop */ ++ "1: \n" ++ " ldarx %[old_value], %[dest], %[zero] \n" ++ " stdcx. %[exchange_value], %[dest], %[zero] \n" ++ " bne- 1b \n" ++ /* isync */ ++ strasm_sync ++ /* exit */ ++ "2: \n" ++ /* out */ ++ : [old_value] "=&r" (old_value), ++ "=m" (*dest) ++ /* in */ ++ : [dest] "b" (dest), ++ [zero] "r" (zero), ++ [exchange_value] "r" (exchange_value), ++ "m" (*dest) ++ /* clobber */ ++ : "cc", ++ "memory" ++ ); ++ ++ return (intptr_t) old_value; ++} ++ ++inline void* Atomic::xchg_ptr(void* exchange_value, volatile void* dest) { ++ return (void*)xchg_ptr((intptr_t)exchange_value, (volatile intptr_t*)dest); ++} ++ ++inline jint Atomic::cmpxchg(jint exchange_value, volatile jint* dest, jint compare_value) { ++ ++ // Note that cmpxchg guarantees a two-way memory barrier across ++ // the cmpxchg, so it's really a a 'fence_cmpxchg_acquire' ++ // (see atomic.hpp). ++ ++ unsigned int old_value; ++ const uint64_t zero = 0; ++ ++ __asm__ __volatile__ ( ++ /* fence */ ++ strasm_sync ++ /* simple guard */ ++ " lwz %[old_value], 0(%[dest]) \n" ++ " cmpw %[compare_value], %[old_value] \n" ++ " bne- 2f \n" ++ /* atomic loop */ ++ "1: \n" ++ " lwarx %[old_value], %[dest], %[zero] \n" ++ " cmpw %[compare_value], %[old_value] \n" ++ " bne- 2f \n" ++ " stwcx. %[exchange_value], %[dest], %[zero] \n" ++ " bne- 1b \n" ++ /* acquire */ ++ strasm_sync ++ /* exit */ ++ "2: \n" ++ /* out */ ++ : [old_value] "=&r" (old_value), ++ "=m" (*dest) ++ /* in */ ++ : [dest] "b" (dest), ++ [zero] "r" (zero), ++ [compare_value] "r" (compare_value), ++ [exchange_value] "r" (exchange_value), ++ "m" (*dest) ++ /* clobber */ ++ : "cc", ++ "memory" ++ ); ++ ++ return (jint) old_value; ++} ++ ++inline jlong Atomic::cmpxchg(jlong exchange_value, volatile jlong* dest, jlong compare_value) { ++ ++ // Note that cmpxchg guarantees a two-way memory barrier across ++ // the cmpxchg, so it's really a a 'fence_cmpxchg_acquire' ++ // (see atomic.hpp). ++ ++ long old_value; ++ const uint64_t zero = 0; ++ ++ __asm__ __volatile__ ( ++ /* fence */ ++ strasm_sync ++ /* simple guard */ ++ " ld %[old_value], 0(%[dest]) \n" ++ " cmpd %[compare_value], %[old_value] \n" ++ " bne- 2f \n" ++ /* atomic loop */ ++ "1: \n" ++ " ldarx %[old_value], %[dest], %[zero] \n" ++ " cmpd %[compare_value], %[old_value] \n" ++ " bne- 2f \n" ++ " stdcx. %[exchange_value], %[dest], %[zero] \n" ++ " bne- 1b \n" ++ /* acquire */ ++ strasm_sync ++ /* exit */ ++ "2: \n" ++ /* out */ ++ : [old_value] "=&r" (old_value), ++ "=m" (*dest) ++ /* in */ ++ : [dest] "b" (dest), ++ [zero] "r" (zero), ++ [compare_value] "r" (compare_value), ++ [exchange_value] "r" (exchange_value), ++ "m" (*dest) ++ /* clobber */ ++ : "cc", ++ "memory" ++ ); ++ ++ return (jlong) old_value; ++} ++ ++inline intptr_t Atomic::cmpxchg_ptr(intptr_t exchange_value, volatile intptr_t* dest, intptr_t compare_value) { ++ return (intptr_t)cmpxchg((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value); ++} ++ ++inline void* Atomic::cmpxchg_ptr(void* exchange_value, volatile void* dest, void* compare_value) { ++ return (void*)cmpxchg((jlong)exchange_value, (volatile jlong*)dest, (jlong)compare_value); ++} ++ ++#undef strasm_sync ++#undef strasm_lwsync ++#undef strasm_isync ++#undef strasm_release ++#undef strasm_acquire ++#undef strasm_fence ++#undef strasm_nobarrier ++#undef strasm_nobarrier_clobber_memory ++ ++#endif // OS_CPU_BSD_PPC_VM_ATOMIC_BSD_PPC_INLINE_HPP +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ ./hotspot/src/os_cpu/bsd_ppc/vm/bytes_bsd_ppc.inline.hpp Mon May 09 17:15:53 2016 -0400 +@@ -0,0 +1,78 @@ ++/* ++ * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2014 Google Inc. 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_BYTES_BSD_PPC_INLINE_HPP ++#define OS_CPU_BSD_PPC_VM_BYTES_BSD_PPC_INLINE_HPP ++ ++#if defined(VM_LITTLE_ENDIAN) ++#include <byteswap.h> ++ ++// Efficient swapping of data bytes from Java byte ++// ordering to native byte ordering and vice versa. ++inline u2 Bytes::swap_u2(u2 x) { return bswap_16(x); } ++inline u4 Bytes::swap_u4(u4 x) { return bswap_32(x); } ++inline u8 Bytes::swap_u8(u8 x) { return bswap_64(x); } ++#endif // VM_LITTLE_ENDIAN ++ ++#endif // OS_CPU_BSD_PPC_VM_BYTES_BSD_PPC_INLINE_HPP ++/* ++ * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2014 Google Inc. 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_BYTES_BSD_PPC_INLINE_HPP ++#define OS_CPU_BSD_PPC_VM_BYTES_BSD_PPC_INLINE_HPP ++ ++#if defined(VM_LITTLE_ENDIAN) ++#include <byteswap.h> ++ ++// Efficient swapping of data bytes from Java byte ++// ordering to native byte ordering and vice versa. ++inline u2 Bytes::swap_u2(u2 x) { return bswap_16(x); } ++inline u4 Bytes::swap_u4(u4 x) { return bswap_32(x); } ++inline u8 Bytes::swap_u8(u8 x) { return bswap_64(x); } ++#endif // VM_LITTLE_ENDIAN ++ ++#endif // OS_CPU_BSD_PPC_VM_BYTES_BSD_PPC_INLINE_HPP +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ ./hotspot/src/os_cpu/bsd_ppc/vm/globals_bsd_ppc.hpp Mon May 09 17:15:53 2016 -0400 +@@ -0,0 +1,108 @@ ++/* ++ * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_GLOBALS_BSD_PPC_HPP ++#define OS_CPU_BSD_PPC_VM_GLOBALS_BSD_PPC_HPP ++ ++// Sets the default values for platform dependent flags used by the runtime system. ++// (see globals.hpp) ++ ++define_pd_global(bool, DontYieldALot, false); ++define_pd_global(intx, ThreadStackSize, 2048); // 0 => use system default ++define_pd_global(intx, VMThreadStackSize, 2048); ++ ++// if we set CompilerThreadStackSize to a value different than 0, it will ++// be used in os::create_thread(). Otherwise, due the strange logic in os::create_thread(), ++// the stack size for compiler threads will default to VMThreadStackSize, although it ++// is defined to 4M in os::Bsd::default_stack_size()! ++define_pd_global(intx, CompilerThreadStackSize, 4096); ++ ++// Allow extra space in DEBUG builds for asserts. ++define_pd_global(uintx,JVMInvokeMethodSlack, 8192); ++ ++define_pd_global(intx, StackYellowPages, 6); ++define_pd_global(intx, StackRedPages, 1); ++define_pd_global(intx, StackShadowPages, 6 DEBUG_ONLY(+2)); ++ ++// Only used on 64 bit platforms ++define_pd_global(uintx,HeapBaseMinAddress, 2*G); ++// Only used on 64 bit Windows platforms ++define_pd_global(bool, UseVectoredExceptions, false); ++ ++#endif // OS_CPU_BSD_PPC_VM_GLOBALS_BSD_PPC_HPP ++/* ++ * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_GLOBALS_BSD_PPC_HPP ++#define OS_CPU_BSD_PPC_VM_GLOBALS_BSD_PPC_HPP ++ ++// Sets the default values for platform dependent flags used by the runtime system. ++// (see globals.hpp) ++ ++define_pd_global(bool, DontYieldALot, false); ++define_pd_global(intx, ThreadStackSize, 2048); // 0 => use system default ++define_pd_global(intx, VMThreadStackSize, 2048); ++ ++// if we set CompilerThreadStackSize to a value different than 0, it will ++// be used in os::create_thread(). Otherwise, due the strange logic in os::create_thread(), ++// the stack size for compiler threads will default to VMThreadStackSize, although it ++// is defined to 4M in os::Bsd::default_stack_size()! ++define_pd_global(intx, CompilerThreadStackSize, 4096); ++ ++// Allow extra space in DEBUG builds for asserts. ++define_pd_global(uintx,JVMInvokeMethodSlack, 8192); ++ ++define_pd_global(intx, StackYellowPages, 6); ++define_pd_global(intx, StackRedPages, 1); ++define_pd_global(intx, StackShadowPages, 6 DEBUG_ONLY(+2)); ++ ++// Only used on 64 bit platforms ++define_pd_global(uintx,HeapBaseMinAddress, 2*G); ++// Only used on 64 bit Windows platforms ++define_pd_global(bool, UseVectoredExceptions, false); ++ ++#endif // OS_CPU_BSD_PPC_VM_GLOBALS_BSD_PPC_HPP +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ ./hotspot/src/os_cpu/bsd_ppc/vm/orderAccess_bsd_ppc.inline.hpp Mon May 09 17:15:53 2016 -0400 +@@ -0,0 +1,298 @@ ++/* ++ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_ORDERACCESS_BSD_PPC_INLINE_HPP ++#define OS_CPU_BSD_PPC_VM_ORDERACCESS_BSD_PPC_INLINE_HPP ++ ++#include "runtime/orderAccess.hpp" ++#include "vm_version_ppc.hpp" ++ ++#ifndef PPC64 ++#error "OrderAccess currently only implemented for PPC64" ++#endif ++ ++// Implementation of class OrderAccess. ++ ++// ++// Machine barrier instructions: ++// ++// - sync Two-way memory barrier, aka fence. ++// - lwsync orders Store|Store, ++// Load|Store, ++// Load|Load, ++// but not Store|Load ++// - eieio orders Store|Store ++// - isync Invalidates speculatively executed instructions, ++// but isync may complete before storage accesses ++// associated with instructions preceding isync have ++// been performed. ++// ++// Semantic barrier instructions: ++// (as defined in orderAccess.hpp) ++// ++// - release orders Store|Store, (maps to lwsync) ++// Load|Store ++// - acquire orders Load|Store, (maps to lwsync) ++// Load|Load ++// - fence orders Store|Store, (maps to sync) ++// Load|Store, ++// Load|Load, ++// Store|Load ++// ++ ++#define inlasm_sync() __asm__ __volatile__ ("sync" : : : "memory"); ++#define inlasm_lwsync() __asm__ __volatile__ ("lwsync" : : : "memory"); ++#define inlasm_eieio() __asm__ __volatile__ ("eieio" : : : "memory"); ++#define inlasm_isync() __asm__ __volatile__ ("isync" : : : "memory"); ++#define inlasm_release() inlasm_lwsync(); ++#define inlasm_acquire() inlasm_lwsync(); ++// Use twi-isync for load_acquire (faster than lwsync). ++#define inlasm_acquire_reg(X) __asm__ __volatile__ ("twi 0,%0,0\n isync\n" : : "r" (X) : "memory"); ++#define inlasm_fence() inlasm_sync(); ++ ++inline void OrderAccess::loadload() { inlasm_lwsync(); } ++inline void OrderAccess::storestore() { inlasm_lwsync(); } ++inline void OrderAccess::loadstore() { inlasm_lwsync(); } ++inline void OrderAccess::storeload() { inlasm_fence(); } ++ ++inline void OrderAccess::acquire() { inlasm_acquire(); } ++inline void OrderAccess::release() { inlasm_release(); } ++inline void OrderAccess::fence() { inlasm_fence(); } ++ ++inline jbyte OrderAccess::load_acquire(volatile jbyte* p) { register jbyte t = *p; inlasm_acquire_reg(t); return t; } ++inline jshort OrderAccess::load_acquire(volatile jshort* p) { register jshort t = *p; inlasm_acquire_reg(t); return t; } ++inline jint OrderAccess::load_acquire(volatile jint* p) { register jint t = *p; inlasm_acquire_reg(t); return t; } ++inline jlong OrderAccess::load_acquire(volatile jlong* p) { register jlong t = *p; inlasm_acquire_reg(t); return t; } ++inline jubyte OrderAccess::load_acquire(volatile jubyte* p) { register jubyte t = *p; inlasm_acquire_reg(t); return t; } ++inline jushort OrderAccess::load_acquire(volatile jushort* p) { register jushort t = *p; inlasm_acquire_reg(t); return t; } ++inline juint OrderAccess::load_acquire(volatile juint* p) { register juint t = *p; inlasm_acquire_reg(t); return t; } ++inline julong OrderAccess::load_acquire(volatile julong* p) { return (julong)load_acquire((volatile jlong*)p); } ++inline jfloat OrderAccess::load_acquire(volatile jfloat* p) { register jfloat t = *p; inlasm_acquire(); return t; } ++inline jdouble OrderAccess::load_acquire(volatile jdouble* p) { register jdouble t = *p; inlasm_acquire(); return t; } ++ ++inline intptr_t OrderAccess::load_ptr_acquire(volatile intptr_t* p) { return (intptr_t)load_acquire((volatile jlong*)p); } ++inline void* OrderAccess::load_ptr_acquire(volatile void* p) { return (void*) load_acquire((volatile jlong*)p); } ++inline void* OrderAccess::load_ptr_acquire(const volatile void* p) { return (void*) load_acquire((volatile jlong*)p); } ++ ++inline void OrderAccess::release_store(volatile jbyte* p, jbyte v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile jshort* p, jshort v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile jint* p, jint v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile jlong* p, jlong v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile jubyte* p, jubyte v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile jushort* p, jushort v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile juint* p, juint v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile julong* p, julong v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile jfloat* p, jfloat v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile jdouble* p, jdouble v) { inlasm_release(); *p = v; } ++ ++inline void OrderAccess::release_store_ptr(volatile intptr_t* p, intptr_t v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store_ptr(volatile void* p, void* v) { inlasm_release(); *(void* volatile *)p = v; } ++ ++inline void OrderAccess::store_fence(jbyte* p, jbyte v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(jshort* p, jshort v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(jint* p, jint v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(jlong* p, jlong v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(jubyte* p, jubyte v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(jushort* p, jushort v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(juint* p, juint v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(julong* p, julong v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(jfloat* p, jfloat v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(jdouble* p, jdouble v) { *p = v; inlasm_fence(); } ++ ++inline void OrderAccess::store_ptr_fence(intptr_t* p, intptr_t v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_ptr_fence(void** p, void* v) { *p = v; inlasm_fence(); } ++ ++inline void OrderAccess::release_store_fence(volatile jbyte* p, jbyte v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile jshort* p, jshort v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile jint* p, jint v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile jlong* p, jlong v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile jubyte* p, jubyte v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile jushort* p, jushort v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile juint* p, juint v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile julong* p, julong v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile jfloat* p, jfloat v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile jdouble* p, jdouble v) { inlasm_release(); *p = v; inlasm_fence(); } ++ ++inline void OrderAccess::release_store_ptr_fence(volatile intptr_t* p, intptr_t v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_ptr_fence(volatile void* p, void* v) { inlasm_release(); *(void* volatile *)p = v; inlasm_fence(); } ++ ++#undef inlasm_sync ++#undef inlasm_lwsync ++#undef inlasm_eieio ++#undef inlasm_isync ++#undef inlasm_release ++#undef inlasm_acquire ++#undef inlasm_fence ++ ++#endif // OS_CPU_BSD_PPC_VM_ORDERACCESS_BSD_PPC_INLINE_HPP ++/* ++ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_ORDERACCESS_BSD_PPC_INLINE_HPP ++#define OS_CPU_BSD_PPC_VM_ORDERACCESS_BSD_PPC_INLINE_HPP ++ ++#include "runtime/orderAccess.hpp" ++#include "vm_version_ppc.hpp" ++ ++#ifndef PPC64 ++#error "OrderAccess currently only implemented for PPC64" ++#endif ++ ++// Implementation of class OrderAccess. ++ ++// ++// Machine barrier instructions: ++// ++// - sync Two-way memory barrier, aka fence. ++// - lwsync orders Store|Store, ++// Load|Store, ++// Load|Load, ++// but not Store|Load ++// - eieio orders Store|Store ++// - isync Invalidates speculatively executed instructions, ++// but isync may complete before storage accesses ++// associated with instructions preceding isync have ++// been performed. ++// ++// Semantic barrier instructions: ++// (as defined in orderAccess.hpp) ++// ++// - release orders Store|Store, (maps to lwsync) ++// Load|Store ++// - acquire orders Load|Store, (maps to lwsync) ++// Load|Load ++// - fence orders Store|Store, (maps to sync) ++// Load|Store, ++// Load|Load, ++// Store|Load ++// ++ ++#define inlasm_sync() __asm__ __volatile__ ("sync" : : : "memory"); ++#define inlasm_lwsync() __asm__ __volatile__ ("lwsync" : : : "memory"); ++#define inlasm_eieio() __asm__ __volatile__ ("eieio" : : : "memory"); ++#define inlasm_isync() __asm__ __volatile__ ("isync" : : : "memory"); ++#define inlasm_release() inlasm_lwsync(); ++#define inlasm_acquire() inlasm_lwsync(); ++// Use twi-isync for load_acquire (faster than lwsync). ++#define inlasm_acquire_reg(X) __asm__ __volatile__ ("twi 0,%0,0\n isync\n" : : "r" (X) : "memory"); ++#define inlasm_fence() inlasm_sync(); ++ ++inline void OrderAccess::loadload() { inlasm_lwsync(); } ++inline void OrderAccess::storestore() { inlasm_lwsync(); } ++inline void OrderAccess::loadstore() { inlasm_lwsync(); } ++inline void OrderAccess::storeload() { inlasm_fence(); } ++ ++inline void OrderAccess::acquire() { inlasm_acquire(); } ++inline void OrderAccess::release() { inlasm_release(); } ++inline void OrderAccess::fence() { inlasm_fence(); } ++ ++inline jbyte OrderAccess::load_acquire(volatile jbyte* p) { register jbyte t = *p; inlasm_acquire_reg(t); return t; } ++inline jshort OrderAccess::load_acquire(volatile jshort* p) { register jshort t = *p; inlasm_acquire_reg(t); return t; } ++inline jint OrderAccess::load_acquire(volatile jint* p) { register jint t = *p; inlasm_acquire_reg(t); return t; } ++inline jlong OrderAccess::load_acquire(volatile jlong* p) { register jlong t = *p; inlasm_acquire_reg(t); return t; } ++inline jubyte OrderAccess::load_acquire(volatile jubyte* p) { register jubyte t = *p; inlasm_acquire_reg(t); return t; } ++inline jushort OrderAccess::load_acquire(volatile jushort* p) { register jushort t = *p; inlasm_acquire_reg(t); return t; } ++inline juint OrderAccess::load_acquire(volatile juint* p) { register juint t = *p; inlasm_acquire_reg(t); return t; } ++inline julong OrderAccess::load_acquire(volatile julong* p) { return (julong)load_acquire((volatile jlong*)p); } ++inline jfloat OrderAccess::load_acquire(volatile jfloat* p) { register jfloat t = *p; inlasm_acquire(); return t; } ++inline jdouble OrderAccess::load_acquire(volatile jdouble* p) { register jdouble t = *p; inlasm_acquire(); return t; } ++ ++inline intptr_t OrderAccess::load_ptr_acquire(volatile intptr_t* p) { return (intptr_t)load_acquire((volatile jlong*)p); } ++inline void* OrderAccess::load_ptr_acquire(volatile void* p) { return (void*) load_acquire((volatile jlong*)p); } ++inline void* OrderAccess::load_ptr_acquire(const volatile void* p) { return (void*) load_acquire((volatile jlong*)p); } ++ ++inline void OrderAccess::release_store(volatile jbyte* p, jbyte v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile jshort* p, jshort v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile jint* p, jint v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile jlong* p, jlong v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile jubyte* p, jubyte v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile jushort* p, jushort v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile juint* p, juint v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile julong* p, julong v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile jfloat* p, jfloat v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store(volatile jdouble* p, jdouble v) { inlasm_release(); *p = v; } ++ ++inline void OrderAccess::release_store_ptr(volatile intptr_t* p, intptr_t v) { inlasm_release(); *p = v; } ++inline void OrderAccess::release_store_ptr(volatile void* p, void* v) { inlasm_release(); *(void* volatile *)p = v; } ++ ++inline void OrderAccess::store_fence(jbyte* p, jbyte v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(jshort* p, jshort v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(jint* p, jint v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(jlong* p, jlong v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(jubyte* p, jubyte v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(jushort* p, jushort v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(juint* p, juint v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(julong* p, julong v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(jfloat* p, jfloat v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_fence(jdouble* p, jdouble v) { *p = v; inlasm_fence(); } ++ ++inline void OrderAccess::store_ptr_fence(intptr_t* p, intptr_t v) { *p = v; inlasm_fence(); } ++inline void OrderAccess::store_ptr_fence(void** p, void* v) { *p = v; inlasm_fence(); } ++ ++inline void OrderAccess::release_store_fence(volatile jbyte* p, jbyte v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile jshort* p, jshort v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile jint* p, jint v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile jlong* p, jlong v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile jubyte* p, jubyte v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile jushort* p, jushort v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile juint* p, juint v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile julong* p, julong v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile jfloat* p, jfloat v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_fence(volatile jdouble* p, jdouble v) { inlasm_release(); *p = v; inlasm_fence(); } ++ ++inline void OrderAccess::release_store_ptr_fence(volatile intptr_t* p, intptr_t v) { inlasm_release(); *p = v; inlasm_fence(); } ++inline void OrderAccess::release_store_ptr_fence(volatile void* p, void* v) { inlasm_release(); *(void* volatile *)p = v; inlasm_fence(); } ++ ++#undef inlasm_sync ++#undef inlasm_lwsync ++#undef inlasm_eieio ++#undef inlasm_isync ++#undef inlasm_release ++#undef inlasm_acquire ++#undef inlasm_fence ++ ++#endif // OS_CPU_BSD_PPC_VM_ORDERACCESS_BSD_PPC_INLINE_HPP +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ ./hotspot/src/os_cpu/bsd_ppc/vm/os_bsd_ppc.cpp Mon May 09 17:15:53 2016 -0400 +@@ -0,0 +1,1332 @@ ++/* ++ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc. ++ * 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. ++ * ++ */ ++ ++// no precompiled headers ++#include "assembler_ppc.inline.hpp" ++#include "classfile/classLoader.hpp" ++#include "classfile/systemDictionary.hpp" ++#include "classfile/vmSymbols.hpp" ++#include "code/icBuffer.hpp" ++#include "code/vtableStubs.hpp" ++#include "interpreter/interpreter.hpp" ++#include "jvm_bsd.h" ++#include "memory/allocation.inline.hpp" ++#include "mutex_bsd.inline.hpp" ++#include "nativeInst_ppc.hpp" ++#include "os_share_bsd.hpp" ++#include "prims/jniFastGetField.hpp" ++#include "prims/jvm.h" ++#include "prims/jvm_misc.hpp" ++#include "runtime/arguments.hpp" ++#include "runtime/extendedPC.hpp" ++#include "runtime/frame.inline.hpp" ++#include "runtime/interfaceSupport.hpp" ++#include "runtime/java.hpp" ++#include "runtime/javaCalls.hpp" ++#include "runtime/mutexLocker.hpp" ++#include "runtime/osThread.hpp" ++#include "runtime/sharedRuntime.hpp" ++#include "runtime/stubRoutines.hpp" ++#include "runtime/thread.inline.hpp" ++#include "runtime/timer.hpp" ++#include "utilities/events.hpp" ++#include "utilities/vmError.hpp" ++#ifdef COMPILER1 ++#include "c1/c1_Runtime1.hpp" ++#endif ++#ifdef COMPILER2 ++#include "opto/runtime.hpp" ++#endif ++ ++// put OS-includes here ++# include <sys/types.h> ++# include <sys/mman.h> ++# include <pthread.h> ++# include <signal.h> ++# include <errno.h> ++# include <dlfcn.h> ++# include <stdlib.h> ++# include <stdio.h> ++# include <unistd.h> ++# include <sys/resource.h> ++# include <pthread_np.h> ++# include <sys/stat.h> ++# include <sys/time.h> ++# include <sys/utsname.h> ++# include <sys/socket.h> ++# include <sys/wait.h> ++# include <pwd.h> ++# include <poll.h> ++# include <ucontext.h> ++ ++ ++address os::current_stack_pointer() { ++ intptr_t* csp; ++ ++ // inline assembly `mr regno(csp), R1_SP': ++ __asm__ __volatile__ ("mr %0, 1":"=r"(csp):); ++ ++ return (address) csp; ++} ++ ++char* os::non_memory_address_word() { ++ // Must never look like an address returned by reserve_memory, ++ // even in its subfields (as defined by the CPU immediate fields, ++ // if the CPU splits constants across multiple instructions). ++ ++ return (char*) -1; ++} ++ ++void os::initialize_thread(Thread *thread) { } ++ ++address os::Bsd::ucontext_get_pc(ucontext_t * uc) { ++ guarantee(uc->uc_mcontext.mc_gpr != NULL, "only use ucontext_get_pc in sigaction context"); ++ return (address)uc->uc_mcontext.mc_srr0; ++} ++ ++intptr_t* os::Bsd::ucontext_get_sp(ucontext_t * uc) { ++ return (intptr_t*)uc->uc_mcontext.mc_gpr[1/*REG_SP*/]; ++} ++ ++intptr_t* os::Bsd::ucontext_get_fp(ucontext_t * uc) { ++ return NULL; ++} ++ ++ExtendedPC os::fetch_frame_from_context(void* ucVoid, ++ intptr_t** ret_sp, intptr_t** ret_fp) { ++ ++ ExtendedPC epc; ++ ucontext_t* uc = (ucontext_t*)ucVoid; ++ ++ if (uc != NULL) { ++ epc = ExtendedPC(os::Bsd::ucontext_get_pc(uc)); ++ if (ret_sp) *ret_sp = os::Bsd::ucontext_get_sp(uc); ++ if (ret_fp) *ret_fp = os::Bsd::ucontext_get_fp(uc); ++ } else { ++ // construct empty ExtendedPC for return value checking ++ epc = ExtendedPC(NULL); ++ if (ret_sp) *ret_sp = (intptr_t *)NULL; ++ if (ret_fp) *ret_fp = (intptr_t *)NULL; ++ } ++ ++ return epc; ++} ++ ++frame os::fetch_frame_from_context(void* ucVoid) { ++ intptr_t* sp; ++ intptr_t* fp; ++ ExtendedPC epc = fetch_frame_from_context(ucVoid, &sp, &fp); ++ return frame(sp, epc.pc()); ++} ++ ++frame os::get_sender_for_C_frame(frame* fr) { ++ if (*fr->sp() == 0) { ++ // fr is the last C frame ++ return frame(NULL, NULL); ++ } ++ return frame(fr->sender_sp(), fr->sender_pc()); ++} ++ ++ ++frame os::current_frame() { ++ intptr_t* csp = (intptr_t*) *((intptr_t*) os::current_stack_pointer()); ++ // hack. ++ frame topframe(csp, (address)0x8); ++ // return sender of current topframe which hopefully has pc != NULL. ++ return os::get_sender_for_C_frame(&topframe); ++} ++ ++// Utility functions ++ ++extern "C" JNIEXPORT int ++JVM_handle_bsd_signal(int sig, siginfo_t* info, void* ucVoid, int abort_if_unrecognized) { ++ ++ ucontext_t* uc = (ucontext_t*) ucVoid; ++ ++ Thread* t = ThreadLocalStorage::get_thread_slow(); // slow & steady ++ ++ SignalHandlerMark shm(t); ++ ++ // Note: it's not uncommon that JNI code uses signal/sigset to install ++ // then restore certain signal handler (e.g. to temporarily block SIGPIPE, ++ // or have a SIGILL handler when detecting CPU type). When that happens, ++ // JVM_handle_bsd_signal() might be invoked with junk info/ucVoid. To ++ // avoid unnecessary crash when libjsig is not preloaded, try handle signals ++ // that do not require siginfo/ucontext first. ++ ++ if (sig == SIGPIPE) { ++ if (os::Bsd::chained_handler(sig, info, ucVoid)) { ++ return 1; ++ } else { ++ if (PrintMiscellaneous && (WizardMode || Verbose)) { ++ warning("Ignoring SIGPIPE - see bug 4229104"); ++ } ++ return 1; ++ } ++ } ++ ++ JavaThread* thread = NULL; ++ VMThread* vmthread = NULL; ++ if (os::Bsd::signal_handlers_are_installed) { ++ if (t != NULL) { ++ if(t->is_Java_thread()) { ++ thread = (JavaThread*)t; ++ } ++ else if(t->is_VM_thread()) { ++ vmthread = (VMThread *)t; ++ } ++ } ++ } ++ ++ // Decide if this trap can be handled by a stub. ++ address stub = NULL; ++ ++ // retrieve program counter ++ address const pc = uc ? os::Bsd::ucontext_get_pc(uc) : NULL; ++ ++ // retrieve crash address ++ address const addr = info ? (const address) info->si_addr : NULL; ++ ++ // SafeFetch 32 handling: ++ // - make it work if _thread is null ++ // - make it use the standard os::...::ucontext_get/set_pc APIs ++ if (uc) { ++ address const pc = os::Bsd::ucontext_get_pc(uc); ++ if (pc && StubRoutines::is_safefetch_fault(pc)) { ++ uc->uc_mcontext.mc_srr0 = (unsigned long)StubRoutines::continuation_for_safefetch_fault(pc); ++ return true; ++ } ++ } ++ ++ // Handle SIGDANGER right away. AIX would raise SIGDANGER whenever available swap ++ // space falls below 30%. This is only a chance for the process to gracefully abort. ++ // We can't hope to proceed after SIGDANGER since SIGKILL tailgates. ++ // if (sig == SIGDANGER) { ++ // goto report_and_die; ++ // } ++ ++ if (info == NULL || uc == NULL || thread == NULL && vmthread == NULL) { ++ goto run_chained_handler; ++ } ++ ++ // If we are a java thread... ++ if (thread != NULL) { ++ ++ // Handle ALL stack overflow variations here ++ if (sig == SIGSEGV && (addr < thread->stack_base() && ++ addr >= thread->stack_base() - thread->stack_size())) { ++ // stack overflow ++ // ++ // If we are in a yellow zone and we are inside java, we disable the yellow zone and ++ // throw a stack overflow exception. ++ // If we are in native code or VM C code, we report-and-die. The original coding tried ++ // to continue with yellow zone disabled, but that doesn't buy us much and prevents ++ // hs_err_pid files. ++ if (thread->in_stack_yellow_zone(addr)) { ++ thread->disable_stack_yellow_zone(); ++ if (thread->thread_state() == _thread_in_Java) { ++ // Throw a stack overflow exception. ++ // Guard pages will be reenabled while unwinding the stack. ++ stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::STACK_OVERFLOW); ++ goto run_stub; ++ } else { ++ // Thread was in the vm or native code. Return and try to finish. ++ return 1; ++ } ++ } else if (thread->in_stack_red_zone(addr)) { ++ // Fatal red zone violation. Disable the guard pages and fall through ++ // to handle_unexpected_exception way down below. ++ thread->disable_stack_red_zone(); ++ tty->print_raw_cr("An irrecoverable stack overflow has occurred."); ++ goto report_and_die; ++ } else { ++ // This means a segv happened inside our stack, but not in ++ // the guarded zone. I'd like to know when this happens, ++ tty->print_raw_cr("SIGSEGV happened inside stack but outside yellow and red zone."); ++ goto report_and_die; ++ } ++ ++ } // end handle SIGSEGV inside stack boundaries ++ ++ if (thread->thread_state() == _thread_in_Java) { ++ // Java thread running in Java code ++ ++ // The following signals are used for communicating VM events: ++ // ++ // SIGILL: the compiler generates illegal opcodes ++ // at places where it wishes to interrupt the VM: ++ // Safepoints, Unreachable Code, Entry points of Zombie methods, ++ // This results in a SIGILL with (*pc) == inserted illegal instruction. ++ // ++ // (so, SIGILLs with a pc inside the zero page are real errors) ++ // ++ // SIGTRAP: ++ // The ppc trap instruction raises a SIGTRAP and is very efficient if it ++ // does not trap. It is used for conditional branches that are expected ++ // to be never taken. These are: ++ // - zombie methods ++ // - IC (inline cache) misses. ++ // - null checks leading to UncommonTraps. ++ // - range checks leading to Uncommon Traps. ++ // On Bsd, these are especially null checks, as the ImplicitNullCheck ++ // optimization works only in rare cases, as the page at address 0 is only ++ // write protected. // ++ // Note: !UseSIGTRAP is used to prevent SIGTRAPS altogether, to facilitate debugging. ++ // ++ // SIGSEGV: ++ // used for safe point polling: ++ // To notify all threads that they have to reach a safe point, safe point polling is used: ++ // All threads poll a certain mapped memory page. Normally, this page has read access. ++ // If the VM wants to inform the threads about impending safe points, it puts this ++ // page to read only ("poisens" the page), and the threads then reach a safe point. ++ // used for null checks: ++ // If the compiler finds a store it uses it for a null check. Unfortunately this ++ // happens rarely. In heap based and disjoint base compressd oop modes also loads ++ // are used for null checks. ++ ++ // A VM-related SIGILL may only occur if we are not in the zero page. ++ // On AIX, we get a SIGILL if we jump to 0x0 or to somewhere else ++ // in the zero page, because it is filled with 0x0. We ignore ++ // explicit SIGILLs in the zero page. ++ if (sig == SIGILL && (pc < (address) 0x200)) { ++ if (TraceTraps) { ++ tty->print_raw_cr("SIGILL happened inside zero page."); ++ } ++ goto report_and_die; ++ } ++ ++ // Handle signal from NativeJump::patch_verified_entry(). ++ if (( TrapBasedNotEntrantChecks && sig == SIGTRAP && nativeInstruction_at(pc)->is_sigtrap_zombie_not_entrant()) || ++ (!TrapBasedNotEntrantChecks && sig == SIGILL && nativeInstruction_at(pc)->is_sigill_zombie_not_entrant())) { ++ if (TraceTraps) { ++ tty->print_cr("trap: zombie_not_entrant (%s)", (sig == SIGTRAP) ? "SIGTRAP" : "SIGILL"); ++ } ++ stub = SharedRuntime::get_handle_wrong_method_stub(); ++ goto run_stub; ++ } ++ ++ else if (sig == SIGSEGV && os::is_poll_address(addr)) { ++ if (TraceTraps) { ++ tty->print_cr("trap: safepoint_poll at " INTPTR_FORMAT " (SIGSEGV)", pc); ++ } ++ stub = SharedRuntime::get_poll_stub(pc); ++ goto run_stub; ++ } ++ ++ // SIGTRAP-based ic miss check in compiled code. ++ else if (sig == SIGTRAP && TrapBasedICMissChecks && ++ nativeInstruction_at(pc)->is_sigtrap_ic_miss_check()) { ++ if (TraceTraps) { ++ tty->print_cr("trap: ic_miss_check at " INTPTR_FORMAT " (SIGTRAP)", pc); ++ } ++ stub = SharedRuntime::get_ic_miss_stub(); ++ goto run_stub; ++ } ++ ++ // SIGTRAP-based implicit null check in compiled code. ++ else if (sig == SIGTRAP && TrapBasedNullChecks && ++ nativeInstruction_at(pc)->is_sigtrap_null_check()) { ++ if (TraceTraps) { ++ tty->print_cr("trap: null_check at " INTPTR_FORMAT " (SIGTRAP)", pc); ++ } ++ stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL); ++ goto run_stub; ++ } ++ ++ // SIGSEGV-based implicit null check in compiled code. ++ else if (sig == SIGSEGV && ImplicitNullChecks && ++ CodeCache::contains((void*) pc) && ++ !MacroAssembler::needs_explicit_null_check((intptr_t) info->si_addr)) { ++ if (TraceTraps) { ++ tty->print_cr("trap: null_check at " INTPTR_FORMAT " (SIGSEGV)", pc); ++ } ++ stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL); ++ } ++ ++#ifdef COMPILER2 ++ // SIGTRAP-based implicit range check in compiled code. ++ else if (sig == SIGTRAP && TrapBasedRangeChecks && ++ nativeInstruction_at(pc)->is_sigtrap_range_check()) { ++ if (TraceTraps) { ++ tty->print_cr("trap: range_check at " INTPTR_FORMAT " (SIGTRAP)", pc); ++ } ++ stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL); ++ goto run_stub; ++ } ++#endif ++ ++ else if (sig == SIGFPE /* && info->si_code == FPE_INTDIV */) { ++ if (TraceTraps) { ++ tty->print_raw_cr("Fix SIGFPE handler, trying divide by zero handler."); ++ } ++ stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_DIVIDE_BY_ZERO); ++ goto run_stub; ++ } ++ ++ else if (sig == SIGBUS) { ++ // BugId 4454115: A read from a MappedByteBuffer can fault here if the ++ // underlying file has been truncated. Do not crash the VM in such a case. ++ CodeBlob* cb = CodeCache::find_blob_unsafe(pc); ++ nmethod* nm = cb->is_nmethod() ? (nmethod*)cb : NULL; ++ if (nm != NULL && nm->has_unsafe_access()) { ++ // We don't really need a stub here! Just set the pending exeption and ++ // continue at the next instruction after the faulting read. Returning ++ // garbage from this read is ok. ++ thread->set_pending_unsafe_access_error(); ++ uc->uc_mcontext.mc_srr0 = ((unsigned long)pc) + 4; ++ return 1; ++ } ++ } ++ } ++ ++ else { // thread->thread_state() != _thread_in_Java ++ // Detect CPU features. This is only done at the very start of the VM. Later, the ++ // VM_Version::is_determine_features_test_running() flag should be false. ++ ++ if (sig == SIGILL && VM_Version::is_determine_features_test_running()) { ++ // SIGILL must be caused by VM_Version::determine_features(). ++ *(int *)pc = 0; // patch instruction to 0 to indicate that it causes a SIGILL, ++ // flushing of icache is not necessary. ++ stub = pc + 4; // continue with next instruction. ++ goto run_stub; ++ } ++ else if (thread->thread_state() == _thread_in_vm && ++ sig == SIGBUS && thread->doing_unsafe_access()) { ++ // We don't really need a stub here! Just set the pending exeption and ++ // continue at the next instruction after the faulting read. Returning ++ // garbage from this read is ok. ++ thread->set_pending_unsafe_access_error(); ++ uc->uc_mcontext.mc_srr0 = ((unsigned long)pc) + 4; ++ return 1; ++ } ++ } ++ ++ // Check to see if we caught the safepoint code in the ++ // process of write protecting the memory serialization page. ++ // It write enables the page immediately after protecting it ++ // so we can just return to retry the write. ++ if ((sig == SIGSEGV) && ++ os::is_memory_serialize_page(thread, addr)) { ++ // Synchronization problem in the pseudo memory barrier code (bug id 6546278) ++ // Block current thread until the memory serialize page permission restored. ++ os::block_on_serialize_page_trap(); ++ return true; ++ } ++ } ++ ++run_stub: ++ ++ // One of the above code blocks ininitalized the stub, so we want to ++ // delegate control to that stub. ++ if (stub != NULL) { ++ // Save all thread context in case we need to restore it. ++ if (thread != NULL) thread->set_saved_exception_pc(pc); ++ uc->uc_mcontext.mc_srr0 = (unsigned long)stub; ++ return 1; ++ } ++ ++run_chained_handler: ++ ++ // signal-chaining ++ if (os::Bsd::chained_handler(sig, info, ucVoid)) { ++ return 1; ++ } ++ if (!abort_if_unrecognized) { ++ // caller wants another chance, so give it to him ++ return 0; ++ } ++ ++report_and_die: ++ ++ // Use sigthreadmask instead of sigprocmask on AIX and unmask current signal. ++ sigset_t newset; ++ sigemptyset(&newset); ++ sigaddset(&newset, sig); ++ sigprocmask(SIG_UNBLOCK, &newset, NULL); ++ ++ VMError err(t, sig, pc, info, ucVoid); ++ err.report_and_die(); ++ ++ ShouldNotReachHere(); ++ return 0; ++} ++ ++void os::Bsd::init_thread_fpu_state(void) { ++ // Disable FP exceptions. ++ __asm__ __volatile__ ("mtfsfi 6,0"); ++} ++ ++/////////////////////////////////////////////////////////////////////////////// ++// thread stack ++ ++size_t os::Bsd::min_stack_allowed = 128*K; ++ ++bool os::Bsd::supports_variable_stack_size() { return true; } ++ ++// return default stack size for thr_type ++size_t os::Bsd::default_stack_size(os::ThreadType thr_type) { ++ // default stack size (compiler thread needs larger stack) ++ // Notice that the setting for compiler threads here have no impact ++ // because of the strange 'fallback logic' in os::create_thread(). ++ // Better set CompilerThreadStackSize in globals_<os_cpu>.hpp if you want to ++ // specify a different stack size for compiler threads! ++ size_t s = (thr_type == os::compiler_thread ? 4 * M : 1024 * K); ++ return s; ++} ++ ++size_t os::Bsd::default_guard_size(os::ThreadType thr_type) { ++ return 2 * page_size(); ++} ++ ++// Java thread: ++// ++// Low memory addresses ++// +------------------------+ ++// | |\ JavaThread created by VM does not have glibc ++// | glibc guard page | - guard, attached Java thread usually has ++// | |/ 1 page glibc guard. ++// P1 +------------------------+ Thread::stack_base() - Thread::stack_size() ++// | |\ ++// | HotSpot Guard Pages | - red and yellow pages ++// | |/ ++// +------------------------+ JavaThread::stack_yellow_zone_base() ++// | |\ ++// | Normal Stack | - ++// | |/ ++// P2 +------------------------+ Thread::stack_base() ++// ++// Non-Java thread: ++// ++// Low memory addresses ++// +------------------------+ ++// | |\ ++// | glibc guard page | - usually 1 page ++// | |/ ++// P1 +------------------------+ Thread::stack_base() - Thread::stack_size() ++// | |\ ++// | Normal Stack | - ++// | |/ ++// P2 +------------------------+ Thread::stack_base() ++// ++// ** P1 (aka bottom) and size ( P2 = P1 - size) are the address and stack size returned from ++// pthread_attr_getstack() ++ ++static void current_stack_region(address * bottom, size_t * size) { ++#ifdef __APPLE__ ++ pthread_t self = pthread_self(); ++ void *stacktop = pthread_get_stackaddr_np(self); ++ *size = pthread_get_stacksize_np(self); ++ // workaround for OS X 10.9.0 (Mavericks) ++ // pthread_get_stacksize_np returns 128 pages even though the actual size is 2048 pages ++ if (pthread_main_np() == 1) { ++ if ((*size) < (DEFAULT_MAIN_THREAD_STACK_PAGES * (size_t)getpagesize())) { ++ char kern_osrelease[256]; ++ size_t kern_osrelease_size = sizeof(kern_osrelease); ++ int ret = sysctlbyname("kern.osrelease", kern_osrelease, &kern_osrelease_size, NULL, 0); ++ if (ret == 0) { ++ // get the major number, atoi will ignore the minor amd micro portions of the version string ++ if (atoi(kern_osrelease) >= OS_X_10_9_0_KERNEL_MAJOR_VERSION) { ++ *size = (DEFAULT_MAIN_THREAD_STACK_PAGES*getpagesize()); ++ } ++ } ++ } ++ } ++ *bottom = (address) stacktop - *size; ++#elif defined(__OpenBSD__) ++ stack_t ss; ++ int rslt = pthread_stackseg_np(pthread_self(), &ss); ++ ++ if (rslt != 0) ++ fatal(err_msg("pthread_stackseg_np failed with err = %d", rslt)); ++ ++ *bottom = (address)((char *)ss.ss_sp - ss.ss_size); ++ *size = ss.ss_size; ++#else ++ pthread_attr_t attr; ++ ++ int rslt = pthread_attr_init(&attr); ++ ++ // JVM needs to know exact stack location, abort if it fails ++ if (rslt != 0) ++ fatal(err_msg("pthread_attr_init failed with err = %d", rslt)); ++ ++ rslt = pthread_attr_get_np(pthread_self(), &attr); ++ ++ if (rslt != 0) ++ fatal(err_msg("pthread_attr_get_np failed with err = %d", rslt)); ++ ++ if (pthread_attr_getstackaddr(&attr, (void **)bottom) != 0 || ++ pthread_attr_getstacksize(&attr, size) != 0) { ++ fatal("Can not locate current stack attributes!"); ++ } ++ ++ pthread_attr_destroy(&attr); ++#endif ++ assert(os::current_stack_pointer() >= *bottom && ++ os::current_stack_pointer() < *bottom + *size, "just checking"); ++} ++ ++address os::current_stack_base() { ++ address bottom; ++ size_t size; ++ current_stack_region(&bottom, &size); ++ return (bottom + size); ++} ++ ++size_t os::current_stack_size() { ++ // stack size includes normal stack and HotSpot guard pages ++ address bottom; ++ size_t size; ++ current_stack_region(&bottom, &size); ++ return size; ++} ++ ++///////////////////////////////////////////////////////////////////////////// ++// helper functions for fatal error handler ++ ++void os::print_context(outputStream *st, void *context) { ++ if (context == NULL) return; ++ ++ ucontext_t* uc = (ucontext_t*)context; ++ ++ st->print_cr("Registers:"); ++ st->print("pc =" INTPTR_FORMAT " ", uc->uc_mcontext.mc_srr0); ++ st->print("lr =" INTPTR_FORMAT " ", uc->uc_mcontext.mc_lr); ++ st->print("ctr=" INTPTR_FORMAT " ", uc->uc_mcontext.mc_ctr); ++ st->cr(); ++ for (int i = 0; i < 32; i++) { ++ st->print("r%-2d=" INTPTR_FORMAT " ", i, uc->uc_mcontext.mc_gpr[i]); ++ if (i % 3 == 2) st->cr(); ++ } ++ st->cr(); ++ st->cr(); ++ ++ intptr_t *sp = (intptr_t *)os::Bsd::ucontext_get_sp(uc); ++ st->print_cr("Top of Stack: (sp=" PTR_FORMAT ")", p2i(sp)); ++ print_hex_dump(st, (address)sp, (address)(sp + 128), sizeof(intptr_t)); ++ st->cr(); ++ ++ // Note: it may be unsafe to inspect memory near pc. For example, pc may ++ // point to garbage if entry point in an nmethod is corrupted. Leave ++ // this at the end, and hope for the best. ++ address pc = os::Bsd::ucontext_get_pc(uc); ++ st->print_cr("Instructions: (pc=" PTR_FORMAT ")", p2i(pc)); ++ print_hex_dump(st, pc - 64, pc + 64, /*instrsize=*/4); ++ st->cr(); ++} ++ ++void os::print_register_info(outputStream *st, void *context) { ++ if (context == NULL) return; ++ ++ ucontext_t *uc = (ucontext_t*)context; ++ ++ st->print_cr("Register to memory mapping:"); ++ st->cr(); ++ ++ // this is only for the "general purpose" registers ++ for (int i = 0; i < 32; i++) { ++ st->print("r%-2d=", i); ++ print_location(st, uc->uc_mcontext.mc_gpr[i]); ++ } ++ st->cr(); ++} ++ ++extern "C" { ++ int SpinPause() { ++ return 0; ++ } ++} ++ ++#ifndef PRODUCT ++void os::verify_stack_alignment() { ++ assert(((intptr_t)os::current_stack_pointer() & (StackAlignmentInBytes-1)) == 0, "incorrect stack alignment"); ++} ++#endif ++/* ++ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc. ++ * 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. ++ * ++ */ ++ ++// no precompiled headers ++#include "assembler_ppc.inline.hpp" ++#include "classfile/classLoader.hpp" ++#include "classfile/systemDictionary.hpp" ++#include "classfile/vmSymbols.hpp" ++#include "code/icBuffer.hpp" ++#include "code/vtableStubs.hpp" ++#include "interpreter/interpreter.hpp" ++#include "jvm_bsd.h" ++#include "memory/allocation.inline.hpp" ++#include "mutex_bsd.inline.hpp" ++#include "nativeInst_ppc.hpp" ++#include "os_share_bsd.hpp" ++#include "prims/jniFastGetField.hpp" ++#include "prims/jvm.h" ++#include "prims/jvm_misc.hpp" ++#include "runtime/arguments.hpp" ++#include "runtime/extendedPC.hpp" ++#include "runtime/frame.inline.hpp" ++#include "runtime/interfaceSupport.hpp" ++#include "runtime/java.hpp" ++#include "runtime/javaCalls.hpp" ++#include "runtime/mutexLocker.hpp" ++#include "runtime/osThread.hpp" ++#include "runtime/sharedRuntime.hpp" ++#include "runtime/stubRoutines.hpp" ++#include "runtime/thread.inline.hpp" ++#include "runtime/timer.hpp" ++#include "utilities/events.hpp" ++#include "utilities/vmError.hpp" ++#ifdef COMPILER1 ++#include "c1/c1_Runtime1.hpp" ++#endif ++#ifdef COMPILER2 ++#include "opto/runtime.hpp" ++#endif ++ ++// put OS-includes here ++# include <sys/types.h> ++# include <sys/mman.h> ++# include <pthread.h> ++# include <signal.h> ++# include <errno.h> ++# include <dlfcn.h> ++# include <stdlib.h> ++# include <stdio.h> ++# include <unistd.h> ++# include <sys/resource.h> ++# include <pthread_np.h> ++# include <sys/stat.h> ++# include <sys/time.h> ++# include <sys/utsname.h> ++# include <sys/socket.h> ++# include <sys/wait.h> ++# include <pwd.h> ++# include <poll.h> ++# include <ucontext.h> ++ ++ ++address os::current_stack_pointer() { ++ intptr_t* csp; ++ ++ // inline assembly `mr regno(csp), R1_SP': ++ __asm__ __volatile__ ("mr %0, 1":"=r"(csp):); ++ ++ return (address) csp; ++} ++ ++char* os::non_memory_address_word() { ++ // Must never look like an address returned by reserve_memory, ++ // even in its subfields (as defined by the CPU immediate fields, ++ // if the CPU splits constants across multiple instructions). ++ ++ return (char*) -1; ++} ++ ++void os::initialize_thread(Thread *thread) { } ++ ++address os::Bsd::ucontext_get_pc(ucontext_t * uc) { ++ guarantee(uc->uc_mcontext.mc_gpr != NULL, "only use ucontext_get_pc in sigaction context"); ++ return (address)uc->uc_mcontext.mc_srr0; ++} ++ ++intptr_t* os::Bsd::ucontext_get_sp(ucontext_t * uc) { ++ return (intptr_t*)uc->uc_mcontext.mc_gpr[1/*REG_SP*/]; ++} ++ ++intptr_t* os::Bsd::ucontext_get_fp(ucontext_t * uc) { ++ return NULL; ++} ++ ++ExtendedPC os::fetch_frame_from_context(void* ucVoid, ++ intptr_t** ret_sp, intptr_t** ret_fp) { ++ ++ ExtendedPC epc; ++ ucontext_t* uc = (ucontext_t*)ucVoid; ++ ++ if (uc != NULL) { ++ epc = ExtendedPC(os::Bsd::ucontext_get_pc(uc)); ++ if (ret_sp) *ret_sp = os::Bsd::ucontext_get_sp(uc); ++ if (ret_fp) *ret_fp = os::Bsd::ucontext_get_fp(uc); ++ } else { ++ // construct empty ExtendedPC for return value checking ++ epc = ExtendedPC(NULL); ++ if (ret_sp) *ret_sp = (intptr_t *)NULL; ++ if (ret_fp) *ret_fp = (intptr_t *)NULL; ++ } ++ ++ return epc; ++} ++ ++frame os::fetch_frame_from_context(void* ucVoid) { ++ intptr_t* sp; ++ intptr_t* fp; ++ ExtendedPC epc = fetch_frame_from_context(ucVoid, &sp, &fp); ++ return frame(sp, epc.pc()); ++} ++ ++frame os::get_sender_for_C_frame(frame* fr) { ++ if (*fr->sp() == 0) { ++ // fr is the last C frame ++ return frame(NULL, NULL); ++ } ++ return frame(fr->sender_sp(), fr->sender_pc()); ++} ++ ++ ++frame os::current_frame() { ++ intptr_t* csp = (intptr_t*) *((intptr_t*) os::current_stack_pointer()); ++ // hack. ++ frame topframe(csp, (address)0x8); ++ // return sender of current topframe which hopefully has pc != NULL. ++ return os::get_sender_for_C_frame(&topframe); ++} ++ ++// Utility functions ++ ++extern "C" JNIEXPORT int ++JVM_handle_bsd_signal(int sig, siginfo_t* info, void* ucVoid, int abort_if_unrecognized) { ++ ++ ucontext_t* uc = (ucontext_t*) ucVoid; ++ ++ Thread* t = ThreadLocalStorage::get_thread_slow(); // slow & steady ++ ++ SignalHandlerMark shm(t); ++ ++ // Note: it's not uncommon that JNI code uses signal/sigset to install ++ // then restore certain signal handler (e.g. to temporarily block SIGPIPE, ++ // or have a SIGILL handler when detecting CPU type). When that happens, ++ // JVM_handle_bsd_signal() might be invoked with junk info/ucVoid. To ++ // avoid unnecessary crash when libjsig is not preloaded, try handle signals ++ // that do not require siginfo/ucontext first. ++ ++ if (sig == SIGPIPE) { ++ if (os::Bsd::chained_handler(sig, info, ucVoid)) { ++ return 1; ++ } else { ++ if (PrintMiscellaneous && (WizardMode || Verbose)) { ++ warning("Ignoring SIGPIPE - see bug 4229104"); ++ } ++ return 1; ++ } ++ } ++ ++ JavaThread* thread = NULL; ++ VMThread* vmthread = NULL; ++ if (os::Bsd::signal_handlers_are_installed) { ++ if (t != NULL) { ++ if(t->is_Java_thread()) { ++ thread = (JavaThread*)t; ++ } ++ else if(t->is_VM_thread()) { ++ vmthread = (VMThread *)t; ++ } ++ } ++ } ++ ++ // Decide if this trap can be handled by a stub. ++ address stub = NULL; ++ ++ // retrieve program counter ++ address const pc = uc ? os::Bsd::ucontext_get_pc(uc) : NULL; ++ ++ // retrieve crash address ++ address const addr = info ? (const address) info->si_addr : NULL; ++ ++ // SafeFetch 32 handling: ++ // - make it work if _thread is null ++ // - make it use the standard os::...::ucontext_get/set_pc APIs ++ if (uc) { ++ address const pc = os::Bsd::ucontext_get_pc(uc); ++ if (pc && StubRoutines::is_safefetch_fault(pc)) { ++ uc->uc_mcontext.mc_srr0 = (unsigned long)StubRoutines::continuation_for_safefetch_fault(pc); ++ return true; ++ } ++ } ++ ++ // Handle SIGDANGER right away. AIX would raise SIGDANGER whenever available swap ++ // space falls below 30%. This is only a chance for the process to gracefully abort. ++ // We can't hope to proceed after SIGDANGER since SIGKILL tailgates. ++ // if (sig == SIGDANGER) { ++ // goto report_and_die; ++ // } ++ ++ if (info == NULL || uc == NULL || thread == NULL && vmthread == NULL) { ++ goto run_chained_handler; ++ } ++ ++ // If we are a java thread... ++ if (thread != NULL) { ++ ++ // Handle ALL stack overflow variations here ++ if (sig == SIGSEGV && (addr < thread->stack_base() && ++ addr >= thread->stack_base() - thread->stack_size())) { ++ // stack overflow ++ // ++ // If we are in a yellow zone and we are inside java, we disable the yellow zone and ++ // throw a stack overflow exception. ++ // If we are in native code or VM C code, we report-and-die. The original coding tried ++ // to continue with yellow zone disabled, but that doesn't buy us much and prevents ++ // hs_err_pid files. ++ if (thread->in_stack_yellow_zone(addr)) { ++ thread->disable_stack_yellow_zone(); ++ if (thread->thread_state() == _thread_in_Java) { ++ // Throw a stack overflow exception. ++ // Guard pages will be reenabled while unwinding the stack. ++ stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::STACK_OVERFLOW); ++ goto run_stub; ++ } else { ++ // Thread was in the vm or native code. Return and try to finish. ++ return 1; ++ } ++ } else if (thread->in_stack_red_zone(addr)) { ++ // Fatal red zone violation. Disable the guard pages and fall through ++ // to handle_unexpected_exception way down below. ++ thread->disable_stack_red_zone(); ++ tty->print_raw_cr("An irrecoverable stack overflow has occurred."); ++ goto report_and_die; ++ } else { ++ // This means a segv happened inside our stack, but not in ++ // the guarded zone. I'd like to know when this happens, ++ tty->print_raw_cr("SIGSEGV happened inside stack but outside yellow and red zone."); ++ goto report_and_die; ++ } ++ ++ } // end handle SIGSEGV inside stack boundaries ++ ++ if (thread->thread_state() == _thread_in_Java) { ++ // Java thread running in Java code ++ ++ // The following signals are used for communicating VM events: ++ // ++ // SIGILL: the compiler generates illegal opcodes ++ // at places where it wishes to interrupt the VM: ++ // Safepoints, Unreachable Code, Entry points of Zombie methods, ++ // This results in a SIGILL with (*pc) == inserted illegal instruction. ++ // ++ // (so, SIGILLs with a pc inside the zero page are real errors) ++ // ++ // SIGTRAP: ++ // The ppc trap instruction raises a SIGTRAP and is very efficient if it ++ // does not trap. It is used for conditional branches that are expected ++ // to be never taken. These are: ++ // - zombie methods ++ // - IC (inline cache) misses. ++ // - null checks leading to UncommonTraps. ++ // - range checks leading to Uncommon Traps. ++ // On Bsd, these are especially null checks, as the ImplicitNullCheck ++ // optimization works only in rare cases, as the page at address 0 is only ++ // write protected. // ++ // Note: !UseSIGTRAP is used to prevent SIGTRAPS altogether, to facilitate debugging. ++ // ++ // SIGSEGV: ++ // used for safe point polling: ++ // To notify all threads that they have to reach a safe point, safe point polling is used: ++ // All threads poll a certain mapped memory page. Normally, this page has read access. ++ // If the VM wants to inform the threads about impending safe points, it puts this ++ // page to read only ("poisens" the page), and the threads then reach a safe point. ++ // used for null checks: ++ // If the compiler finds a store it uses it for a null check. Unfortunately this ++ // happens rarely. In heap based and disjoint base compressd oop modes also loads ++ // are used for null checks. ++ ++ // A VM-related SIGILL may only occur if we are not in the zero page. ++ // On AIX, we get a SIGILL if we jump to 0x0 or to somewhere else ++ // in the zero page, because it is filled with 0x0. We ignore ++ // explicit SIGILLs in the zero page. ++ if (sig == SIGILL && (pc < (address) 0x200)) { ++ if (TraceTraps) { ++ tty->print_raw_cr("SIGILL happened inside zero page."); ++ } ++ goto report_and_die; ++ } ++ ++ // Handle signal from NativeJump::patch_verified_entry(). ++ if (( TrapBasedNotEntrantChecks && sig == SIGTRAP && nativeInstruction_at(pc)->is_sigtrap_zombie_not_entrant()) || ++ (!TrapBasedNotEntrantChecks && sig == SIGILL && nativeInstruction_at(pc)->is_sigill_zombie_not_entrant())) { ++ if (TraceTraps) { ++ tty->print_cr("trap: zombie_not_entrant (%s)", (sig == SIGTRAP) ? "SIGTRAP" : "SIGILL"); ++ } ++ stub = SharedRuntime::get_handle_wrong_method_stub(); ++ goto run_stub; ++ } ++ ++ else if (sig == SIGSEGV && os::is_poll_address(addr)) { ++ if (TraceTraps) { ++ tty->print_cr("trap: safepoint_poll at " INTPTR_FORMAT " (SIGSEGV)", pc); ++ } ++ stub = SharedRuntime::get_poll_stub(pc); ++ goto run_stub; ++ } ++ ++ // SIGTRAP-based ic miss check in compiled code. ++ else if (sig == SIGTRAP && TrapBasedICMissChecks && ++ nativeInstruction_at(pc)->is_sigtrap_ic_miss_check()) { ++ if (TraceTraps) { ++ tty->print_cr("trap: ic_miss_check at " INTPTR_FORMAT " (SIGTRAP)", pc); ++ } ++ stub = SharedRuntime::get_ic_miss_stub(); ++ goto run_stub; ++ } ++ ++ // SIGTRAP-based implicit null check in compiled code. ++ else if (sig == SIGTRAP && TrapBasedNullChecks && ++ nativeInstruction_at(pc)->is_sigtrap_null_check()) { ++ if (TraceTraps) { ++ tty->print_cr("trap: null_check at " INTPTR_FORMAT " (SIGTRAP)", pc); ++ } ++ stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL); ++ goto run_stub; ++ } ++ ++ // SIGSEGV-based implicit null check in compiled code. ++ else if (sig == SIGSEGV && ImplicitNullChecks && ++ CodeCache::contains((void*) pc) && ++ !MacroAssembler::needs_explicit_null_check((intptr_t) info->si_addr)) { ++ if (TraceTraps) { ++ tty->print_cr("trap: null_check at " INTPTR_FORMAT " (SIGSEGV)", pc); ++ } ++ stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL); ++ } ++ ++#ifdef COMPILER2 ++ // SIGTRAP-based implicit range check in compiled code. ++ else if (sig == SIGTRAP && TrapBasedRangeChecks && ++ nativeInstruction_at(pc)->is_sigtrap_range_check()) { ++ if (TraceTraps) { ++ tty->print_cr("trap: range_check at " INTPTR_FORMAT " (SIGTRAP)", pc); ++ } ++ stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL); ++ goto run_stub; ++ } ++#endif ++ ++ else if (sig == SIGFPE /* && info->si_code == FPE_INTDIV */) { ++ if (TraceTraps) { ++ tty->print_raw_cr("Fix SIGFPE handler, trying divide by zero handler."); ++ } ++ stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_DIVIDE_BY_ZERO); ++ goto run_stub; ++ } ++ ++ else if (sig == SIGBUS) { ++ // BugId 4454115: A read from a MappedByteBuffer can fault here if the ++ // underlying file has been truncated. Do not crash the VM in such a case. ++ CodeBlob* cb = CodeCache::find_blob_unsafe(pc); ++ nmethod* nm = cb->is_nmethod() ? (nmethod*)cb : NULL; ++ if (nm != NULL && nm->has_unsafe_access()) { ++ // We don't really need a stub here! Just set the pending exeption and ++ // continue at the next instruction after the faulting read. Returning ++ // garbage from this read is ok. ++ thread->set_pending_unsafe_access_error(); ++ uc->uc_mcontext.mc_srr0 = ((unsigned long)pc) + 4; ++ return 1; ++ } ++ } ++ } ++ ++ else { // thread->thread_state() != _thread_in_Java ++ // Detect CPU features. This is only done at the very start of the VM. Later, the ++ // VM_Version::is_determine_features_test_running() flag should be false. ++ ++ if (sig == SIGILL && VM_Version::is_determine_features_test_running()) { ++ // SIGILL must be caused by VM_Version::determine_features(). ++ *(int *)pc = 0; // patch instruction to 0 to indicate that it causes a SIGILL, ++ // flushing of icache is not necessary. ++ stub = pc + 4; // continue with next instruction. ++ goto run_stub; ++ } ++ else if (thread->thread_state() == _thread_in_vm && ++ sig == SIGBUS && thread->doing_unsafe_access()) { ++ // We don't really need a stub here! Just set the pending exeption and ++ // continue at the next instruction after the faulting read. Returning ++ // garbage from this read is ok. ++ thread->set_pending_unsafe_access_error(); ++ uc->uc_mcontext.mc_srr0 = ((unsigned long)pc) + 4; ++ return 1; ++ } ++ } ++ ++ // Check to see if we caught the safepoint code in the ++ // process of write protecting the memory serialization page. ++ // It write enables the page immediately after protecting it ++ // so we can just return to retry the write. ++ if ((sig == SIGSEGV) && ++ os::is_memory_serialize_page(thread, addr)) { ++ // Synchronization problem in the pseudo memory barrier code (bug id 6546278) ++ // Block current thread until the memory serialize page permission restored. ++ os::block_on_serialize_page_trap(); ++ return true; ++ } ++ } ++ ++run_stub: ++ ++ // One of the above code blocks ininitalized the stub, so we want to ++ // delegate control to that stub. ++ if (stub != NULL) { ++ // Save all thread context in case we need to restore it. ++ if (thread != NULL) thread->set_saved_exception_pc(pc); ++ uc->uc_mcontext.mc_srr0 = (unsigned long)stub; ++ return 1; ++ } ++ ++run_chained_handler: ++ ++ // signal-chaining ++ if (os::Bsd::chained_handler(sig, info, ucVoid)) { ++ return 1; ++ } ++ if (!abort_if_unrecognized) { ++ // caller wants another chance, so give it to him ++ return 0; ++ } ++ ++report_and_die: ++ ++ // Use sigthreadmask instead of sigprocmask on AIX and unmask current signal. ++ sigset_t newset; ++ sigemptyset(&newset); ++ sigaddset(&newset, sig); ++ sigprocmask(SIG_UNBLOCK, &newset, NULL); ++ ++ VMError err(t, sig, pc, info, ucVoid); ++ err.report_and_die(); ++ ++ ShouldNotReachHere(); ++ return 0; ++} ++ ++void os::Bsd::init_thread_fpu_state(void) { ++ // Disable FP exceptions. ++ __asm__ __volatile__ ("mtfsfi 6,0"); ++} ++ ++/////////////////////////////////////////////////////////////////////////////// ++// thread stack ++ ++size_t os::Bsd::min_stack_allowed = 128*K; ++ ++bool os::Bsd::supports_variable_stack_size() { return true; } ++ ++// return default stack size for thr_type ++size_t os::Bsd::default_stack_size(os::ThreadType thr_type) { ++ // default stack size (compiler thread needs larger stack) ++ // Notice that the setting for compiler threads here have no impact ++ // because of the strange 'fallback logic' in os::create_thread(). ++ // Better set CompilerThreadStackSize in globals_<os_cpu>.hpp if you want to ++ // specify a different stack size for compiler threads! ++ size_t s = (thr_type == os::compiler_thread ? 4 * M : 1024 * K); ++ return s; ++} ++ ++size_t os::Bsd::default_guard_size(os::ThreadType thr_type) { ++ return 2 * page_size(); ++} ++ ++// Java thread: ++// ++// Low memory addresses ++// +------------------------+ ++// | |\ JavaThread created by VM does not have glibc ++// | glibc guard page | - guard, attached Java thread usually has ++// | |/ 1 page glibc guard. ++// P1 +------------------------+ Thread::stack_base() - Thread::stack_size() ++// | |\ ++// | HotSpot Guard Pages | - red and yellow pages ++// | |/ ++// +------------------------+ JavaThread::stack_yellow_zone_base() ++// | |\ ++// | Normal Stack | - ++// | |/ ++// P2 +------------------------+ Thread::stack_base() ++// ++// Non-Java thread: ++// ++// Low memory addresses ++// +------------------------+ ++// | |\ ++// | glibc guard page | - usually 1 page ++// | |/ ++// P1 +------------------------+ Thread::stack_base() - Thread::stack_size() ++// | |\ ++// | Normal Stack | - ++// | |/ ++// P2 +------------------------+ Thread::stack_base() ++// ++// ** P1 (aka bottom) and size ( P2 = P1 - size) are the address and stack size returned from ++// pthread_attr_getstack() ++ ++static void current_stack_region(address * bottom, size_t * size) { ++#ifdef __APPLE__ ++ pthread_t self = pthread_self(); ++ void *stacktop = pthread_get_stackaddr_np(self); ++ *size = pthread_get_stacksize_np(self); ++ // workaround for OS X 10.9.0 (Mavericks) ++ // pthread_get_stacksize_np returns 128 pages even though the actual size is 2048 pages ++ if (pthread_main_np() == 1) { ++ if ((*size) < (DEFAULT_MAIN_THREAD_STACK_PAGES * (size_t)getpagesize())) { ++ char kern_osrelease[256]; ++ size_t kern_osrelease_size = sizeof(kern_osrelease); ++ int ret = sysctlbyname("kern.osrelease", kern_osrelease, &kern_osrelease_size, NULL, 0); ++ if (ret == 0) { ++ // get the major number, atoi will ignore the minor amd micro portions of the version string ++ if (atoi(kern_osrelease) >= OS_X_10_9_0_KERNEL_MAJOR_VERSION) { ++ *size = (DEFAULT_MAIN_THREAD_STACK_PAGES*getpagesize()); ++ } ++ } ++ } ++ } ++ *bottom = (address) stacktop - *size; ++#elif defined(__OpenBSD__) ++ stack_t ss; ++ int rslt = pthread_stackseg_np(pthread_self(), &ss); ++ ++ if (rslt != 0) ++ fatal(err_msg("pthread_stackseg_np failed with err = %d", rslt)); ++ ++ *bottom = (address)((char *)ss.ss_sp - ss.ss_size); ++ *size = ss.ss_size; ++#else ++ pthread_attr_t attr; ++ ++ int rslt = pthread_attr_init(&attr); ++ ++ // JVM needs to know exact stack location, abort if it fails ++ if (rslt != 0) ++ fatal(err_msg("pthread_attr_init failed with err = %d", rslt)); ++ ++ rslt = pthread_attr_get_np(pthread_self(), &attr); ++ ++ if (rslt != 0) ++ fatal(err_msg("pthread_attr_get_np failed with err = %d", rslt)); ++ ++ if (pthread_attr_getstackaddr(&attr, (void **)bottom) != 0 || ++ pthread_attr_getstacksize(&attr, size) != 0) { ++ fatal("Can not locate current stack attributes!"); ++ } ++ ++ pthread_attr_destroy(&attr); ++#endif ++ assert(os::current_stack_pointer() >= *bottom && ++ os::current_stack_pointer() < *bottom + *size, "just checking"); ++} ++ ++address os::current_stack_base() { ++ address bottom; ++ size_t size; ++ current_stack_region(&bottom, &size); ++ return (bottom + size); ++} ++ ++size_t os::current_stack_size() { ++ // stack size includes normal stack and HotSpot guard pages ++ address bottom; ++ size_t size; ++ current_stack_region(&bottom, &size); ++ return size; ++} ++ ++///////////////////////////////////////////////////////////////////////////// ++// helper functions for fatal error handler ++ ++void os::print_context(outputStream *st, void *context) { ++ if (context == NULL) return; ++ ++ ucontext_t* uc = (ucontext_t*)context; ++ ++ st->print_cr("Registers:"); ++ st->print("pc =" INTPTR_FORMAT " ", uc->uc_mcontext.mc_srr0); ++ st->print("lr =" INTPTR_FORMAT " ", uc->uc_mcontext.mc_lr); ++ st->print("ctr=" INTPTR_FORMAT " ", uc->uc_mcontext.mc_ctr); ++ st->cr(); ++ for (int i = 0; i < 32; i++) { ++ st->print("r%-2d=" INTPTR_FORMAT " ", i, uc->uc_mcontext.mc_gpr[i]); ++ if (i % 3 == 2) st->cr(); ++ } ++ st->cr(); ++ st->cr(); ++ ++ intptr_t *sp = (intptr_t *)os::Bsd::ucontext_get_sp(uc); ++ st->print_cr("Top of Stack: (sp=" PTR_FORMAT ")", p2i(sp)); ++ print_hex_dump(st, (address)sp, (address)(sp + 128), sizeof(intptr_t)); ++ st->cr(); ++ ++ // Note: it may be unsafe to inspect memory near pc. For example, pc may ++ // point to garbage if entry point in an nmethod is corrupted. Leave ++ // this at the end, and hope for the best. ++ address pc = os::Bsd::ucontext_get_pc(uc); ++ st->print_cr("Instructions: (pc=" PTR_FORMAT ")", p2i(pc)); ++ print_hex_dump(st, pc - 64, pc + 64, /*instrsize=*/4); ++ st->cr(); ++} ++ ++void os::print_register_info(outputStream *st, void *context) { ++ if (context == NULL) return; ++ ++ ucontext_t *uc = (ucontext_t*)context; ++ ++ st->print_cr("Register to memory mapping:"); ++ st->cr(); ++ ++ // this is only for the "general purpose" registers ++ for (int i = 0; i < 32; i++) { ++ st->print("r%-2d=", i); ++ print_location(st, uc->uc_mcontext.mc_gpr[i]); ++ } ++ st->cr(); ++} ++ ++extern "C" { ++ int SpinPause() { ++ return 0; ++ } ++} ++ ++#ifndef PRODUCT ++void os::verify_stack_alignment() { ++ assert(((intptr_t)os::current_stack_pointer() & (StackAlignmentInBytes-1)) == 0, "incorrect stack alignment"); ++} ++#endif +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ ./hotspot/src/os_cpu/bsd_ppc/vm/os_bsd_ppc.hpp Mon May 09 17:15:53 2016 -0400 +@@ -0,0 +1,70 @@ ++/* ++ * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_OS_BSD_PPC_HPP ++#define OS_CPU_BSD_PPC_VM_OS_BSD_PPC_HPP ++ ++ static void setup_fpu() {} ++ ++ // Used to register dynamic code cache area with the OS ++ // Note: Currently only used in 64 bit Windows implementations ++ static bool register_code_area(char *low, char *high) { return true; } ++ ++#endif // OS_CPU_BSD_PPC_VM_OS_BSD_PPC_HPP ++/* ++ * Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_OS_BSD_PPC_HPP ++#define OS_CPU_BSD_PPC_VM_OS_BSD_PPC_HPP ++ ++ static void setup_fpu() {} ++ ++ // Used to register dynamic code cache area with the OS ++ // Note: Currently only used in 64 bit Windows implementations ++ static bool register_code_area(char *low, char *high) { return true; } ++ ++#endif // OS_CPU_BSD_PPC_VM_OS_BSD_PPC_HPP +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ ./hotspot/src/os_cpu/bsd_ppc/vm/prefetch_bsd_ppc.inline.hpp Mon May 09 17:15:53 2016 -0400 +@@ -0,0 +1,100 @@ ++/* ++ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_PREFETCH_BSD_PPC_INLINE_HPP ++#define OS_CPU_BSD_PPC_VM_PREFETCH_BSD_PPC_INLINE_HPP ++ ++#include "runtime/prefetch.hpp" ++ ++ ++inline void Prefetch::read(void *loc, intx interval) { ++ __asm__ __volatile__ ( ++ " dcbt 0, %0 \n" ++ : ++ : /*%0*/"r" ( ((address)loc) +((long)interval) ) ++ //: ++ ); ++} ++ ++inline void Prefetch::write(void *loc, intx interval) { ++ __asm__ __volatile__ ( ++ " dcbtst 0, %0 \n" ++ : ++ : /*%0*/"r" ( ((address)loc) +((long)interval) ) ++ //: ++ ); ++} ++ ++#endif // OS_CPU_BSD_PPC_VM_PREFETCH_BSD_PPC_INLINE_HPP ++/* ++ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_PREFETCH_BSD_PPC_INLINE_HPP ++#define OS_CPU_BSD_PPC_VM_PREFETCH_BSD_PPC_INLINE_HPP ++ ++#include "runtime/prefetch.hpp" ++ ++ ++inline void Prefetch::read(void *loc, intx interval) { ++ __asm__ __volatile__ ( ++ " dcbt 0, %0 \n" ++ : ++ : /*%0*/"r" ( ((address)loc) +((long)interval) ) ++ //: ++ ); ++} ++ ++inline void Prefetch::write(void *loc, intx interval) { ++ __asm__ __volatile__ ( ++ " dcbtst 0, %0 \n" ++ : ++ : /*%0*/"r" ( ((address)loc) +((long)interval) ) ++ //: ++ ); ++} ++ ++#endif // OS_CPU_BSD_PPC_VM_PREFETCH_BSD_PPC_INLINE_HPP +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ ./hotspot/src/os_cpu/bsd_ppc/vm/threadLS_bsd_ppc.cpp Mon May 09 17:15:53 2016 -0400 +@@ -0,0 +1,78 @@ ++/* ++ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#include "precompiled.hpp" ++#include "runtime/threadLocalStorage.hpp" ++ ++void ThreadLocalStorage::generate_code_for_get_thread() { ++ // nothing we can do here for user-level thread ++} ++ ++void ThreadLocalStorage::pd_init() { ++ // Nothing to do ++} ++ ++void ThreadLocalStorage::pd_set_thread(Thread* thread) { ++ os::thread_local_storage_at_put(ThreadLocalStorage::thread_index(), thread); ++} ++/* ++ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#include "precompiled.hpp" ++#include "runtime/threadLocalStorage.hpp" ++ ++void ThreadLocalStorage::generate_code_for_get_thread() { ++ // nothing we can do here for user-level thread ++} ++ ++void ThreadLocalStorage::pd_init() { ++ // Nothing to do ++} ++ ++void ThreadLocalStorage::pd_set_thread(Thread* thread) { ++ os::thread_local_storage_at_put(ThreadLocalStorage::thread_index(), thread); ++} +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ ./hotspot/src/os_cpu/bsd_ppc/vm/threadLS_bsd_ppc.hpp Mon May 09 17:15:53 2016 -0400 +@@ -0,0 +1,72 @@ ++/* ++ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_THREADLS_BSD_PPC_HPP ++#define OS_CPU_BSD_PPC_VM_THREADLS_BSD_PPC_HPP ++ ++ // Processor dependent parts of ThreadLocalStorage ++ ++public: ++ static Thread* thread() { ++ return (Thread *) os::thread_local_storage_at(thread_index()); ++ } ++ ++#endif // OS_CPU_BSD_PPC_VM_THREADLS_BSD_PPC_HPP ++/* ++ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_THREADLS_BSD_PPC_HPP ++#define OS_CPU_BSD_PPC_VM_THREADLS_BSD_PPC_HPP ++ ++ // Processor dependent parts of ThreadLocalStorage ++ ++public: ++ static Thread* thread() { ++ return (Thread *) os::thread_local_storage_at(thread_index()); ++ } ++ ++#endif // OS_CPU_BSD_PPC_VM_THREADLS_BSD_PPC_HPP +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ ./hotspot/src/os_cpu/bsd_ppc/vm/thread_bsd_ppc.cpp Mon May 09 17:15:53 2016 -0400 +@@ -0,0 +1,72 @@ ++/* ++ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2014 SAP AG. 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. ++ * ++ */ ++ ++#include "precompiled.hpp" ++#include "runtime/frame.hpp" ++#include "runtime/thread.hpp" ++ ++// Forte Analyzer AsyncGetCallTrace profiling support is not implemented on Bsd/PPC. ++bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) { ++ Unimplemented(); ++ return false; ++} ++ ++void JavaThread::cache_global_variables() { } ++/* ++ * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2014 SAP AG. 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. ++ * ++ */ ++ ++#include "precompiled.hpp" ++#include "runtime/frame.hpp" ++#include "runtime/thread.hpp" ++ ++// Forte Analyzer AsyncGetCallTrace profiling support is not implemented on Bsd/PPC. ++bool JavaThread::pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava) { ++ Unimplemented(); ++ return false; ++} ++ ++void JavaThread::cache_global_variables() { } +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ ./hotspot/src/os_cpu/bsd_ppc/vm/thread_bsd_ppc.hpp Mon May 09 17:15:53 2016 -0400 +@@ -0,0 +1,166 @@ ++/* ++ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_THREAD_BSD_PPC_HPP ++#define OS_CPU_BSD_PPC_VM_THREAD_BSD_PPC_HPP ++ ++ private: ++ ++ void pd_initialize() { ++ _anchor.clear(); ++ _last_interpreter_fp = NULL; ++ } ++ ++ // The `last' frame is the youngest Java frame on the thread's stack. ++ frame pd_last_frame() { ++ assert(has_last_Java_frame(), "must have last_Java_sp() when suspended"); ++ ++ intptr_t* sp = last_Java_sp(); ++ address pc = _anchor.last_Java_pc(); ++ ++ // Last_Java_pc ist not set, if we come here from compiled code. ++ if (pc == NULL) { ++ pc = (address) *(sp + 2); ++ } ++ ++ return frame(sp, pc); ++ } ++ ++ public: ++ ++ void set_base_of_stack_pointer(intptr_t* base_sp) {} ++ intptr_t* base_of_stack_pointer() { return NULL; } ++ void record_base_of_stack_pointer() {} ++ ++ // These routines are only used on cpu architectures that ++ // have separate register stacks (Itanium). ++ static bool register_stack_overflow() { return false; } ++ static void enable_register_stack_guard() {} ++ static void disable_register_stack_guard() {} ++ ++ bool pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava); ++ ++ protected: ++ ++ // -Xprof support ++ // ++ // In order to find the last Java fp from an async profile ++ // tick, we store the current interpreter fp in the thread. ++ // This value is only valid while we are in the C++ interpreter ++ // and profiling. ++ intptr_t *_last_interpreter_fp; ++ ++ public: ++ ++ static ByteSize last_interpreter_fp_offset() { ++ return byte_offset_of(JavaThread, _last_interpreter_fp); ++ } ++ ++ intptr_t* last_interpreter_fp() { return _last_interpreter_fp; } ++ ++#endif // OS_CPU_BSD_PPC_VM_THREAD_BSD_PPC_HPP ++/* ++ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_THREAD_BSD_PPC_HPP ++#define OS_CPU_BSD_PPC_VM_THREAD_BSD_PPC_HPP ++ ++ private: ++ ++ void pd_initialize() { ++ _anchor.clear(); ++ _last_interpreter_fp = NULL; ++ } ++ ++ // The `last' frame is the youngest Java frame on the thread's stack. ++ frame pd_last_frame() { ++ assert(has_last_Java_frame(), "must have last_Java_sp() when suspended"); ++ ++ intptr_t* sp = last_Java_sp(); ++ address pc = _anchor.last_Java_pc(); ++ ++ // Last_Java_pc ist not set, if we come here from compiled code. ++ if (pc == NULL) { ++ pc = (address) *(sp + 2); ++ } ++ ++ return frame(sp, pc); ++ } ++ ++ public: ++ ++ void set_base_of_stack_pointer(intptr_t* base_sp) {} ++ intptr_t* base_of_stack_pointer() { return NULL; } ++ void record_base_of_stack_pointer() {} ++ ++ // These routines are only used on cpu architectures that ++ // have separate register stacks (Itanium). ++ static bool register_stack_overflow() { return false; } ++ static void enable_register_stack_guard() {} ++ static void disable_register_stack_guard() {} ++ ++ bool pd_get_top_frame_for_signal_handler(frame* fr_addr, void* ucontext, bool isInJava); ++ ++ protected: ++ ++ // -Xprof support ++ // ++ // In order to find the last Java fp from an async profile ++ // tick, we store the current interpreter fp in the thread. ++ // This value is only valid while we are in the C++ interpreter ++ // and profiling. ++ intptr_t *_last_interpreter_fp; ++ ++ public: ++ ++ static ByteSize last_interpreter_fp_offset() { ++ return byte_offset_of(JavaThread, _last_interpreter_fp); ++ } ++ ++ intptr_t* last_interpreter_fp() { return _last_interpreter_fp; } ++ ++#endif // OS_CPU_BSD_PPC_VM_THREAD_BSD_PPC_HPP +--- /dev/null Thu Jan 01 00:00:00 1970 +0000 ++++ ./hotspot/src/os_cpu/bsd_ppc/vm/vmStructs_bsd_ppc.hpp Mon May 09 17:15:53 2016 -0400 +@@ -0,0 +1,110 @@ ++/* ++ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_VMSTRUCTS_BSD_PPC_HPP ++#define OS_CPU_BSD_PPC_VM_VMSTRUCTS_BSD_PPC_HPP ++ ++// These are the OS and CPU-specific fields, types and integer ++// constants required by the Serviceability Agent. This file is ++// referenced by vmStructs.cpp. ++ ++#define VM_STRUCTS_OS_CPU(nonstatic_field, static_field, unchecked_nonstatic_field, volatile_nonstatic_field, nonproduct_nonstatic_field, c2_nonstatic_field, unchecked_c1_static_field, unchecked_c2_static_field) \ ++ \ ++ /******************************/ \ ++ /* Threads (NOTE: incomplete) */ \ ++ /******************************/ \ ++ nonstatic_field(OSThread, _thread_id, pid_t) \ ++ nonstatic_field(OSThread, _pthread_id, pthread_t) ++ ++ ++#define VM_TYPES_OS_CPU(declare_type, declare_toplevel_type, declare_oop_type, declare_integer_type, declare_unsigned_integer_type, declare_c1_toplevel_type, declare_c2_type, declare_c2_toplevel_type) \ ++ \ ++ /**********************/ \ ++ /* Posix Thread IDs */ \ ++ /**********************/ \ ++ \ ++ declare_integer_type(pid_t) \ ++ declare_unsigned_integer_type(pthread_t) ++ ++#define VM_INT_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) ++ ++#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) ++ ++#endif // OS_CPU_BSD_PPC_VM_VMSTRUCTS_BSD_PPC_HPP ++/* ++ * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. ++ * Copyright 2012, 2013 SAP AG. All rights reserved. ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ++ * ++ * 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. ++ * ++ */ ++ ++#ifndef OS_CPU_BSD_PPC_VM_VMSTRUCTS_BSD_PPC_HPP ++#define OS_CPU_BSD_PPC_VM_VMSTRUCTS_BSD_PPC_HPP ++ ++// These are the OS and CPU-specific fields, types and integer ++// constants required by the Serviceability Agent. This file is ++// referenced by vmStructs.cpp. ++ ++#define VM_STRUCTS_OS_CPU(nonstatic_field, static_field, unchecked_nonstatic_field, volatile_nonstatic_field, nonproduct_nonstatic_field, c2_nonstatic_field, unchecked_c1_static_field, unchecked_c2_static_field) \ ++ \ ++ /******************************/ \ ++ /* Threads (NOTE: incomplete) */ \ ++ /******************************/ \ ++ nonstatic_field(OSThread, _thread_id, pid_t) \ ++ nonstatic_field(OSThread, _pthread_id, pthread_t) ++ ++ ++#define VM_TYPES_OS_CPU(declare_type, declare_toplevel_type, declare_oop_type, declare_integer_type, declare_unsigned_integer_type, declare_c1_toplevel_type, declare_c2_type, declare_c2_toplevel_type) \ ++ \ ++ /**********************/ \ ++ /* Posix Thread IDs */ \ ++ /**********************/ \ ++ \ ++ declare_integer_type(pid_t) \ ++ declare_unsigned_integer_type(pthread_t) ++ ++#define VM_INT_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) ++ ++#define VM_LONG_CONSTANTS_OS_CPU(declare_constant, declare_preprocessor_constant, declare_c1_constant, declare_c2_constant, declare_c2_preprocessor_constant) ++ ++#endif // OS_CPU_BSD_PPC_VM_VMSTRUCTS_BSD_PPC_HPP +--- ./hotspot/src/share/vm/opto/node.cpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/share/vm/opto/node.cpp Mon May 09 17:15:53 2016 -0400 @@ -286,6 +286,10 @@ #ifdef _MSC_VER // the IDX_INIT hack falls foul of warning C4355 #pragma warning( disable:4355 ) // 'this' : used in base member initializer list @@ -3683,7 +7503,7 @@ // Out-of-line code from node constructors. // Executed only when extra debug info. is being passed around. -@@ -469,6 +473,10 @@ +@@ -493,6 +497,10 @@ _in[6] = n6; if (n6 != NULL) n6->add_out((Node *)this); } @@ -3694,8 +7514,44 @@ //------------------------------clone------------------------------------------ // Clone a Node. ---- ./hotspot/src/share/vm/runtime/os.cpp Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/share/vm/runtime/os.cpp Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/src/share/vm/runtime/atomic.inline.hpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/share/vm/runtime/atomic.inline.hpp Mon May 09 17:15:53 2016 -0400 +@@ -63,6 +63,9 @@ + #endif + + // BSD ++#ifdef TARGET_OS_ARCH_bsd_ppc ++# include "atomic_bsd_ppc.inline.hpp" ++#endif + #ifdef TARGET_OS_ARCH_bsd_x86 + # include "atomic_bsd_x86.inline.hpp" + #endif +--- ./hotspot/src/share/vm/runtime/globals.hpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/share/vm/runtime/globals.hpp Mon May 09 17:15:53 2016 -0400 +@@ -94,6 +94,9 @@ + #ifdef TARGET_OS_ARCH_aix_ppc + # include "globals_aix_ppc.hpp" + #endif ++#ifdef TARGET_OS_ARCH_bsd_ppc ++# include "globals_bsd_ppc.hpp" ++#endif + #ifdef TARGET_OS_ARCH_bsd_x86 + # include "globals_bsd_x86.hpp" + #endif +--- ./hotspot/src/share/vm/runtime/orderAccess.inline.hpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/share/vm/runtime/orderAccess.inline.hpp Mon May 09 17:15:53 2016 -0400 +@@ -64,6 +64,9 @@ + #endif + + // BSD ++#ifdef TARGET_OS_ARCH_bsd_ppc ++# include "orderAccess_bsd_ppc.inline.hpp" ++#endif + #ifdef TARGET_OS_ARCH_bsd_x86 + # include "orderAccess_bsd_x86.inline.hpp" + #endif +--- ./hotspot/src/share/vm/runtime/os.cpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/share/vm/runtime/os.cpp Mon May 09 17:15:53 2016 -0400 @@ -420,15 +420,6 @@ if (_native_java_library == NULL) { vm_exit_during_initialization("Unable to load native library", ebuf); @@ -3712,9 +7568,100 @@ } static jboolean onLoaded = JNI_FALSE; if (onLoaded) { ---- ./hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp Mon Jan 25 21:17:47 2016 -0800 -@@ -242,7 +242,7 @@ +--- ./hotspot/src/share/vm/runtime/os.hpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/share/vm/runtime/os.hpp Mon May 09 17:15:53 2016 -0400 +@@ -835,6 +835,9 @@ + #ifdef TARGET_OS_ARCH_aix_ppc + # include "os_aix_ppc.hpp" + #endif ++#ifdef TARGET_OS_ARCH_bsd_ppc ++# include "os_bsd_ppc.hpp" ++#endif + #ifdef TARGET_OS_ARCH_bsd_x86 + # include "os_bsd_x86.hpp" + #endif +--- ./hotspot/src/share/vm/runtime/prefetch.inline.hpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/share/vm/runtime/prefetch.inline.hpp Mon May 09 17:15:53 2016 -0400 +@@ -63,6 +63,9 @@ + #endif + + // BSD ++#ifdef TARGET_OS_ARCH_bsd_ppc ++# include "prefetch_bsd_ppc.inline.hpp" ++#endif + #ifdef TARGET_OS_ARCH_bsd_x86 + # include "prefetch_bsd_x86.inline.hpp" + #endif +--- ./hotspot/src/share/vm/runtime/thread.hpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/share/vm/runtime/thread.hpp Mon May 09 17:15:53 2016 -0400 +@@ -1732,6 +1732,9 @@ + #ifdef TARGET_OS_ARCH_aix_ppc + # include "thread_aix_ppc.hpp" + #endif ++#ifdef TARGET_OS_ARCH_bsd_ppc ++# include "thread_bsd_ppc.hpp" ++#endif + #ifdef TARGET_OS_ARCH_bsd_x86 + # include "thread_bsd_x86.hpp" + #endif +--- ./hotspot/src/share/vm/runtime/threadLocalStorage.hpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/share/vm/runtime/threadLocalStorage.hpp Mon May 09 17:15:53 2016 -0400 +@@ -75,6 +75,9 @@ + #ifdef TARGET_OS_ARCH_aix_ppc + # include "threadLS_aix_ppc.hpp" + #endif ++#ifdef TARGET_OS_ARCH_bsd_ppc ++# include "threadLS_bsd_ppc.hpp" ++#endif + #ifdef TARGET_OS_ARCH_bsd_x86 + # include "threadLS_bsd_x86.hpp" + #endif +--- ./hotspot/src/share/vm/runtime/vmStructs.cpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/share/vm/runtime/vmStructs.cpp Mon May 09 17:15:53 2016 -0400 +@@ -146,6 +146,9 @@ + #ifdef TARGET_OS_ARCH_aix_ppc + # include "vmStructs_aix_ppc.hpp" + #endif ++#ifdef TARGET_OS_ARCH_bsd_ppc ++# include "vmStructs_bsd_ppc.hpp" ++#endif + #ifdef TARGET_OS_ARCH_bsd_x86 + # include "vmStructs_bsd_x86.hpp" + #endif +@@ -2553,6 +2556,8 @@ + /**********************/ \ + /* frame */ \ + /**********************/ \ ++ NOT_ZERO(PPC64_ONLY(declare_constant(frame::abi_minframe_size))) \ ++ NOT_ZERO(PPC64_ONLY(declare_constant(frame::entry_frame_locals_size))) \ + \ + NOT_ZERO(X86_ONLY(declare_constant(frame::entry_frame_call_wrapper_offset))) \ + declare_constant(frame::pc_return_offset) \ +--- ./hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp Mon May 09 17:15:53 2016 -0400 +@@ -30,6 +30,11 @@ + // This file holds compiler-dependent includes, + // globally used constants & types, class (forward) + // declarations and a few frequently used utility functions. ++#if defined(LINUX) || defined(_ALLBSD_SOURCE) ++#ifndef __STDC_LIMIT_MACROS ++#define __STDC_LIMIT_MACROS ++#endif // __STDC_LIMIT_MACROS ++#endif + + #include <ctype.h> + #include <string.h> +@@ -69,9 +74,6 @@ + # endif + + #if defined(LINUX) || defined(_ALLBSD_SOURCE) +-#ifndef __STDC_LIMIT_MACROS +-#define __STDC_LIMIT_MACROS +-#endif // __STDC_LIMIT_MACROS + #include <inttypes.h> + #include <signal.h> + #ifndef __OpenBSD__ +@@ -242,7 +244,7 @@ #endif // GCC 4.3 does not allow 0.0/0.0 to produce a NAN value @@ -3723,8 +7670,18 @@ #define CAN_USE_NAN_DEFINE 1 #endif ---- ./jdk/make/CompileDemos.gmk Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/CompileDemos.gmk Sat Jan 30 22:09:39 2016 -0800 +--- ./hotspot/src/share/vm/utilities/vmError.cpp Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/src/share/vm/utilities/vmError.cpp Mon May 09 17:15:53 2016 -0400 +@@ -22,7 +22,6 @@ + * + */ + +-#include <fcntl.h> + #include "precompiled.hpp" + #include "compiler/compileBroker.hpp" + #include "gc_interface/collectedHeap.hpp" +--- ./jdk/make/CompileDemos.gmk Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/CompileDemos.gmk Mon May 09 17:18:41 2016 -0400 @@ -323,7 +323,7 @@ $(eval $(call SetupJVMTIDemo,hprof, java_crw_demo, \ -I$(JDK_TOPDIR)/src/share/npt -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt \ @@ -3734,8 +7691,8 @@ $(eval $(call SetupJVMTIDemo,minst, agent_util java_crw_demo)) $(eval $(call SetupJVMTIDemo,mtrace, agent_util java_crw_demo)) ---- ./jdk/make/CompileJavaClasses.gmk Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/CompileJavaClasses.gmk Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/CompileJavaClasses.gmk Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/CompileJavaClasses.gmk Mon May 09 17:18:41 2016 -0400 @@ -128,23 +128,32 @@ sun/nio/fs/LinuxFileStore.java \ sun/nio/fs/LinuxFileSystem.java \ @@ -3836,8 +7793,8 @@ $(CLOSED_SRC_DIRS), \ INCLUDES := $(SECURITY_PKGS), \ EXCLUDES := $(EXCLUDES), \ ---- ./jdk/make/CompileLaunchers.gmk Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/CompileLaunchers.gmk Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/CompileLaunchers.gmk Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/CompileLaunchers.gmk Mon May 09 17:18:41 2016 -0400 @@ -49,7 +49,7 @@ ORIGIN_ROOT := /.. endif @@ -3896,7 +7853,7 @@ $$(BUILD_LAUNCHER_$1): $(JDK_OUTPUTDIR)/objs/libjli_static.a endif -@@ -481,6 +495,7 @@ +@@ -476,6 +490,7 @@ CFLAGS_release := -DPRODUCT, \ CFLAGS_linux := -fPIC, \ CFLAGS_solaris := -KPIC, \ @@ -3904,7 +7861,7 @@ CFLAGS_macosx := -fPIC, \ MAPFILE := $(UNPACK_MAPFILE),\ LDFLAGS := $(UNPACKEXE_ZIPOBJS), \ -@@ -543,7 +558,7 @@ +@@ -538,7 +553,7 @@ endif endif @@ -3913,7 +7870,7 @@ BUILD_JEXEC := 1 endif # OPENJDK_TARGET_OS -@@ -579,6 +594,7 @@ +@@ -574,6 +589,7 @@ $(BUILD_JEXEC_INC), \ CFLAGS_linux := -fPIC, \ CFLAGS_solaris := -KPIC, \ @@ -3921,7 +7878,7 @@ LDFLAGS := $(LDFLAGS_JDKEXE) \ $(call SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)$(SHARED_LIBRARY_SUFFIX)), \ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/jexec_obj, \ -@@ -595,10 +611,7 @@ +@@ -590,10 +606,7 @@ # The java-rmi.cgi script in bin/ only gets delivered in certain situations # JAVA_RMI_CGI := $(JDK_OUTPUTDIR)/bin$(OUTPUT_SUBDIR)/java-rmi.cgi @@ -3933,7 +7890,7 @@ BUILD_LAUNCHERS += $(JAVA_RMI_CGI) endif -@@ -626,7 +639,7 @@ +@@ -621,7 +634,7 @@ LINK_JSPAWNHELPER_OBJECTS := $(JDK_OUTPUTDIR)/objs/libjava/childproc.o LINK_JSPAWNHELPER_FLAGS := @@ -3942,8 +7899,8 @@ BUILD_JSPAWNHELPER := 1 endif ---- ./jdk/make/CopyFiles.gmk Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/CopyFiles.gmk Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/CopyFiles.gmk Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/CopyFiles.gmk Mon May 09 17:18:41 2016 -0400 @@ -29,6 +29,8 @@ ifeq ($(OPENJDK_TARGET_OS), windows) @@ -3986,8 +7943,8 @@ endif endif endif ---- ./jdk/make/Images.gmk Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/Images.gmk Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/Images.gmk Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/Images.gmk Mon May 09 17:18:41 2016 -0400 @@ -236,11 +236,11 @@ endif @@ -4058,2813 +8015,2569 @@ ################################################################################ --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./jdk/make/data/classlist/classlist.bsd Sat Jan 30 22:09:39 2016 -0800 -@@ -0,0 +1,2803 @@ -+com/sun/java/swing/SwingUtilities3 -+com/sun/java/swing/plaf/windows/WindowsTabbedPaneUI -+com/sun/swing/internal/plaf/basic/resources/basic -+com/sun/swing/internal/plaf/metal/resources/metal -+java/applet/Applet -+java/awt/AWTEvent -+java/awt/AWTEvent$1 -+java/awt/AWTEvent$2 -+java/awt/AWTEventMulticaster -+java/awt/AWTKeyStroke -+java/awt/AWTKeyStroke$1 -+java/awt/ActiveEvent -+java/awt/Adjustable -+java/awt/AlphaComposite -+java/awt/BasicStroke -+java/awt/BorderLayout -+java/awt/BufferCapabilities -+java/awt/Canvas -+java/awt/CardLayout -+java/awt/CardLayout$Card -+java/awt/Color -+java/awt/Component -+java/awt/Component$1 -+java/awt/Component$3 -+java/awt/Component$AWTTreeLock -+java/awt/Component$AccessibleAWTComponent -+java/awt/Component$BaselineResizeBehavior -+java/awt/Component$BltBufferStrategy -+java/awt/Component$BltSubRegionBufferStrategy -+java/awt/Component$DummyRequestFocusController -+java/awt/Component$FlipBufferStrategy -+java/awt/ComponentOrientation -+java/awt/Composite -+java/awt/Conditional -+java/awt/Container -+java/awt/Container$1 -+java/awt/Container$AccessibleAWTContainer -+java/awt/Container$EventTargetFilter -+java/awt/Container$MouseEventTargetFilter -+java/awt/ContainerOrderFocusTraversalPolicy -+java/awt/Cursor -+java/awt/Cursor$1 -+java/awt/DefaultFocusTraversalPolicy -+java/awt/DefaultKeyboardFocusManager -+java/awt/DefaultKeyboardFocusManager$1 -+java/awt/DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent -+java/awt/DefaultKeyboardFocusManager$TypeAheadMarker -+java/awt/Dialog -+java/awt/Dialog$1 -+java/awt/Dialog$3 -+java/awt/Dialog$ModalExclusionType -+java/awt/Dialog$ModalityType -+java/awt/Dimension -+java/awt/Event -+java/awt/EventDispatchThread -+java/awt/EventDispatchThread$1 -+java/awt/EventDispatchThread$HierarchyEventFilter -+java/awt/EventFilter -+java/awt/EventFilter$FilterAction -+java/awt/EventQueue -+java/awt/EventQueue$1 -+java/awt/EventQueue$1AWTInvocationLock -+java/awt/EventQueue$2 -+java/awt/EventQueue$3 -+java/awt/EventQueue$4 -+java/awt/EventQueue$5 -+java/awt/FlowLayout -+java/awt/FocusTraversalPolicy -+java/awt/Font -+java/awt/Font$FontAccessImpl -+java/awt/FontFormatException -+java/awt/FontMetrics -+java/awt/Frame -+java/awt/Frame$1 -+java/awt/Graphics -+java/awt/Graphics2D -+java/awt/GraphicsCallback -+java/awt/GraphicsCallback$PaintCallback -+java/awt/GraphicsConfiguration -+java/awt/GraphicsDevice -+java/awt/GraphicsEnvironment -+java/awt/GraphicsEnvironment$1 -+java/awt/GridLayout -+java/awt/Image -+java/awt/Image$1 -+java/awt/ImageCapabilities -+java/awt/ImageMediaEntry -+java/awt/Insets -+java/awt/ItemSelectable -+java/awt/KeyEventDispatcher -+java/awt/KeyEventPostProcessor -+java/awt/KeyboardFocusManager -+java/awt/KeyboardFocusManager$1 -+java/awt/KeyboardFocusManager$2 -+java/awt/KeyboardFocusManager$3 -+java/awt/KeyboardFocusManager$HeavyweightFocusRequest -+java/awt/KeyboardFocusManager$LightweightFocusRequest -+java/awt/Label -+java/awt/LayoutManager -+java/awt/LayoutManager2 -+java/awt/LightweightDispatcher -+java/awt/LightweightDispatcher$1 -+java/awt/LightweightDispatcher$2 -+java/awt/MediaEntry -+java/awt/MediaTracker -+java/awt/MenuBar -+java/awt/MenuComponent -+java/awt/MenuContainer -+java/awt/ModalEventFilter -+java/awt/ModalEventFilter$1 -+java/awt/ModalEventFilter$ApplicationModalEventFilter -+java/awt/Paint -+java/awt/Panel -+java/awt/Point -+java/awt/PrintGraphics -+java/awt/Queue -+java/awt/Rectangle -+java/awt/RenderingHints -+java/awt/RenderingHints$Key -+java/awt/SecondaryLoop -+java/awt/SentEvent -+java/awt/SequencedEvent -+java/awt/SequencedEvent$1 -+java/awt/Shape -+java/awt/SplashScreen -+java/awt/Stroke -+java/awt/SystemColor -+java/awt/Toolkit -+java/awt/Toolkit$1 -+java/awt/Toolkit$2 -+java/awt/Toolkit$3 -+java/awt/Toolkit$4 -+java/awt/Toolkit$5 -+java/awt/Toolkit$DesktopPropertyChangeSupport -+java/awt/Toolkit$DesktopPropertyChangeSupport$1 -+java/awt/Toolkit$SelectiveAWTEventListener -+java/awt/Toolkit$ToolkitEventMulticaster -+java/awt/Transparency -+java/awt/TrayIcon -+java/awt/VKCollection -+java/awt/WaitDispatchSupport -+java/awt/WaitDispatchSupport$1 -+java/awt/WaitDispatchSupport$2 -+java/awt/WaitDispatchSupport$5 -+java/awt/Window -+java/awt/Window$1 -+java/awt/Window$1DisposeAction -+java/awt/Window$Type -+java/awt/Window$WindowDisposerRecord -+java/awt/color/ColorSpace -+java/awt/color/ICC_ColorSpace -+java/awt/color/ICC_Profile -+java/awt/color/ICC_Profile$1 -+java/awt/color/ICC_ProfileRGB -+java/awt/datatransfer/Clipboard -+java/awt/datatransfer/ClipboardOwner -+java/awt/datatransfer/DataFlavor -+java/awt/datatransfer/FlavorMap -+java/awt/datatransfer/FlavorTable -+java/awt/datatransfer/MimeType -+java/awt/datatransfer/MimeTypeParameterList -+java/awt/datatransfer/MimeTypeParseException -+java/awt/datatransfer/SystemFlavorMap -+java/awt/datatransfer/SystemFlavorMap$1 -+java/awt/datatransfer/SystemFlavorMap$2 -+java/awt/datatransfer/Transferable -+java/awt/dnd/DropTarget -+java/awt/dnd/DropTargetContext -+java/awt/dnd/DropTargetListener -+java/awt/dnd/peer/DragSourceContextPeer -+java/awt/dnd/peer/DropTargetContextPeer -+java/awt/dnd/peer/DropTargetPeer -+java/awt/event/AWTEventListener -+java/awt/event/AWTEventListenerProxy -+java/awt/event/ActionEvent -+java/awt/event/ActionListener -+java/awt/event/AdjustmentEvent -+java/awt/event/AdjustmentListener -+java/awt/event/ComponentAdapter -+java/awt/event/ComponentEvent -+java/awt/event/ComponentListener -+java/awt/event/ContainerEvent -+java/awt/event/ContainerListener -+java/awt/event/FocusAdapter -+java/awt/event/FocusEvent -+java/awt/event/FocusListener -+java/awt/event/HierarchyBoundsListener -+java/awt/event/HierarchyEvent -+java/awt/event/HierarchyListener -+java/awt/event/InputEvent -+java/awt/event/InputEvent$1 -+java/awt/event/InputMethodEvent -+java/awt/event/InputMethodListener -+java/awt/event/InvocationEvent -+java/awt/event/InvocationEvent$1 -+java/awt/event/ItemEvent -+java/awt/event/ItemListener -+java/awt/event/KeyAdapter -+java/awt/event/KeyEvent -+java/awt/event/KeyEvent$1 -+java/awt/event/KeyListener -+java/awt/event/MouseAdapter -+java/awt/event/MouseEvent -+java/awt/event/MouseListener -+java/awt/event/MouseMotionAdapter -+java/awt/event/MouseMotionListener -+java/awt/event/MouseWheelEvent -+java/awt/event/MouseWheelListener -+java/awt/event/NativeLibLoader -+java/awt/event/NativeLibLoader$1 -+java/awt/event/PaintEvent -+java/awt/event/TextListener -+java/awt/event/WindowAdapter -+java/awt/event/WindowEvent -+java/awt/event/WindowFocusListener -+java/awt/event/WindowListener -+java/awt/event/WindowStateListener -+java/awt/font/FontRenderContext -+java/awt/font/GlyphVector -+java/awt/font/LineMetrics -+java/awt/font/TextAttribute -+java/awt/geom/AffineTransform -+java/awt/geom/Dimension2D -+java/awt/geom/GeneralPath -+java/awt/geom/Line2D -+java/awt/geom/Line2D$Float -+java/awt/geom/Path2D -+java/awt/geom/Path2D$Float -+java/awt/geom/Path2D$Float$CopyIterator -+java/awt/geom/Path2D$Iterator -+java/awt/geom/PathIterator -+java/awt/geom/Point2D -+java/awt/geom/Point2D$Double -+java/awt/geom/Point2D$Float -+java/awt/geom/RectIterator -+java/awt/geom/Rectangle2D -+java/awt/geom/Rectangle2D$Double -+java/awt/geom/Rectangle2D$Float -+java/awt/geom/RectangularShape -+java/awt/im/InputContext -+java/awt/im/InputMethodRequests -+java/awt/im/spi/InputMethod -+java/awt/im/spi/InputMethodContext -+java/awt/im/spi/InputMethodDescriptor -+java/awt/image/BufferStrategy -+java/awt/image/BufferedImage -+java/awt/image/BufferedImage$1 -+java/awt/image/ColorModel -+java/awt/image/ColorModel$1 -+java/awt/image/ComponentSampleModel -+java/awt/image/DataBuffer -+java/awt/image/DataBuffer$1 -+java/awt/image/DataBufferByte -+java/awt/image/DataBufferInt -+java/awt/image/DirectColorModel -+java/awt/image/FilteredImageSource -+java/awt/image/ImageConsumer -+java/awt/image/ImageFilter -+java/awt/image/ImageObserver -+java/awt/image/ImageProducer -+java/awt/image/IndexColorModel -+java/awt/image/PackedColorModel -+java/awt/image/PixelInterleavedSampleModel -+java/awt/image/RGBImageFilter -+java/awt/image/Raster -+java/awt/image/RenderedImage -+java/awt/image/SampleModel -+java/awt/image/SinglePixelPackedSampleModel -+java/awt/image/VolatileImage -+java/awt/image/WritableRaster -+java/awt/image/WritableRenderedImage -+java/awt/peer/CanvasPeer -+java/awt/peer/ComponentPeer -+java/awt/peer/ContainerPeer -+java/awt/peer/DialogPeer -+java/awt/peer/FramePeer -+java/awt/peer/KeyboardFocusManagerPeer -+java/awt/peer/LabelPeer -+java/awt/peer/LightweightPeer -+java/awt/peer/PanelPeer -+java/awt/peer/SystemTrayPeer -+java/awt/peer/WindowPeer -+java/awt/print/PrinterGraphics -+java/beans/ChangeListenerMap -+java/beans/PropertyChangeEvent -+java/beans/PropertyChangeListener -+java/beans/PropertyChangeListenerProxy -+java/beans/PropertyChangeSupport -+java/beans/PropertyChangeSupport$PropertyChangeListenerMap -+java/beans/VetoableChangeListener -+java/io/Bits -+java/io/BufferedInputStream -+java/io/BufferedOutputStream -+java/io/BufferedReader -+java/io/BufferedWriter -+java/io/ByteArrayInputStream -+java/io/ByteArrayOutputStream -+java/io/Closeable -+java/io/DataInput -+java/io/DataInputStream -+java/io/DataOutput -+java/io/DataOutputStream -+java/io/DefaultFileSystem -+java/io/EOFException -+java/io/ExpiringCache -+java/io/ExpiringCache$1 -+java/io/ExpiringCache$Entry -+java/io/Externalizable -+java/io/File -+java/io/File$PathStatus -+java/io/FileDescriptor -+java/io/FileDescriptor$1 -+java/io/FileInputStream -+java/io/FileInputStream$1 -+java/io/FileNotFoundException -+java/io/FileOutputStream -+java/io/FileOutputStream$1 -+java/io/FilePermission -+java/io/FilePermission$1 -+java/io/FilePermissionCollection -+java/io/FileReader -+java/io/FileSystem -+java/io/FileWriter -+java/io/FilenameFilter -+java/io/FilterInputStream -+java/io/FilterOutputStream -+java/io/FilterReader -+java/io/Flushable -+java/io/IOException -+java/io/InputStream -+java/io/InputStreamReader -+java/io/InterruptedIOException -+java/io/NotSerializableException -+java/io/ObjectInput -+java/io/ObjectInputStream -+java/io/ObjectInputStream$BlockDataInputStream -+java/io/ObjectInputStream$GetField -+java/io/ObjectInputStream$GetFieldImpl -+java/io/ObjectInputStream$HandleTable -+java/io/ObjectInputStream$HandleTable$HandleList -+java/io/ObjectInputStream$PeekInputStream -+java/io/ObjectInputStream$ValidationList -+java/io/ObjectOutput -+java/io/ObjectOutputStream -+java/io/ObjectOutputStream$BlockDataOutputStream -+java/io/ObjectOutputStream$HandleTable -+java/io/ObjectOutputStream$ReplaceTable -+java/io/ObjectStreamClass -+java/io/ObjectStreamClass$1 -+java/io/ObjectStreamClass$2 -+java/io/ObjectStreamClass$3 -+java/io/ObjectStreamClass$4 -+java/io/ObjectStreamClass$5 -+java/io/ObjectStreamClass$Caches -+java/io/ObjectStreamClass$ClassDataSlot -+java/io/ObjectStreamClass$EntryFuture -+java/io/ObjectStreamClass$ExceptionInfo -+java/io/ObjectStreamClass$FieldReflector -+java/io/ObjectStreamClass$FieldReflectorKey -+java/io/ObjectStreamClass$MemberSignature -+java/io/ObjectStreamClass$WeakClassKey -+java/io/ObjectStreamConstants -+java/io/ObjectStreamException -+java/io/ObjectStreamField -+java/io/OutputStream -+java/io/OutputStreamWriter -+java/io/PrintStream -+java/io/PrintWriter -+java/io/PushbackInputStream -+java/io/RandomAccessFile -+java/io/RandomAccessFile$1 -+java/io/Reader -+java/io/SerialCallbackContext ++++ ./jdk/make/data/classlist/classlist.bsd Mon May 09 17:18:41 2016 -0400 +@@ -0,0 +1,2559 @@ ++java/lang/Object ++java/lang/String +java/io/Serializable -+java/io/StreamTokenizer -+java/io/StringReader -+java/io/StringWriter -+java/io/UnixFileSystem -+java/io/UnsupportedEncodingException -+java/io/Writer -+java/lang/AbstractStringBuilder -+java/lang/Appendable -+java/lang/ApplicationShutdownHooks -+java/lang/ApplicationShutdownHooks$1 -+java/lang/ArithmeticException -+java/lang/ArrayIndexOutOfBoundsException -+java/lang/ArrayStoreException -+java/lang/AssertionError -+java/lang/AutoCloseable -+java/lang/Boolean -+java/lang/BootstrapMethodError -+java/lang/Byte ++java/lang/Comparable +java/lang/CharSequence -+java/lang/Character -+java/lang/Character$CharacterCache -+java/lang/CharacterData -+java/lang/CharacterData00 -+java/lang/CharacterDataLatin1 +java/lang/Class -+java/lang/Class$1 -+java/lang/Class$3 -+java/lang/Class$4 -+java/lang/Class$AnnotationData -+java/lang/Class$Atomic -+java/lang/Class$ReflectionData -+java/lang/ClassCastException -+java/lang/ClassFormatError -+java/lang/ClassLoader -+java/lang/ClassLoader$2 -+java/lang/ClassLoader$3 -+java/lang/ClassLoader$NativeLibrary -+java/lang/ClassLoader$ParallelLoaders -+java/lang/ClassLoaderHelper -+java/lang/ClassNotFoundException -+java/lang/ClassValue$ClassValueMap -+java/lang/CloneNotSupportedException ++java/lang/reflect/GenericDeclaration ++java/lang/reflect/AnnotatedElement ++java/lang/reflect/Type +java/lang/Cloneable -+java/lang/Comparable -+java/lang/Compiler -+java/lang/Compiler$1 -+java/lang/Double -+java/lang/Enum ++java/lang/ClassLoader ++java/lang/System ++java/lang/Throwable +java/lang/Error ++java/lang/ThreadDeath +java/lang/Exception -+java/lang/ExceptionInInitializerError -+java/lang/Float -+java/lang/IllegalAccessError -+java/lang/IllegalAccessException -+java/lang/IllegalArgumentException -+java/lang/IllegalMonitorStateException -+java/lang/IllegalStateException -+java/lang/IncompatibleClassChangeError -+java/lang/IndexOutOfBoundsException -+java/lang/InheritableThreadLocal -+java/lang/InstantiationException -+java/lang/Integer -+java/lang/Integer$IntegerCache -+java/lang/InternalError -+java/lang/InterruptedException -+java/lang/Iterable -+java/lang/LinkageError -+java/lang/Long -+java/lang/Long$LongCache -+java/lang/Math -+java/lang/NoClassDefFoundError -+java/lang/NoSuchFieldException -+java/lang/NoSuchMethodError -+java/lang/NoSuchMethodException -+java/lang/NullPointerException -+java/lang/Number -+java/lang/NumberFormatException -+java/lang/Object -+java/lang/OutOfMemoryError -+java/lang/Package -+java/lang/Process -+java/lang/ProcessBuilder -+java/lang/ProcessBuilder$NullInputStream -+java/lang/ProcessBuilder$NullOutputStream -+java/lang/ProcessEnvironment -+java/lang/ProcessEnvironment$ExternalData -+java/lang/ProcessEnvironment$StringEnvironment -+java/lang/ProcessEnvironment$Value -+java/lang/ProcessEnvironment$Variable -+java/lang/ProcessImpl -+java/lang/Readable -+java/lang/ReflectiveOperationException -+java/lang/Runnable -+java/lang/Runtime +java/lang/RuntimeException -+java/lang/RuntimePermission -+java/lang/SecurityException +java/lang/SecurityManager -+java/lang/Short -+java/lang/Short$ShortCache -+java/lang/Shutdown -+java/lang/Shutdown$Lock ++java/security/ProtectionDomain ++java/security/AccessControlContext ++java/security/SecureClassLoader ++java/lang/ClassNotFoundException ++java/lang/ReflectiveOperationException ++java/lang/NoClassDefFoundError ++java/lang/LinkageError ++java/lang/ClassCastException ++java/lang/ArrayStoreException ++java/lang/VirtualMachineError ++java/lang/OutOfMemoryError +java/lang/StackOverflowError -+java/lang/StackTraceElement -+java/lang/StrictMath -+java/lang/String -+java/lang/String$CaseInsensitiveComparator -+java/lang/StringBuffer -+java/lang/StringBuilder -+java/lang/StringCoding -+java/lang/StringCoding$StringDecoder -+java/lang/StringCoding$StringEncoder -+java/lang/StringIndexOutOfBoundsException -+java/lang/System -+java/lang/System$2 -+java/lang/SystemClassLoaderAction -+java/lang/Terminator -+java/lang/Terminator$1 ++java/lang/IllegalMonitorStateException ++java/lang/ref/Reference ++java/lang/ref/SoftReference ++java/lang/ref/WeakReference ++java/lang/ref/FinalReference ++java/lang/ref/PhantomReference ++sun/misc/Cleaner ++java/lang/ref/Finalizer +java/lang/Thread -+java/lang/Thread$State -+java/lang/Thread$UncaughtExceptionHandler -+java/lang/ThreadDeath ++java/lang/Runnable +java/lang/ThreadGroup -+java/lang/ThreadLocal -+java/lang/ThreadLocal$ThreadLocalMap -+java/lang/ThreadLocal$ThreadLocalMap$Entry -+java/lang/Throwable -+java/lang/Throwable$PrintStreamOrWriter -+java/lang/Throwable$WrappedPrintStream -+java/lang/Throwable$WrappedPrintWriter -+java/lang/UNIXProcess -+java/lang/UNIXProcess$1 -+java/lang/UNIXProcess$2 -+java/lang/UNIXProcess$3 -+java/lang/UNIXProcess$4 -+java/lang/UNIXProcess$LaunchMechanism -+java/lang/UNIXProcess$ProcessPipeInputStream -+java/lang/UNIXProcess$ProcessPipeOutputStream -+java/lang/UNIXProcess$ProcessReaperThreadFactory -+java/lang/UNIXProcess$ProcessReaperThreadFactory$1 -+java/lang/UnsatisfiedLinkError -+java/lang/UnsupportedOperationException -+java/lang/VirtualMachineError -+java/lang/Void ++java/lang/Thread$UncaughtExceptionHandler ++java/util/Properties ++java/util/Hashtable ++java/util/Map ++java/util/Dictionary ++java/lang/reflect/AccessibleObject ++java/lang/reflect/Field ++java/lang/reflect/Member ++java/lang/reflect/Parameter ++java/lang/reflect/Method ++java/lang/reflect/Executable ++java/lang/reflect/Constructor ++sun/reflect/MagicAccessorImpl ++sun/reflect/MethodAccessorImpl ++sun/reflect/MethodAccessor ++sun/reflect/ConstructorAccessorImpl ++sun/reflect/ConstructorAccessor ++sun/reflect/DelegatingClassLoader ++sun/reflect/ConstantPool ++sun/reflect/UnsafeStaticFieldAccessorImpl ++sun/reflect/UnsafeFieldAccessorImpl ++sun/reflect/FieldAccessorImpl ++sun/reflect/FieldAccessor ++sun/reflect/CallerSensitive +java/lang/annotation/Annotation -+java/lang/invoke/CallSite -+java/lang/invoke/ConstantCallSite +java/lang/invoke/DirectMethodHandle -+java/lang/invoke/Invokers -+java/lang/invoke/LambdaForm -+java/lang/invoke/LambdaForm$NamedFunction -+java/lang/invoke/MemberName -+java/lang/invoke/MemberName$Factory +java/lang/invoke/MethodHandle -+java/lang/invoke/MethodHandleImpl ++java/lang/invoke/MemberName +java/lang/invoke/MethodHandleNatives -+java/lang/invoke/MethodHandleStatics -+java/lang/invoke/MethodHandleStatics$1 ++java/lang/invoke/LambdaForm +java/lang/invoke/MethodType -+java/lang/invoke/MethodType$ConcurrentWeakInternSet -+java/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry -+java/lang/invoke/MethodTypeForm ++java/lang/BootstrapMethodError ++java/lang/invoke/CallSite ++java/lang/invoke/ConstantCallSite +java/lang/invoke/MutableCallSite +java/lang/invoke/VolatileCallSite -+java/lang/ref/FinalReference -+java/lang/ref/Finalizer -+java/lang/ref/Finalizer$FinalizerThread -+java/lang/ref/PhantomReference -+java/lang/ref/Reference -+java/lang/ref/Reference$Lock -+java/lang/ref/Reference$ReferenceHandler -+java/lang/ref/ReferenceQueue -+java/lang/ref/ReferenceQueue$Lock -+java/lang/ref/ReferenceQueue$Null -+java/lang/ref/SoftReference -+java/lang/ref/WeakReference -+java/lang/reflect/AccessibleObject -+java/lang/reflect/AnnotatedElement -+java/lang/reflect/Array -+java/lang/reflect/Constructor -+java/lang/reflect/Executable -+java/lang/reflect/Field -+java/lang/reflect/GenericDeclaration -+java/lang/reflect/InvocationHandler -+java/lang/reflect/InvocationTargetException -+java/lang/reflect/Member -+java/lang/reflect/Method -+java/lang/reflect/Modifier -+java/lang/reflect/Parameter -+java/lang/reflect/Proxy -+java/lang/reflect/Proxy$KeyFactory -+java/lang/reflect/Proxy$ProxyClassFactory -+java/lang/reflect/ReflectAccess -+java/lang/reflect/ReflectPermission -+java/lang/reflect/Type -+java/lang/reflect/WeakCache -+java/math/BigInteger -+java/math/BigInteger$UnsafeHolder -+java/math/MutableBigInteger -+java/math/RoundingMode -+java/math/SignedMutableBigInteger -+java/net/AbstractPlainDatagramSocketImpl -+java/net/AbstractPlainDatagramSocketImpl$1 -+java/net/AbstractPlainSocketImpl -+java/net/AbstractPlainSocketImpl$1 -+java/net/Authenticator -+java/net/BindException -+java/net/ConnectException -+java/net/DatagramPacket -+java/net/DatagramPacket$1 -+java/net/DatagramSocket -+java/net/DatagramSocket$1 -+java/net/DatagramSocketImpl -+java/net/DefaultDatagramSocketImplFactory -+java/net/DefaultInterface -+java/net/FileNameMap -+java/net/HttpURLConnection -+java/net/Inet4Address -+java/net/Inet4AddressImpl -+java/net/Inet6Address -+java/net/Inet6Address$Inet6AddressHolder -+java/net/Inet6AddressImpl -+java/net/InetAddress -+java/net/InetAddress$1 -+java/net/InetAddress$2 -+java/net/InetAddress$Cache -+java/net/InetAddress$Cache$Type -+java/net/InetAddress$CacheEntry -+java/net/InetAddress$InetAddressHolder -+java/net/InetAddressImpl -+java/net/InetAddressImplFactory -+java/net/InetSocketAddress -+java/net/InetSocketAddress$InetSocketAddressHolder -+java/net/InterfaceAddress -+java/net/JarURLConnection -+java/net/MalformedURLException -+java/net/MulticastSocket -+java/net/NetworkInterface -+java/net/NetworkInterface$1 -+java/net/NetworkInterface$2 -+java/net/NoRouteToHostException -+java/net/Parts -+java/net/PlainDatagramSocketImpl -+java/net/PlainSocketImpl -+java/net/Proxy -+java/net/Proxy$Type -+java/net/ProxySelector -+java/net/ServerSocket -+java/net/Socket -+java/net/SocketAddress -+java/net/SocketException -+java/net/SocketImpl -+java/net/SocketImplFactory -+java/net/SocketOptions -+java/net/SocksConsts -+java/net/SocksSocketImpl -+java/net/SocksSocketImpl$3 -+java/net/URI -+java/net/URI$Parser -+java/net/URL ++java/lang/StringBuffer ++java/lang/AbstractStringBuilder ++java/lang/Appendable ++java/lang/StringBuilder ++sun/misc/Unsafe ++java/io/ByteArrayInputStream ++java/io/InputStream ++java/io/Closeable ++java/lang/AutoCloseable ++java/io/File +java/net/URLClassLoader -+java/net/URLClassLoader$1 -+java/net/URLClassLoader$2 -+java/net/URLClassLoader$3 -+java/net/URLClassLoader$3$1 -+java/net/URLClassLoader$7 -+java/net/URLConnection -+java/net/URLConnection$1 -+java/net/URLStreamHandler -+java/net/URLStreamHandlerFactory -+java/net/UnknownHostException -+java/nio/Bits -+java/nio/Bits$1 ++java/net/URL ++java/util/jar/Manifest ++sun/misc/Launcher ++sun/misc/Launcher$AppClassLoader ++sun/misc/Launcher$ExtClassLoader ++java/security/CodeSource ++java/lang/StackTraceElement +java/nio/Buffer -+java/nio/BufferUnderflowException -+java/nio/ByteBuffer -+java/nio/ByteBufferAsIntBufferB -+java/nio/ByteBufferAsShortBufferB -+java/nio/ByteOrder -+java/nio/CharBuffer -+java/nio/DirectByteBuffer -+java/nio/DirectByteBuffer$Deallocator -+java/nio/DirectByteBufferR -+java/nio/DirectLongBufferU -+java/nio/HeapByteBuffer -+java/nio/HeapCharBuffer -+java/nio/IntBuffer -+java/nio/LongBuffer -+java/nio/MappedByteBuffer -+java/nio/ShortBuffer -+java/nio/channels/ByteChannel -+java/nio/channels/Channel -+java/nio/channels/FileChannel -+java/nio/channels/FileChannel$MapMode -+java/nio/channels/GatheringByteChannel -+java/nio/channels/InterruptibleChannel -+java/nio/channels/NetworkChannel -+java/nio/channels/ReadableByteChannel -+java/nio/channels/ScatteringByteChannel -+java/nio/channels/SeekableByteChannel -+java/nio/channels/SelectableChannel -+java/nio/channels/SocketChannel -+java/nio/channels/WritableByteChannel -+java/nio/channels/spi/AbstractInterruptibleChannel -+java/nio/channels/spi/AbstractInterruptibleChannel$1 -+java/nio/channels/spi/AbstractSelectableChannel -+java/nio/charset/Charset -+java/nio/charset/Charset$ExtendedProviderHolder -+java/nio/charset/Charset$ExtendedProviderHolder$1 -+java/nio/charset/CharsetDecoder -+java/nio/charset/CharsetEncoder -+java/nio/charset/CoderResult -+java/nio/charset/CoderResult$1 -+java/nio/charset/CoderResult$2 -+java/nio/charset/CoderResult$Cache -+java/nio/charset/CodingErrorAction -+java/nio/charset/StandardCharsets -+java/nio/charset/spi/CharsetProvider -+java/nio/file/Path -+java/nio/file/Watchable -+java/nio/file/attribute/FileAttribute -+java/rmi/MarshalledObject -+java/rmi/Remote -+java/security/AccessControlContext -+java/security/AccessControlException -+java/security/AccessController -+java/security/AlgorithmParameters -+java/security/AlgorithmParametersSpi -+java/security/AllPermission -+java/security/AllPermissionCollection -+java/security/AuthProvider ++java/lang/Boolean ++java/lang/Character ++java/lang/Float ++java/lang/Number ++java/lang/Double ++java/lang/Byte ++java/lang/Short ++java/lang/Integer ++java/lang/Long ++java/lang/NullPointerException ++java/lang/ArithmeticException ++java/io/ObjectStreamField ++java/lang/String$CaseInsensitiveComparator ++java/util/Comparator ++java/lang/RuntimePermission +java/security/BasicPermission -+java/security/BasicPermissionCollection -+java/security/CodeSigner -+java/security/CodeSource -+java/security/DigestException -+java/security/GeneralSecurityException -+java/security/Guard -+java/security/InvalidAlgorithmParameterException -+java/security/InvalidKeyException -+java/security/InvalidParameterException -+java/security/Key -+java/security/KeyException -+java/security/KeyFactory -+java/security/KeyFactorySpi -+java/security/MessageDigest -+java/security/MessageDigest$Delegate -+java/security/MessageDigestSpi -+java/security/NoSuchAlgorithmException +java/security/Permission -+java/security/PermissionCollection -+java/security/Permissions -+java/security/Principal -+java/security/PrivateKey ++java/security/Guard ++java/security/AccessController ++java/lang/reflect/ReflectPermission ++sun/reflect/ReflectionFactory$GetReflectionFactoryAction +java/security/PrivilegedAction -+java/security/PrivilegedActionException -+java/security/PrivilegedExceptionAction -+java/security/ProtectionDomain -+java/security/ProtectionDomain$1 -+java/security/ProtectionDomain$3 -+java/security/ProtectionDomain$Key -+java/security/Provider -+java/security/Provider$EngineDescription -+java/security/Provider$Service -+java/security/Provider$ServiceKey -+java/security/Provider$UString -+java/security/ProviderException -+java/security/PublicKey -+java/security/SecureClassLoader -+java/security/SecureRandomSpi -+java/security/Security -+java/security/Security$1 -+java/security/SecurityPermission -+java/security/Signature -+java/security/Signature$Delegate -+java/security/SignatureException -+java/security/SignatureSpi -+java/security/UnresolvedPermission -+java/security/cert/CertPath +java/security/cert/Certificate -+java/security/cert/CertificateFactory -+java/security/cert/CertificateFactorySpi -+java/security/cert/Extension -+java/security/cert/X509Certificate -+java/security/cert/X509Extension -+java/security/interfaces/DSAKey -+java/security/interfaces/DSAParams -+java/security/interfaces/DSAPrivateKey -+java/security/interfaces/DSAPublicKey -+java/security/interfaces/RSAKey -+java/security/interfaces/RSAPrivateCrtKey -+java/security/interfaces/RSAPrivateKey -+java/security/interfaces/RSAPublicKey -+java/security/spec/AlgorithmParameterSpec -+java/security/spec/DSAParameterSpec -+java/security/spec/DSAPublicKeySpec -+java/security/spec/EncodedKeySpec -+java/security/spec/InvalidKeySpecException -+java/security/spec/KeySpec -+java/security/spec/PKCS8EncodedKeySpec -+java/security/spec/RSAPrivateCrtKeySpec -+java/security/spec/RSAPrivateKeySpec -+java/security/spec/RSAPublicKeySpec -+java/security/spec/X509EncodedKeySpec -+java/text/AttributedCharacterIterator -+java/text/AttributedCharacterIterator$Attribute -+java/text/AttributedString -+java/text/AttributedString$AttributedStringIterator -+java/text/CharacterIterator -+java/text/Collator -+java/text/DateFormat -+java/text/DateFormat$Field -+java/text/DateFormatSymbols -+java/text/DecimalFormat -+java/text/DecimalFormatSymbols -+java/text/DigitList -+java/text/DontCareFieldPosition -+java/text/DontCareFieldPosition$1 -+java/text/EntryPair -+java/text/FieldPosition -+java/text/Format -+java/text/Format$Field -+java/text/Format$FieldDelegate -+java/text/MergeCollation -+java/text/MessageFormat -+java/text/MessageFormat$Field -+java/text/Normalizer -+java/text/Normalizer$Form -+java/text/NumberFormat -+java/text/NumberFormat$Field -+java/text/ParseException -+java/text/PatternEntry -+java/text/PatternEntry$Parser -+java/text/RBCollationTables -+java/text/RBCollationTables$BuildAPI -+java/text/RBTableBuilder -+java/text/RuleBasedCollator -+java/text/SimpleDateFormat -+java/text/spi/BreakIteratorProvider -+java/text/spi/CollatorProvider -+java/text/spi/DateFormatProvider -+java/text/spi/DateFormatSymbolsProvider -+java/text/spi/DecimalFormatSymbolsProvider -+java/text/spi/NumberFormatProvider -+java/util/AbstractCollection ++java/util/Vector ++java/util/List ++java/util/Collection ++java/lang/Iterable ++java/util/RandomAccess +java/util/AbstractList -+java/util/AbstractList$Itr -+java/util/AbstractList$ListItr ++java/util/AbstractCollection ++java/util/Stack ++sun/reflect/ReflectionFactory ++java/lang/ref/Reference$Lock ++java/lang/ref/Reference$ReferenceHandler ++java/lang/ref/ReferenceQueue ++java/lang/ref/ReferenceQueue$Null ++java/lang/ref/ReferenceQueue$Lock ++java/lang/ref/Finalizer$FinalizerThread ++sun/misc/VM ++java/util/Hashtable$Entry ++java/util/Map$Entry ++java/lang/Math ++java/nio/charset/Charset ++sun/nio/cs/StandardCharsets ++sun/nio/cs/FastCharsetProvider ++java/nio/charset/spi/CharsetProvider ++sun/nio/cs/StandardCharsets$Aliases ++sun/util/PreHashedMap +java/util/AbstractMap -+java/util/AbstractQueue -+java/util/AbstractSequentialList -+java/util/AbstractSet -+java/util/ArrayDeque ++sun/nio/cs/StandardCharsets$Classes ++sun/nio/cs/StandardCharsets$Cache ++java/lang/ThreadLocal ++java/util/concurrent/atomic/AtomicInteger ++java/lang/NoSuchMethodError ++java/lang/IncompatibleClassChangeError +java/util/ArrayList -+java/util/ArrayList$1 -+java/util/ArrayList$Itr -+java/util/ArrayList$ListItr -+java/util/ArrayList$SubList -+java/util/ArrayList$SubList$1 -+java/util/Arrays -+java/util/Arrays$ArrayList -+java/util/Arrays$LegacyMergeSort -+java/util/Base64 -+java/util/Base64$Decoder -+java/util/Base64$Encoder -+java/util/BitSet -+java/util/Calendar -+java/util/Calendar$Builder -+java/util/Collection +java/util/Collections -+java/util/Collections$3 -+java/util/Collections$EmptyEnumeration -+java/util/Collections$EmptyIterator ++java/util/Collections$EmptySet ++java/util/AbstractSet ++java/util/Set +java/util/Collections$EmptyList +java/util/Collections$EmptyMap -+java/util/Collections$EmptySet -+java/util/Collections$SetFromMap -+java/util/Collections$SynchronizedCollection -+java/util/Collections$SynchronizedMap -+java/util/Collections$SynchronizedSet -+java/util/Collections$SynchronizedSortedSet -+java/util/Collections$UnmodifiableCollection -+java/util/Collections$UnmodifiableCollection$1 -+java/util/Collections$UnmodifiableList -+java/util/Collections$UnmodifiableList$1 -+java/util/Collections$UnmodifiableMap +java/util/Collections$UnmodifiableRandomAccessList -+java/util/Collections$UnmodifiableSet -+java/util/Collections$UnmodifiableSortedSet -+java/util/ComparableTimSort -+java/util/Comparator -+java/util/Currency -+java/util/Currency$1 -+java/util/Currency$CurrencyNameGetter -+java/util/Date -+java/util/Deque -+java/util/Dictionary -+java/util/Enumeration -+java/util/EventListener -+java/util/EventListenerProxy -+java/util/EventObject -+java/util/GregorianCalendar ++java/util/Collections$UnmodifiableList ++java/util/Collections$UnmodifiableCollection ++sun/reflect/Reflection +java/util/HashMap -+java/util/HashMap$EntryIterator -+java/util/HashMap$EntrySet -+java/util/HashMap$HashIterator -+java/util/HashMap$KeyIterator -+java/util/HashMap$KeySet +java/util/HashMap$Node -+java/util/HashMap$TreeNode -+java/util/HashMap$ValueIterator -+java/util/HashMap$Values -+java/util/HashSet -+java/util/Hashtable -+java/util/Hashtable$Entry ++java/lang/Class$3 ++java/lang/Class$ReflectionData ++java/lang/Class$Atomic ++sun/reflect/generics/repository/ClassRepository ++sun/reflect/generics/repository/GenericDeclRepository ++sun/reflect/generics/repository/AbstractRepository ++java/lang/Class$AnnotationData ++sun/reflect/annotation/AnnotationType ++java/lang/ClassValue$ClassValueMap ++java/util/WeakHashMap ++java/lang/reflect/Modifier ++java/lang/reflect/ReflectAccess ++sun/reflect/LangReflectAccess ++java/util/Arrays ++sun/nio/cs/UTF_8 ++sun/nio/cs/Unicode ++sun/nio/cs/HistoricallyNamedCharset ++java/lang/Class$1 ++sun/reflect/ReflectionFactory$1 ++sun/reflect/NativeConstructorAccessorImpl ++sun/reflect/DelegatingConstructorAccessorImpl ++java/lang/StringCoding ++java/lang/ThreadLocal$ThreadLocalMap ++java/lang/ThreadLocal$ThreadLocalMap$Entry ++java/lang/StringCoding$StringDecoder ++sun/nio/cs/UTF_8$Decoder ++sun/nio/cs/ArrayDecoder ++java/nio/charset/CharsetDecoder ++java/nio/charset/CodingErrorAction +java/util/Hashtable$EntrySet ++java/util/Collections$SynchronizedSet ++java/util/Collections$SynchronizedCollection ++java/util/Objects +java/util/Hashtable$Enumerator -+java/util/Hashtable$ValueCollection -+java/util/IdentityHashMap -+java/util/IdentityHashMap$IdentityHashMapIterator -+java/util/IdentityHashMap$KeyIterator -+java/util/IdentityHashMap$KeySet -+java/util/IdentityHashMap$ValueIterator -+java/util/IdentityHashMap$Values ++java/util/Enumeration +java/util/Iterator ++java/lang/Runtime ++sun/misc/Version ++java/io/FileInputStream ++java/io/FileDescriptor ++java/io/FileDescriptor$1 ++sun/misc/JavaIOFileDescriptorAccess ++sun/misc/SharedSecrets ++java/io/FileOutputStream ++java/io/OutputStream ++java/io/Flushable ++java/io/BufferedInputStream ++java/io/FilterInputStream ++java/util/concurrent/atomic/AtomicReferenceFieldUpdater ++java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl ++java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl$1 ++java/security/PrivilegedExceptionAction ++sun/reflect/misc/ReflectUtil ++java/io/PrintStream ++java/io/FilterOutputStream ++java/io/BufferedOutputStream ++java/io/OutputStreamWriter ++java/io/Writer ++sun/nio/cs/StreamEncoder ++sun/security/action/GetPropertyAction ++sun/nio/cs/UTF_8$Encoder ++sun/nio/cs/ArrayEncoder ++java/nio/charset/CharsetEncoder ++java/nio/ByteBuffer ++java/nio/HeapByteBuffer ++java/nio/Bits ++java/nio/ByteOrder ++java/nio/Bits$1 ++sun/misc/JavaNioAccess ++java/io/BufferedWriter ++java/io/DefaultFileSystem ++java/io/UnixFileSystem ++java/io/FileSystem ++java/io/ExpiringCache ++java/io/ExpiringCache$1 +java/util/LinkedHashMap ++java/io/File$PathStatus ++java/lang/Enum ++java/nio/file/Path ++java/nio/file/Watchable ++java/lang/StringCoding$StringEncoder ++java/lang/ClassLoader$3 ++java/io/ExpiringCache$Entry +java/util/LinkedHashMap$Entry -+java/util/LinkedHashMap$LinkedEntryIterator -+java/util/LinkedHashMap$LinkedEntrySet -+java/util/LinkedHashMap$LinkedHashIterator -+java/util/LinkedHashMap$LinkedKeyIterator -+java/util/LinkedHashMap$LinkedKeySet -+java/util/LinkedHashSet -+java/util/LinkedList -+java/util/LinkedList$ListItr -+java/util/LinkedList$Node -+java/util/List -+java/util/ListIterator -+java/util/ListResourceBundle ++java/lang/ClassLoader$NativeLibrary ++java/lang/Terminator ++java/lang/Terminator$1 ++sun/misc/SignalHandler ++sun/misc/Signal ++sun/misc/NativeSignalHandler ++java/lang/Integer$IntegerCache ++sun/misc/OSEnvironment ++java/lang/System$2 ++sun/misc/JavaLangAccess ++java/lang/IllegalArgumentException ++java/lang/Compiler ++java/lang/Compiler$1 ++sun/misc/Launcher$Factory ++java/net/URLStreamHandlerFactory ++sun/security/util/Debug ++java/lang/ClassLoader$ParallelLoaders ++java/util/WeakHashMap$Entry ++java/util/Collections$SetFromMap ++java/util/WeakHashMap$KeySet ++java/net/URLClassLoader$7 ++sun/misc/JavaNetAccess ++java/util/StringTokenizer ++sun/misc/Launcher$ExtClassLoader$1 ++sun/misc/MetaIndex ++java/io/BufferedReader ++java/io/Reader ++java/lang/Readable ++java/io/FileReader ++java/io/InputStreamReader ++sun/nio/cs/StreamDecoder ++java/nio/CharBuffer ++java/nio/HeapCharBuffer ++java/nio/charset/CoderResult ++java/nio/charset/CoderResult$1 ++java/nio/charset/CoderResult$Cache ++java/nio/charset/CoderResult$2 ++java/lang/reflect/Array ++java/io/FileInputStream$1 ++sun/net/www/ParseUtil ++java/util/BitSet +java/util/Locale -+java/util/Locale$1 +java/util/Locale$Cache -+java/util/Locale$Category ++sun/util/locale/LocaleObjectCache ++java/util/concurrent/ConcurrentHashMap ++java/util/concurrent/ConcurrentMap ++java/util/concurrent/ConcurrentHashMap$Segment ++java/util/concurrent/locks/ReentrantLock ++java/util/concurrent/locks/Lock ++java/util/concurrent/ConcurrentHashMap$Node ++java/util/concurrent/ConcurrentHashMap$CounterCell ++java/util/concurrent/ConcurrentHashMap$KeySetView ++java/util/concurrent/ConcurrentHashMap$CollectionView ++java/util/concurrent/ConcurrentHashMap$ValuesView ++java/util/concurrent/ConcurrentHashMap$EntrySetView ++sun/util/locale/BaseLocale ++sun/util/locale/BaseLocale$Cache ++sun/util/locale/BaseLocale$Key ++sun/util/locale/LocaleObjectCache$CacheEntry +java/util/Locale$LocaleKey -+java/util/Map -+java/util/Map$Entry -+java/util/MissingResourceException -+java/util/NavigableMap -+java/util/NavigableSet -+java/util/Objects -+java/util/PriorityQueue -+java/util/Properties -+java/util/Properties$LineReader -+java/util/PropertyResourceBundle ++sun/util/locale/LocaleUtils ++java/lang/CharacterData ++java/lang/CharacterDataLatin1 ++java/net/Parts ++sun/net/www/protocol/file/Handler ++java/net/URLStreamHandler ++java/util/HashMap$TreeNode ++java/security/ProtectionDomain$JavaSecurityAccessImpl ++sun/misc/JavaSecurityAccess ++java/security/ProtectionDomain$2 ++sun/misc/JavaSecurityProtectionDomainAccess ++java/security/ProtectionDomain$Key ++java/security/Principal ++java/util/HashSet ++sun/misc/URLClassPath ++sun/net/www/protocol/jar/Handler ++sun/misc/Launcher$AppClassLoader$1 ++java/lang/SystemClassLoaderAction ++java/lang/invoke/MethodHandleImpl ++java/lang/invoke/MethodHandleImpl$1 ++java/lang/invoke/MethodHandleImpl$2 ++java/util/function/Function ++java/lang/invoke/MethodHandleImpl$3 ++java/lang/invoke/MethodHandleImpl$4 ++java/lang/ClassValue ++java/lang/ClassValue$Entry ++java/lang/ClassValue$Identity ++java/lang/ClassValue$Version ++java/lang/invoke/MemberName$Factory ++java/lang/invoke/MethodHandleStatics ++java/lang/invoke/MethodHandleStatics$1 ++sun/misc/PostVMInitHook ++sun/usagetracker/UsageTrackerClient ++java/util/concurrent/atomic/AtomicBoolean ++sun/usagetracker/UsageTrackerClient$1 ++sun/usagetracker/UsageTrackerClient$4 ++sun/usagetracker/UsageTrackerClient$3 ++java/io/FileOutputStream$1 ++sun/launcher/LauncherHelper ++java/net/URLClassLoader$1 ++sun/net/util/URLUtil ++sun/misc/URLClassPath$3 ++sun/misc/URLClassPath$JarLoader ++sun/misc/URLClassPath$Loader ++java/util/zip/ZipFile ++java/util/zip/ZipConstants ++java/util/zip/ZipFile$1 ++sun/misc/JavaUtilZipFileAccess ++sun/misc/URLClassPath$JarLoader$1 ++sun/misc/FileURLMapper ++java/util/jar/JarFile ++java/util/jar/JavaUtilJarAccessImpl ++sun/misc/JavaUtilJarAccess ++java/nio/charset/StandardCharsets ++sun/nio/cs/US_ASCII ++sun/nio/cs/ISO_8859_1 ++sun/nio/cs/UTF_16BE ++sun/nio/cs/UTF_16LE ++sun/nio/cs/UTF_16 ++java/util/ArrayDeque ++java/util/Deque +java/util/Queue -+java/util/Random -+java/util/RandomAccess -+java/util/ResourceBundle -+java/util/ResourceBundle$1 -+java/util/ResourceBundle$BundleReference -+java/util/ResourceBundle$CacheKey -+java/util/ResourceBundle$CacheKeyReference ++java/util/zip/ZipCoder ++sun/misc/PerfCounter ++sun/misc/Perf$GetPerfAction ++sun/misc/Perf ++sun/misc/PerfCounter$CoreCounters ++sun/nio/ch/DirectBuffer ++java/nio/DirectByteBuffer ++java/nio/MappedByteBuffer ++java/nio/DirectLongBufferU ++java/nio/LongBuffer ++sun/misc/JarIndex ++sun/misc/ExtensionDependency ++java/util/zip/ZipEntry ++java/util/jar/JarFile$JarFileEntry ++java/util/jar/JarEntry ++java/util/zip/ZipFile$ZipFileInputStream ++java/util/zip/Inflater ++java/util/zip/ZStreamRef ++java/util/zip/ZipFile$ZipFileInflaterInputStream ++java/util/zip/InflaterInputStream ++sun/misc/IOUtils ++sun/misc/URLClassPath$JarLoader$2 ++sun/misc/Resource ++sun/nio/ByteBuffered ++java/security/Permissions ++java/security/PermissionCollection ++sun/net/www/protocol/file/FileURLConnection ++sun/net/www/URLConnection ++java/net/URLConnection ++sun/net/www/MessageHeader ++java/io/FilePermission ++java/io/FilePermission$1 ++java/io/FilePermissionCollection ++java/security/AllPermission ++java/security/UnresolvedPermission ++java/security/BasicPermissionCollection ++javax/swing/JLabel ++javax/swing/SwingConstants ++javax/accessibility/Accessible ++javax/swing/JComponent ++javax/swing/TransferHandler$HasGetTransferHandler ++java/awt/Container ++java/awt/Component ++java/awt/image/ImageObserver ++java/awt/MenuContainer ++sun/launcher/LauncherHelper$FXHelper ++java/lang/Class$MethodArray ++java/lang/InterruptedException ++javax/swing/JFrame ++javax/swing/WindowConstants ++javax/swing/RootPaneContainer ++java/awt/Frame ++java/awt/Window ++java/util/concurrent/ConcurrentHashMap$ForwardingNode ++java/awt/Graphics ++java/lang/Void ++sun/util/logging/PlatformLogger ++sun/util/logging/PlatformLogger$Level ++sun/util/logging/PlatformLogger$1 ++sun/util/logging/PlatformLogger$DefaultLoggerProxy ++sun/util/logging/PlatformLogger$LoggerProxy ++sun/util/logging/PlatformLogger$JavaLoggerProxy ++sun/util/logging/LoggingSupport ++sun/util/logging/LoggingSupport$1 ++java/util/logging/LoggingProxyImpl ++sun/util/logging/LoggingProxy ++sun/reflect/UnsafeFieldAccessorFactory ++sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl ++sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl ++java/util/HashMap$EntrySet ++java/util/HashMap$EntryIterator ++java/util/HashMap$HashIterator ++sun/util/logging/LoggingSupport$2 ++java/util/Date ++sun/util/calendar/CalendarSystem ++sun/util/calendar/Gregorian ++sun/util/calendar/BaseCalendar ++sun/util/calendar/AbstractCalendar ++java/awt/Component$AWTTreeLock ++java/awt/Toolkit ++java/awt/Toolkit$4 ++sun/awt/AWTAccessor$ToolkitAccessor ++sun/awt/AWTAccessor ++java/awt/Toolkit$5 ++sun/util/CoreResourceBundleControl +java/util/ResourceBundle$Control -+java/util/ResourceBundle$Control$1 ++java/util/Arrays$ArrayList +java/util/ResourceBundle$Control$CandidateListCache -+java/util/ResourceBundle$LoaderReference ++java/util/ResourceBundle ++java/util/ResourceBundle$1 ++java/util/spi/ResourceBundleControlProvider ++java/util/ServiceLoader ++java/util/ServiceLoader$LazyIterator ++java/util/ServiceLoader$1 ++java/util/LinkedHashMap$LinkedEntrySet ++java/util/LinkedHashMap$LinkedEntryIterator ++java/util/LinkedHashMap$LinkedHashIterator ++sun/misc/Launcher$BootClassPathHolder ++sun/misc/Launcher$BootClassPathHolder$1 ++sun/misc/URLClassPath$2 ++java/lang/ClassLoader$2 ++sun/misc/URLClassPath$1 ++java/net/URLClassLoader$3 ++sun/misc/CompoundEnumeration ++java/io/FileNotFoundException ++java/io/IOException ++java/security/PrivilegedActionException ++java/net/URLClassLoader$3$1 +java/util/ResourceBundle$RBClassLoader +java/util/ResourceBundle$RBClassLoader$1 ++java/util/ResourceBundle$CacheKey ++java/util/ResourceBundle$LoaderReference ++java/util/ResourceBundle$CacheKeyReference +java/util/ResourceBundle$SingleFormatControl -+java/util/ServiceLoader -+java/util/ServiceLoader$1 -+java/util/ServiceLoader$LazyIterator -+java/util/Set -+java/util/SortedMap -+java/util/SortedSet -+java/util/Stack -+java/util/StringTokenizer -+java/util/TimSort -+java/util/TimeZone -+java/util/TimeZone$1 -+java/util/TreeMap -+java/util/TreeMap$Entry -+java/util/TreeMap$KeyIterator -+java/util/TreeMap$KeySet -+java/util/TreeMap$PrivateEntryIterator -+java/util/TreeSet -+java/util/Vector -+java/util/Vector$1 -+java/util/Vector$Itr -+java/util/Vector$ListItr -+java/util/WeakHashMap -+java/util/WeakHashMap$Entry -+java/util/WeakHashMap$HashIterator -+java/util/WeakHashMap$KeyIterator -+java/util/WeakHashMap$KeySet -+java/util/concurrent/AbstractExecutorService -+java/util/concurrent/BlockingQueue -+java/util/concurrent/ConcurrentHashMap -+java/util/concurrent/ConcurrentHashMap$BaseIterator -+java/util/concurrent/ConcurrentHashMap$CollectionView -+java/util/concurrent/ConcurrentHashMap$CounterCell -+java/util/concurrent/ConcurrentHashMap$EntrySetView -+java/util/concurrent/ConcurrentHashMap$ForwardingNode -+java/util/concurrent/ConcurrentHashMap$KeyIterator -+java/util/concurrent/ConcurrentHashMap$KeySetView -+java/util/concurrent/ConcurrentHashMap$Node -+java/util/concurrent/ConcurrentHashMap$Segment -+java/util/concurrent/ConcurrentHashMap$Traverser -+java/util/concurrent/ConcurrentHashMap$ValueIterator -+java/util/concurrent/ConcurrentHashMap$ValuesView -+java/util/concurrent/ConcurrentMap -+java/util/concurrent/ConcurrentNavigableMap -+java/util/concurrent/ConcurrentSkipListMap -+java/util/concurrent/ConcurrentSkipListMap$EntrySet -+java/util/concurrent/ConcurrentSkipListMap$HeadIndex -+java/util/concurrent/ConcurrentSkipListMap$Index -+java/util/concurrent/ConcurrentSkipListMap$KeySet -+java/util/concurrent/ConcurrentSkipListMap$Node -+java/util/concurrent/ConcurrentSkipListMap$Values -+java/util/concurrent/ConcurrentSkipListSet -+java/util/concurrent/CopyOnWriteArrayList -+java/util/concurrent/DelayQueue -+java/util/concurrent/Delayed -+java/util/concurrent/Executor -+java/util/concurrent/ExecutorService -+java/util/concurrent/Executors -+java/util/concurrent/RejectedExecutionHandler -+java/util/concurrent/SynchronousQueue -+java/util/concurrent/SynchronousQueue$TransferStack -+java/util/concurrent/SynchronousQueue$TransferStack$SNode -+java/util/concurrent/SynchronousQueue$Transferer -+java/util/concurrent/ThreadFactory -+java/util/concurrent/ThreadLocalRandom -+java/util/concurrent/ThreadPoolExecutor -+java/util/concurrent/ThreadPoolExecutor$AbortPolicy -+java/util/concurrent/ThreadPoolExecutor$Worker -+java/util/concurrent/TimeUnit -+java/util/concurrent/TimeUnit$1 -+java/util/concurrent/TimeUnit$2 -+java/util/concurrent/TimeUnit$3 -+java/util/concurrent/TimeUnit$4 -+java/util/concurrent/TimeUnit$5 -+java/util/concurrent/TimeUnit$6 -+java/util/concurrent/TimeUnit$7 -+java/util/concurrent/atomic/AtomicBoolean -+java/util/concurrent/atomic/AtomicInteger -+java/util/concurrent/atomic/AtomicLong -+java/util/concurrent/atomic/AtomicMarkableReference -+java/util/concurrent/atomic/AtomicMarkableReference$Pair -+java/util/concurrent/atomic/AtomicReferenceFieldUpdater -+java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl -+java/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl$1 -+java/util/concurrent/locks/AbstractOwnableSynchronizer ++java/util/LinkedList ++java/util/AbstractSequentialList ++java/util/LinkedList$Node ++sun/awt/resources/awt ++java/util/ListResourceBundle ++java/awt/Toolkit$3 ++java/awt/GraphicsEnvironment ++java/lang/invoke/LambdaMetafactory ++java/lang/invoke/MethodHandles$Lookup ++java/lang/invoke/MethodType$ConcurrentWeakInternSet ++java/lang/invoke/MethodTypeForm ++java/lang/invoke/Invokers ++java/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry ++java/lang/invoke/MethodHandles ++sun/invoke/util/Wrapper ++sun/invoke/util/Wrapper$Format ++java/lang/Byte$ByteCache ++java/lang/Short$ShortCache ++java/lang/Character$CharacterCache ++java/lang/Long$LongCache ++sun/invoke/util/VerifyAccess ++sun/invoke/util/ValueConversions ++java/lang/NoSuchMethodException ++java/lang/invoke/LambdaForm$BasicType ++java/lang/invoke/LambdaForm$Name ++java/lang/invoke/LambdaForm$NamedFunction ++java/lang/invoke/SimpleMethodHandle ++java/lang/invoke/BoundMethodHandle ++java/lang/invoke/BoundMethodHandle$SpeciesData ++java/lang/invoke/BoundMethodHandle$Factory ++java/lang/invoke/BoundMethodHandle$Species_L ++java/util/HashMap$Values ++java/util/HashMap$ValueIterator ++sun/invoke/util/BytecodeDescriptor ++java/lang/invoke/DirectMethodHandle$Lazy ++java/lang/InstantiationException ++java/util/Collections$UnmodifiableCollection$1 ++java/util/AbstractList$Itr ++java/lang/invoke/InvokerBytecodeGenerator ++jdk/internal/org/objectweb/asm/ClassWriter ++jdk/internal/org/objectweb/asm/ClassVisitor ++jdk/internal/org/objectweb/asm/ByteVector ++jdk/internal/org/objectweb/asm/Item ++jdk/internal/org/objectweb/asm/MethodWriter ++jdk/internal/org/objectweb/asm/MethodVisitor ++jdk/internal/org/objectweb/asm/Type ++jdk/internal/org/objectweb/asm/Label ++jdk/internal/org/objectweb/asm/Frame ++jdk/internal/org/objectweb/asm/AnnotationWriter ++jdk/internal/org/objectweb/asm/AnnotationVisitor ++java/lang/invoke/MethodHandleImpl$Intrinsic ++java/lang/invoke/InvokerBytecodeGenerator$2 ++sun/invoke/util/VerifyType ++sun/invoke/empty/Empty ++java/lang/NoSuchFieldException ++java/lang/invoke/InvokerBytecodeGenerator$CpPatch ++java/lang/invoke/DirectMethodHandle$Accessor ++java/util/ArrayList$Itr ++java/util/RandomAccessSubList ++java/util/SubList ++java/util/SubList$1 ++java/util/ListIterator ++java/util/AbstractList$ListItr ++java/lang/invoke/MethodHandleImpl$AsVarargsCollector ++java/lang/invoke/DelegatingMethodHandle ++java/lang/invoke/WrongMethodTypeException ++java/lang/invoke/MethodHandleImpl$Lazy ++java/lang/invoke/MethodHandleImpl$IntrinsicMethodHandle ++java/lang/NoSuchFieldError ++java/lang/IllegalAccessException ++java/lang/invoke/LambdaFormEditor ++java/lang/invoke/LambdaFormEditor$Transform$Kind ++java/lang/invoke/LambdaFormEditor$Transform ++java/lang/invoke/LambdaFormBuffer ++jdk/internal/org/objectweb/asm/FieldWriter ++jdk/internal/org/objectweb/asm/FieldVisitor ++java/lang/invoke/InnerClassLambdaMetafactory ++java/lang/invoke/AbstractValidatingLambdaMetafactory ++java/util/PropertyPermission ++java/security/AccessController$1 ++sun/security/util/SecurityConstants ++java/net/NetPermission ++java/security/SecurityPermission ++java/net/SocketPermission ++sun/security/action/GetBooleanAction ++java/security/AllPermissionCollection ++java/lang/invoke/InfoFromMemberName ++java/lang/invoke/MethodHandleInfo ++java/lang/invoke/InnerClassLambdaMetafactory$ForwardingMethodGenerator ++java/lang/invoke/TypeConvertingMethodAdapter ++java/lang/invoke/InnerClassLambdaMetafactory$1 ++java/lang/ProcessEnvironment ++java/lang/ProcessEnvironment$Variable ++java/lang/ProcessEnvironment$ExternalData ++java/lang/ProcessEnvironment$Value ++java/lang/ProcessEnvironment$StringEnvironment ++java/util/Collections$UnmodifiableMap ++java/awt/Toolkit$1 ++java/awt/event/KeyEvent ++java/awt/event/InputEvent ++java/awt/event/ComponentEvent ++java/awt/AWTEvent ++java/util/EventObject ++java/awt/AWTEvent$1 ++sun/awt/AWTAccessor$AWTEventAccessor ++java/awt/event/NativeLibLoader ++java/awt/event/NativeLibLoader$1 ++java/awt/event/InputEvent$1 ++sun/awt/AWTAccessor$InputEventAccessor ++java/awt/event/KeyEvent$1 ++sun/awt/AWTAccessor$KeyEventAccessor ++java/awt/Component$1 ++sun/awt/AWTAccessor$ComponentAccessor ++java/awt/Component$DummyRequestFocusController ++sun/awt/RequestFocusController ++java/awt/LayoutManager ++java/awt/LightweightDispatcher ++java/awt/event/AWTEventListener ++java/util/EventListener ++java/awt/Dimension ++java/awt/geom/Dimension2D ++java/awt/Container$1 ++sun/awt/AWTAccessor$ContainerAccessor ++javax/swing/JComponent$1 ++java/awt/ComponentOrientation ++java/awt/Component$3 ++sun/awt/AppContext ++java/util/IdentityHashMap ++java/util/Collections$SynchronizedMap ++sun/awt/AppContext$GetAppContextLock ++sun/awt/AppContext$6 ++sun/misc/JavaAWTAccess ++sun/awt/AppContext$3 ++sun/awt/AppContext$2 ++sun/awt/SunToolkit ++sun/awt/WindowClosingSupport ++sun/awt/WindowClosingListener ++sun/awt/ComponentFactory ++sun/awt/InputMethodSupport ++sun/awt/KeyboardFocusManagerPeerProvider ++java/util/concurrent/locks/ReentrantLock$NonfairSync ++java/util/concurrent/locks/ReentrantLock$Sync +java/util/concurrent/locks/AbstractQueuedSynchronizer -+java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject ++java/util/concurrent/locks/AbstractOwnableSynchronizer +java/util/concurrent/locks/AbstractQueuedSynchronizer$Node ++java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject +java/util/concurrent/locks/Condition -+java/util/concurrent/locks/Lock ++sun/misc/SoftCache ++sun/awt/AppContext$State ++sun/awt/AppContext$1 ++java/awt/EventQueue ++java/awt/EventQueue$1 ++java/awt/EventQueue$2 ++sun/awt/AWTAccessor$EventQueueAccessor ++java/awt/Queue ++sun/awt/MostRecentKeyValue ++sun/awt/PostEventQueue ++javax/swing/event/EventListenerList ++javax/swing/SwingUtilities ++javax/swing/RepaintManager ++javax/swing/RepaintManager$DisplayChangedHandler ++sun/awt/DisplayChangedListener ++javax/swing/RepaintManager$1 ++sun/swing/SwingAccessor$RepaintManagerAccessor ++sun/swing/SwingAccessor ++sun/awt/X11GraphicsEnvironment ++sun/java2d/SunGraphicsEnvironment ++sun/awt/X11GraphicsEnvironment$1 ++sun/awt/X11/XErrorHandlerUtil ++sun/awt/X11/XlibWrapper ++sun/java2d/UnixSurfaceManagerFactory ++sun/java2d/SurfaceManagerFactory ++sun/awt/SunDisplayChanger ++sun/java2d/SunGraphicsEnvironment$1 ++sun/misc/FloatingDecimal ++sun/misc/FloatingDecimal$ExceptionalBinaryToASCIIBuffer ++sun/misc/FloatingDecimal$BinaryToASCIIConverter ++sun/misc/FloatingDecimal$BinaryToASCIIBuffer ++sun/misc/FloatingDecimal$1 ++sun/misc/FloatingDecimal$PreparedASCIIToBinaryBuffer ++sun/misc/FloatingDecimal$ASCIIToBinaryConverter ++java/lang/NumberFormatException ++java/lang/StringIndexOutOfBoundsException ++java/lang/IndexOutOfBoundsException ++java/awt/Font ++java/awt/Font$FontAccessImpl ++sun/font/FontAccess ++java/awt/geom/AffineTransform ++sun/font/AttributeValues ++sun/font/EAttribute ++java/text/AttributedCharacterIterator$Attribute ++java/lang/Class$4 ++sun/reflect/NativeMethodAccessorImpl ++sun/reflect/DelegatingMethodAccessorImpl ++java/awt/font/TextAttribute ++java/awt/Toolkit$2 ++sun/awt/X11/XToolkit ++sun/awt/UNIXToolkit ++java/util/TreeMap ++java/util/NavigableMap ++java/util/SortedMap ++java/awt/GraphicsDevice ++sun/awt/X11GraphicsDevice ++sun/awt/X11GraphicsConfig ++sun/awt/image/SurfaceManager$ProxiedGraphicsConfig ++java/awt/GraphicsConfiguration ++java/awt/ImageCapabilities ++sun/java2d/x11/X11SurfaceData ++sun/java2d/x11/XSurfaceData ++sun/java2d/SurfaceData ++java/awt/Transparency ++sun/java2d/DisposerTarget ++sun/java2d/StateTrackable ++sun/java2d/Surface ++sun/java2d/InvalidPipeException ++java/lang/IllegalStateException ++sun/java2d/NullSurfaceData ++sun/java2d/StateTrackable$State ++sun/java2d/loops/SurfaceType ++sun/awt/image/PixelConverter ++sun/awt/image/PixelConverter$Xrgb ++sun/awt/image/PixelConverter$Argb ++sun/awt/image/PixelConverter$ArgbPre ++sun/awt/image/PixelConverter$Xbgr ++sun/awt/image/PixelConverter$Rgba ++sun/awt/image/PixelConverter$RgbaPre ++sun/awt/image/PixelConverter$Ushort565Rgb ++sun/awt/image/PixelConverter$Ushort555Rgb ++sun/awt/image/PixelConverter$Ushort555Rgbx ++sun/awt/image/PixelConverter$Ushort4444Argb ++sun/awt/image/PixelConverter$ByteGray ++sun/awt/image/PixelConverter$UshortGray ++sun/awt/image/PixelConverter$Rgbx ++sun/awt/image/PixelConverter$Bgrx ++sun/awt/image/PixelConverter$ArgbBm ++java/awt/image/ColorModel ++java/awt/image/ColorModel$1 ++java/awt/image/DirectColorModel ++java/awt/image/PackedColorModel ++java/awt/color/ColorSpace ++java/awt/color/ICC_Profile ++sun/java2d/cmm/ProfileDeferralInfo ++sun/java2d/cmm/ProfileDeferralMgr ++java/awt/color/ICC_ProfileRGB ++java/awt/color/ICC_Profile$1 ++sun/java2d/cmm/ProfileActivator ++java/awt/color/ICC_ColorSpace ++sun/java2d/StateTrackableDelegate ++sun/java2d/StateTrackableDelegate$2 ++sun/java2d/pipe/NullPipe ++sun/java2d/pipe/PixelDrawPipe ++sun/java2d/pipe/PixelFillPipe ++sun/java2d/pipe/ShapeDrawPipe ++sun/java2d/pipe/TextPipe ++sun/java2d/pipe/DrawImagePipe ++java/awt/image/IndexColorModel ++sun/java2d/pipe/LoopPipe ++sun/java2d/pipe/ParallelogramPipe ++sun/java2d/pipe/LoopBasedPipe ++sun/java2d/pipe/RenderingEngine ++sun/java2d/pipe/RenderingEngine$1 ++sun/dc/DuctusRenderingEngine ++sun/java2d/pipe/OutlineTextRenderer ++sun/java2d/pipe/SolidTextRenderer ++sun/java2d/pipe/GlyphListLoopPipe ++sun/java2d/pipe/GlyphListPipe ++sun/java2d/pipe/AATextRenderer ++sun/java2d/pipe/LCDTextRenderer ++sun/java2d/pipe/AlphaColorPipe ++sun/java2d/pipe/CompositePipe ++sun/java2d/SurfaceData$PixelToShapeLoopConverter ++sun/java2d/pipe/PixelToShapeConverter ++sun/java2d/SurfaceData$PixelToPgramLoopConverter ++sun/java2d/pipe/PixelToParallelogramConverter ++sun/java2d/pipe/TextRenderer ++sun/java2d/pipe/SpanClipRenderer ++sun/java2d/pipe/Region ++sun/java2d/pipe/RegionIterator ++sun/java2d/pipe/Region$ImmutableRegion ++sun/java2d/pipe/AAShapePipe ++sun/java2d/pipe/AlphaPaintPipe ++sun/java2d/pipe/SpanShapeRenderer$Composite ++sun/java2d/pipe/SpanShapeRenderer ++sun/java2d/pipe/GeneralCompositePipe ++sun/java2d/pipe/DrawImage ++sun/java2d/loops/RenderCache ++sun/java2d/loops/RenderCache$Entry ++sun/java2d/loops/XORComposite ++java/awt/Composite ++sun/font/X11TextRenderer ++sun/java2d/loops/GraphicsPrimitive ++sun/java2d/x11/X11PMBlitLoops ++sun/java2d/loops/Blit ++sun/java2d/loops/GraphicsPrimitiveMgr ++sun/java2d/loops/CompositeType ++sun/java2d/SunGraphics2D ++sun/awt/ConstrainableGraphics ++sun/java2d/DestSurfaceProvider ++java/awt/Graphics2D ++java/awt/Color ++java/awt/Paint ++java/awt/AlphaComposite ++java/awt/geom/Path2D ++java/awt/Shape ++java/awt/geom/Path2D$Float ++sun/awt/SunHints ++sun/java2d/loops/BlitBg ++sun/java2d/loops/ScaledBlit ++sun/java2d/loops/FillRect ++sun/java2d/loops/FillSpans ++sun/java2d/loops/FillParallelogram ++sun/java2d/loops/DrawParallelogram ++sun/java2d/loops/DrawLine ++sun/java2d/loops/DrawRect ++sun/java2d/loops/DrawPolygons ++sun/java2d/loops/DrawPath ++sun/java2d/loops/FillPath ++sun/java2d/loops/MaskBlit ++sun/java2d/loops/MaskFill ++sun/java2d/loops/DrawGlyphList ++sun/java2d/loops/DrawGlyphListAA ++sun/java2d/loops/DrawGlyphListLCD ++sun/java2d/loops/TransformHelper ++java/awt/BasicStroke ++java/awt/Stroke ++sun/misc/PerformanceLogger ++sun/misc/PerformanceLogger$TimeData ++sun/java2d/pipe/ValidatePipe ++sun/awt/SunHints$Key ++java/awt/RenderingHints$Key ++sun/awt/SunHints$Value ++sun/awt/SunHints$LCDContrastKey ++sun/java2d/loops/CustomComponent ++sun/java2d/loops/GraphicsPrimitiveProxy ++sun/java2d/loops/GeneralRenderer ++sun/java2d/loops/GraphicsPrimitiveMgr$1 ++sun/java2d/loops/GraphicsPrimitiveMgr$2 ++sun/java2d/x11/X11PMBlitLoops$DelegateBlitLoop ++sun/java2d/x11/X11PMBlitBgLoops ++sun/java2d/x11/X11SurfaceData$LazyPipe ++sun/awt/X11GraphicsConfig$X11GCDisposerRecord ++sun/java2d/DisposerRecord ++sun/java2d/Disposer ++sun/java2d/Disposer$1 ++sun/misc/ThreadGroupUtils ++sun/awt/X11/XModifierKeymap ++sun/awt/X11/XWrapperBase ++sun/awt/X11/Native ++sun/awt/X11/Native$1 ++sun/awt/X11/XToolkit$3 ++sun/awt/X11/XToolkit$4 ++sun/awt/X11/XEventDispatcher ++java/awt/Toolkit$DesktopPropertyChangeSupport ++java/beans/PropertyChangeSupport ++java/beans/PropertyChangeSupport$PropertyChangeListenerMap ++java/beans/ChangeListenerMap ++java/beans/PropertyChangeListener ++sun/awt/SunToolkit$ModalityListenerList ++sun/awt/ModalityListener ++sun/font/FontConfigManager ++sun/font/FontConfigManager$FontConfigInfo ++sun/awt/X11/AwtScreenData ++sun/awt/X11/XToolkit$1 ++java/lang/invoke/DirectMethodHandle$Special ++sun/awt/X11/XToolkit$2 ++java/lang/ApplicationShutdownHooks ++java/lang/ApplicationShutdownHooks$1 ++java/lang/Shutdown ++java/lang/Shutdown$Lock ++sun/awt/X11/XWM ++sun/awt/X11/XAtom ++java/awt/Insets ++sun/awt/X11/XWM$1 ++sun/awt/X11/XErrorHandler$XBaseErrorHandler ++sun/awt/X11/XErrorHandler ++sun/awt/X11/XSetWindowAttributes ++sun/awt/X11/XNETProtocol ++sun/awt/X11/XStateProtocol ++sun/awt/X11/XLayerProtocol ++sun/awt/X11/XProtocol ++sun/awt/X11/WindowPropertyGetter ++sun/awt/X11/UnsafeXDisposerRecord ++sun/awt/X11/XPropertyCache ++sun/awt/X11/XWINProtocol ++sun/awt/X11/XAtomList ++java/awt/Rectangle ++java/awt/geom/Rectangle2D ++sun/awt/X11/XEvent ++java/awt/geom/RectangularShape ++javax/swing/RepaintManager$ProcessingRunnable ++com/sun/java/swing/SwingUtilities3 ++javax/swing/UIManager ++javax/swing/UIManager$LookAndFeelInfo ++sun/awt/OSInfo ++sun/awt/OSInfo$WindowsVersion ++sun/awt/OSInfo$1 ++sun/awt/OSInfo$OSType ++sun/swing/SwingUtilities2 ++java/awt/font/FontRenderContext ++java/awt/RenderingHints ++sun/swing/StringUIClientPropertyKey ++sun/swing/UIClientPropertyKey ++sun/swing/SwingUtilities2$LSBCacheEntry ++javax/swing/UIManager$LAFState ++javax/swing/UIDefaults ++javax/swing/MultiUIDefaults ++javax/swing/UIManager$1 ++javax/swing/plaf/metal/MetalLookAndFeel ++javax/swing/plaf/basic/BasicLookAndFeel ++javax/swing/LookAndFeel ++sun/swing/DefaultLookup ++javax/swing/plaf/metal/OceanTheme ++javax/swing/plaf/metal/DefaultMetalTheme ++javax/swing/plaf/metal/MetalTheme ++javax/swing/plaf/ColorUIResource ++javax/swing/plaf/UIResource ++sun/swing/PrintColorUIResource ++javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate ++javax/swing/plaf/FontUIResource ++sun/swing/SwingLazyValue ++javax/swing/UIDefaults$LazyValue ++javax/swing/UIDefaults$ActiveValue ++javax/swing/plaf/InsetsUIResource ++javax/swing/plaf/BorderUIResource$EmptyBorderUIResource ++javax/swing/border/EmptyBorder ++javax/swing/border/AbstractBorder ++javax/swing/border/Border ++sun/swing/SwingUtilities2$2 ++javax/swing/plaf/basic/BasicLookAndFeel$2 ++javax/swing/plaf/DimensionUIResource ++javax/swing/UIDefaults$LazyInputMap ++javax/swing/plaf/metal/MetalLookAndFeel$FontActiveValue ++sun/swing/SwingUtilities2$AATextInfo ++sun/awt/HeadlessToolkit ++sun/awt/X11/XAWTXSettings ++sun/awt/X11/XMSelectionListener ++sun/awt/XSettings ++sun/awt/X11/XMSelection ++sun/awt/X11/XMSelection$1 ++sun/awt/X11/XMSelection$3 ++sun/awt/X11/XErrorHandler$IgnoreBadWindowHandler ++sun/awt/XSettings$Update ++java/beans/PropertyChangeEvent ++java/awt/Toolkit$DesktopPropertyChangeSupport$1 ++java/util/IdentityHashMap$Values ++java/util/IdentityHashMap$ValueIterator ++java/util/IdentityHashMap$IdentityHashMapIterator ++java/util/HashMap$KeySet ++java/util/HashMap$KeyIterator ++javax/swing/plaf/metal/MetalLookAndFeel$AATextListener ++java/beans/PropertyChangeListenerProxy ++java/util/EventListenerProxy ++javax/swing/plaf/metal/OceanTheme$1 ++javax/swing/plaf/metal/OceanTheme$2 ++javax/swing/plaf/metal/OceanTheme$3 ++javax/swing/plaf/metal/OceanTheme$4 ++javax/swing/plaf/metal/OceanTheme$5 ++javax/swing/plaf/metal/OceanTheme$6 ++javax/swing/SwingPaintEventDispatcher ++sun/awt/PaintEventDispatcher ++java/awt/KeyboardFocusManager ++java/awt/KeyEventDispatcher ++java/awt/KeyEventPostProcessor ++java/awt/KeyboardFocusManager$1 ++sun/awt/AWTAccessor$KeyboardFocusManagerAccessor ++java/awt/AWTKeyStroke ++java/awt/AWTKeyStroke$1 ++java/awt/DefaultKeyboardFocusManager ++java/awt/DefaultKeyboardFocusManager$1 ++sun/awt/AWTAccessor$DefaultKeyboardFocusManagerAccessor ++java/awt/DefaultFocusTraversalPolicy ++java/awt/ContainerOrderFocusTraversalPolicy ++java/awt/FocusTraversalPolicy ++java/util/Collections$UnmodifiableSet ++sun/awt/X11/XKeyboardFocusManagerPeer ++sun/awt/KeyboardFocusManagerPeerImpl ++java/awt/peer/KeyboardFocusManagerPeer ++javax/swing/UIManager$2 ++javax/swing/JRootPane ++javax/swing/UIDefaults$TextAndMnemonicHashMap ++com/sun/swing/internal/plaf/metal/resources/metal ++sun/util/ResourceBundleEnumeration ++com/sun/swing/internal/plaf/basic/resources/basic ++javax/swing/plaf/metal/MetalLabelUI ++javax/swing/plaf/basic/BasicLabelUI ++javax/swing/plaf/LabelUI ++javax/swing/plaf/ComponentUI ++sun/reflect/misc/MethodUtil ++sun/reflect/misc/MethodUtil$1 ++sun/net/www/protocol/jar/JarURLConnection ++java/net/JarURLConnection ++sun/net/www/protocol/jar/JarFileFactory ++sun/net/www/protocol/jar/URLJarFile$URLJarFileCloseController ++java/net/HttpURLConnection ++sun/net/www/protocol/jar/URLJarFile ++sun/net/www/protocol/jar/URLJarFile$URLJarFileEntry ++sun/net/www/protocol/jar/JarURLConnection$JarURLInputStream ++java/lang/UnsupportedOperationException ++java/lang/reflect/InvocationTargetException ++javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate$1 ++javax/swing/plaf/basic/BasicHTML ++sun/awt/util/IdentityArrayList ++java/awt/Window$1 ++sun/awt/AWTAccessor$WindowAccessor ++java/awt/Frame$1 ++sun/awt/AWTAccessor$FrameAccessor ++java/awt/Window$Type ++java/awt/Cursor ++java/awt/Cursor$1 ++sun/awt/AWTAccessor$CursorAccessor ++java/awt/BorderLayout ++java/awt/LayoutManager2 ++sun/awt/X11/XlibUtil +java/util/concurrent/locks/LockSupport -+java/util/concurrent/locks/ReadWriteLock -+java/util/concurrent/locks/ReentrantLock -+java/util/concurrent/locks/ReentrantLock$NonfairSync -+java/util/concurrent/locks/ReentrantLock$Sync -+java/util/concurrent/locks/ReentrantReadWriteLock -+java/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync -+java/util/concurrent/locks/ReentrantReadWriteLock$ReadLock -+java/util/concurrent/locks/ReentrantReadWriteLock$Sync -+java/util/concurrent/locks/ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter -+java/util/concurrent/locks/ReentrantReadWriteLock$WriteLock ++sun/nio/ch/Interruptible ++java/awt/Dialog$ModalExclusionType ++java/awt/Window$WindowDisposerRecord ++javax/swing/JPanel ++java/awt/FlowLayout ++javax/swing/plaf/basic/BasicPanelUI ++javax/swing/plaf/PanelUI ++java/awt/Component$BaselineResizeBehavior ++sun/swing/SwingLazyValue$1 ++javax/swing/JLayeredPane ++javax/swing/JRootPane$1 ++javax/swing/ArrayTable ++javax/swing/JRootPane$RootLayout ++javax/swing/BufferStrategyPaintManager ++javax/swing/RepaintManager$PaintManager ++javax/swing/FocusManager ++javax/swing/LayoutFocusTraversalPolicy ++javax/swing/SortingFocusTraversalPolicy ++javax/swing/InternalFrameFocusTraversalPolicy ++javax/swing/SwingContainerOrderFocusTraversalPolicy ++javax/swing/SortingFocusTraversalPolicy$1 ++java/util/Spliterator$OfLong ++java/util/Spliterator$OfPrimitive ++java/util/Spliterator ++java/util/Spliterator$OfInt ++java/util/Spliterator$OfDouble ++java/util/stream/IntStream ++java/util/stream/BaseStream ++java/util/stream/Stream ++java/util/stream/DoubleStream ++java/util/stream/LongStream ++java/util/function/DoubleBinaryOperator ++java/util/function/IntBinaryOperator ++java/util/function/LongBinaryOperator ++java/util/function/BinaryOperator +java/util/function/BiFunction ++java/util/function/IntToDoubleFunction ++java/util/function/IntFunction ++java/util/function/IntToLongFunction ++java/util/function/IntUnaryOperator ++javax/swing/SwingDefaultFocusTraversalPolicy ++javax/swing/LayoutComparator ++javax/swing/plaf/metal/MetalRootPaneUI ++javax/swing/plaf/basic/BasicRootPaneUI ++javax/swing/plaf/RootPaneUI ++javax/swing/plaf/basic/BasicRootPaneUI$RootPaneInputMap ++javax/swing/plaf/ComponentInputMapUIResource ++javax/swing/ComponentInputMap ++javax/swing/InputMap ++javax/swing/plaf/InputMapUIResource ++javax/swing/KeyStroke ++java/awt/VKCollection ++sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl ++javax/swing/plaf/basic/LazyActionMap ++javax/swing/plaf/ActionMapUIResource ++javax/swing/ActionMap ++sun/awt/X11/XFramePeer ++java/awt/peer/FramePeer ++java/awt/peer/WindowPeer ++java/awt/peer/ContainerPeer ++java/awt/peer/ComponentPeer ++sun/awt/X11/XDecoratedPeer ++sun/awt/X11/XWindowPeer ++sun/awt/X11/XPanelPeer ++java/awt/peer/PanelPeer ++sun/awt/X11/XCanvasPeer ++java/awt/peer/CanvasPeer ++sun/awt/X11/XComponentPeer ++java/awt/dnd/peer/DropTargetPeer ++sun/java2d/BackBufferCapsProvider ++sun/awt/X11/XWindow ++sun/awt/X11ComponentPeer ++sun/awt/X11/XBaseWindow ++sun/awt/X11/XCreateWindowParams ++sun/awt/X11/XBaseWindow$InitialiseState ++sun/awt/X11/XBaseWindow$StateLock ++sun/awt/X11/AwtGraphicsConfigData ++sun/awt/X11/XVisualInfo ++java/awt/SystemColor ++sun/awt/AWTAccessor$SystemColorAccessor ++sun/awt/X11/MotifColorUtilities ++sun/awt/X11/XRepaintArea ++sun/awt/RepaintArea ++sun/awt/X11/XWindowAttributesData ++sun/awt/X11/WindowDimensions ++java/awt/Point ++java/awt/geom/Point2D ++java/util/TreeMap$Entry ++sun/awt/X11/XSizeHints ++sun/awt/X11/XRootWindow ++sun/awt/X11/XRootWindow$LazyHolder ++sun/nio/cs/ISO_8859_1$Encoder ++sun/nio/cs/Surrogate$Parser ++sun/nio/cs/Surrogate ++sun/java2d/x11/X11SurfaceData$X11WindowSurfaceData ++sun/awt/X11/XDropTargetEventProcessor ++sun/java2d/loops/RenderLoops ++sun/awt/X11/XDragSourceContextPeer ++sun/java2d/loops/GraphicsPrimitiveMgr$PrimitiveSpec ++sun/awt/X11/XDragSourceProtocolListener ++java/util/Arrays$LegacyMergeSort ++sun/awt/dnd/SunDragSourceContextPeer ++java/awt/dnd/peer/DragSourceContextPeer ++java/util/TimSort ++sun/awt/X11/XAnyEvent ++sun/awt/X11/XAwtState ++sun/awt/X11/XBaseWindow$1 ++sun/awt/X11/XPropertyEvent ++sun/java2d/DefaultDisposerRecord ++sun/java2d/SurfaceDataProxy ++sun/awt/image/SurfaceManager$FlushableCacheData ++sun/java2d/SurfaceDataProxy$1 ++sun/java2d/StateTracker ++sun/java2d/StateTracker$1 ++sun/java2d/StateTracker$2 ++sun/java2d/x11/X11Renderer ++sun/awt/X11/XGlobalCursorManager ++sun/awt/GlobalCursorManager ++sun/awt/IconInfo ++sun/awt/AWTIcon32_java_icon16_png ++sun/awt/AWTIcon32_java_icon24_png ++sun/awt/AWTIcon32_java_icon32_png ++sun/awt/AWTIcon32_java_icon48_png ++sun/awt/X11/XClientMessageEvent ++sun/awt/X11/XContentWindow ++sun/awt/X11/XFocusProxyWindow ++sun/awt/X11/XWMHints ++java/util/LinkedList$ListItr ++sun/awt/AWTAutoShutdown ++java/awt/peer/LightweightPeer ++sun/awt/NullComponentPeer ++java/awt/SplashScreen ++java/awt/Dialog ++java/awt/Dialog$ModalityType ++sun/awt/X11/PropMwmHints ++sun/awt/X11/XWindowPeer$4 ++sun/awt/GlobalCursorManager$NativeUpdater ++java/awt/event/WindowEvent ++java/awt/EventQueue$5 ++java/awt/EventDispatchThread ++sun/awt/PeerEvent ++java/awt/EventDispatchThread$1 ++java/awt/Conditional ++java/awt/event/InvocationEvent ++java/awt/ActiveEvent ++java/awt/EventDispatchThread$HierarchyEventFilter ++java/awt/EventFilter ++java/awt/event/PaintEvent ++sun/awt/X11/XReparentEvent ++java/awt/event/MouseEvent ++java/awt/ModalEventFilter ++sun/awt/EventQueueItem ++sun/awt/EventQueueDelegate ++java/awt/EventFilter$FilterAction ++java/awt/EventQueue$3 ++java/awt/EventQueue$4 ++sun/awt/dnd/SunDropTargetEvent ++sun/awt/X11/XConfigureEvent ++java/awt/event/InputMethodEvent ++java/awt/event/ActionEvent ++java/awt/event/FocusEvent ++java/util/Vector$Itr ++java/awt/event/InvocationEvent$1 ++sun/awt/X11/XWindowPeer$2 ++sun/awt/AWTAccessor$InvocationEventAccessor ++java/applet/Applet ++java/awt/Panel ++sun/awt/X11/XVisibilityEvent ++sun/awt/X11/XExposeEvent ++sun/awt/event/IgnorePaintEvent ++sun/awt/X11/XTranslateCoordinates ++sun/awt/X11/XFocusChangeEvent ++java/awt/SequencedEvent ++java/awt/SequencedEvent$1 ++sun/awt/AWTAccessor$SequencedEventAccessor ++sun/awt/X11/XComponentPeer$1 ++java/awt/MenuComponent ++java/awt/TrayIcon ++java/util/IdentityHashMap$KeySet ++java/util/IdentityHashMap$KeyIterator ++javax/swing/RepaintManager$4 ++java/awt/GraphicsCallback$PaintCallback ++java/awt/GraphicsCallback ++sun/awt/SunGraphicsCallback ++javax/swing/BufferStrategyPaintManager$BufferInfo ++java/awt/event/WindowListener ++java/awt/event/ComponentAdapter ++java/awt/event/ComponentListener ++java/awt/AWTEventMulticaster ++java/awt/event/ContainerListener ++java/awt/event/FocusListener ++java/awt/event/KeyListener ++java/awt/event/MouseListener ++java/awt/event/MouseMotionListener ++java/awt/event/WindowFocusListener ++java/awt/event/WindowStateListener ++java/awt/event/ActionListener ++java/awt/event/ItemListener ++java/awt/event/AdjustmentListener ++java/awt/event/TextListener ++java/awt/event/InputMethodListener ++java/awt/event/HierarchyListener ++java/awt/event/HierarchyBoundsListener ++java/awt/event/MouseWheelListener ++java/awt/BufferCapabilities ++java/awt/Component$BltSubRegionBufferStrategy ++sun/awt/SubRegionShowable ++java/awt/Component$BltBufferStrategy ++java/awt/image/BufferStrategy ++java/awt/image/VolatileImage ++java/awt/Image ++sun/awt/image/SunVolatileImage ++java/awt/Image$1 ++sun/awt/image/SurfaceManager$ImageAccessor ++sun/awt/image/SurfaceManager ++sun/awt/image/BufferedImageGraphicsConfig ++sun/print/PrinterGraphicsConfig ++sun/java2d/opengl/GLXGraphicsConfig ++sun/java2d/opengl/OGLGraphicsConfig ++sun/java2d/pipe/hw/AccelGraphicsConfig ++sun/java2d/pipe/hw/BufferedContextProvider ++sun/java2d/xr/XRGraphicsConfig ++sun/java2d/x11/X11VolatileSurfaceManager ++sun/awt/image/VolatileSurfaceManager ++sun/java2d/x11/X11SurfaceData$X11PixmapSurfaceData ++sun/font/FontDesignMetrics ++java/awt/FontMetrics ++sun/font/SunFontManager ++sun/java2d/FontSupport ++sun/font/FontManagerForSGE ++sun/font/FontManager ++sun/font/SunFontManager$TTFilter ++java/io/FilenameFilter ++sun/font/SunFontManager$T1Filter ++sun/font/SunFontManager$1 ++sun/font/FontManagerNativeLibrary ++sun/font/FontManagerNativeLibrary$1 ++sun/font/FontUtilities ++sun/font/FontUtilities$1 ++sun/font/TrueTypeFont ++sun/font/FileFont ++sun/font/PhysicalFont ++sun/font/Font2D ++sun/font/Type1Font ++java/awt/geom/Point2D$Float ++sun/font/StrikeMetrics ++java/awt/geom/Rectangle2D$Float ++java/awt/geom/GeneralPath ++sun/font/CharToGlyphMapper ++sun/font/PhysicalStrike ++sun/font/FontStrike ++sun/font/StrikeCache ++sun/font/StrikeCache$1 ++sun/font/GlyphList ++sun/font/FontManagerFactory ++sun/font/FontManagerFactory$1 ++sun/awt/X11FontManager ++sun/font/CompositeFont ++sun/font/SunFontManager$2 ++java/io/StreamTokenizer ++sun/font/SunFontManager$FontRegistrationInfo ++sun/awt/motif/MFontConfiguration ++sun/awt/FontConfiguration ++sun/awt/FontDescriptor ++java/util/Properties$LineReader ++sun/font/FcFontConfiguration ++java/net/InetAddress ++java/net/InetAddress$1 ++java/net/InetAddress$InetAddressHolder ++java/net/InetAddress$Cache ++java/net/InetAddress$Cache$Type ++java/net/InetAddressImplFactory ++java/net/Inet4AddressImpl ++java/net/InetAddressImpl ++java/net/InetAddress$2 ++sun/net/spi/nameservice/NameService ++java/net/Inet4Address ++java/net/Inet6Address ++java/net/Inet6Address$Inet6AddressHolder ++sun/net/InetAddressCachePolicy ++sun/net/InetAddressCachePolicy$1 ++java/security/Security ++java/security/Security$1 ++sun/net/InetAddressCachePolicy$2 ++java/util/LinkedHashMap$LinkedKeySet ++java/util/LinkedHashMap$LinkedKeyIterator ++java/net/InetAddress$CacheEntry ++sun/font/FontConfigManager$FcCompFont ++sun/font/FontConfigManager$FontConfigFont ++sun/font/CompositeFontDescriptor ++sun/font/Font2DHandle ++sun/font/FontFamily ++sun/font/SunFontManager$3 ++sun/font/FontDesignMetrics$MetricsKey ++sun/font/FontStrikeDesc ++sun/font/CompositeStrike ++sun/font/FontStrikeDisposer ++sun/java2d/Disposer$PollDisposable ++sun/font/StrikeCache$SoftDisposerRef ++sun/font/StrikeCache$DisposableStrike ++sun/font/TrueTypeFont$TTDisposerRecord ++sun/font/TrueTypeFont$1 ++java/io/RandomAccessFile ++java/io/DataOutput ++java/io/DataInput ++sun/nio/ch/FileChannelImpl ++java/nio/channels/FileChannel ++java/nio/channels/SeekableByteChannel ++java/nio/channels/ByteChannel ++java/nio/channels/ReadableByteChannel ++java/nio/channels/Channel ++java/nio/channels/WritableByteChannel ++java/nio/channels/GatheringByteChannel ++java/nio/channels/ScatteringByteChannel ++java/nio/channels/spi/AbstractInterruptibleChannel ++java/nio/channels/InterruptibleChannel ++java/nio/file/attribute/FileAttribute ++sun/nio/ch/IOUtil ++sun/nio/ch/IOUtil$1 ++sun/nio/ch/NativeThreadSet ++sun/nio/ch/FileDispatcherImpl ++sun/nio/ch/FileDispatcher ++sun/nio/ch/NativeDispatcher ++java/nio/channels/spi/AbstractInterruptibleChannel$1 ++sun/nio/ch/NativeThread ++sun/nio/ch/IOStatus ++sun/nio/ch/Util ++sun/nio/ch/Util$1 ++sun/nio/ch/Util$BufferCache ++java/nio/DirectByteBuffer$Deallocator ++java/nio/ByteBufferAsIntBufferB ++java/nio/IntBuffer ++sun/font/TrueTypeFont$DirectoryEntry ++java/nio/ByteBufferAsShortBufferB ++java/nio/ShortBuffer ++sun/nio/cs/UTF_16$Decoder ++sun/nio/cs/UnicodeDecoder ++sun/font/FileFontStrike ++sun/font/FontScaler ++sun/font/T2KFontScaler ++sun/font/T2KFontScaler$1 ++sun/font/TrueTypeGlyphMapper ++sun/font/CMap ++sun/font/CMap$NullCMapClass ++sun/font/CMap$CMapFormat12 ++sun/font/FontDesignMetrics$KeyReference ++sun/font/CompositeGlyphMapper ++java/awt/print/PrinterGraphics ++java/awt/PrintGraphics ++sun/java2d/loops/FontInfo ++sun/awt/X11/XSystemTrayPeer ++java/awt/peer/SystemTrayPeer +java/util/jar/Attributes ++java/util/jar/Manifest$FastInputStream +java/util/jar/Attributes$Name -+java/util/jar/JarEntry -+java/util/jar/JarFile -+java/util/jar/JarFile$JarEntryIterator -+java/util/jar/JarFile$JarFileEntry ++sun/misc/ASCIICaseInsensitiveComparator +java/util/jar/JarVerifier ++java/security/CodeSigner +java/util/jar/JarVerifier$3 -+java/util/jar/JarVerifier$VerifierStream -+java/util/jar/JavaUtilJarAccessImpl -+java/util/jar/Manifest -+java/util/jar/Manifest$FastInputStream -+java/util/logging/Handler ++java/io/ByteArrayOutputStream ++java/lang/Package ++sun/security/util/SignatureFileVerifier ++sun/security/util/ManifestEntryVerifier ++java/util/MissingResourceException ++javax/swing/JDialog ++javax/swing/text/JTextComponent ++javax/swing/Scrollable ++javax/swing/JTextArea ++javax/swing/JScrollPane ++javax/swing/ScrollPaneConstants ++javax/swing/AbstractButton ++java/awt/ItemSelectable ++javax/swing/JButton ++java/io/StringWriter ++java/lang/SecurityException ++javax/swing/JWindow ++java/io/UnsupportedEncodingException ++sun/misc/URLClassPath$FileLoader ++java/lang/CloneNotSupportedException ++java/lang/InternalError ++java/net/UnknownHostException ++java/net/Socket ++java/net/SocketAddress ++java/nio/channels/SocketChannel ++java/nio/channels/NetworkChannel ++java/nio/channels/spi/AbstractSelectableChannel ++java/nio/channels/SelectableChannel ++java/net/SocketException ++java/net/SocketImplFactory ++java/net/InetSocketAddress ++java/net/InetSocketAddress$InetSocketAddressHolder ++java/net/Proxy ++java/net/SocketImpl ++java/net/SocketOptions ++java/net/SocksSocketImpl ++java/net/SocksConsts ++java/net/PlainSocketImpl ++java/net/AbstractPlainSocketImpl ++java/net/AbstractPlainSocketImpl$1 ++sun/net/util/IPAddressUtil ++java/net/SocksSocketImpl$3 ++java/net/ProxySelector ++sun/net/spi/DefaultProxySelector ++sun/net/spi/DefaultProxySelector$1 ++sun/net/NetProperties ++sun/net/NetProperties$1 ++java/net/URI ++java/net/URI$Parser ++sun/net/spi/DefaultProxySelector$NonProxyInfo ++sun/net/spi/DefaultProxySelector$3 ++java/net/Proxy$Type ++sun/net/NetHooks ++sun/net/sdp/SdpProvider ++sun/net/NetHooks$Provider ++java/net/ConnectException ++java/net/MalformedURLException ++java/lang/UnsatisfiedLinkError ++javax/swing/UnsupportedLookAndFeelException ++sun/misc/FloatingDecimal$ASCIIToBinaryBuffer ++sun/misc/FDBigInteger ++java/util/ResourceBundle$Control$1 ++java/net/URLClassLoader$2 ++java/util/PropertyResourceBundle ++java/util/ResourceBundle$BundleReference +java/util/logging/Level +java/util/logging/Level$KnownLevel ++java/util/logging/Logger ++java/util/logging/Handler ++java/util/logging/Logger$LoggerBundle ++java/util/concurrent/CopyOnWriteArrayList +java/util/logging/LogManager +java/util/logging/LogManager$1 ++java/util/logging/LogManager$SystemLoggerContext ++java/util/logging/LogManager$LoggerContext ++java/util/logging/LogManager$LogNode ++java/util/logging/LoggingPermission ++java/util/logging/LogManager$Cleaner +java/util/logging/LogManager$2 +java/util/logging/LogManager$3 -+java/util/logging/LogManager$5 -+java/util/logging/LogManager$Cleaner -+java/util/logging/LogManager$LogNode -+java/util/logging/LogManager$LoggerContext -+java/util/logging/LogManager$LoggerContext$1 +java/util/logging/LogManager$LoggerWeakRef ++java/util/logging/LogManager$LoggerContext$1 +java/util/logging/LogManager$RootLogger -+java/util/logging/LogManager$SystemLoggerContext -+java/util/logging/Logger ++java/util/logging/LogManager$5 +java/util/logging/Logger$1 -+java/util/logging/LoggingPermission -+java/util/logging/LoggingProxyImpl -+java/util/regex/MatchResult -+java/util/regex/Matcher -+java/util/regex/Pattern -+java/util/regex/Pattern$4 -+java/util/regex/Pattern$BnM -+java/util/regex/Pattern$GroupHead -+java/util/regex/Pattern$LastNode -+java/util/regex/Pattern$Node -+java/util/regex/Pattern$Slice -+java/util/regex/Pattern$SliceNode -+java/util/regex/Pattern$Start -+java/util/regex/Pattern$TreeInfo -+java/util/spi/CalendarDataProvider -+java/util/spi/CurrencyNameProvider -+java/util/spi/LocaleNameProvider -+java/util/spi/LocaleServiceProvider -+java/util/spi/ResourceBundleControlProvider -+java/util/spi/TimeZoneNameProvider -+java/util/zip/CRC32 -+java/util/zip/Checksum -+java/util/zip/DeflaterOutputStream -+java/util/zip/GZIPInputStream -+java/util/zip/Inflater -+java/util/zip/InflaterInputStream -+java/util/zip/ZStreamRef -+java/util/zip/ZipCoder -+java/util/zip/ZipConstants -+java/util/zip/ZipEntry -+java/util/zip/ZipException -+java/util/zip/ZipFile -+java/util/zip/ZipFile$1 -+java/util/zip/ZipFile$ZipEntryIterator -+java/util/zip/ZipFile$ZipFileInflaterInputStream -+java/util/zip/ZipFile$ZipFileInputStream -+java/util/zip/ZipInputStream -+java/util/zip/ZipUtils -+javax/accessibility/Accessible -+javax/accessibility/AccessibleAction -+javax/accessibility/AccessibleBundle -+javax/accessibility/AccessibleComponent -+javax/accessibility/AccessibleContext -+javax/accessibility/AccessibleExtendedComponent -+javax/accessibility/AccessibleRelationSet -+javax/accessibility/AccessibleState -+javax/accessibility/AccessibleText -+javax/accessibility/AccessibleValue -+javax/security/auth/Destroyable -+javax/security/auth/login/FailedLoginException -+javax/security/auth/login/LoginException -+javax/security/auth/x500/X500Principal -+javax/sound/sampled/Control$Type -+javax/sound/sampled/DataLine -+javax/sound/sampled/DataLine$Info -+javax/sound/sampled/FloatControl$Type -+javax/sound/sampled/Line -+javax/sound/sampled/Line$Info -+javax/sound/sampled/LineUnavailableException -+javax/sound/sampled/UnsupportedAudioFileException -+javax/swing/AbstractAction -+javax/swing/AbstractButton -+javax/swing/AbstractButton$AccessibleAbstractButton -+javax/swing/AbstractButton$Handler -+javax/swing/AbstractCellEditor -+javax/swing/AbstractListModel -+javax/swing/Action -+javax/swing/ActionMap -+javax/swing/AncestorNotifier -+javax/swing/ArrayTable -+javax/swing/Autoscroller -+javax/swing/BorderFactory -+javax/swing/BoundedRangeModel ++sun/util/logging/resources/logging +javax/swing/Box +javax/swing/Box$Filler -+javax/swing/BoxLayout -+javax/swing/BufferStrategyPaintManager -+javax/swing/BufferStrategyPaintManager$BufferInfo -+javax/swing/ButtonGroup -+javax/swing/ButtonModel -+javax/swing/CellEditor -+javax/swing/CellRendererPane -+javax/swing/ClientPropertyKey -+javax/swing/ClientPropertyKey$1 -+javax/swing/ComboBoxEditor -+javax/swing/ComboBoxModel -+javax/swing/ComponentInputMap -+javax/swing/DefaultBoundedRangeModel -+javax/swing/DefaultButtonModel -+javax/swing/DefaultCellEditor -+javax/swing/DefaultCellEditor$1 -+javax/swing/DefaultCellEditor$EditorDelegate -+javax/swing/DefaultComboBoxModel -+javax/swing/DefaultListCellRenderer -+javax/swing/DefaultListCellRenderer$UIResource -+javax/swing/DefaultListModel -+javax/swing/DefaultListSelectionModel -+javax/swing/DefaultSingleSelectionModel -+javax/swing/DropMode -+javax/swing/FocusManager -+javax/swing/GrayFilter +javax/swing/Icon ++javax/swing/BoxLayout ++javax/swing/plaf/basic/BasicPopupMenuUI ++javax/swing/plaf/PopupMenuUI +javax/swing/ImageIcon +javax/swing/ImageIcon$1 +javax/swing/ImageIcon$2 +javax/swing/ImageIcon$2$1 ++java/awt/dnd/DropTarget ++java/awt/dnd/DropTargetListener ++javax/accessibility/AccessibleContext ++sun/reflect/UnsafeObjectFieldAccessorImpl ++java/awt/MediaTracker ++sun/misc/SoftCache$ValueCell ++sun/awt/image/URLImageSource ++sun/awt/image/InputStreamImageSource ++java/awt/image/ImageProducer ++sun/awt/image/ImageFetchable ++sun/awt/image/ToolkitImage ++sun/awt/image/NativeLibLoader ++sun/awt/image/NativeLibLoader$1 +javax/swing/ImageIcon$3 -+javax/swing/InputMap -+javax/swing/InternalFrameFocusTraversalPolicy -+javax/swing/JButton -+javax/swing/JCheckBox -+javax/swing/JCheckBoxMenuItem -+javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem -+javax/swing/JComboBox -+javax/swing/JComboBox$1 -+javax/swing/JComboBox$KeySelectionManager -+javax/swing/JComponent -+javax/swing/JComponent$1 -+javax/swing/JComponent$2 -+javax/swing/JComponent$AccessibleJComponent -+javax/swing/JDialog -+javax/swing/JEditorPane -+javax/swing/JFrame -+javax/swing/JInternalFrame -+javax/swing/JLabel -+javax/swing/JLayer -+javax/swing/JLayeredPane -+javax/swing/JList -+javax/swing/JList$3 -+javax/swing/JList$ListSelectionHandler -+javax/swing/JMenu -+javax/swing/JMenu$MenuChangeListener -+javax/swing/JMenu$WinListener -+javax/swing/JMenuBar -+javax/swing/JMenuItem -+javax/swing/JMenuItem$AccessibleJMenuItem -+javax/swing/JMenuItem$MenuItemFocusListener -+javax/swing/JPanel -+javax/swing/JPasswordField -+javax/swing/JPopupMenu -+javax/swing/JPopupMenu$Separator -+javax/swing/JProgressBar -+javax/swing/JProgressBar$ModelListener ++java/awt/ImageMediaEntry ++java/awt/MediaEntry ++sun/awt/image/MultiResolutionToolkitImage ++sun/awt/image/MultiResolutionImage ++sun/awt/image/ImageRepresentation ++java/awt/image/ImageConsumer ++sun/awt/image/ImageWatched ++sun/awt/image/ImageWatched$Link ++sun/awt/image/ImageWatched$WeakLink ++sun/awt/image/ImageConsumerQueue ++sun/awt/image/ImageFetcher ++sun/awt/image/FetcherInfo ++sun/awt/image/ImageFetcher$1 ++sun/net/ProgressMonitor ++sun/net/DefaultProgressMeteringPolicy ++sun/net/ProgressMeteringPolicy ++sun/net/www/MimeTable ++java/net/FileNameMap ++sun/net/www/MimeTable$1 ++sun/net/www/MimeTable$DefaultInstanceHolder ++sun/net/www/MimeTable$DefaultInstanceHolder$1 ++sun/net/www/MimeEntry ++java/net/URLConnection$1 ++java/text/SimpleDateFormat ++java/text/DateFormat ++java/text/Format ++java/text/DateFormat$Field ++java/text/Format$Field ++java/util/TimeZone ++sun/util/calendar/ZoneInfo ++sun/util/calendar/ZoneInfoFile ++sun/util/calendar/ZoneInfoFile$1 ++java/io/DataInputStream ++sun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule ++sun/util/calendar/ZoneInfoFile$Checksum ++java/util/zip/CRC32 ++java/util/zip/Checksum ++java/util/TimeZone$1 ++java/util/Calendar ++sun/util/spi/CalendarProvider ++java/util/spi/LocaleServiceProvider ++sun/util/locale/provider/LocaleProviderAdapter ++sun/util/locale/provider/JRELocaleProviderAdapter ++sun/util/locale/provider/ResourceBundleBasedAdapter ++sun/util/locale/provider/SPILocaleProviderAdapter ++sun/util/locale/provider/AuxLocaleProviderAdapter ++sun/util/locale/provider/AuxLocaleProviderAdapter$NullProvider ++sun/util/locale/provider/LocaleProviderAdapter$Type ++sun/util/locale/provider/LocaleProviderAdapter$1 ++sun/util/locale/provider/CalendarProviderImpl ++sun/util/locale/provider/AvailableLanguageTags ++sun/util/locale/provider/LocaleDataMetaInfo ++sun/util/locale/provider/JRELocaleProviderAdapter$1 ++java/util/Calendar$Builder ++java/util/GregorianCalendar ++sun/util/locale/provider/CalendarDataUtility ++java/util/spi/CalendarDataProvider ++sun/util/locale/provider/LocaleServiceProviderPool ++java/text/spi/BreakIteratorProvider ++java/text/spi/CollatorProvider ++java/text/spi/DateFormatProvider ++java/text/spi/DateFormatSymbolsProvider ++java/text/spi/DecimalFormatSymbolsProvider ++java/text/spi/NumberFormatProvider ++java/util/spi/CurrencyNameProvider ++java/util/spi/LocaleNameProvider ++java/util/spi/TimeZoneNameProvider ++sun/util/locale/provider/CalendarDataProviderImpl ++sun/util/locale/provider/SPILocaleProviderAdapter$1 ++sun/util/locale/provider/CalendarDataUtility$CalendarWeekParameterGetter ++sun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter ++sun/util/locale/provider/LocaleResources ++sun/util/resources/LocaleData ++sun/util/resources/LocaleData$1 ++sun/util/resources/LocaleData$LocaleDataResourceBundleControl ++sun/util/locale/LanguageTag ++java/util/Collections$EmptyIterator ++sun/util/resources/CalendarData ++sun/util/resources/LocaleNamesBundle ++sun/util/resources/OpenListResourceBundle ++sun/util/resources/en/CalendarData_en ++sun/util/locale/provider/LocaleResources$ResourceReference ++sun/util/calendar/Gregorian$Date ++sun/util/calendar/BaseCalendar$Date ++sun/util/calendar/CalendarDate ++sun/util/calendar/CalendarUtils ++java/text/DateFormatSymbols ++sun/util/locale/provider/DateFormatSymbolsProviderImpl ++sun/text/resources/FormatData ++sun/util/resources/ParallelListResourceBundle ++java/util/concurrent/atomic/AtomicMarkableReference ++java/util/concurrent/atomic/AtomicMarkableReference$Pair ++sun/text/resources/en/FormatData_en ++sun/text/resources/en/FormatData_en_US ++sun/util/resources/ParallelListResourceBundle$KeySet ++java/text/NumberFormat ++sun/util/locale/provider/NumberFormatProviderImpl ++java/text/DecimalFormatSymbols ++sun/util/locale/provider/DecimalFormatSymbolsProviderImpl ++java/util/Currency ++java/util/Currency$1 ++sun/util/locale/provider/CurrencyNameProviderImpl ++java/util/Currency$CurrencyNameGetter ++sun/util/resources/CurrencyNames ++sun/util/resources/en/CurrencyNames_en_US ++java/text/DecimalFormat ++java/text/FieldPosition ++java/text/DigitList ++java/math/RoundingMode ++java/text/DontCareFieldPosition ++java/text/DontCareFieldPosition$1 ++java/text/Format$FieldDelegate ++sun/awt/image/GifImageDecoder ++sun/awt/image/ImageDecoder ++sun/awt/image/GifFrame ++java/awt/image/Raster ++java/awt/image/DataBufferByte ++java/awt/image/DataBuffer ++java/awt/image/DataBuffer$1 ++sun/awt/image/SunWritableRaster$DataStealer ++sun/awt/image/SunWritableRaster ++java/awt/image/WritableRaster ++java/awt/image/PixelInterleavedSampleModel ++java/awt/image/ComponentSampleModel ++java/awt/image/SampleModel ++sun/awt/image/ByteInterleavedRaster ++sun/awt/image/ByteComponentRaster ++java/awt/image/BufferedImage ++java/awt/image/WritableRenderedImage ++java/awt/image/RenderedImage ++java/awt/image/BufferedImage$1 ++sun/awt/image/IntegerComponentRaster ++sun/awt/image/BytePackedRaster ++javax/swing/plaf/BorderUIResource ++javax/swing/BorderFactory ++javax/swing/border/BevelBorder ++javax/swing/border/EtchedBorder ++javax/swing/plaf/metal/MetalIconFactory ++javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon ++javax/swing/plaf/metal/MetalIconFactory$FolderIcon16 ++java/util/zip/ZipInputStream ++java/io/PushbackInputStream ++java/util/zip/ZipUtils ++java/io/RandomAccessFile$1 ++java/lang/Thread$State ++javax/swing/SwingUtilities$SharedOwnerFrame ++sun/awt/X11/XWindowAttributes ++javax/swing/border/LineBorder ++javax/swing/SizeRequirements ++java/util/ArrayList$ListItr ++javax/swing/CellRendererPane ++javax/swing/RepaintManager$3 +javax/swing/JRadioButton -+javax/swing/JRadioButtonMenuItem -+javax/swing/JRootPane -+javax/swing/JRootPane$1 -+javax/swing/JRootPane$RootLayout -+javax/swing/JScrollBar -+javax/swing/JScrollBar$ModelListener -+javax/swing/JScrollPane -+javax/swing/JScrollPane$ScrollBar -+javax/swing/JSeparator -+javax/swing/JSlider -+javax/swing/JSlider$ModelListener -+javax/swing/JSplitPane ++javax/swing/JToggleButton ++java/lang/ClassFormatError ++java/io/ObjectInputStream ++java/io/ObjectInput ++java/io/ObjectStreamConstants ++sun/awt/image/BufImgSurfaceManager ++sun/awt/image/BufImgSurfaceData ++sun/awt/image/BufImgSurfaceData$ICMColorData ++sun/java2d/x11/X11SurfaceDataProxy ++sun/java2d/x11/X11SurfaceDataProxy$Bitmask ++sun/java2d/StateTrackableDelegate$1 +javax/swing/JTabbedPane ++java/awt/geom/RectIterator ++java/awt/geom/PathIterator ++javax/swing/event/ChangeListener ++java/awt/Polygon ++javax/swing/event/MenuListener ++javax/swing/DefaultSingleSelectionModel ++javax/swing/SingleSelectionModel +javax/swing/JTabbedPane$ModelListener -+javax/swing/JTabbedPane$Page -+javax/swing/JTable -+javax/swing/JTable$2 -+javax/swing/JTable$5 -+javax/swing/JTable$Resizable2 -+javax/swing/JTable$Resizable3 -+javax/swing/JTextArea ++javax/swing/plaf/metal/MetalTabbedPaneUI ++javax/swing/plaf/basic/BasicTabbedPaneUI ++javax/swing/plaf/TabbedPaneUI ++javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout ++javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout ++javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout ++javax/swing/plaf/basic/BasicTabbedPaneUI$Handler ++sun/reflect/MethodAccessorGenerator ++sun/reflect/AccessorGenerator ++sun/reflect/ClassFileConstants ++sun/reflect/ByteVectorFactory ++sun/reflect/ByteVectorImpl ++sun/reflect/ByteVector ++sun/reflect/ClassFileAssembler ++sun/reflect/UTF8 ++sun/reflect/Label ++sun/reflect/Label$PatchInfo ++sun/reflect/MethodAccessorGenerator$1 ++sun/reflect/ClassDefiner ++sun/reflect/ClassDefiner$1 ++sun/reflect/BootstrapConstructorAccessorImpl +javax/swing/JTextField -+javax/swing/JTextField$NotifyAction -+javax/swing/JTextField$ScrollRepainter -+javax/swing/JToggleButton -+javax/swing/JToggleButton$ToggleButtonModel -+javax/swing/JToolBar -+javax/swing/JToolBar$DefaultToolBarLayout -+javax/swing/JToolBar$Separator -+javax/swing/JToolTip -+javax/swing/JTree -+javax/swing/JTree$TreeModelHandler -+javax/swing/JTree$TreeSelectionRedirector +javax/swing/JViewport -+javax/swing/JViewport$ViewListener -+javax/swing/JWindow -+javax/swing/KeyStroke -+javax/swing/KeyboardManager -+javax/swing/KeyboardManager$ComponentKeyStrokePair -+javax/swing/LayoutComparator -+javax/swing/LayoutFocusTraversalPolicy -+javax/swing/ListCellRenderer -+javax/swing/ListModel -+javax/swing/ListSelectionModel -+javax/swing/LookAndFeel -+javax/swing/MenuElement -+javax/swing/MenuSelectionManager -+javax/swing/MultiUIDefaults -+javax/swing/MutableComboBoxModel -+javax/swing/PopupFactory -+javax/swing/RepaintManager -+javax/swing/RepaintManager$2 -+javax/swing/RepaintManager$3 -+javax/swing/RepaintManager$DisplayChangedHandler -+javax/swing/RepaintManager$PaintManager -+javax/swing/RepaintManager$ProcessingRunnable -+javax/swing/RootPaneContainer -+javax/swing/ScrollPaneConstants -+javax/swing/ScrollPaneLayout -+javax/swing/ScrollPaneLayout$UIResource -+javax/swing/Scrollable -+javax/swing/SingleSelectionModel -+javax/swing/SizeRequirements -+javax/swing/SortingFocusTraversalPolicy -+javax/swing/SwingConstants -+javax/swing/SwingContainerOrderFocusTraversalPolicy -+javax/swing/SwingDefaultFocusTraversalPolicy -+javax/swing/SwingHeavyWeight -+javax/swing/SwingPaintEventDispatcher -+javax/swing/SwingUtilities -+javax/swing/SwingUtilities$SharedOwnerFrame -+javax/swing/Timer -+javax/swing/Timer$DoPostEvent -+javax/swing/TimerQueue -+javax/swing/TimerQueue$1 -+javax/swing/TimerQueue$DelayedTimer -+javax/swing/ToolTipManager -+javax/swing/ToolTipManager$AccessibilityKeyListener -+javax/swing/ToolTipManager$MoveBeforeEnterListener -+javax/swing/ToolTipManager$insideTimerAction -+javax/swing/ToolTipManager$outsideTimerAction -+javax/swing/ToolTipManager$stillInsideTimerAction ++java/awt/CardLayout ++javax/swing/text/Document ++javax/swing/text/JTextComponent$1 ++sun/swing/SwingAccessor$JTextComponentAccessor ++javax/swing/text/JTextComponent$4 ++com/sun/beans/util/Cache ++com/sun/beans/util/Cache$Kind ++com/sun/beans/util/Cache$Kind$1 ++com/sun/beans/util/Cache$Kind$2 ++com/sun/beans/util/Cache$Kind$3 ++com/sun/beans/util/Cache$CacheEntry ++javax/swing/Action ++javax/swing/JTextField$NotifyAction ++javax/swing/text/TextAction ++javax/swing/AbstractAction ++java/lang/ArrayIndexOutOfBoundsException ++javax/swing/DropMode ++javax/swing/text/JTextComponent$MutableCaretEvent ++javax/swing/event/CaretEvent ++javax/swing/plaf/metal/MetalTextFieldUI ++javax/swing/plaf/basic/BasicTextFieldUI ++javax/swing/plaf/basic/BasicTextUI ++javax/swing/text/ViewFactory ++javax/swing/plaf/TextUI ++javax/swing/plaf/basic/BasicTextUI$BasicCursor ++javax/swing/text/DefaultEditorKit ++javax/swing/text/EditorKit ++javax/swing/text/DefaultEditorKit$InsertContentAction ++javax/swing/text/DefaultEditorKit$DeletePrevCharAction ++javax/swing/text/DefaultEditorKit$DeleteNextCharAction ++javax/swing/text/DefaultEditorKit$ReadOnlyAction ++javax/swing/text/DefaultEditorKit$DeleteWordAction ++javax/swing/text/DefaultEditorKit$WritableAction ++javax/swing/text/DefaultEditorKit$CutAction ++javax/swing/text/DefaultEditorKit$CopyAction ++javax/swing/text/DefaultEditorKit$PasteAction ++javax/swing/text/DefaultEditorKit$VerticalPageAction ++javax/swing/text/DefaultEditorKit$PageAction ++javax/swing/text/DefaultEditorKit$InsertBreakAction ++javax/swing/text/DefaultEditorKit$BeepAction ++javax/swing/text/DefaultEditorKit$NextVisualPositionAction ++javax/swing/text/DefaultEditorKit$BeginWordAction ++javax/swing/text/DefaultEditorKit$EndWordAction ++javax/swing/text/DefaultEditorKit$PreviousWordAction ++javax/swing/text/DefaultEditorKit$NextWordAction ++javax/swing/text/DefaultEditorKit$BeginLineAction ++javax/swing/text/DefaultEditorKit$EndLineAction ++javax/swing/text/DefaultEditorKit$BeginParagraphAction ++javax/swing/text/DefaultEditorKit$EndParagraphAction ++javax/swing/text/DefaultEditorKit$BeginAction ++javax/swing/text/DefaultEditorKit$EndAction ++javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction ++javax/swing/text/DefaultEditorKit$InsertTabAction ++javax/swing/text/DefaultEditorKit$SelectWordAction ++javax/swing/text/DefaultEditorKit$SelectLineAction ++javax/swing/text/DefaultEditorKit$SelectParagraphAction ++javax/swing/text/DefaultEditorKit$SelectAllAction ++javax/swing/text/DefaultEditorKit$UnselectAction ++javax/swing/text/DefaultEditorKit$ToggleComponentOrientationAction ++javax/swing/text/DefaultEditorKit$DumpModelAction ++javax/swing/plaf/basic/BasicTextUI$TextTransferHandler +javax/swing/TransferHandler -+javax/swing/TransferHandler$DropHandler -+javax/swing/TransferHandler$HasGetTransferHandler -+javax/swing/TransferHandler$SwingDropTarget +javax/swing/TransferHandler$TransferAction -+javax/swing/TransferHandler$TransferAction$1 -+javax/swing/TransferHandler$TransferAction$2 -+javax/swing/TransferHandler$TransferSupport -+javax/swing/UIDefaults -+javax/swing/UIDefaults$ActiveValue -+javax/swing/UIDefaults$LazyInputMap -+javax/swing/UIDefaults$LazyValue -+javax/swing/UIDefaults$TextAndMnemonicHashMap -+javax/swing/UIManager -+javax/swing/UIManager$1 -+javax/swing/UIManager$2 -+javax/swing/UIManager$LAFState -+javax/swing/UIManager$LookAndFeelInfo -+javax/swing/UnsupportedLookAndFeelException -+javax/swing/ViewportLayout -+javax/swing/WindowConstants -+javax/swing/border/AbstractBorder -+javax/swing/border/BevelBorder -+javax/swing/border/Border -+javax/swing/border/CompoundBorder -+javax/swing/border/EmptyBorder -+javax/swing/border/EtchedBorder -+javax/swing/border/LineBorder -+javax/swing/border/MatteBorder -+javax/swing/border/TitledBorder -+javax/swing/event/AncestorEvent -+javax/swing/event/AncestorListener -+javax/swing/event/CaretEvent -+javax/swing/event/CaretListener -+javax/swing/event/CellEditorListener -+javax/swing/event/ChangeEvent -+javax/swing/event/ChangeListener -+javax/swing/event/DocumentEvent -+javax/swing/event/DocumentEvent$ElementChange -+javax/swing/event/DocumentEvent$EventType ++sun/swing/UIAction ++javax/swing/text/Position$Bias ++javax/swing/plaf/basic/BasicTextUI$RootView ++javax/swing/text/View ++javax/swing/plaf/basic/BasicTextUI$UpdateHandler +javax/swing/event/DocumentListener -+javax/swing/event/EventListenerList -+javax/swing/event/ListDataEvent -+javax/swing/event/ListDataListener -+javax/swing/event/ListSelectionEvent -+javax/swing/event/ListSelectionListener -+javax/swing/event/MenuDragMouseListener -+javax/swing/event/MenuEvent -+javax/swing/event/MenuKeyListener -+javax/swing/event/MenuListener ++javax/swing/plaf/basic/BasicTextUI$DragListener ++javax/swing/plaf/basic/DragRecognitionSupport$BeforeDrag +javax/swing/event/MouseInputAdapter +javax/swing/event/MouseInputListener -+javax/swing/event/PopupMenuListener -+javax/swing/event/RowSorterListener -+javax/swing/event/SwingPropertyChangeSupport -+javax/swing/event/TableColumnModelEvent -+javax/swing/event/TableColumnModelListener -+javax/swing/event/TableModelEvent -+javax/swing/event/TableModelListener -+javax/swing/event/TreeExpansionListener -+javax/swing/event/TreeModelEvent -+javax/swing/event/TreeModelListener -+javax/swing/event/TreeSelectionEvent -+javax/swing/event/TreeSelectionListener -+javax/swing/event/UndoableEditEvent -+javax/swing/event/UndoableEditListener -+javax/swing/filechooser/FileFilter -+javax/swing/plaf/ActionMapUIResource -+javax/swing/plaf/BorderUIResource ++java/awt/event/MouseAdapter ++javax/swing/plaf/metal/MetalBorders +javax/swing/plaf/BorderUIResource$CompoundBorderUIResource -+javax/swing/plaf/BorderUIResource$EmptyBorderUIResource -+javax/swing/plaf/BorderUIResource$LineBorderUIResource ++javax/swing/border/CompoundBorder ++javax/swing/plaf/metal/MetalBorders$TextFieldBorder ++javax/swing/plaf/metal/MetalBorders$Flush3DBorder ++javax/swing/plaf/basic/BasicBorders$MarginBorder ++javax/swing/plaf/basic/BasicTextUI$BasicCaret ++javax/swing/text/DefaultCaret ++javax/swing/text/Caret ++javax/swing/text/DefaultCaret$Handler ++java/awt/datatransfer/ClipboardOwner ++javax/swing/Timer ++javax/swing/Timer$DoPostEvent ++javax/swing/plaf/basic/BasicTextUI$BasicHighlighter ++javax/swing/text/DefaultHighlighter ++javax/swing/text/LayeredHighlighter ++javax/swing/text/Highlighter ++javax/swing/text/Highlighter$Highlight ++javax/swing/text/DefaultHighlighter$DefaultHighlightPainter ++javax/swing/text/LayeredHighlighter$LayerPainter ++javax/swing/text/Highlighter$HighlightPainter ++javax/swing/text/DefaultHighlighter$SafeDamager ++javax/swing/ClientPropertyKey ++javax/swing/ClientPropertyKey$1 ++sun/awt/AWTAccessor$ClientPropertyKeyAccessor ++javax/swing/TransferHandler$SwingDropTarget ++java/awt/dnd/DropTargetContext ++java/awt/datatransfer/SystemFlavorMap ++java/awt/datatransfer/FlavorMap ++java/awt/datatransfer/FlavorTable ++java/awt/datatransfer/SystemFlavorMap$SoftCache ++javax/swing/TransferHandler$DropHandler ++javax/swing/TransferHandler$TransferSupport ++javax/swing/text/PlainDocument ++javax/swing/text/AbstractDocument ++javax/swing/text/GapContent ++javax/swing/text/AbstractDocument$Content ++javax/swing/text/GapVector ++javax/swing/text/GapContent$MarkVector ++javax/swing/text/GapContent$MarkData ++javax/swing/text/StyleContext ++javax/swing/text/AbstractDocument$AttributeContext ++javax/swing/text/StyleConstants ++javax/swing/text/StyleConstants$CharacterConstants ++javax/swing/text/AttributeSet$CharacterAttribute ++javax/swing/text/StyleConstants$FontConstants ++javax/swing/text/AttributeSet$FontAttribute ++javax/swing/text/StyleConstants$ColorConstants ++javax/swing/text/AttributeSet$ColorAttribute ++javax/swing/text/StyleConstants$ParagraphConstants ++javax/swing/text/AttributeSet$ParagraphAttribute ++javax/swing/text/StyleContext$FontKey ++javax/swing/text/SimpleAttributeSet ++javax/swing/text/MutableAttributeSet ++javax/swing/text/AttributeSet ++javax/swing/text/SimpleAttributeSet$EmptyAttributeSet ++javax/swing/text/StyleContext$NamedStyle ++javax/swing/text/Style ++java/util/Collections$EmptyEnumeration ++javax/swing/text/StyleContext$SmallAttributeSet ++java/util/Collections$3 ++javax/swing/text/AbstractDocument$BidiRootElement ++javax/swing/text/AbstractDocument$BranchElement ++javax/swing/text/AbstractDocument$AbstractElement ++javax/swing/text/Element ++javax/swing/tree/TreeNode ++javax/swing/text/AbstractDocument$1 ++javax/swing/text/AbstractDocument$BidiElement ++javax/swing/text/AbstractDocument$LeafElement ++javax/swing/text/GapContent$StickyPosition ++javax/swing/text/Position ++javax/swing/text/StyleContext$KeyEnumeration ++javax/swing/text/FieldView ++javax/swing/text/PlainView ++javax/swing/text/TabExpander ++javax/swing/text/JTextComponent$DefaultKeymap ++javax/swing/text/Keymap ++javax/swing/text/JTextComponent$KeymapWrapper ++javax/swing/text/JTextComponent$KeymapActionMap ++javax/swing/plaf/basic/BasicTextUI$FocusAction ++javax/swing/plaf/basic/BasicTextUI$TextActionWrapper ++javax/swing/plaf/synth/SynthUI ++javax/swing/plaf/synth/SynthConstants ++javax/swing/JEditorPane ++javax/swing/DefaultBoundedRangeModel ++javax/swing/BoundedRangeModel ++javax/swing/JTextField$ScrollRepainter ++javax/swing/DefaultButtonModel ++javax/swing/ButtonModel ++javax/swing/AbstractButton$Handler ++javax/swing/plaf/basic/BasicButtonUI +javax/swing/plaf/ButtonUI -+javax/swing/plaf/ColorUIResource -+javax/swing/plaf/ComboBoxUI -+javax/swing/plaf/ComponentInputMapUIResource -+javax/swing/plaf/ComponentUI -+javax/swing/plaf/DimensionUIResource -+javax/swing/plaf/FontUIResource -+javax/swing/plaf/IconUIResource -+javax/swing/plaf/InputMapUIResource -+javax/swing/plaf/InsetsUIResource -+javax/swing/plaf/LabelUI -+javax/swing/plaf/ListUI -+javax/swing/plaf/MenuBarUI -+javax/swing/plaf/MenuItemUI -+javax/swing/plaf/PanelUI -+javax/swing/plaf/PopupMenuUI -+javax/swing/plaf/ProgressBarUI -+javax/swing/plaf/RootPaneUI -+javax/swing/plaf/ScrollBarUI -+javax/swing/plaf/ScrollPaneUI -+javax/swing/plaf/SeparatorUI -+javax/swing/plaf/SliderUI -+javax/swing/plaf/SplitPaneUI -+javax/swing/plaf/TabbedPaneUI -+javax/swing/plaf/TableHeaderUI -+javax/swing/plaf/TableUI -+javax/swing/plaf/TextUI -+javax/swing/plaf/ToolBarUI -+javax/swing/plaf/TreeUI -+javax/swing/plaf/UIResource -+javax/swing/plaf/ViewportUI ++javax/swing/plaf/metal/MetalBorders$ButtonBorder ++javax/swing/plaf/basic/BasicButtonListener ++javax/swing/event/AncestorListener ++java/beans/VetoableChangeListener ++javax/swing/plaf/metal/MetalComboBoxButton +javax/swing/plaf/basic/BasicArrowButton ++javax/swing/plaf/metal/MetalScrollButton ++sun/swing/ImageIconUIResource ++javax/swing/GrayFilter ++java/awt/image/RGBImageFilter ++java/awt/image/ImageFilter ++java/awt/image/FilteredImageSource ++javax/swing/plaf/basic/BasicGraphicsUtils ++javax/swing/ButtonGroup ++org/w3c/dom/Node ++org/xml/sax/SAXException ++javax/xml/parsers/ParserConfigurationException ++org/xml/sax/EntityResolver ++java/security/NoSuchAlgorithmException ++java/security/GeneralSecurityException ++java/util/zip/GZIPInputStream ++java/util/zip/DeflaterOutputStream ++java/io/StringReader ++org/xml/sax/InputSource ++javax/xml/parsers/DocumentBuilderFactory ++javax/xml/parsers/FactoryFinder ++javax/xml/parsers/SecuritySupport ++javax/xml/parsers/SecuritySupport$2 ++javax/xml/parsers/SecuritySupport$5 ++javax/xml/parsers/FactoryFinder$1 ++javax/xml/parsers/DocumentBuilder ++org/xml/sax/ErrorHandler ++org/w3c/dom/Document ++org/xml/sax/helpers/DefaultHandler ++org/xml/sax/DTDHandler ++org/xml/sax/ContentHandler ++org/xml/sax/SAXNotRecognizedException ++org/xml/sax/SAXNotSupportedException ++org/xml/sax/Locator ++org/xml/sax/SAXParseException ++org/w3c/dom/NodeList ++org/w3c/dom/events/EventTarget ++org/w3c/dom/traversal/DocumentTraversal ++org/w3c/dom/events/DocumentEvent ++org/w3c/dom/ranges/DocumentRange ++org/w3c/dom/Element ++org/w3c/dom/CharacterData ++org/w3c/dom/CDATASection ++org/w3c/dom/Text ++org/w3c/dom/Entity ++org/xml/sax/AttributeList ++org/w3c/dom/DOMException ++org/w3c/dom/DocumentType ++org/w3c/dom/Attr ++org/w3c/dom/EntityReference ++org/w3c/dom/DocumentFragment ++org/w3c/dom/ProcessingInstruction ++org/w3c/dom/Notation ++org/w3c/dom/Comment ++org/w3c/dom/events/EventException ++org/w3c/dom/events/Event ++org/w3c/dom/events/MutationEvent ++org/w3c/dom/traversal/TreeWalker ++org/w3c/dom/ranges/Range ++org/w3c/dom/traversal/NodeIterator ++org/w3c/dom/NamedNodeMap ++java/awt/GridLayout ++javax/swing/JToggleButton$ToggleButtonModel ++javax/swing/plaf/metal/MetalRadioButtonUI ++javax/swing/plaf/basic/BasicRadioButtonUI ++javax/swing/plaf/basic/BasicToggleButtonUI +javax/swing/plaf/basic/BasicBorders -+javax/swing/plaf/basic/BasicBorders$ButtonBorder -+javax/swing/plaf/basic/BasicBorders$MarginBorder +javax/swing/plaf/basic/BasicBorders$RadioButtonBorder -+javax/swing/plaf/basic/BasicBorders$RolloverButtonBorder -+javax/swing/plaf/basic/BasicBorders$RolloverMarginBorder -+javax/swing/plaf/basic/BasicBorders$SplitPaneBorder -+javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder -+javax/swing/plaf/basic/BasicButtonListener -+javax/swing/plaf/basic/BasicButtonUI -+javax/swing/plaf/basic/BasicCheckBoxMenuItemUI -+javax/swing/plaf/basic/BasicComboBoxEditor -+javax/swing/plaf/basic/BasicComboBoxEditor$BorderlessTextField -+javax/swing/plaf/basic/BasicComboBoxEditor$UIResource -+javax/swing/plaf/basic/BasicComboBoxRenderer -+javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource ++javax/swing/plaf/basic/BasicBorders$ButtonBorder ++javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon ++javax/swing/plaf/basic/BasicRadioButtonUI$KeyHandler ++javax/swing/plaf/basic/BasicRadioButtonUI$SelectPreviousBtn ++javax/swing/plaf/basic/BasicRadioButtonUI$SelectNextBtn ++javax/swing/event/ChangeEvent ++java/awt/event/ItemEvent ++javax/swing/ToolTipManager ++javax/swing/ToolTipManager$insideTimerAction ++javax/swing/ToolTipManager$outsideTimerAction ++javax/swing/ToolTipManager$stillInsideTimerAction ++javax/swing/ToolTipManager$MoveBeforeEnterListener ++java/awt/event/MouseMotionAdapter ++javax/swing/ToolTipManager$AccessibilityKeyListener ++java/awt/event/KeyAdapter ++java/awt/CardLayout$Card ++javax/swing/JComboBox ++javax/swing/event/ListDataListener ++javax/swing/JCheckBox ++javax/swing/JPopupMenu ++javax/swing/MenuElement ++javax/swing/DefaultComboBoxModel ++javax/swing/MutableComboBoxModel ++javax/swing/ComboBoxModel ++javax/swing/ListModel ++javax/swing/AbstractListModel ++javax/swing/JComboBox$1 ++javax/swing/AncestorNotifier ++javax/swing/plaf/metal/MetalComboBoxUI +javax/swing/plaf/basic/BasicComboBoxUI ++javax/swing/plaf/ComboBoxUI ++javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager +javax/swing/plaf/basic/BasicComboBoxUI$ComboBoxLayoutManager -+javax/swing/plaf/basic/BasicComboBoxUI$DefaultKeySelectionManager -+javax/swing/plaf/basic/BasicComboBoxUI$FocusHandler -+javax/swing/plaf/basic/BasicComboBoxUI$Handler -+javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler +javax/swing/plaf/basic/BasicComboPopup -+javax/swing/plaf/basic/BasicComboPopup$1 ++javax/swing/plaf/basic/ComboPopup +javax/swing/plaf/basic/BasicComboPopup$EmptyListModelClass -+javax/swing/plaf/basic/BasicComboPopup$Handler -+javax/swing/plaf/basic/BasicGraphicsUtils -+javax/swing/plaf/basic/BasicHTML -+javax/swing/plaf/basic/BasicIconFactory -+javax/swing/plaf/basic/BasicIconFactory$MenuItemArrowIcon -+javax/swing/plaf/basic/BasicIconFactory$MenuItemCheckIcon -+javax/swing/plaf/basic/BasicLabelUI -+javax/swing/plaf/basic/BasicListUI -+javax/swing/plaf/basic/BasicListUI$FocusHandler -+javax/swing/plaf/basic/BasicListUI$Handler -+javax/swing/plaf/basic/BasicListUI$ListTransferHandler -+javax/swing/plaf/basic/BasicListUI$MouseInputHandler -+javax/swing/plaf/basic/BasicListUI$PropertyChangeHandler -+javax/swing/plaf/basic/BasicLookAndFeel -+javax/swing/plaf/basic/BasicLookAndFeel$1 -+javax/swing/plaf/basic/BasicLookAndFeel$2 +javax/swing/plaf/basic/BasicLookAndFeel$AWTEventHelper -+javax/swing/plaf/basic/BasicMenuBarUI -+javax/swing/plaf/basic/BasicMenuBarUI$Handler -+javax/swing/plaf/basic/BasicMenuItemUI -+javax/swing/plaf/basic/BasicMenuItemUI$Handler -+javax/swing/plaf/basic/BasicMenuUI -+javax/swing/plaf/basic/BasicMenuUI$ChangeHandler -+javax/swing/plaf/basic/BasicMenuUI$Handler -+javax/swing/plaf/basic/BasicMenuUI$MouseInputHandler -+javax/swing/plaf/basic/BasicPanelUI -+javax/swing/plaf/basic/BasicPopupMenuUI -+javax/swing/plaf/basic/BasicPopupMenuUI$BasicMenuKeyListener ++java/awt/event/AWTEventListenerProxy ++java/awt/Toolkit$SelectiveAWTEventListener ++java/awt/Toolkit$ToolkitEventMulticaster ++javax/swing/plaf/basic/BasicLookAndFeel$1 ++javax/swing/plaf/basic/DefaultMenuLayout ++javax/swing/plaf/metal/MetalBorders$PopupMenuBorder +javax/swing/plaf/basic/BasicPopupMenuUI$BasicPopupMenuListener ++javax/swing/event/PopupMenuListener ++javax/swing/plaf/basic/BasicPopupMenuUI$BasicMenuKeyListener ++javax/swing/event/MenuKeyListener ++javax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber ++javax/swing/MenuSelectionManager +javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper +javax/swing/plaf/basic/BasicPopupMenuUI$MenuKeyboardHelper$1 -+javax/swing/plaf/basic/BasicPopupMenuUI$MouseGrabber -+javax/swing/plaf/basic/BasicProgressBarUI -+javax/swing/plaf/basic/BasicProgressBarUI$Handler -+javax/swing/plaf/basic/BasicRadioButtonMenuItemUI -+javax/swing/plaf/basic/BasicRadioButtonUI -+javax/swing/plaf/basic/BasicRootPaneUI -+javax/swing/plaf/basic/BasicRootPaneUI$RootPaneInputMap ++java/awt/event/FocusAdapter ++javax/swing/plaf/basic/BasicComboPopup$1 ++javax/swing/JList ++javax/swing/DefaultListSelectionModel ++javax/swing/ListSelectionModel ++javax/swing/plaf/basic/BasicListUI ++javax/swing/plaf/ListUI ++javax/swing/plaf/basic/BasicListUI$ListTransferHandler ++javax/swing/DefaultListCellRenderer$UIResource ++javax/swing/DefaultListCellRenderer ++javax/swing/ListCellRenderer ++javax/swing/plaf/basic/BasicListUI$Handler ++javax/swing/event/ListSelectionListener ++javax/swing/JMenu ++javax/swing/JMenuItem ++javax/swing/event/ListSelectionEvent ++javax/swing/plaf/basic/BasicComboPopup$Handler ++javax/swing/ScrollPaneLayout$UIResource ++javax/swing/ScrollPaneLayout ++javax/swing/ViewportLayout ++javax/swing/plaf/basic/BasicViewportUI ++javax/swing/plaf/ViewportUI ++javax/swing/JScrollPane$ScrollBar ++javax/swing/JScrollBar ++java/awt/Adjustable ++javax/swing/JScrollBar$ModelListener ++javax/swing/plaf/metal/MetalScrollBarUI +javax/swing/plaf/basic/BasicScrollBarUI ++javax/swing/plaf/ScrollBarUI ++javax/swing/plaf/metal/MetalBumps ++javax/swing/plaf/basic/BasicScrollBarUI$TrackListener +javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener -+javax/swing/plaf/basic/BasicScrollBarUI$Handler +javax/swing/plaf/basic/BasicScrollBarUI$ModelListener ++javax/swing/plaf/metal/MetalScrollBarUI$ScrollBarListener +javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler ++javax/swing/plaf/basic/BasicScrollBarUI$Handler +javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener -+javax/swing/plaf/basic/BasicScrollBarUI$TrackListener ++javax/swing/JViewport$ViewListener ++javax/swing/plaf/metal/MetalScrollPaneUI +javax/swing/plaf/basic/BasicScrollPaneUI -+javax/swing/plaf/basic/BasicScrollPaneUI$Handler -+javax/swing/plaf/basic/BasicScrollPaneUI$MouseWheelHandler -+javax/swing/plaf/basic/BasicSeparatorUI -+javax/swing/plaf/basic/BasicSliderUI -+javax/swing/plaf/basic/BasicSliderUI$Actions -+javax/swing/plaf/basic/BasicSliderUI$Handler -+javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler -+javax/swing/plaf/basic/BasicSliderUI$ScrollListener -+javax/swing/plaf/basic/BasicSliderUI$TrackListener -+javax/swing/plaf/basic/BasicSplitPaneDivider -+javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout -+javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler -+javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchActionHandler -+javax/swing/plaf/basic/BasicSplitPaneUI -+javax/swing/plaf/basic/BasicSplitPaneUI$1 -+javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager -+javax/swing/plaf/basic/BasicSplitPaneUI$Handler -+javax/swing/plaf/basic/BasicTabbedPaneUI -+javax/swing/plaf/basic/BasicTabbedPaneUI$Handler -+javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneLayout -+javax/swing/plaf/basic/BasicTabbedPaneUI$TabbedPaneScrollLayout -+javax/swing/plaf/basic/BasicTableHeaderUI -+javax/swing/plaf/basic/BasicTableHeaderUI$1 -+javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler -+javax/swing/plaf/basic/BasicTableUI -+javax/swing/plaf/basic/BasicTableUI$Handler -+javax/swing/plaf/basic/BasicTableUI$TableTransferHandler -+javax/swing/plaf/basic/BasicTextAreaUI -+javax/swing/plaf/basic/BasicTextFieldUI -+javax/swing/plaf/basic/BasicTextUI -+javax/swing/plaf/basic/BasicTextUI$BasicCaret -+javax/swing/plaf/basic/BasicTextUI$BasicCursor -+javax/swing/plaf/basic/BasicTextUI$BasicHighlighter -+javax/swing/plaf/basic/BasicTextUI$DragListener -+javax/swing/plaf/basic/BasicTextUI$FocusAction -+javax/swing/plaf/basic/BasicTextUI$RootView -+javax/swing/plaf/basic/BasicTextUI$TextActionWrapper -+javax/swing/plaf/basic/BasicTextUI$TextTransferHandler -+javax/swing/plaf/basic/BasicTextUI$TextTransferHandler$TextTransferable -+javax/swing/plaf/basic/BasicTextUI$UpdateHandler -+javax/swing/plaf/basic/BasicToggleButtonUI -+javax/swing/plaf/basic/BasicToolBarSeparatorUI -+javax/swing/plaf/basic/BasicToolBarUI -+javax/swing/plaf/basic/BasicToolBarUI$DockingListener -+javax/swing/plaf/basic/BasicToolBarUI$Handler -+javax/swing/plaf/basic/BasicTransferable -+javax/swing/plaf/basic/BasicTreeUI -+javax/swing/plaf/basic/BasicTreeUI$Actions -+javax/swing/plaf/basic/BasicTreeUI$Handler -+javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler -+javax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler -+javax/swing/plaf/basic/BasicViewportUI -+javax/swing/plaf/basic/ComboPopup -+javax/swing/plaf/basic/DefaultMenuLayout -+javax/swing/plaf/basic/DragRecognitionSupport$BeforeDrag -+javax/swing/plaf/basic/LazyActionMap -+javax/swing/plaf/metal/DefaultMetalTheme -+javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate -+javax/swing/plaf/metal/DefaultMetalTheme$FontDelegate$1 -+javax/swing/plaf/metal/MetalBorders -+javax/swing/plaf/metal/MetalBorders$ButtonBorder -+javax/swing/plaf/metal/MetalBorders$Flush3DBorder -+javax/swing/plaf/metal/MetalBorders$MenuBarBorder -+javax/swing/plaf/metal/MetalBorders$MenuItemBorder -+javax/swing/plaf/metal/MetalBorders$PopupMenuBorder -+javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder -+javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder ++javax/swing/plaf/ScrollPaneUI +javax/swing/plaf/metal/MetalBorders$ScrollPaneBorder -+javax/swing/plaf/metal/MetalBorders$TextFieldBorder -+javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder -+javax/swing/plaf/metal/MetalBorders$ToolBarBorder -+javax/swing/plaf/metal/MetalBumps -+javax/swing/plaf/metal/MetalButtonUI -+javax/swing/plaf/metal/MetalCheckBoxUI -+javax/swing/plaf/metal/MetalComboBoxButton -+javax/swing/plaf/metal/MetalComboBoxButton$1 ++javax/swing/plaf/basic/BasicScrollPaneUI$Handler ++javax/swing/plaf/metal/MetalScrollPaneUI$1 ++javax/swing/plaf/basic/BasicComboBoxRenderer$UIResource ++javax/swing/plaf/basic/BasicComboBoxRenderer ++javax/swing/plaf/metal/MetalComboBoxEditor$UIResource +javax/swing/plaf/metal/MetalComboBoxEditor ++javax/swing/plaf/basic/BasicComboBoxEditor ++javax/swing/ComboBoxEditor ++javax/swing/plaf/basic/BasicComboBoxEditor$BorderlessTextField ++javax/swing/plaf/basic/BasicComboBoxEditor$UIResource ++javax/swing/text/Segment ++java/text/CharacterIterator +javax/swing/plaf/metal/MetalComboBoxEditor$1 +javax/swing/plaf/metal/MetalComboBoxEditor$EditorBorder -+javax/swing/plaf/metal/MetalComboBoxEditor$UIResource -+javax/swing/plaf/metal/MetalComboBoxIcon -+javax/swing/plaf/metal/MetalComboBoxUI -+javax/swing/plaf/metal/MetalComboBoxUI$MetalComboBoxLayoutManager ++javax/swing/JToolBar +javax/swing/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener -+javax/swing/plaf/metal/MetalIconFactory ++javax/swing/plaf/basic/BasicComboBoxUI$PropertyChangeHandler ++javax/swing/plaf/basic/BasicComboBoxUI$Handler ++javax/swing/plaf/metal/MetalComboBoxIcon ++javax/swing/plaf/metal/MetalComboBoxButton$1 ++javax/swing/plaf/basic/BasicComboBoxUI$DefaultKeySelectionManager ++javax/swing/JComboBox$KeySelectionManager ++javax/swing/plaf/metal/MetalCheckBoxUI +javax/swing/plaf/metal/MetalIconFactory$CheckBoxIcon -+javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon -+javax/swing/plaf/metal/MetalIconFactory$FolderIcon16 -+javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon -+javax/swing/plaf/metal/MetalIconFactory$MenuArrowIcon -+javax/swing/plaf/metal/MetalIconFactory$MenuItemArrowIcon -+javax/swing/plaf/metal/MetalIconFactory$RadioButtonIcon -+javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon -+javax/swing/plaf/metal/MetalIconFactory$TreeFolderIcon -+javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon -+javax/swing/plaf/metal/MetalLabelUI -+javax/swing/plaf/metal/MetalLookAndFeel -+javax/swing/plaf/metal/MetalLookAndFeel$AATextListener -+javax/swing/plaf/metal/MetalLookAndFeel$FontActiveValue -+javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue -+javax/swing/plaf/metal/MetalLookAndFeel$MetalLazyValue$1 -+javax/swing/plaf/metal/MetalPopupMenuSeparatorUI ++java/lang/ExceptionInInitializerError ++com/sun/java/swing/plaf/windows/WindowsTabbedPaneUI ++javax/swing/JProgressBar ++javax/swing/JProgressBar$ModelListener +javax/swing/plaf/metal/MetalProgressBarUI -+javax/swing/plaf/metal/MetalRadioButtonUI -+javax/swing/plaf/metal/MetalRootPaneUI -+javax/swing/plaf/metal/MetalScrollBarUI -+javax/swing/plaf/metal/MetalScrollBarUI$ScrollBarListener -+javax/swing/plaf/metal/MetalScrollButton -+javax/swing/plaf/metal/MetalScrollPaneUI -+javax/swing/plaf/metal/MetalScrollPaneUI$1 -+javax/swing/plaf/metal/MetalSeparatorUI -+javax/swing/plaf/metal/MetalSliderUI -+javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener -+javax/swing/plaf/metal/MetalSplitPaneDivider -+javax/swing/plaf/metal/MetalSplitPaneDivider$1 -+javax/swing/plaf/metal/MetalSplitPaneDivider$2 -+javax/swing/plaf/metal/MetalSplitPaneUI -+javax/swing/plaf/metal/MetalTabbedPaneUI -+javax/swing/plaf/metal/MetalTabbedPaneUI$TabbedPaneLayout -+javax/swing/plaf/metal/MetalTextFieldUI -+javax/swing/plaf/metal/MetalTheme -+javax/swing/plaf/metal/MetalToggleButtonUI -+javax/swing/plaf/metal/MetalToolBarUI -+javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener -+javax/swing/plaf/metal/MetalTreeUI -+javax/swing/plaf/metal/MetalTreeUI$LineListener -+javax/swing/plaf/metal/OceanTheme -+javax/swing/plaf/metal/OceanTheme$1 -+javax/swing/plaf/metal/OceanTheme$2 -+javax/swing/plaf/metal/OceanTheme$3 -+javax/swing/plaf/metal/OceanTheme$4 -+javax/swing/plaf/metal/OceanTheme$5 -+javax/swing/plaf/metal/OceanTheme$6 -+javax/swing/plaf/synth/SynthConstants -+javax/swing/plaf/synth/SynthUI ++javax/swing/plaf/basic/BasicProgressBarUI ++javax/swing/plaf/ProgressBarUI ++javax/swing/plaf/BorderUIResource$LineBorderUIResource ++javax/swing/plaf/basic/BasicProgressBarUI$Handler ++javax/swing/JTable ++javax/swing/event/TableModelListener ++javax/swing/event/TableColumnModelListener ++javax/swing/event/CellEditorListener ++javax/swing/event/RowSorterListener ++javax/swing/tree/TreeModel ++javax/swing/table/JTableHeader +javax/swing/table/AbstractTableModel ++javax/swing/table/TableModel ++javax/swing/table/TableCellRenderer ++javax/swing/event/TreeExpansionListener +javax/swing/table/DefaultTableCellRenderer -+javax/swing/table/DefaultTableColumnModel -+javax/swing/table/DefaultTableModel -+javax/swing/table/JTableHeader ++javax/swing/JCheckBoxMenuItem ++javax/swing/JTree ++javax/swing/tree/TreeSelectionModel ++javax/swing/tree/DefaultTreeCellRenderer ++javax/swing/tree/TreeCellRenderer +javax/swing/table/TableCellEditor -+javax/swing/table/TableCellRenderer ++javax/swing/CellEditor ++javax/swing/JToolTip +javax/swing/table/TableColumn ++javax/swing/table/DefaultTableColumnModel +javax/swing/table/TableColumnModel -+javax/swing/table/TableModel -+javax/swing/text/AbstractDocument -+javax/swing/text/AbstractDocument$1 -+javax/swing/text/AbstractDocument$AbstractElement -+javax/swing/text/AbstractDocument$AttributeContext -+javax/swing/text/AbstractDocument$BidiElement -+javax/swing/text/AbstractDocument$BidiRootElement -+javax/swing/text/AbstractDocument$BranchElement -+javax/swing/text/AbstractDocument$Content -+javax/swing/text/AbstractDocument$DefaultDocumentEvent -+javax/swing/text/AbstractDocument$ElementEdit -+javax/swing/text/AbstractDocument$LeafElement -+javax/swing/text/AttributeSet -+javax/swing/text/AttributeSet$CharacterAttribute -+javax/swing/text/AttributeSet$ColorAttribute -+javax/swing/text/AttributeSet$FontAttribute -+javax/swing/text/AttributeSet$ParagraphAttribute -+javax/swing/text/Caret -+javax/swing/text/DefaultCaret -+javax/swing/text/DefaultCaret$1 -+javax/swing/text/DefaultCaret$Handler -+javax/swing/text/DefaultEditorKit -+javax/swing/text/DefaultEditorKit$BeepAction -+javax/swing/text/DefaultEditorKit$BeginAction -+javax/swing/text/DefaultEditorKit$BeginLineAction -+javax/swing/text/DefaultEditorKit$BeginParagraphAction -+javax/swing/text/DefaultEditorKit$BeginWordAction -+javax/swing/text/DefaultEditorKit$CopyAction -+javax/swing/text/DefaultEditorKit$CutAction -+javax/swing/text/DefaultEditorKit$DefaultKeyTypedAction -+javax/swing/text/DefaultEditorKit$DeleteNextCharAction -+javax/swing/text/DefaultEditorKit$DeletePrevCharAction -+javax/swing/text/DefaultEditorKit$DeleteWordAction -+javax/swing/text/DefaultEditorKit$DumpModelAction -+javax/swing/text/DefaultEditorKit$EndAction -+javax/swing/text/DefaultEditorKit$EndLineAction -+javax/swing/text/DefaultEditorKit$EndParagraphAction -+javax/swing/text/DefaultEditorKit$EndWordAction -+javax/swing/text/DefaultEditorKit$InsertBreakAction -+javax/swing/text/DefaultEditorKit$InsertContentAction -+javax/swing/text/DefaultEditorKit$InsertTabAction -+javax/swing/text/DefaultEditorKit$NextVisualPositionAction -+javax/swing/text/DefaultEditorKit$NextWordAction -+javax/swing/text/DefaultEditorKit$PageAction -+javax/swing/text/DefaultEditorKit$PasteAction -+javax/swing/text/DefaultEditorKit$PreviousWordAction -+javax/swing/text/DefaultEditorKit$ReadOnlyAction -+javax/swing/text/DefaultEditorKit$SelectAllAction -+javax/swing/text/DefaultEditorKit$SelectLineAction -+javax/swing/text/DefaultEditorKit$SelectParagraphAction -+javax/swing/text/DefaultEditorKit$SelectWordAction -+javax/swing/text/DefaultEditorKit$ToggleComponentOrientationAction -+javax/swing/text/DefaultEditorKit$UnselectAction -+javax/swing/text/DefaultEditorKit$VerticalPageAction -+javax/swing/text/DefaultEditorKit$WritableAction -+javax/swing/text/DefaultHighlighter -+javax/swing/text/DefaultHighlighter$DefaultHighlightPainter -+javax/swing/text/DefaultHighlighter$HighlightInfo -+javax/swing/text/DefaultHighlighter$LayeredHighlightInfo -+javax/swing/text/DefaultHighlighter$SafeDamager -+javax/swing/text/Document -+javax/swing/text/EditorKit -+javax/swing/text/Element -+javax/swing/text/FieldView -+javax/swing/text/GapContent -+javax/swing/text/GapContent$InsertUndo -+javax/swing/text/GapContent$MarkData -+javax/swing/text/GapContent$MarkVector -+javax/swing/text/GapContent$StickyPosition -+javax/swing/text/GapVector -+javax/swing/text/Highlighter -+javax/swing/text/Highlighter$Highlight -+javax/swing/text/Highlighter$HighlightPainter -+javax/swing/text/JTextComponent -+javax/swing/text/JTextComponent$1 -+javax/swing/text/JTextComponent$DefaultKeymap -+javax/swing/text/JTextComponent$KeymapActionMap -+javax/swing/text/JTextComponent$KeymapWrapper -+javax/swing/text/JTextComponent$MutableCaretEvent -+javax/swing/text/Keymap -+javax/swing/text/LayeredHighlighter -+javax/swing/text/LayeredHighlighter$LayerPainter -+javax/swing/text/MutableAttributeSet -+javax/swing/text/PlainDocument -+javax/swing/text/PlainView -+javax/swing/text/Position -+javax/swing/text/Position$Bias -+javax/swing/text/Segment -+javax/swing/text/SegmentCache -+javax/swing/text/SegmentCache$CachedSegment -+javax/swing/text/SimpleAttributeSet -+javax/swing/text/SimpleAttributeSet$EmptyAttributeSet -+javax/swing/text/Style -+javax/swing/text/StyleConstants -+javax/swing/text/StyleConstants$CharacterConstants -+javax/swing/text/StyleConstants$ColorConstants -+javax/swing/text/StyleConstants$FontConstants -+javax/swing/text/StyleConstants$ParagraphConstants -+javax/swing/text/StyleContext -+javax/swing/text/StyleContext$FontKey -+javax/swing/text/StyleContext$KeyEnumeration -+javax/swing/text/StyleContext$NamedStyle -+javax/swing/text/StyleContext$SmallAttributeSet -+javax/swing/text/TabExpander -+javax/swing/text/TextAction -+javax/swing/text/Utilities -+javax/swing/text/View -+javax/swing/text/ViewFactory ++javax/swing/table/DefaultTableModel ++javax/swing/event/TableModelEvent ++sun/swing/table/DefaultTableCellHeaderRenderer ++sun/swing/table/DefaultTableCellHeaderRenderer$EmptyIcon ++javax/swing/plaf/basic/BasicTableHeaderUI ++javax/swing/plaf/TableHeaderUI ++javax/swing/plaf/basic/BasicTableHeaderUI$1 ++javax/swing/plaf/basic/BasicTableHeaderUI$MouseInputHandler ++javax/swing/DefaultCellEditor ++javax/swing/tree/TreeCellEditor ++javax/swing/AbstractCellEditor ++javax/swing/plaf/basic/BasicTableUI ++javax/swing/plaf/TableUI ++javax/swing/plaf/basic/BasicTableUI$TableTransferHandler ++javax/swing/plaf/basic/BasicTableUI$Handler ++javax/swing/tree/DefaultTreeSelectionModel ++javax/swing/tree/TreePath ++javax/swing/plaf/metal/MetalTreeUI ++javax/swing/plaf/basic/BasicTreeUI ++javax/swing/plaf/TreeUI ++javax/swing/plaf/basic/BasicTreeUI$Actions ++javax/swing/plaf/basic/BasicTreeUI$TreeTransferHandler ++javax/swing/plaf/metal/MetalTreeUI$LineListener ++javax/swing/plaf/basic/BasicTreeUI$Handler ++javax/swing/event/TreeModelListener ++javax/swing/event/TreeSelectionListener ++javax/swing/event/SwingPropertyChangeSupport ++javax/swing/tree/VariableHeightLayoutCache +javax/swing/tree/AbstractLayoutCache ++javax/swing/tree/RowMapper ++javax/swing/plaf/basic/BasicTreeUI$NodeDimensionsHandler +javax/swing/tree/AbstractLayoutCache$NodeDimensions ++javax/swing/JTree$TreeModelHandler ++javax/swing/tree/VariableHeightLayoutCache$TreeStateNode +javax/swing/tree/DefaultMutableTreeNode ++javax/swing/tree/MutableTreeNode +javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration ++java/util/Vector$1 ++javax/swing/event/TableColumnModelEvent ++javax/swing/JPopupMenu$Separator ++javax/swing/JSeparator ++java/text/ParseException ++java/text/NumberFormat$Field ++javax/swing/text/GapContent$InsertUndo ++javax/swing/undo/AbstractUndoableEdit ++javax/swing/undo/UndoableEdit ++javax/swing/text/AbstractDocument$DefaultDocumentEvent ++javax/swing/event/DocumentEvent ++javax/swing/undo/CompoundEdit ++javax/swing/event/DocumentEvent$EventType ++javax/swing/text/Utilities ++javax/swing/text/SegmentCache ++javax/swing/text/SegmentCache$CachedSegment ++javax/swing/event/DocumentEvent$ElementChange ++javax/swing/event/UndoableEditEvent ++javax/swing/event/UndoableEditListener ++java/awt/Canvas ++java/util/Locale$Category ++java/util/Locale$1 ++javax/swing/filechooser/FileFilter ++java/io/FileWriter ++javax/swing/tree/DefaultTreeModel +javax/swing/tree/DefaultTreeCellEditor +javax/swing/tree/DefaultTreeCellEditor$1 +javax/swing/tree/DefaultTreeCellEditor$DefaultTextField ++javax/swing/DefaultCellEditor$1 ++javax/swing/DefaultCellEditor$EditorDelegate +javax/swing/tree/DefaultTreeCellEditor$EditorContainer -+javax/swing/tree/DefaultTreeCellRenderer -+javax/swing/tree/DefaultTreeModel -+javax/swing/tree/DefaultTreeSelectionModel -+javax/swing/tree/MutableTreeNode ++javax/swing/JTree$TreeSelectionRedirector ++javax/swing/JMenuItem$MenuItemFocusListener ++javax/swing/plaf/basic/BasicMenuItemUI ++javax/swing/plaf/MenuItemUI ++javax/swing/plaf/metal/MetalBorders$MenuItemBorder ++javax/swing/plaf/metal/MetalIconFactory$MenuItemArrowIcon ++sun/swing/MenuItemLayoutHelper ++javax/swing/plaf/basic/BasicMenuItemUI$Handler ++javax/swing/event/MenuDragMouseListener ++javax/swing/event/TreeModelEvent ++javax/swing/JSplitPane ++javax/swing/plaf/metal/MetalSplitPaneUI ++javax/swing/plaf/basic/BasicSplitPaneUI ++javax/swing/plaf/SplitPaneUI ++javax/swing/plaf/basic/BasicSplitPaneDivider ++javax/swing/plaf/basic/BasicBorders$SplitPaneBorder ++javax/swing/plaf/metal/MetalSplitPaneDivider ++javax/swing/plaf/basic/BasicSplitPaneDivider$DividerLayout ++javax/swing/plaf/basic/BasicSplitPaneDivider$MouseHandler ++javax/swing/plaf/basic/BasicBorders$SplitPaneDividerBorder ++javax/swing/plaf/basic/BasicSplitPaneUI$BasicHorizontalLayoutManager ++javax/swing/plaf/basic/BasicSplitPaneUI$1 ++javax/swing/plaf/basic/BasicSplitPaneUI$Handler ++javax/swing/plaf/metal/MetalSplitPaneDivider$1 ++javax/swing/plaf/basic/BasicSplitPaneDivider$OneTouchActionHandler ++javax/swing/plaf/metal/MetalSplitPaneDivider$2 ++javax/swing/border/TitledBorder ++javax/swing/plaf/basic/BasicTextAreaUI ++javax/swing/text/AbstractDocument$ElementEdit ++java/util/Random ++java/util/concurrent/atomic/AtomicLong ++java/io/InterruptedIOException ++java/net/NoRouteToHostException ++java/net/BindException +javax/swing/tree/PathPlaceHolder -+javax/swing/tree/RowMapper -+javax/swing/tree/TreeCellEditor -+javax/swing/tree/TreeCellRenderer -+javax/swing/tree/TreeModel -+javax/swing/tree/TreeNode -+javax/swing/tree/TreePath -+javax/swing/tree/TreeSelectionModel -+javax/swing/tree/VariableHeightLayoutCache -+javax/swing/tree/VariableHeightLayoutCache$TreeStateNode -+javax/swing/undo/AbstractUndoableEdit -+javax/swing/undo/CompoundEdit -+javax/swing/undo/UndoableEdit -+javax/xml/parsers/DocumentBuilder -+javax/xml/parsers/DocumentBuilderFactory -+javax/xml/parsers/FactoryFinder -+javax/xml/parsers/FactoryFinder$1 -+javax/xml/parsers/ParserConfigurationException -+javax/xml/parsers/SecuritySupport -+javax/xml/parsers/SecuritySupport$2 -+javax/xml/parsers/SecuritySupport$5 -+org/w3c/dom/Attr -+org/w3c/dom/CDATASection -+org/w3c/dom/CharacterData -+org/w3c/dom/Comment -+org/w3c/dom/DOMException -+org/w3c/dom/Document -+org/w3c/dom/DocumentFragment -+org/w3c/dom/DocumentType -+org/w3c/dom/Element -+org/w3c/dom/Entity -+org/w3c/dom/EntityReference -+org/w3c/dom/NamedNodeMap -+org/w3c/dom/Node -+org/w3c/dom/NodeList -+org/w3c/dom/Notation -+org/w3c/dom/ProcessingInstruction -+org/w3c/dom/Text -+org/w3c/dom/events/DocumentEvent -+org/w3c/dom/events/Event -+org/w3c/dom/events/EventException -+org/w3c/dom/events/EventTarget -+org/w3c/dom/events/MutationEvent -+org/w3c/dom/ranges/DocumentRange -+org/w3c/dom/ranges/Range -+org/w3c/dom/traversal/DocumentTraversal -+org/w3c/dom/traversal/NodeIterator -+org/w3c/dom/traversal/TreeWalker -+org/xml/sax/AttributeList -+org/xml/sax/ContentHandler -+org/xml/sax/DTDHandler -+org/xml/sax/EntityResolver -+org/xml/sax/ErrorHandler -+org/xml/sax/InputSource -+org/xml/sax/Locator -+org/xml/sax/SAXException -+org/xml/sax/SAXNotRecognizedException -+org/xml/sax/SAXNotSupportedException -+org/xml/sax/SAXParseException -+org/xml/sax/helpers/DefaultHandler -+sun/awt/AWTAccessor -+sun/awt/AWTAccessor$AWTEventAccessor -+sun/awt/AWTAccessor$ClientPropertyKeyAccessor -+sun/awt/AWTAccessor$ComponentAccessor -+sun/awt/AWTAccessor$ContainerAccessor -+sun/awt/AWTAccessor$CursorAccessor -+sun/awt/AWTAccessor$DefaultKeyboardFocusManagerAccessor -+sun/awt/AWTAccessor$EventQueueAccessor -+sun/awt/AWTAccessor$FrameAccessor -+sun/awt/AWTAccessor$InputEventAccessor -+sun/awt/AWTAccessor$InvocationEventAccessor -+sun/awt/AWTAccessor$KeyEventAccessor -+sun/awt/AWTAccessor$KeyboardFocusManagerAccessor -+sun/awt/AWTAccessor$SequencedEventAccessor -+sun/awt/AWTAccessor$ToolkitAccessor -+sun/awt/AWTAccessor$WindowAccessor -+sun/awt/AWTAutoShutdown -+sun/awt/AWTIcon32_java_icon16_png -+sun/awt/AWTIcon32_java_icon24_png -+sun/awt/AWTIcon32_java_icon32_png -+sun/awt/AWTIcon32_java_icon48_png -+sun/awt/AWTIcon64_java_icon16_png -+sun/awt/AWTIcon64_java_icon24_png -+sun/awt/AWTIcon64_java_icon32_png -+sun/awt/AWTIcon64_java_icon48_png -+sun/awt/AppContext -+sun/awt/AppContext$1 -+sun/awt/AppContext$2 -+sun/awt/AppContext$3 -+sun/awt/AppContext$6 -+sun/awt/AppContext$GetAppContextLock -+sun/awt/AppContext$State -+sun/awt/CausedFocusEvent -+sun/awt/CausedFocusEvent$Cause -+sun/awt/ComponentFactory -+sun/awt/ConstrainableGraphics -+sun/awt/DisplayChangedListener -+sun/awt/EmbeddedFrame -+sun/awt/EventQueueDelegate -+sun/awt/EventQueueItem -+sun/awt/FontConfiguration -+sun/awt/FontConfiguration$1 -+sun/awt/FontDescriptor -+sun/awt/GlobalCursorManager -+sun/awt/GlobalCursorManager$NativeUpdater -+sun/awt/HeadlessToolkit -+sun/awt/IconInfo -+sun/awt/InputMethodSupport -+sun/awt/KeyboardFocusManagerPeerImpl -+sun/awt/KeyboardFocusManagerPeerProvider -+sun/awt/LightweightFrame -+sun/awt/ModalExclude -+sun/awt/ModalityEvent -+sun/awt/ModalityListener -+sun/awt/MostRecentKeyValue -+sun/awt/Mutex -+sun/awt/NullComponentPeer -+sun/awt/OSInfo -+sun/awt/OSInfo$1 -+sun/awt/OSInfo$OSType -+sun/awt/OSInfo$WindowsVersion -+sun/awt/PaintEventDispatcher -+sun/awt/PeerEvent -+sun/awt/PostEventQueue -+sun/awt/RepaintArea -+sun/awt/RequestFocusController -+sun/awt/SubRegionShowable -+sun/awt/SunDisplayChanger -+sun/awt/SunGraphicsCallback -+sun/awt/SunHints -+sun/awt/SunHints$Key -+sun/awt/SunHints$LCDContrastKey -+sun/awt/SunHints$Value -+sun/awt/SunToolkit -+sun/awt/SunToolkit$1 -+sun/awt/SunToolkit$ModalityListenerList -+sun/awt/TimedWindowEvent -+sun/awt/UNIXToolkit -+sun/awt/WindowClosingListener -+sun/awt/WindowClosingSupport -+sun/awt/X11/AwtGraphicsConfigData -+sun/awt/X11/AwtScreenData -+sun/awt/X11/MotifColorUtilities -+sun/awt/X11/MotifDnDConstants -+sun/awt/X11/MotifDnDDragSourceProtocol -+sun/awt/X11/MotifDnDDropTargetProtocol -+sun/awt/X11/Native -+sun/awt/X11/Native$1 -+sun/awt/X11/OwnershipListener -+sun/awt/X11/PropMwmHints -+sun/awt/X11/UnsafeXDisposerRecord -+sun/awt/X11/WindowDimensions -+sun/awt/X11/WindowPropertyGetter -+sun/awt/X11/XAWTXSettings -+sun/awt/X11/XAnyEvent -+sun/awt/X11/XAtom -+sun/awt/X11/XAtomList -+sun/awt/X11/XAwtState -+sun/awt/X11/XBaseWindow -+sun/awt/X11/XBaseWindow$1 -+sun/awt/X11/XBaseWindow$InitialiseState -+sun/awt/X11/XBaseWindow$StateLock -+sun/awt/X11/XCanvasPeer -+sun/awt/X11/XClientMessageEvent -+sun/awt/X11/XClipboard -+sun/awt/X11/XComponentPeer -+sun/awt/X11/XComponentPeer$1 -+sun/awt/X11/XConfigureEvent -+sun/awt/X11/XContentWindow -+sun/awt/X11/XCreateWindowParams -+sun/awt/X11/XDecoratedPeer -+sun/awt/X11/XDnDConstants -+sun/awt/X11/XDnDDragSourceProtocol -+sun/awt/X11/XDnDDropTargetProtocol -+sun/awt/X11/XDragAndDropProtocols -+sun/awt/X11/XDragSourceContextPeer -+sun/awt/X11/XDragSourceProtocol -+sun/awt/X11/XDragSourceProtocolListener -+sun/awt/X11/XDropTargetContextPeer -+sun/awt/X11/XDropTargetContextPeer$XDropTargetProtocolListenerImpl -+sun/awt/X11/XDropTargetEventProcessor -+sun/awt/X11/XDropTargetProtocol -+sun/awt/X11/XDropTargetProtocolListener -+sun/awt/X11/XDropTargetRegistry -+sun/awt/X11/XEmbeddedFramePeer -+sun/awt/X11/XErrorEvent -+sun/awt/X11/XErrorHandler -+sun/awt/X11/XErrorHandler$IgnoreBadWindowHandler -+sun/awt/X11/XErrorHandler$VerifyChangePropertyHandler -+sun/awt/X11/XErrorHandler$XBaseErrorHandler -+sun/awt/X11/XErrorHandlerUtil -+sun/awt/X11/XEvent -+sun/awt/X11/XEventDispatcher -+sun/awt/X11/XExposeEvent -+sun/awt/X11/XFocusChangeEvent -+sun/awt/X11/XFocusProxyWindow -+sun/awt/X11/XFramePeer -+sun/awt/X11/XGlobalCursorManager -+sun/awt/X11/XInputMethod ++javax/swing/event/TreeSelectionEvent ++javax/swing/JList$3 ++javax/swing/JList$ListSelectionHandler ++javax/swing/JSlider ++javax/swing/JSlider$ModelListener ++javax/swing/plaf/metal/MetalSliderUI ++javax/swing/plaf/basic/BasicSliderUI ++javax/swing/plaf/SliderUI ++javax/swing/plaf/basic/BasicSliderUI$Actions ++javax/swing/plaf/metal/MetalIconFactory$HorizontalSliderThumbIcon ++javax/swing/plaf/metal/MetalIconFactory$VerticalSliderThumbIcon ++javax/swing/plaf/basic/BasicSliderUI$TrackListener ++javax/swing/plaf/basic/BasicSliderUI$Handler ++javax/swing/plaf/basic/BasicSliderUI$ScrollListener ++javax/swing/plaf/metal/MetalSliderUI$MetalPropertyListener ++javax/swing/plaf/basic/BasicSliderUI$PropertyChangeHandler ++java/util/concurrent/ConcurrentHashMap$KeyIterator ++java/util/concurrent/ConcurrentHashMap$BaseIterator ++java/util/concurrent/ConcurrentHashMap$Traverser ++sun/font/Type1Font$1 ++java/nio/channels/FileChannel$MapMode ++sun/nio/ch/FileChannelImpl$Unmapper ++sun/nio/ch/Util$4 ++java/nio/DirectByteBufferR ++sun/nio/cs/US_ASCII$Decoder ++sun/font/SunFontManager$10 ++java/util/concurrent/ConcurrentHashMap$ValueIterator ++javax/swing/DefaultListModel ++javax/swing/event/ListDataEvent ++javax/sound/sampled/DataLine ++javax/sound/sampled/Line ++javax/sound/sampled/LineUnavailableException ++javax/sound/sampled/UnsupportedAudioFileException ++javax/sound/sampled/Line$Info ++javax/sound/sampled/DataLine$Info ++javax/sound/sampled/Control$Type ++javax/sound/sampled/FloatControl$Type ++javax/swing/JMenuBar ++javax/swing/plaf/basic/BasicMenuBarUI ++javax/swing/plaf/MenuBarUI ++javax/swing/plaf/metal/MetalBorders$MenuBarBorder ++javax/swing/plaf/basic/BasicMenuBarUI$Handler ++javax/swing/KeyboardManager ++javax/swing/JRadioButtonMenuItem ++javax/swing/JMenu$MenuChangeListener ++javax/swing/plaf/basic/BasicMenuUI ++javax/swing/plaf/metal/MetalIconFactory$MenuArrowIcon ++javax/swing/plaf/basic/BasicMenuUI$Handler ++javax/swing/JMenuItem$AccessibleJMenuItem ++javax/swing/AbstractButton$AccessibleAbstractButton ++javax/accessibility/AccessibleAction ++javax/accessibility/AccessibleValue ++javax/accessibility/AccessibleText ++javax/accessibility/AccessibleExtendedComponent ++javax/accessibility/AccessibleComponent ++javax/swing/JComponent$AccessibleJComponent ++java/awt/Container$AccessibleAWTContainer ++java/awt/Component$AccessibleAWTComponent ++javax/accessibility/AccessibleContext$1 ++sun/awt/AWTAccessor$AccessibleContextAccessor ++javax/accessibility/AccessibleRelationSet ++javax/swing/JMenu$WinListener ++java/awt/event/WindowAdapter ++javax/swing/plaf/metal/MetalPopupMenuSeparatorUI ++javax/swing/plaf/metal/MetalSeparatorUI ++javax/swing/plaf/basic/BasicSeparatorUI ++javax/swing/plaf/SeparatorUI ++javax/accessibility/AccessibleState ++javax/accessibility/AccessibleBundle ++javax/swing/plaf/basic/BasicCheckBoxMenuItemUI ++javax/swing/plaf/metal/MetalIconFactory$CheckBoxMenuItemIcon ++javax/swing/JCheckBoxMenuItem$AccessibleJCheckBoxMenuItem ++javax/swing/plaf/basic/BasicRadioButtonMenuItemUI ++javax/swing/plaf/metal/MetalIconFactory$RadioButtonMenuItemIcon ++java/awt/event/ContainerEvent ++sun/awt/image/ImageDecoder$1 ++java/awt/im/InputContext ++sun/awt/im/InputMethodContext ++java/awt/im/spi/InputMethodContext ++java/awt/im/InputMethodRequests ++sun/awt/im/InputContext ++sun/awt/im/InputMethodManager ++sun/awt/im/ExecutableInputMethodManager +sun/awt/X11/XInputMethodDescriptor -+sun/awt/X11/XKeyboardFocusManagerPeer -+sun/awt/X11/XLabelPeer -+sun/awt/X11/XLayerProtocol -+sun/awt/X11/XMSelection -+sun/awt/X11/XMSelection$1 -+sun/awt/X11/XMSelection$3 -+sun/awt/X11/XMSelectionListener -+sun/awt/X11/XModifierKeymap -+sun/awt/X11/XNETProtocol -+sun/awt/X11/XPanelPeer -+sun/awt/X11/XPropertyCache -+sun/awt/X11/XPropertyEvent -+sun/awt/X11/XProtocol -+sun/awt/X11/XRepaintArea -+sun/awt/X11/XReparentEvent -+sun/awt/X11/XRootWindow -+sun/awt/X11/XSelection -+sun/awt/X11/XSelection$IncrementalTransferHandler -+sun/awt/X11/XSelection$SelectionEventHandler -+sun/awt/X11/XSetWindowAttributes -+sun/awt/X11/XSizeHints -+sun/awt/X11/XStateProtocol -+sun/awt/X11/XSystemTrayPeer -+sun/awt/X11/XToolkit -+sun/awt/X11/XToolkit$1 -+sun/awt/X11/XToolkit$2 -+sun/awt/X11/XToolkit$2$1 -+sun/awt/X11/XToolkit$3 -+sun/awt/X11/XToolkit$4 -+sun/awt/X11/XToolkit$5 -+sun/awt/X11/XTranslateCoordinates -+sun/awt/X11/XUnmapEvent -+sun/awt/X11/XVisibilityEvent -+sun/awt/X11/XVisualInfo -+sun/awt/X11/XWINProtocol -+sun/awt/X11/XWM -+sun/awt/X11/XWM$1 -+sun/awt/X11/XWMHints -+sun/awt/X11/XWindow -+sun/awt/X11/XWindowAttributes -+sun/awt/X11/XWindowAttributesData -+sun/awt/X11/XWindowPeer -+sun/awt/X11/XWindowPeer$2 -+sun/awt/X11/XWindowPeer$4 -+sun/awt/X11/XWrapperBase -+sun/awt/X11/XlibUtil -+sun/awt/X11/XlibWrapper -+sun/awt/X11ComponentPeer -+sun/awt/X11FontManager -+sun/awt/X11GraphicsConfig -+sun/awt/X11GraphicsConfig$X11GCDisposerRecord -+sun/awt/X11GraphicsDevice -+sun/awt/X11GraphicsEnvironment -+sun/awt/X11GraphicsEnvironment$1 -+sun/awt/X11InputMethod +sun/awt/X11InputMethodDescriptor -+sun/awt/XSettings -+sun/awt/XSettings$Update -+sun/awt/datatransfer/DataTransferer -+sun/awt/datatransfer/DataTransferer$1 -+sun/awt/datatransfer/DataTransferer$CharsetComparator -+sun/awt/datatransfer/DataTransferer$IndexOrderComparator -+sun/awt/datatransfer/DataTransferer$IndexedComparator -+sun/awt/datatransfer/DataTransferer$RMI -+sun/awt/datatransfer/DataTransferer$StandardEncodingsHolder -+sun/awt/datatransfer/SunClipboard -+sun/awt/datatransfer/ToolkitThreadBlockedHandler -+sun/awt/datatransfer/TransferableProxy -+sun/awt/dnd/SunDragSourceContextPeer -+sun/awt/dnd/SunDropTargetContextPeer -+sun/awt/dnd/SunDropTargetEvent -+sun/awt/event/IgnorePaintEvent -+sun/awt/geom/PathConsumer2D -+sun/awt/im/CompositionAreaHandler -+sun/awt/im/ExecutableInputMethodManager -+sun/awt/im/ExecutableInputMethodManager$3 -+sun/awt/im/InputContext -+sun/awt/im/InputMethodAdapter -+sun/awt/im/InputMethodContext ++java/awt/im/spi/InputMethodDescriptor +sun/awt/im/InputMethodLocator -+sun/awt/im/InputMethodManager -+sun/awt/im/InputMethodWindow -+sun/awt/image/BufImgSurfaceData -+sun/awt/image/BufImgSurfaceData$ICMColorData -+sun/awt/image/BufImgSurfaceManager -+sun/awt/image/BufferedImageGraphicsConfig -+sun/awt/image/ByteComponentRaster -+sun/awt/image/ByteInterleavedRaster -+sun/awt/image/BytePackedRaster -+sun/awt/image/FetcherInfo -+sun/awt/image/GifFrame -+sun/awt/image/GifImageDecoder -+sun/awt/image/ImageConsumerQueue -+sun/awt/image/ImageDecoder -+sun/awt/image/ImageDecoder$1 -+sun/awt/image/ImageFetchable -+sun/awt/image/ImageFetcher -+sun/awt/image/ImageFetcher$1 -+sun/awt/image/ImageRepresentation -+sun/awt/image/ImageWatched -+sun/awt/image/ImageWatched$Link -+sun/awt/image/ImageWatched$WeakLink -+sun/awt/image/InputStreamImageSource -+sun/awt/image/IntegerComponentRaster -+sun/awt/image/IntegerInterleavedRaster -+sun/awt/image/NativeLibLoader -+sun/awt/image/NativeLibLoader$1 -+sun/awt/image/OffScreenImage -+sun/awt/image/OffScreenImageSource -+sun/awt/image/PNGFilterInputStream -+sun/awt/image/PNGImageDecoder -+sun/awt/image/PixelConverter -+sun/awt/image/PixelConverter$Argb -+sun/awt/image/PixelConverter$ArgbBm -+sun/awt/image/PixelConverter$ArgbPre -+sun/awt/image/PixelConverter$Bgrx -+sun/awt/image/PixelConverter$ByteGray -+sun/awt/image/PixelConverter$Rgba -+sun/awt/image/PixelConverter$RgbaPre -+sun/awt/image/PixelConverter$Rgbx -+sun/awt/image/PixelConverter$Ushort4444Argb -+sun/awt/image/PixelConverter$Ushort555Rgb -+sun/awt/image/PixelConverter$Ushort555Rgbx -+sun/awt/image/PixelConverter$Ushort565Rgb -+sun/awt/image/PixelConverter$UshortGray -+sun/awt/image/PixelConverter$Xbgr -+sun/awt/image/PixelConverter$Xrgb -+sun/awt/image/SunVolatileImage -+sun/awt/image/SunWritableRaster -+sun/awt/image/SunWritableRaster$DataStealer -+sun/awt/image/SurfaceManager -+sun/awt/image/SurfaceManager$FlushableCacheData -+sun/awt/image/SurfaceManager$ImageAccessor -+sun/awt/image/SurfaceManager$ProxiedGraphicsConfig -+sun/awt/image/ToolkitImage -+sun/awt/image/URLImageSource -+sun/awt/image/VolatileSurfaceManager -+sun/awt/motif/MFontConfiguration -+sun/awt/resources/awt -+sun/awt/util/IdentityArrayList -+sun/awt/util/IdentityLinkedList -+sun/awt/util/IdentityLinkedList$Entry -+sun/awt/util/IdentityLinkedList$ListItr -+sun/font/AttributeValues -+sun/font/CMap$CMapFormat12 -+sun/font/CMap$NullCMapClass -+sun/font/CharToGlyphMapper -+sun/font/CompositeFont -+sun/font/CompositeFontDescriptor -+sun/font/CompositeGlyphMapper -+sun/font/CompositeStrike -+sun/font/CoreMetrics -+sun/font/EAttribute -+sun/font/FcFontConfiguration -+sun/font/FileFont -+sun/font/FileFontStrike -+sun/font/Font2D -+sun/font/Font2DHandle -+sun/font/FontAccess -+sun/font/FontConfigManager -+sun/font/FontConfigManager$FcCompFont -+sun/font/FontConfigManager$FontConfigFont -+sun/font/FontConfigManager$FontConfigInfo -+sun/font/FontDesignMetrics -+sun/font/FontDesignMetrics$KeyReference -+sun/font/FontDesignMetrics$MetricsKey -+sun/font/FontFamily -+sun/font/FontLineMetrics -+sun/font/FontManager -+sun/font/FontManagerFactory -+sun/font/FontManagerFactory$1 -+sun/font/FontManagerForSGE -+sun/font/FontManagerNativeLibrary -+sun/font/FontManagerNativeLibrary$1 -+sun/font/FontScaler -+sun/font/FontStrike -+sun/font/FontStrikeDesc -+sun/font/FontStrikeDisposer -+sun/font/FontUtilities -+sun/font/FontUtilities$1 -+sun/font/GlyphDisposedListener -+sun/font/GlyphList -+sun/font/PhysicalFont -+sun/font/PhysicalStrike -+sun/font/StandardGlyphVector -+sun/font/StandardGlyphVector$GlyphStrike -+sun/font/StrikeCache -+sun/font/StrikeCache$1 -+sun/font/StrikeCache$DisposableStrike -+sun/font/StrikeCache$SoftDisposerRef -+sun/font/StrikeMetrics -+sun/font/SunFontManager -+sun/font/SunFontManager$1 -+sun/font/SunFontManager$11 -+sun/font/SunFontManager$13 -+sun/font/SunFontManager$2 -+sun/font/SunFontManager$3 -+sun/font/SunFontManager$FontRegistrationInfo -+sun/font/SunFontManager$T1Filter -+sun/font/SunFontManager$TTFilter -+sun/font/TrueTypeFont -+sun/font/TrueTypeFont$1 -+sun/font/TrueTypeFont$DirectoryEntry -+sun/font/TrueTypeFont$TTDisposerRecord -+sun/font/TrueTypeGlyphMapper -+sun/font/Type1Font -+sun/font/Type1Font$1 -+sun/font/X11TextRenderer -+sun/font/XRGlyphCache -+sun/font/XRGlyphCacheEntry -+sun/font/XRTextRenderer -+sun/java2d/BackBufferCapsProvider -+sun/java2d/DefaultDisposerRecord -+sun/java2d/DestSurfaceProvider -+sun/java2d/Disposer -+sun/java2d/Disposer$1 -+sun/java2d/Disposer$2 -+sun/java2d/Disposer$PollDisposable -+sun/java2d/DisposerRecord -+sun/java2d/DisposerTarget -+sun/java2d/FontSupport -+sun/java2d/InvalidPipeException -+sun/java2d/NullSurfaceData -+sun/java2d/StateTrackable -+sun/java2d/StateTrackable$State -+sun/java2d/StateTrackableDelegate -+sun/java2d/StateTrackableDelegate$1 -+sun/java2d/StateTrackableDelegate$2 -+sun/java2d/StateTracker -+sun/java2d/StateTracker$1 -+sun/java2d/StateTracker$2 -+sun/java2d/SunGraphics2D -+sun/java2d/SunGraphicsEnvironment -+sun/java2d/SunGraphicsEnvironment$1 -+sun/java2d/Surface -+sun/java2d/SurfaceData -+sun/java2d/SurfaceData$PixelToPgramLoopConverter -+sun/java2d/SurfaceData$PixelToShapeLoopConverter -+sun/java2d/SurfaceDataProxy -+sun/java2d/SurfaceDataProxy$1 -+sun/java2d/SurfaceManagerFactory -+sun/java2d/UnixSurfaceManagerFactory -+sun/java2d/cmm/CMSManager -+sun/java2d/cmm/ProfileActivator -+sun/java2d/cmm/ProfileDeferralInfo -+sun/java2d/cmm/ProfileDeferralMgr -+sun/java2d/jules/JulesPathBuf -+sun/java2d/jules/JulesPathBuf$1 -+sun/java2d/loops/Blit -+sun/java2d/loops/BlitBg -+sun/java2d/loops/CompositeType -+sun/java2d/loops/CustomComponent -+sun/java2d/loops/DrawGlyphList -+sun/java2d/loops/DrawGlyphListAA -+sun/java2d/loops/DrawGlyphListLCD -+sun/java2d/loops/DrawLine -+sun/java2d/loops/DrawParallelogram -+sun/java2d/loops/DrawPath -+sun/java2d/loops/DrawPolygons -+sun/java2d/loops/DrawRect -+sun/java2d/loops/FillParallelogram -+sun/java2d/loops/FillPath -+sun/java2d/loops/FillRect -+sun/java2d/loops/FillSpans -+sun/java2d/loops/FontInfo -+sun/java2d/loops/GeneralRenderer -+sun/java2d/loops/GraphicsPrimitive -+sun/java2d/loops/GraphicsPrimitiveMgr -+sun/java2d/loops/GraphicsPrimitiveMgr$1 -+sun/java2d/loops/GraphicsPrimitiveMgr$2 -+sun/java2d/loops/GraphicsPrimitiveMgr$PrimitiveSpec -+sun/java2d/loops/GraphicsPrimitiveProxy -+sun/java2d/loops/MaskBlit -+sun/java2d/loops/MaskFill -+sun/java2d/loops/ProcessPath -+sun/java2d/loops/ProcessPath$1 -+sun/java2d/loops/ProcessPath$ActiveEdgeList -+sun/java2d/loops/ProcessPath$DrawHandler -+sun/java2d/loops/ProcessPath$Edge -+sun/java2d/loops/ProcessPath$EndSubPathHandler -+sun/java2d/loops/ProcessPath$FillData -+sun/java2d/loops/ProcessPath$FillProcessHandler -+sun/java2d/loops/ProcessPath$Point -+sun/java2d/loops/ProcessPath$ProcessHandler -+sun/java2d/loops/RenderCache -+sun/java2d/loops/RenderCache$Entry -+sun/java2d/loops/RenderLoops -+sun/java2d/loops/ScaledBlit -+sun/java2d/loops/SurfaceType -+sun/java2d/loops/TransformBlit -+sun/java2d/loops/TransformHelper -+sun/java2d/loops/XORComposite -+sun/java2d/opengl/GLXGraphicsConfig -+sun/java2d/opengl/OGLAnyCompositeBlit -+sun/java2d/opengl/OGLBlitLoops -+sun/java2d/opengl/OGLContext -+sun/java2d/opengl/OGLContext$OGLContextCaps -+sun/java2d/opengl/OGLDrawImage -+sun/java2d/opengl/OGLGeneralBlit -+sun/java2d/opengl/OGLGraphicsConfig -+sun/java2d/opengl/OGLMaskBlit -+sun/java2d/opengl/OGLMaskFill -+sun/java2d/opengl/OGLRTTSurfaceToSurfaceBlit -+sun/java2d/opengl/OGLRTTSurfaceToSurfaceScale -+sun/java2d/opengl/OGLRTTSurfaceToSurfaceTransform -+sun/java2d/opengl/OGLRenderQueue -+sun/java2d/opengl/OGLRenderQueue$1 -+sun/java2d/opengl/OGLRenderQueue$QueueFlusher -+sun/java2d/opengl/OGLRenderer -+sun/java2d/opengl/OGLSurfaceData -+sun/java2d/opengl/OGLSurfaceData$1 -+sun/java2d/opengl/OGLSurfaceDataProxy -+sun/java2d/opengl/OGLSurfaceToSurfaceBlit -+sun/java2d/opengl/OGLSurfaceToSurfaceScale -+sun/java2d/opengl/OGLSurfaceToSurfaceTransform -+sun/java2d/opengl/OGLSurfaceToSwBlit -+sun/java2d/opengl/OGLSwToSurfaceBlit -+sun/java2d/opengl/OGLSwToSurfaceScale -+sun/java2d/opengl/OGLSwToSurfaceTransform -+sun/java2d/opengl/OGLSwToTextureBlit -+sun/java2d/opengl/OGLTextRenderer -+sun/java2d/opengl/OGLTextureToSurfaceBlit -+sun/java2d/opengl/OGLTextureToSurfaceScale -+sun/java2d/opengl/OGLTextureToSurfaceTransform -+sun/java2d/pipe/AAShapePipe -+sun/java2d/pipe/AATextRenderer -+sun/java2d/pipe/AlphaColorPipe -+sun/java2d/pipe/AlphaPaintPipe -+sun/java2d/pipe/BufferedContext -+sun/java2d/pipe/BufferedMaskBlit -+sun/java2d/pipe/BufferedMaskFill -+sun/java2d/pipe/BufferedPaints -+sun/java2d/pipe/BufferedRenderPipe -+sun/java2d/pipe/BufferedRenderPipe$AAParallelogramPipe -+sun/java2d/pipe/BufferedRenderPipe$BufferedDrawHandler -+sun/java2d/pipe/BufferedTextPipe -+sun/java2d/pipe/CompositePipe -+sun/java2d/pipe/DrawImage -+sun/java2d/pipe/DrawImagePipe -+sun/java2d/pipe/GeneralCompositePipe -+sun/java2d/pipe/GlyphListLoopPipe -+sun/java2d/pipe/GlyphListPipe -+sun/java2d/pipe/LCDTextRenderer -+sun/java2d/pipe/LoopBasedPipe -+sun/java2d/pipe/LoopPipe -+sun/java2d/pipe/NullPipe -+sun/java2d/pipe/OutlineTextRenderer -+sun/java2d/pipe/ParallelogramPipe -+sun/java2d/pipe/PixelDrawPipe -+sun/java2d/pipe/PixelFillPipe -+sun/java2d/pipe/PixelToParallelogramConverter -+sun/java2d/pipe/PixelToShapeConverter -+sun/java2d/pipe/Region -+sun/java2d/pipe/Region$ImmutableRegion -+sun/java2d/pipe/RegionIterator -+sun/java2d/pipe/RenderBuffer -+sun/java2d/pipe/RenderQueue -+sun/java2d/pipe/RenderingEngine -+sun/java2d/pipe/RenderingEngine$1 -+sun/java2d/pipe/ShapeDrawPipe -+sun/java2d/pipe/ShapeSpanIterator -+sun/java2d/pipe/SolidTextRenderer -+sun/java2d/pipe/SpanClipRenderer -+sun/java2d/pipe/SpanIterator -+sun/java2d/pipe/SpanShapeRenderer -+sun/java2d/pipe/SpanShapeRenderer$Composite -+sun/java2d/pipe/TextPipe -+sun/java2d/pipe/TextRenderer -+sun/java2d/pipe/ValidatePipe -+sun/java2d/pipe/hw/AccelGraphicsConfig -+sun/java2d/pipe/hw/AccelSurface -+sun/java2d/pipe/hw/BufferedContextProvider -+sun/java2d/pipe/hw/ContextCapabilities -+sun/java2d/x11/X11Renderer -+sun/java2d/x11/X11SurfaceData -+sun/java2d/x11/X11SurfaceData$LazyPipe -+sun/java2d/x11/X11SurfaceData$X11WindowSurfaceData -+sun/java2d/x11/X11VolatileSurfaceManager -+sun/java2d/x11/XSurfaceData -+sun/java2d/xr/DirtyRegion -+sun/java2d/xr/GrowableEltArray -+sun/java2d/xr/GrowableIntArray -+sun/java2d/xr/GrowableRectArray -+sun/java2d/xr/MaskTile -+sun/java2d/xr/MaskTileManager -+sun/java2d/xr/MutableInteger -+sun/java2d/xr/XRBackend -+sun/java2d/xr/XRBackendNative -+sun/java2d/xr/XRColor -+sun/java2d/xr/XRCompositeManager -+sun/java2d/xr/XRCompositeManager$1 -+sun/java2d/xr/XRDrawImage -+sun/java2d/xr/XRDrawLine -+sun/java2d/xr/XRGraphicsConfig -+sun/java2d/xr/XRMaskBlit -+sun/java2d/xr/XRMaskFill -+sun/java2d/xr/XRMaskImage -+sun/java2d/xr/XRPMBlit -+sun/java2d/xr/XRPMBlitLoops -+sun/java2d/xr/XRPMScaledBlit -+sun/java2d/xr/XRPMTransformedBlit -+sun/java2d/xr/XRPaints -+sun/java2d/xr/XRPaints$XRGradient -+sun/java2d/xr/XRPaints$XRLinearGradient -+sun/java2d/xr/XRPaints$XRRadialGradient -+sun/java2d/xr/XRPaints$XRTexture -+sun/java2d/xr/XRRenderer -+sun/java2d/xr/XRRenderer$XRDrawHandler -+sun/java2d/xr/XRSolidSrcPict -+sun/java2d/xr/XRSurfaceData -+sun/java2d/xr/XRSurfaceData$XRInternalSurfaceData -+sun/java2d/xr/XRSurfaceData$XRPixmapSurfaceData -+sun/java2d/xr/XRSurfaceData$XRWindowSurfaceData -+sun/java2d/xr/XRSurfaceDataProxy -+sun/java2d/xr/XRUtils -+sun/java2d/xr/XRVolatileSurfaceManager -+sun/java2d/xr/XrSwToPMBlit -+sun/java2d/xr/XrSwToPMScaledBlit -+sun/java2d/xr/XrSwToPMTransformedBlit -+sun/launcher/LauncherHelper -+sun/launcher/LauncherHelper$FXHelper -+sun/misc/ASCIICaseInsensitiveComparator -+sun/misc/Cleaner -+sun/misc/CompoundEnumeration -+sun/misc/ExtensionDependency -+sun/misc/FDBigInteger -+sun/misc/FileURLMapper -+sun/misc/FloatingDecimal -+sun/misc/FloatingDecimal$1 -+sun/misc/FloatingDecimal$ASCIIToBinaryBuffer -+sun/misc/FloatingDecimal$ASCIIToBinaryConverter -+sun/misc/FloatingDecimal$BinaryToASCIIBuffer -+sun/misc/FloatingDecimal$BinaryToASCIIConverter -+sun/misc/FloatingDecimal$ExceptionalBinaryToASCIIBuffer -+sun/misc/FloatingDecimal$PreparedASCIIToBinaryBuffer -+sun/misc/IOUtils -+sun/misc/JarIndex -+sun/misc/JavaAWTAccess -+sun/misc/JavaIOFileDescriptorAccess -+sun/misc/JavaLangAccess -+sun/misc/JavaNetAccess -+sun/misc/JavaNioAccess -+sun/misc/JavaSecurityAccess -+sun/misc/JavaSecurityProtectionDomainAccess -+sun/misc/JavaUtilJarAccess -+sun/misc/JavaUtilZipFileAccess -+sun/misc/Launcher -+sun/misc/Launcher$AppClassLoader -+sun/misc/Launcher$AppClassLoader$1 -+sun/misc/Launcher$BootClassPathHolder -+sun/misc/Launcher$BootClassPathHolder$1 -+sun/misc/Launcher$ExtClassLoader -+sun/misc/Launcher$ExtClassLoader$1 -+sun/misc/Launcher$Factory -+sun/misc/MetaIndex -+sun/misc/NativeSignalHandler -+sun/misc/OSEnvironment -+sun/misc/Perf -+sun/misc/Perf$GetPerfAction -+sun/misc/PerfCounter -+sun/misc/PerfCounter$CoreCounters -+sun/misc/PerformanceLogger -+sun/misc/PerformanceLogger$TimeData -+sun/misc/Resource -+sun/misc/SharedSecrets -+sun/misc/Signal -+sun/misc/SignalHandler -+sun/misc/SoftCache -+sun/misc/SoftCache$ValueCell -+sun/misc/URLClassPath -+sun/misc/URLClassPath$1 -+sun/misc/URLClassPath$2 -+sun/misc/URLClassPath$3 -+sun/misc/URLClassPath$FileLoader -+sun/misc/URLClassPath$JarLoader -+sun/misc/URLClassPath$JarLoader$1 -+sun/misc/URLClassPath$JarLoader$2 -+sun/misc/URLClassPath$Loader -+sun/misc/Unsafe -+sun/misc/VM -+sun/misc/Version -+sun/net/DefaultProgressMeteringPolicy -+sun/net/InetAddressCachePolicy -+sun/net/InetAddressCachePolicy$1 -+sun/net/InetAddressCachePolicy$2 -+sun/net/NetHooks -+sun/net/NetHooks$Provider -+sun/net/NetProperties -+sun/net/NetProperties$1 -+sun/net/ProgressMeteringPolicy -+sun/net/ProgressMonitor ++sun/awt/im/ExecutableInputMethodManager$3 ++javax/swing/JTabbedPane$Page ++java/net/DatagramSocket ++java/net/MulticastSocket ++java/net/DatagramPacket ++java/net/DatagramPacket$1 ++java/net/DefaultDatagramSocketImplFactory ++java/net/PlainDatagramSocketImpl ++java/net/AbstractPlainDatagramSocketImpl ++java/net/DatagramSocketImpl ++java/net/AbstractPlainDatagramSocketImpl$1 ++java/net/NetworkInterface ++java/net/NetworkInterface$1 ++java/net/InterfaceAddress ++java/net/DefaultInterface ++java/net/DatagramSocket$1 ++java/net/SocketOption +sun/net/ResourceManager -+sun/net/sdp/SdpProvider -+sun/net/spi/DefaultProxySelector -+sun/net/spi/DefaultProxySelector$1 -+sun/net/spi/DefaultProxySelector$3 -+sun/net/spi/DefaultProxySelector$NonProxyInfo -+sun/net/spi/nameservice/NameService -+sun/net/util/IPAddressUtil -+sun/net/util/URLUtil -+sun/net/www/MessageHeader -+sun/net/www/MimeEntry -+sun/net/www/MimeTable -+sun/net/www/MimeTable$1 -+sun/net/www/MimeTable$DefaultInstanceHolder -+sun/net/www/MimeTable$DefaultInstanceHolder$1 -+sun/net/www/ParseUtil -+sun/net/www/URLConnection -+sun/net/www/protocol/file/FileURLConnection -+sun/net/www/protocol/file/Handler ++java/text/Collator ++sun/util/locale/provider/CollatorProviderImpl ++java/util/Collections$UnmodifiableList$1 ++sun/text/resources/CollationData ++java/text/RuleBasedCollator ++java/text/RBCollationTables ++java/net/ServerSocket ++java/text/RBTableBuilder ++java/text/RBCollationTables$BuildAPI ++sun/text/IntHashtable ++sun/text/UCompactIntArray ++sun/text/normalizer/NormalizerImpl ++sun/text/normalizer/ICUData ++sun/text/normalizer/NormalizerDataReader ++sun/text/normalizer/ICUBinary$Authenticate ++sun/text/normalizer/ICUBinary ++sun/text/normalizer/NormalizerImpl$FCDTrieImpl ++sun/text/normalizer/Trie$DataManipulate ++sun/text/normalizer/NormalizerImpl$NormTrieImpl ++sun/text/normalizer/NormalizerImpl$AuxTrieImpl ++sun/text/normalizer/IntTrie ++sun/text/normalizer/Trie ++sun/text/normalizer/CharTrie ++sun/text/normalizer/CharTrie$FriendAgent ++sun/text/normalizer/UnicodeSet ++sun/text/normalizer/UnicodeMatcher ++sun/text/normalizer/NormalizerImpl$DecomposeArgs ++java/text/MergeCollation ++java/text/PatternEntry$Parser ++java/text/PatternEntry ++java/text/EntryPair ++sun/text/ComposedCharIter ++sun/text/normalizer/UTF16 +sun/net/www/protocol/http/Handler -+sun/net/www/protocol/jar/Handler -+sun/net/www/protocol/jar/JarFileFactory -+sun/net/www/protocol/jar/JarURLConnection -+sun/net/www/protocol/jar/JarURLConnection$JarURLInputStream -+sun/net/www/protocol/jar/URLJarFile -+sun/net/www/protocol/jar/URLJarFile$URLJarFileCloseController -+sun/net/www/protocol/jar/URLJarFile$URLJarFileEntry -+sun/nio/ByteBuffered -+sun/nio/ch/DirectBuffer -+sun/nio/ch/FileChannelImpl -+sun/nio/ch/FileChannelImpl$Unmapper -+sun/nio/ch/FileDispatcher -+sun/nio/ch/FileDispatcherImpl -+sun/nio/ch/IOStatus -+sun/nio/ch/IOUtil -+sun/nio/ch/IOUtil$1 -+sun/nio/ch/Interruptible -+sun/nio/ch/NativeDispatcher -+sun/nio/ch/NativeThread -+sun/nio/ch/NativeThreadSet -+sun/nio/ch/Util -+sun/nio/ch/Util$1 -+sun/nio/ch/Util$4 -+sun/nio/ch/Util$BufferCache -+sun/nio/cs/AbstractCharsetProvider -+sun/nio/cs/ArrayDecoder -+sun/nio/cs/ArrayEncoder -+sun/nio/cs/FastCharsetProvider -+sun/nio/cs/HistoricallyNamedCharset -+sun/nio/cs/ISO_8859_1 -+sun/nio/cs/ISO_8859_1$Decoder -+sun/nio/cs/ISO_8859_1$Encoder -+sun/nio/cs/StandardCharsets -+sun/nio/cs/StandardCharsets$Aliases -+sun/nio/cs/StandardCharsets$Cache -+sun/nio/cs/StandardCharsets$Classes -+sun/nio/cs/StreamDecoder -+sun/nio/cs/StreamEncoder -+sun/nio/cs/Surrogate -+sun/nio/cs/Surrogate$Parser -+sun/nio/cs/US_ASCII -+sun/nio/cs/US_ASCII$Decoder -+sun/nio/cs/UTF_16 -+sun/nio/cs/UTF_16$Decoder -+sun/nio/cs/UTF_16BE -+sun/nio/cs/UTF_16LE -+sun/nio/cs/UTF_8 -+sun/nio/cs/UTF_8$Decoder -+sun/nio/cs/UTF_8$Encoder -+sun/nio/cs/Unicode -+sun/nio/cs/UnicodeDecoder -+sun/nio/cs/ext/DelegatableDecoder -+sun/nio/cs/ext/DoubleByte -+sun/nio/cs/ext/DoubleByte$Decoder -+sun/nio/cs/ext/EUC_KR -+sun/nio/cs/ext/ExtendedCharsets -+sun/print/PrinterGraphicsConfig -+sun/reflect/AccessorGenerator -+sun/reflect/BootstrapConstructorAccessorImpl -+sun/reflect/ByteVector -+sun/reflect/ByteVectorFactory -+sun/reflect/ByteVectorImpl -+sun/reflect/CallerSensitive -+sun/reflect/ClassDefiner -+sun/reflect/ClassDefiner$1 -+sun/reflect/ClassFileAssembler -+sun/reflect/ClassFileConstants -+sun/reflect/ConstantPool -+sun/reflect/ConstructorAccessor -+sun/reflect/ConstructorAccessorImpl -+sun/reflect/DelegatingClassLoader -+sun/reflect/DelegatingConstructorAccessorImpl -+sun/reflect/DelegatingMethodAccessorImpl -+sun/reflect/FieldAccessor -+sun/reflect/FieldAccessorImpl -+sun/reflect/Label -+sun/reflect/Label$PatchInfo -+sun/reflect/LangReflectAccess -+sun/reflect/MagicAccessorImpl -+sun/reflect/MethodAccessor -+sun/reflect/MethodAccessorGenerator -+sun/reflect/MethodAccessorGenerator$1 -+sun/reflect/MethodAccessorImpl -+sun/reflect/NativeConstructorAccessorImpl -+sun/reflect/NativeMethodAccessorImpl -+sun/reflect/Reflection -+sun/reflect/ReflectionFactory -+sun/reflect/ReflectionFactory$1 -+sun/reflect/ReflectionFactory$GetReflectionFactoryAction ++java/security/SignatureException ++java/security/InvalidKeyException ++java/security/KeyException ++java/security/Signature ++java/security/SignatureSpi ++java/io/ObjectInputStream$BlockDataInputStream ++java/io/ObjectInputStream$PeekInputStream ++java/io/ObjectInputStream$HandleTable ++java/io/ObjectInputStream$HandleTable$HandleList ++java/io/ObjectInputStream$ValidationList ++java/io/Bits ++java/io/ObjectStreamClass ++java/io/ObjectOutputStream ++java/io/ObjectOutput ++sun/security/provider/DSAPublicKey ++java/security/interfaces/DSAPublicKey ++java/security/interfaces/DSAKey ++java/security/PublicKey ++java/security/Key ++sun/security/x509/X509Key ++java/io/ObjectStreamClass$Caches ++java/io/ObjectStreamClass$WeakClassKey ++java/io/ObjectStreamClass$EntryFuture ++java/lang/reflect/Proxy ++java/lang/reflect/InvocationHandler ++java/lang/reflect/WeakCache ++java/lang/reflect/Proxy$KeyFactory ++java/lang/reflect/Proxy$ProxyClassFactory ++java/io/Externalizable ++java/io/ObjectStreamClass$2 ++java/util/ComparableTimSort ++sun/security/x509/AlgorithmId ++sun/security/util/DerEncoder +sun/reflect/SerializationConstructorAccessorImpl -+sun/reflect/UTF8 -+sun/reflect/UnsafeBooleanFieldAccessorImpl -+sun/reflect/UnsafeFieldAccessorFactory -+sun/reflect/UnsafeFieldAccessorImpl -+sun/reflect/UnsafeObjectFieldAccessorImpl -+sun/reflect/UnsafeQualifiedStaticFieldAccessorImpl -+sun/reflect/UnsafeQualifiedStaticIntegerFieldAccessorImpl ++sun/security/util/BitArray +sun/reflect/UnsafeQualifiedStaticLongFieldAccessorImpl -+sun/reflect/UnsafeQualifiedStaticObjectFieldAccessorImpl -+sun/reflect/UnsafeStaticFieldAccessorImpl -+sun/reflect/annotation/AnnotationType -+sun/reflect/generics/repository/AbstractRepository -+sun/reflect/generics/repository/ClassRepository -+sun/reflect/generics/repository/GenericDeclRepository -+sun/reflect/misc/MethodUtil -+sun/reflect/misc/MethodUtil$1 -+sun/reflect/misc/ReflectUtil -+sun/security/action/GetBooleanAction -+sun/security/action/GetIntegerAction -+sun/security/action/GetPropertyAction -+sun/security/action/PutAllAction ++java/io/ObjectStreamClass$FieldReflectorKey ++java/io/ObjectStreamClass$FieldReflector ++java/io/ObjectStreamClass$1 ++java/io/DataOutputStream ++java/io/ObjectStreamClass$MemberSignature ++java/io/ObjectStreamClass$3 ++sun/security/util/DerOutputStream ++java/io/ObjectStreamClass$4 ++java/io/ObjectStreamClass$5 ++sun/security/util/DerValue ++java/security/MessageDigest ++java/security/MessageDigestSpi +sun/security/jca/GetInstance -+sun/security/jca/GetInstance$Instance -+sun/security/jca/ProviderConfig -+sun/security/jca/ProviderConfig$1 -+sun/security/jca/ProviderConfig$2 -+sun/security/jca/ProviderConfig$3 ++sun/security/jca/Providers ++java/lang/InheritableThreadLocal +sun/security/jca/ProviderList ++sun/security/jca/ProviderConfig ++java/math/BigInteger ++java/security/Provider ++sun/security/jca/ProviderList$3 +sun/security/jca/ProviderList$1 ++java/security/Provider$ServiceKey ++java/security/Provider$EngineDescription ++java/security/interfaces/DSAParams +sun/security/jca/ProviderList$2 -+sun/security/jca/ProviderList$3 -+sun/security/jca/ProviderList$ServiceList -+sun/security/jca/ProviderList$ServiceList$1 -+sun/security/jca/Providers -+sun/security/jca/ServiceId -+sun/security/pkcs/ContentInfo -+sun/security/pkcs/PKCS7 -+sun/security/pkcs/PKCS8Key -+sun/security/pkcs/PKCS9Attribute -+sun/security/pkcs/SignerInfo -+sun/security/provider/ByteArrayAccess -+sun/security/provider/DSA -+sun/security/provider/DSA$LegacyDSA -+sun/security/provider/DSA$SHA1withDSA -+sun/security/provider/DSAKeyFactory -+sun/security/provider/DSAParameters -+sun/security/provider/DSAPublicKey -+sun/security/provider/DSAPublicKeyImpl -+sun/security/provider/DigestBase ++sun/security/jca/ProviderConfig$2 ++java/io/ObjectStreamClass$ClassDataSlot ++sun/security/provider/Sun ++java/io/SerialCallbackContext ++sun/security/provider/SunEntries ++sun/security/provider/SunEntries$1 +sun/security/provider/NativePRNG ++java/security/SecureRandomSpi ++sun/security/provider/NativePRNG$Variant ++sun/security/util/DerInputStream +sun/security/provider/NativePRNG$1 +sun/security/provider/NativePRNG$2 ++sun/security/provider/NativePRNG$RandomIO ++sun/security/util/DerInputBuffer +sun/security/provider/NativePRNG$Blocking +sun/security/provider/NativePRNG$NonBlocking -+sun/security/provider/NativePRNG$RandomIO -+sun/security/provider/NativePRNG$Variant ++sun/security/util/ObjectIdentifier ++java/security/Provider$Service ++java/security/Provider$UString +sun/security/provider/SHA -+sun/security/provider/SHA2 -+sun/security/provider/SHA2$SHA256 -+sun/security/provider/Sun -+sun/security/provider/SunEntries -+sun/security/provider/SunEntries$1 -+sun/security/provider/X509Factory -+sun/security/provider/certpath/X509CertPath -+sun/security/rsa/RSACore -+sun/security/rsa/RSAKeyFactory -+sun/security/rsa/RSAPadding -+sun/security/rsa/RSAPrivateCrtKeyImpl -+sun/security/rsa/RSAPrivateKeyImpl -+sun/security/rsa/RSAPublicKeyImpl -+sun/security/rsa/RSASignature -+sun/security/rsa/RSASignature$SHA256withRSA -+sun/security/rsa/SunRsaSign -+sun/security/rsa/SunRsaSignEntries -+sun/security/util/BitArray ++sun/security/provider/DigestBase ++sun/security/jca/GetInstance$Instance ++java/security/MessageDigest$Delegate ++sun/security/provider/ByteArrayAccess ++java/io/ObjectOutputStream$BlockDataOutputStream ++java/security/AlgorithmParameters ++java/io/ObjectOutputStream$HandleTable ++java/io/ObjectOutputStream$ReplaceTable ++java/security/AlgorithmParametersSpi ++sun/security/provider/DSAParameters +sun/security/util/ByteArrayLexOrder +sun/security/util/ByteArrayTagOrder -+sun/security/util/Cache -+sun/security/util/Cache$EqualByteArray -+sun/security/util/Debug -+sun/security/util/DerEncoder +sun/security/util/DerIndefLenConverter -+sun/security/util/DerInputBuffer -+sun/security/util/DerInputStream -+sun/security/util/DerOutputStream -+sun/security/util/DerValue -+sun/security/util/Length -+sun/security/util/ManifestDigester -+sun/security/util/ManifestDigester$Entry -+sun/security/util/ManifestDigester$Position -+sun/security/util/ManifestEntryVerifier -+sun/security/util/ManifestEntryVerifier$SunProviderHolder -+sun/security/util/MemoryCache -+sun/security/util/MemoryCache$CacheEntry -+sun/security/util/MemoryCache$HardCacheEntry -+sun/security/util/MemoryCache$SoftCacheEntry -+sun/security/util/ObjectIdentifier -+sun/security/util/PropertyExpander -+sun/security/util/SignatureFileVerifier -+sun/security/x509/AVA -+sun/security/x509/AVAKeyword -+sun/security/x509/AlgorithmId -+sun/security/x509/AuthorityKeyIdentifierExtension -+sun/security/x509/BasicConstraintsExtension -+sun/security/x509/CertAttrSet -+sun/security/x509/CertificateAlgorithmId -+sun/security/x509/CertificateExtensions -+sun/security/x509/CertificateSerialNumber -+sun/security/x509/CertificateValidity -+sun/security/x509/CertificateVersion -+sun/security/x509/CertificateX509Key -+sun/security/x509/Extension -+sun/security/x509/GeneralName -+sun/security/x509/GeneralNameInterface -+sun/security/x509/GeneralNames -+sun/security/x509/KeyIdentifier -+sun/security/x509/KeyUsageExtension -+sun/security/x509/NetscapeCertTypeExtension -+sun/security/x509/NetscapeCertTypeExtension$MapEntry -+sun/security/x509/OIDMap -+sun/security/x509/OIDMap$OIDInfo -+sun/security/x509/PKIXExtensions -+sun/security/x509/RDN -+sun/security/x509/RFC822Name -+sun/security/x509/SerialNumber -+sun/security/x509/SubjectAlternativeNameExtension -+sun/security/x509/SubjectKeyIdentifierExtension -+sun/security/x509/X500Name -+sun/security/x509/X500Name$1 -+sun/security/x509/X509AttributeName -+sun/security/x509/X509CertImpl -+sun/security/x509/X509CertInfo -+sun/security/x509/X509Key -+sun/swing/DefaultLookup -+sun/swing/ImageIconUIResource -+sun/swing/JLightweightFrame -+sun/swing/MenuItemLayoutHelper -+sun/swing/MenuItemLayoutHelper$ColumnAlignment -+sun/swing/MenuItemLayoutHelper$LayoutResult ++java/io/ObjectStreamClass$ExceptionInfo ++java/io/ObjectInputStream$GetFieldImpl ++java/io/ObjectInputStream$GetField ++java/math/BigInteger$UnsafeHolder ++sun/security/jca/ServiceId ++sun/security/jca/ProviderList$ServiceList ++sun/security/jca/ProviderList$ServiceList$1 ++java/security/Signature$Delegate ++java/util/ArrayList$SubList ++java/util/ArrayList$SubList$1 ++java/security/interfaces/DSAPrivateKey ++java/security/PrivateKey ++javax/security/auth/Destroyable ++sun/security/provider/DSA$SHA1withDSA ++sun/security/provider/DSA$LegacyDSA ++sun/security/provider/DSA ++java/security/spec/DSAParameterSpec ++java/security/spec/AlgorithmParameterSpec ++java/math/MutableBigInteger ++java/math/SignedMutableBigInteger ++javax/swing/TimerQueue ++java/util/concurrent/DelayQueue ++java/util/concurrent/BlockingQueue ++java/util/AbstractQueue ++java/util/PriorityQueue ++javax/swing/TimerQueue$1 ++javax/swing/TimerQueue$DelayedTimer ++java/util/concurrent/Delayed ++java/util/concurrent/TimeUnit ++java/util/concurrent/TimeUnit$1 ++java/util/concurrent/TimeUnit$2 ++java/util/concurrent/TimeUnit$3 ++java/util/concurrent/TimeUnit$4 ++java/util/concurrent/TimeUnit$5 ++java/util/concurrent/TimeUnit$6 ++java/util/concurrent/TimeUnit$7 ++java/awt/Window$1DisposeAction ++java/awt/EventQueue$1AWTInvocationLock ++sun/awt/X11/XUnmapEvent ++java/awt/LightweightDispatcher$2 ++java/awt/Component$FlipBufferStrategy ++java/awt/SentEvent ++sun/java2d/cmm/CMSManager ++java/awt/image/DataBufferInt ++java/awt/image/SinglePixelPackedSampleModel ++sun/awt/image/IntegerInterleavedRaster ++sun/awt/X11/XDropTargetRegistry ++sun/awt/X11/XEmbeddedFramePeer ++sun/awt/X11/XDragAndDropProtocols ++sun/awt/X11/XDropTargetContextPeer ++sun/awt/dnd/SunDropTargetContextPeer ++java/awt/dnd/peer/DropTargetContextPeer ++java/awt/datatransfer/Transferable ++sun/awt/X11/XDropTargetContextPeer$XDropTargetProtocolListenerImpl ++sun/awt/X11/XDropTargetProtocolListener ++sun/awt/X11/XDnDDragSourceProtocol ++sun/awt/X11/XDragSourceProtocol ++sun/awt/X11/MotifDnDDragSourceProtocol ++sun/awt/X11/XDnDDropTargetProtocol ++sun/awt/X11/XDropTargetProtocol ++sun/awt/X11/MotifDnDDropTargetProtocol ++sun/awt/X11/XErrorHandler$VerifyChangePropertyHandler ++sun/awt/X11/XDnDConstants ++sun/awt/X11/XSelection ++sun/awt/X11/XSelection$IncrementalTransferHandler ++sun/awt/X11/XSelection$SelectionEventHandler ++sun/awt/X11/MotifDnDConstants ++javax/swing/JLayer ++javax/swing/JInternalFrame ++javax/swing/KeyboardManager$ComponentKeyStrokePair ++sun/awt/EmbeddedFrame +sun/swing/MenuItemLayoutHelper$RectSize -+sun/swing/PrintColorUIResource -+sun/swing/StringUIClientPropertyKey -+sun/swing/SwingAccessor -+sun/swing/SwingAccessor$JTextComponentAccessor -+sun/swing/SwingLazyValue -+sun/swing/SwingLazyValue$1 -+sun/swing/SwingUtilities2 -+sun/swing/SwingUtilities2$2 -+sun/swing/SwingUtilities2$AATextInfo -+sun/swing/SwingUtilities2$LSBCacheEntry -+sun/swing/UIAction -+sun/swing/UIClientPropertyKey -+sun/swing/table/DefaultTableCellHeaderRenderer -+sun/swing/table/DefaultTableCellHeaderRenderer$EmptyIcon -+sun/text/ComposedCharIter -+sun/text/IntHashtable -+sun/text/UCompactIntArray -+sun/text/normalizer/CharTrie -+sun/text/normalizer/CharTrie$FriendAgent -+sun/text/normalizer/ICUBinary -+sun/text/normalizer/ICUBinary$Authenticate -+sun/text/normalizer/ICUData -+sun/text/normalizer/IntTrie -+sun/text/normalizer/NormalizerBase -+sun/text/normalizer/NormalizerBase$1 -+sun/text/normalizer/NormalizerBase$Mode -+sun/text/normalizer/NormalizerBase$NFCMode -+sun/text/normalizer/NormalizerBase$NFDMode -+sun/text/normalizer/NormalizerBase$NFKCMode -+sun/text/normalizer/NormalizerBase$NFKDMode -+sun/text/normalizer/NormalizerBase$QuickCheckResult -+sun/text/normalizer/NormalizerDataReader -+sun/text/normalizer/NormalizerImpl -+sun/text/normalizer/NormalizerImpl$AuxTrieImpl -+sun/text/normalizer/NormalizerImpl$DecomposeArgs -+sun/text/normalizer/NormalizerImpl$FCDTrieImpl -+sun/text/normalizer/NormalizerImpl$NormTrieImpl -+sun/text/normalizer/Trie -+sun/text/normalizer/Trie$DataManipulate -+sun/text/normalizer/UTF16 -+sun/text/normalizer/UnicodeMatcher -+sun/text/normalizer/UnicodeSet -+sun/text/resources/CollationData -+sun/text/resources/FormatData -+sun/text/resources/en/FormatData_en -+sun/text/resources/en/FormatData_en_US -+sun/util/CoreResourceBundleControl -+sun/util/PreHashedMap -+sun/util/ResourceBundleEnumeration -+sun/util/calendar/AbstractCalendar -+sun/util/calendar/BaseCalendar -+sun/util/calendar/BaseCalendar$Date -+sun/util/calendar/CalendarDate -+sun/util/calendar/CalendarSystem -+sun/util/calendar/CalendarUtils -+sun/util/calendar/Gregorian -+sun/util/calendar/Gregorian$Date -+sun/util/calendar/ZoneInfo -+sun/util/calendar/ZoneInfoFile -+sun/util/calendar/ZoneInfoFile$1 -+sun/util/calendar/ZoneInfoFile$Checksum -+sun/util/calendar/ZoneInfoFile$ZoneOffsetTransitionRule -+sun/util/locale/BaseLocale -+sun/util/locale/BaseLocale$Cache -+sun/util/locale/BaseLocale$Key -+sun/util/locale/LanguageTag -+sun/util/locale/LocaleObjectCache -+sun/util/locale/LocaleObjectCache$CacheEntry -+sun/util/locale/LocaleUtils -+sun/util/locale/provider/AuxLocaleProviderAdapter -+sun/util/locale/provider/AuxLocaleProviderAdapter$NullProvider -+sun/util/locale/provider/AvailableLanguageTags -+sun/util/locale/provider/CalendarDataProviderImpl -+sun/util/locale/provider/CalendarDataUtility -+sun/util/locale/provider/CalendarDataUtility$CalendarWeekParameterGetter -+sun/util/locale/provider/CalendarProviderImpl -+sun/util/locale/provider/CollatorProviderImpl -+sun/util/locale/provider/CurrencyNameProviderImpl -+sun/util/locale/provider/DateFormatSymbolsProviderImpl -+sun/util/locale/provider/DecimalFormatSymbolsProviderImpl -+sun/util/locale/provider/JRELocaleProviderAdapter -+sun/util/locale/provider/JRELocaleProviderAdapter$1 -+sun/util/locale/provider/LocaleDataMetaInfo -+sun/util/locale/provider/LocaleProviderAdapter -+sun/util/locale/provider/LocaleProviderAdapter$1 -+sun/util/locale/provider/LocaleProviderAdapter$Type -+sun/util/locale/provider/LocaleResources -+sun/util/locale/provider/LocaleResources$ResourceReference -+sun/util/locale/provider/LocaleServiceProviderPool -+sun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter -+sun/util/locale/provider/NumberFormatProviderImpl -+sun/util/locale/provider/ResourceBundleBasedAdapter -+sun/util/locale/provider/SPILocaleProviderAdapter -+sun/util/locale/provider/SPILocaleProviderAdapter$1 -+sun/util/locale/provider/TimeZoneNameProviderImpl ++javax/swing/JTable$2 ++javax/swing/JTable$Resizable3 ++javax/swing/JTable$Resizable2 ++javax/swing/JTable$5 ++javax/swing/event/AncestorEvent ++java/awt/Label ++sun/awt/X11/XLabelPeer ++java/awt/peer/LabelPeer ++sun/awt/TimedWindowEvent ++java/awt/DefaultKeyboardFocusManager$DefaultKeyboardFocusManagerSentEvent ++sun/awt/CausedFocusEvent$Cause ++java/awt/KeyboardFocusManager$HeavyweightFocusRequest ++java/awt/DefaultKeyboardFocusManager$TypeAheadMarker ++java/awt/KeyboardFocusManager$LightweightFocusRequest ++sun/awt/CausedFocusEvent ++java/awt/KeyboardFocusManager$3 ++sun/awt/X11/XInputMethod ++sun/awt/X11InputMethod ++sun/awt/im/InputMethodAdapter ++java/awt/im/spi/InputMethod ++java/awt/Event ++java/net/Authenticator ++java/lang/Throwable$WrappedPrintStream ++java/lang/Throwable$PrintStreamOrWriter ++sun/awt/image/PNGImageDecoder ++sun/awt/image/PNGFilterInputStream +sun/util/locale/provider/TimeZoneNameUtility ++sun/util/locale/provider/TimeZoneNameProviderImpl +sun/util/locale/provider/TimeZoneNameUtility$TimeZoneNameGetter -+sun/util/logging/LoggingProxy -+sun/util/logging/LoggingSupport -+sun/util/logging/LoggingSupport$1 -+sun/util/logging/LoggingSupport$2 -+sun/util/logging/PlatformLogger -+sun/util/logging/PlatformLogger$1 -+sun/util/logging/PlatformLogger$DefaultLoggerProxy -+sun/util/logging/PlatformLogger$JavaLoggerProxy -+sun/util/logging/PlatformLogger$Level -+sun/util/logging/PlatformLogger$LoggerProxy -+sun/util/logging/resources/logging -+sun/util/resources/CalendarData -+sun/util/resources/CurrencyNames -+sun/util/resources/LocaleData -+sun/util/resources/LocaleData$1 -+sun/util/resources/LocaleData$LocaleDataResourceBundleControl -+sun/util/resources/LocaleNamesBundle -+sun/util/resources/OpenListResourceBundle -+sun/util/resources/ParallelListResourceBundle -+sun/util/resources/ParallelListResourceBundle$KeySet +sun/util/resources/TimeZoneNames +sun/util/resources/TimeZoneNamesBundle -+sun/util/resources/en/CalendarData_en -+sun/util/resources/en/CurrencyNames_en_US +sun/util/resources/en/TimeZoneNames_en -+sun/util/spi/CalendarProvider -+# ca392e7ee7285d72 ---- ./jdk/make/gendata/GendataFontConfig.gmk Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/gendata/GendataFontConfig.gmk Sat Jan 30 22:09:39 2016 -0800 ++sun/awt/image/OffScreenImage ++java/lang/ProcessBuilder ++java/lang/ProcessImpl ++java/lang/UNIXProcess ++java/lang/Process ++java/lang/UNIXProcess$Platform ++java/lang/UNIXProcess$LaunchMechanism ++java/util/EnumSet ++java/util/RegularEnumSet ++sun/java2d/x11/X11SurfaceDataProxy$Opaque ++java/lang/UNIXProcess$1 ++java/util/concurrent/Executor ++java/util/concurrent/ThreadFactory ++java/util/concurrent/Executors ++java/util/concurrent/ThreadPoolExecutor ++java/util/concurrent/AbstractExecutorService ++java/util/concurrent/ExecutorService ++java/util/concurrent/ThreadPoolExecutor$AbortPolicy ++java/util/concurrent/RejectedExecutionHandler ++java/util/concurrent/SynchronousQueue ++java/util/concurrent/SynchronousQueue$TransferStack ++java/util/concurrent/SynchronousQueue$Transferer ++java/util/concurrent/SynchronousQueue$TransferStack$SNode ++java/lang/UNIXProcess$ProcessPipeOutputStream ++java/lang/UNIXProcess$ProcessPipeInputStream ++java/util/concurrent/ThreadPoolExecutor$Worker ++java/lang/ProcessBuilder$NullOutputStream ++java/io/FilterReader ++sun/awt/X11/XClipboard ++sun/awt/X11/OwnershipListener ++sun/awt/datatransfer/SunClipboard ++java/awt/datatransfer/Clipboard ++java/io/EOFException ++java/util/jar/JarFile$JarEntryIterator ++java/util/zip/ZipFile$ZipEntryIterator ++java/lang/IllegalAccessError ++java/text/MessageFormat ++java/text/MessageFormat$Field ++java/util/Hashtable$ValueCollection ++javax/swing/event/CaretListener ++javax/swing/plaf/metal/MetalButtonUI ++javax/swing/plaf/metal/MetalToggleButtonUI ++javax/swing/plaf/metal/MetalBorders$ToggleButtonBorder ++javax/swing/event/MenuEvent ++javax/swing/border/MatteBorder ++sun/font/StandardGlyphVector ++java/awt/font/GlyphVector ++sun/font/StandardGlyphVector$GlyphStrike ++sun/font/CoreMetrics ++sun/font/FontLineMetrics ++java/awt/font/LineMetrics ++javax/swing/JToolBar$DefaultToolBarLayout ++javax/swing/plaf/metal/MetalToolBarUI ++javax/swing/plaf/basic/BasicToolBarUI ++javax/swing/plaf/ToolBarUI ++javax/swing/plaf/metal/MetalBorders$ToolBarBorder ++javax/swing/plaf/metal/MetalBorders$RolloverButtonBorder ++javax/swing/plaf/metal/MetalBorders$RolloverMarginBorder ++javax/swing/plaf/basic/BasicBorders$RolloverMarginBorder ++javax/swing/plaf/metal/MetalToolBarUI$MetalDockingListener ++javax/swing/plaf/basic/BasicToolBarUI$DockingListener ++javax/swing/plaf/basic/BasicToolBarUI$Handler ++javax/swing/JToolBar$Separator ++javax/swing/plaf/basic/BasicToolBarSeparatorUI ++java/awt/event/AdjustmentEvent ++java/awt/MenuBar ++sun/awt/X11/XErrorEvent ++# eea35d9d56e0006e +--- ./jdk/make/gendata/GendataFontConfig.gmk Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/gendata/GendataFontConfig.gmk Mon May 09 17:18:41 2016 -0400 @@ -73,6 +73,13 @@ GENDATA_FONT_CONFIG_SRC_PREFIX := aix. endif @@ -6879,8 +10592,8 @@ ### $(GENDATA_FONT_CONFIG_DST)/%.src: \ ---- ./jdk/make/lib/Awt2dLibraries.gmk Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/lib/Awt2dLibraries.gmk Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/lib/Awt2dLibraries.gmk Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/lib/Awt2dLibraries.gmk Mon May 09 17:18:41 2016 -0400 @@ -309,7 +309,7 @@ debug_trace.c \ debug_util.c @@ -7005,8 +10718,8 @@ else # .. all other Unixes can use X_LIBS LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread endif ---- ./jdk/make/lib/CoreLibraries.gmk Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/lib/CoreLibraries.gmk Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/lib/CoreLibraries.gmk Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/lib/CoreLibraries.gmk Mon May 09 17:18:41 2016 -0400 @@ -82,7 +82,7 @@ endif @@ -7093,8 +10806,8 @@ LDFLAGS_macosx := -liconv, \ LDFLAGS_SUFFIX_windows := -export:nptInitialize -export:nptTerminate, \ LDFLAGS_SUFFIX_solaris := -lc, \ ---- ./jdk/make/lib/NetworkingLibraries.gmk Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/lib/NetworkingLibraries.gmk Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/lib/NetworkingLibraries.gmk Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/lib/NetworkingLibraries.gmk Mon May 09 17:18:41 2016 -0400 @@ -42,7 +42,7 @@ LIBNET_EXCLUDE_FILES += linux_close.c endif @@ -7123,8 +10836,8 @@ LDFLAGS_SUFFIX_windows := ws2_32.lib jvm.lib secur32.lib iphlpapi.lib \ delayimp.lib $(WIN_JAVA_LIB) advapi32.lib \ -DELAYLOAD:secur32.dll -DELAYLOAD:iphlpapi.dll, \ ---- ./jdk/make/lib/NioLibraries.gmk Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/lib/NioLibraries.gmk Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/lib/NioLibraries.gmk Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/lib/NioLibraries.gmk Mon May 09 17:18:41 2016 -0400 @@ -77,9 +77,28 @@ UnixNativeDispatcher.c endif @@ -7185,8 +10898,8 @@ endif + endif endif ---- ./jdk/make/lib/ServiceabilityLibraries.gmk Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/lib/ServiceabilityLibraries.gmk Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/lib/ServiceabilityLibraries.gmk Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/lib/ServiceabilityLibraries.gmk Mon May 09 17:18:41 2016 -0400 @@ -34,7 +34,7 @@ ifneq ($(OPENJDK_TARGET_OS), linux) LIBATTACH_EXCLUDE_FILES += LinuxVirtualMachine.c @@ -7276,8 +10989,8 @@ ifeq ($(ENABLE_DEBUG_SYMBOLS), true) LIBHPROF_OPTIMIZATION := LOW endif ---- ./jdk/make/lib/SoundLibraries.gmk Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/lib/SoundLibraries.gmk Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/lib/SoundLibraries.gmk Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/lib/SoundLibraries.gmk Mon May 09 17:18:41 2016 -0400 @@ -75,6 +75,13 @@ LIBJSOUND_CFLAGS += -DX_PLATFORM=X_AIX endif # OPENJDK_TARGET_OS aix @@ -7309,8 +11022,18 @@ LDFLAGS_SUFFIX := $(ALSA_LIBS) -ljava -ljvm, \ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjsoundalsa, \ DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) ---- ./jdk/make/mapfiles/launchers/mapfile-x86 Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/mapfiles/launchers/mapfile-x86 Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/mapfiles/launchers/mapfile-ppc64 Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/mapfiles/launchers/mapfile-ppc64 Mon May 09 17:18:41 2016 -0400 +@@ -33,6 +33,7 @@ + environ; # Public symbols and required by Java run time + _environ; + __environ_lock; ++ __progname; + + local: + *; +--- ./jdk/make/mapfiles/launchers/mapfile-x86 Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/mapfiles/launchers/mapfile-x86 Mon May 09 17:18:41 2016 -0400 @@ -33,6 +33,7 @@ environ; # Public symbols and required by Java run time _environ; @@ -7319,8 +11042,8 @@ ___Argv; # The following are private, but as they are _start; # exported from ctr1/crtn, the clever hacker _init; # might know about them. However note, that ---- ./jdk/make/mapfiles/launchers/mapfile-x86_64 Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/mapfiles/launchers/mapfile-x86_64 Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/mapfiles/launchers/mapfile-x86_64 Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/mapfiles/launchers/mapfile-x86_64 Mon May 09 17:18:41 2016 -0400 @@ -33,6 +33,7 @@ environ; # Public symbols and required by Java run time _environ; @@ -7330,7 +11053,7 @@ local: *; --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./jdk/make/mapfiles/libattach/mapfile-bsd Sat Jan 30 22:09:39 2016 -0800 ++++ ./jdk/make/mapfiles/libattach/mapfile-bsd Mon May 09 17:18:41 2016 -0400 @@ -0,0 +1,42 @@ +# +# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved. @@ -7375,7 +11098,7 @@ + *; +}; --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./jdk/make/mapfiles/libnio/mapfile-bsd Sat Jan 30 22:09:39 2016 -0800 ++++ ./jdk/make/mapfiles/libnio/mapfile-bsd Mon May 09 17:18:41 2016 -0400 @@ -0,0 +1,195 @@ +# +# Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. @@ -7572,8 +11295,8 @@ + local: + *; +}; ---- ./jdk/make/mapfiles/libunpack/mapfile-vers-unpack200 Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/mapfiles/libunpack/mapfile-vers-unpack200 Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/mapfiles/libunpack/mapfile-vers-unpack200 Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/mapfiles/libunpack/mapfile-vers-unpack200 Mon May 09 17:18:41 2016 -0400 @@ -26,6 +26,9 @@ # Define library interface. @@ -7585,7 +11308,7 @@ *; }; --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./jdk/make/netbeans/common/bsd-sources.ent Sat Jan 30 22:09:39 2016 -0800 ++++ ./jdk/make/netbeans/common/bsd-sources.ent Mon May 09 17:18:41 2016 -0400 @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> + @@ -7633,7 +11356,7 @@ + <location>${root}/src/bsd/classes</location> +</source-folder> --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./jdk/make/netbeans/common/bsd-view.ent Sat Jan 30 22:09:39 2016 -0800 ++++ ./jdk/make/netbeans/common/bsd-view.ent Mon May 09 17:18:41 2016 -0400 @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> + @@ -7674,8 +11397,8 @@ + <includes>${includes}</includes> + <excludes>${excludes}</excludes> +</source-folder> ---- ./jdk/make/netbeans/common/java-data-native.ent Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/netbeans/common/java-data-native.ent Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/netbeans/common/java-data-native.ent Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/netbeans/common/java-data-native.ent Mon May 09 17:18:41 2016 -0400 @@ -34,6 +34,7 @@ <java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/4"> <compilation-unit> @@ -7684,8 +11407,8 @@ <package-root>${root}/src/macosx/classes</package-root> <package-root>${root}/src/solaris/classes</package-root> <package-root>${root}/src/windows/classes</package-root> ---- ./jdk/make/netbeans/common/make.xml Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/netbeans/common/make.xml Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/netbeans/common/make.xml Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/netbeans/common/make.xml Mon May 09 17:18:41 2016 -0400 @@ -32,16 +32,21 @@ --> @@ -7720,8 +11443,8 @@ <macrodef name="make-run"> <attribute name="target"/> <attribute name="dir"/> ---- ./jdk/make/netbeans/j2se/nbproject/project.xml Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/netbeans/j2se/nbproject/project.xml Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/netbeans/j2se/nbproject/project.xml Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/netbeans/j2se/nbproject/project.xml Mon May 09 17:18:41 2016 -0400 @@ -34,6 +34,7 @@ <!DOCTYPE project [ <!ENTITY properties SYSTEM "../../common/properties.ent"> @@ -7754,8 +11477,8 @@ &macosx-view; &unix-view; &windows-view; ---- ./jdk/make/netbeans/world/nbproject/project.xml Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/make/netbeans/world/nbproject/project.xml Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/make/netbeans/world/nbproject/project.xml Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/make/netbeans/world/nbproject/project.xml Mon May 09 17:18:41 2016 -0400 @@ -34,12 +34,14 @@ <!DOCTYPE project [ <!ENTITY properties SYSTEM "../../common/properties.ent"> @@ -7788,7 +11511,7 @@ &unix-view; &windows-view; --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./jdk/src/bsd/classes/java/net/DefaultInterface.java Sat Jan 30 22:09:39 2016 -0800 ++++ ./jdk/src/bsd/classes/java/net/DefaultInterface.java Mon May 09 17:18:41 2016 -0400 @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. @@ -7888,7 +11611,7 @@ + } +} --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./jdk/src/bsd/classes/sun/nio/ch/DefaultSelectorProvider.java Sat Jan 30 22:09:39 2016 -0800 ++++ ./jdk/src/bsd/classes/sun/nio/ch/DefaultSelectorProvider.java Mon May 09 17:18:41 2016 -0400 @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. @@ -7939,7 +11662,7 @@ + +} --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./jdk/src/bsd/classes/sun/nio/ch/KQueueArrayWrapper.java Sat Jan 30 22:09:39 2016 -0800 ++++ ./jdk/src/bsd/classes/sun/nio/ch/KQueueArrayWrapper.java Mon May 09 17:18:41 2016 -0400 @@ -0,0 +1,213 @@ +/* + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. @@ -8155,7 +11878,7 @@ + private static native void interrupt(int fd); +} --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./jdk/src/bsd/classes/sun/nio/ch/KQueueSelectorImpl.java Sat Jan 30 22:09:39 2016 -0800 ++++ ./jdk/src/bsd/classes/sun/nio/ch/KQueueSelectorImpl.java Mon May 09 17:18:41 2016 -0400 @@ -0,0 +1,263 @@ +/* + * Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved. @@ -8421,7 +12144,7 @@ + } +} --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./jdk/src/bsd/classes/sun/nio/ch/KQueueSelectorProvider.java Sat Jan 30 22:09:39 2016 -0800 ++++ ./jdk/src/bsd/classes/sun/nio/ch/KQueueSelectorProvider.java Mon May 09 17:18:41 2016 -0400 @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. @@ -8467,8 +12190,8 @@ + return new KQueueSelectorImpl(this); + } +} ---- ./jdk/src/bsd/doc/man/javah.1 Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/bsd/doc/man/javah.1 Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/bsd/doc/man/javah.1 Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/bsd/doc/man/javah.1 Mon May 09 17:18:41 2016 -0400 @@ -8,7 +8,7 @@ .\" .\" This code is distributed in the hope that it will be useful, but WITHOUT @@ -8487,8 +12210,8 @@ \fIWindows\fR: ---- ./jdk/src/bsd/doc/man/rmic.1 Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/bsd/doc/man/rmic.1 Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/bsd/doc/man/rmic.1 Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/bsd/doc/man/rmic.1 Mon May 09 17:18:41 2016 -0400 @@ -8,7 +8,7 @@ .\" .\" This code is distributed in the hope that it will be useful, but WITHOUT @@ -8516,8 +12239,8 @@ .SH SEE\ ALSO .TP 0.2i \(bu ---- ./jdk/src/bsd/doc/man/rmid.1 Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/bsd/doc/man/rmid.1 Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/bsd/doc/man/rmid.1 Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/bsd/doc/man/rmid.1 Mon May 09 17:18:41 2016 -0400 @@ -8,7 +8,7 @@ .\" .\" This code is distributed in the hope that it will be useful, but WITHOUT @@ -8537,7 +12260,7 @@ .TP 0.2i \(bu --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./jdk/src/bsd/native/sun/nio/ch/KQueueArrayWrapper.c Sat Jan 30 22:09:39 2016 -0800 ++++ ./jdk/src/bsd/native/sun/nio/ch/KQueueArrayWrapper.c Mon May 09 17:18:41 2016 -0400 @@ -0,0 +1,171 @@ +/* + * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved. @@ -8710,7 +12433,7 @@ + } +} + ---- ./jdk/src/macosx/classes/java/net/DefaultInterface.java Fri Dec 18 11:42:56 2015 -0800 +--- ./jdk/src/macosx/classes/java/net/DefaultInterface.java Tue Mar 22 11:33:41 2016 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ -/* @@ -8810,7 +12533,7 @@ - return (ppp != null) ? ppp : loopback; - } -} ---- ./jdk/src/macosx/classes/sun/nio/ch/DefaultSelectorProvider.java Fri Dec 18 11:42:56 2015 -0800 +--- ./jdk/src/macosx/classes/sun/nio/ch/DefaultSelectorProvider.java Tue Mar 22 11:33:41 2016 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ -/* @@ -8861,7 +12584,7 @@ - } - -} ---- ./jdk/src/macosx/classes/sun/nio/ch/KQueueArrayWrapper.java Fri Dec 18 11:42:56 2015 -0800 +--- ./jdk/src/macosx/classes/sun/nio/ch/KQueueArrayWrapper.java Tue Mar 22 11:33:41 2016 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,213 +0,0 @@ -/* @@ -9077,7 +12800,7 @@ - long timeout); - private static native void interrupt(int fd); -} ---- ./jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java Fri Dec 18 11:42:56 2015 -0800 +--- ./jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java Tue Mar 22 11:33:41 2016 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,263 +0,0 @@ -/* @@ -9343,7 +13066,7 @@ - return this; - } -} ---- ./jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorProvider.java Fri Dec 18 11:42:56 2015 -0800 +--- ./jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorProvider.java Tue Mar 22 11:33:41 2016 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -/* @@ -9390,7 +13113,7 @@ - return new KQueueSelectorImpl(this); - } -} ---- ./jdk/src/macosx/native/sun/nio/ch/KQueueArrayWrapper.c Fri Dec 18 11:42:56 2015 -0800 +--- ./jdk/src/macosx/native/sun/nio/ch/KQueueArrayWrapper.c Tue Mar 22 11:33:41 2016 -0700 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,171 +0,0 @@ -/* @@ -9564,8 +13287,8 @@ - } -} - ---- ./jdk/src/share/bin/jli_util.h Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/bin/jli_util.h Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/bin/jli_util.h Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/bin/jli_util.h Mon May 09 17:18:41 2016 -0400 @@ -87,7 +87,7 @@ #define _LARGFILE64_SOURCE #define JLI_Lseek lseek64 @@ -9575,8 +13298,8 @@ #define JLI_Lseek lseek #endif #ifdef _AIX ---- ./jdk/src/share/classes/sun/awt/FontConfiguration.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/classes/sun/awt/FontConfiguration.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/classes/sun/awt/FontConfiguration.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/classes/sun/awt/FontConfiguration.java Mon May 09 17:18:41 2016 -0400 @@ -1146,7 +1146,7 @@ */ HashMap<String, Boolean> existsMap; @@ -9586,8 +13309,8 @@ return false; } else if (existsMap == null) { existsMap = new HashMap<String, Boolean>(); ---- ./jdk/src/share/classes/sun/awt/OSInfo.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/classes/sun/awt/OSInfo.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/classes/sun/awt/OSInfo.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/classes/sun/awt/OSInfo.java Mon May 09 17:18:41 2016 -0400 @@ -39,6 +39,7 @@ WINDOWS, LINUX, @@ -9607,8 +13330,8 @@ if (osName.contains("OS X")) { return MACOSX; } ---- ./jdk/src/share/classes/sun/font/FontUtilities.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/classes/sun/font/FontUtilities.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/classes/sun/font/FontUtilities.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/classes/sun/font/FontUtilities.java Mon May 09 17:18:41 2016 -0400 @@ -48,6 +48,8 @@ public static boolean isLinux; @@ -9627,8 +13350,8 @@ isMacOSX = osName.contains("OS X"); // TODO: MacOSX String t2kStr = System.getProperty("sun.java2d.font.scaler"); ---- ./jdk/src/share/classes/sun/font/SunFontManager.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/classes/sun/font/SunFontManager.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/classes/sun/font/SunFontManager.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/classes/sun/font/SunFontManager.java Mon May 09 17:18:41 2016 -0400 @@ -418,7 +418,7 @@ * registerFonts method as on-screen these JRE fonts * always go through the T2K rasteriser. @@ -9638,8 +13361,8 @@ /* Linux font configuration uses these fonts */ registerFontDir(jreFontDirName); } ---- ./jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java Mon May 09 17:18:41 2016 -0400 @@ -1306,7 +1306,7 @@ String osName = AccessController.doPrivileged( new GetPropertyAction("os.name")); @@ -9649,8 +13372,8 @@ charset("x-COMPOUND_TEXT", "COMPOUND_TEXT", new String[] { "COMPOUND_TEXT", // JDK historical ---- ./jdk/src/share/classes/sun/print/PSPrinterJob.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/classes/sun/print/PSPrinterJob.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/classes/sun/print/PSPrinterJob.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/classes/sun/print/PSPrinterJob.java Mon May 09 17:18:41 2016 -0400 @@ -1587,9 +1587,31 @@ } @@ -9685,8 +13408,8 @@ if ((pFlags & PRINTER) != 0) { execCmd[n++] = "-P" + printer; } ---- ./jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java Mon May 09 17:18:41 2016 -0400 @@ -48,6 +48,7 @@ public Boolean run() { String osname = System.getProperty("os.name"); @@ -9695,8 +13418,8 @@ osname.contains("OS X") || osname.startsWith("Linux")) { return new Boolean(System.getProperty ---- ./jdk/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java Mon May 09 17:18:41 2016 -0400 @@ -90,6 +90,12 @@ "libgssapi_krb5.so", "libgssapi_krb5.so.2", @@ -9710,8 +13433,8 @@ } else if (osname.contains("OS X")) { gssLibs = new String[]{ "libgssapi_krb5.dylib", ---- ./jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider Mon May 09 17:18:41 2016 -0400 @@ -31,4 +31,5 @@ #[windows]sun.tools.attach.WindowsAttachProvider #[linux]sun.tools.attach.LinuxAttachProvider @@ -9719,7 +13442,7 @@ +#[bsd]sun.tools.attach.BsdAttachProvider #[aix]sun.tools.attach.AixAttachProvider --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./jdk/src/share/lib/security/java.security-bsd Sat Jan 30 22:09:39 2016 -0800 ++++ ./jdk/src/share/lib/security/java.security-bsd Mon May 09 17:18:41 2016 -0400 @@ -0,0 +1,626 @@ +# +# This is the "master security properties file". @@ -10347,8 +14070,8 @@ +# E485B576 625E7EC6 F44C42E9 A637ED6B 0BFF5CB6 F406B7ED \ +# EE386BFB 5A899FA5 AE9F2411 7C4B1FE6 49286651 ECE65381 \ +# FFFFFFFF FFFFFFFF, 2} ---- ./jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp Mon May 09 17:18:41 2016 -0400 @@ -62,7 +62,7 @@ #endif // End of ZLIB @@ -10358,8 +14081,8 @@ #define SWAP_BYTES(a) \ ((((a) << 8) & 0xff00) | 0x00ff) & (((a) >> 8) | 0xff00) #else ---- ./jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c Mon May 09 17:18:41 2016 -0400 @@ -121,7 +121,7 @@ } @@ -10387,8 +14110,8 @@ #define MAP_NATIVE2LE16(a) (a) #define MAP_NATIVE2BE16(a) MAP_SWAP16_impl(a) #define MAP_NATIVE2LE32(a) (a) ---- ./jdk/src/share/native/com/sun/media/sound/Utilities.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/com/sun/media/sound/Utilities.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/com/sun/media/sound/Utilities.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/com/sun/media/sound/Utilities.c Mon May 09 17:18:41 2016 -0400 @@ -28,7 +28,7 @@ @@ -10398,8 +14121,8 @@ return 0; #else return 1; ---- ./jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h Mon May 09 17:18:41 2016 -0400 @@ -40,7 +40,7 @@ #endif #endif @@ -10409,8 +14132,8 @@ #define __HI(x) *(1+(int*)&x) #define __LO(x) *(int*)&x #define __HIp(x) *(1+(int*)x) ---- ./jdk/src/share/native/sun/awt/image/awt_parseImage.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/image/awt_parseImage.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/image/awt_parseImage.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/image/awt_parseImage.c Mon May 09 17:18:41 2016 -0400 @@ -624,7 +624,7 @@ switch(type) { case java_awt_image_BufferedImage_TYPE_INT_ARGB: @@ -10438,8 +14161,8 @@ colorOrder[0] = 2; colorOrder[1] = 1; colorOrder[2] = 0; ---- ./jdk/src/share/native/sun/awt/medialib/awt_ImagingLib.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/awt_ImagingLib.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/awt_ImagingLib.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/awt_ImagingLib.c Mon May 09 17:18:41 2016 -0400 @@ -1176,7 +1176,7 @@ #define NLUT 8 @@ -10449,8 +14172,8 @@ #define INDEXES { 3, 2, 1, 0, 7, 6, 5, 4 } #else #define INDEXES { 0, 1, 2, 3, 4, 5, 6, 7 } ---- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c Mon May 09 17:18:41 2016 -0400 @@ -86,7 +86,7 @@ #endif /* MLIB_USE_FTOI_CLAMPING */ @@ -10490,8 +14213,8 @@ #endif /* _NO_LONGLONG */ ---- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c Mon May 09 17:18:41 2016 -0400 @@ -126,7 +126,7 @@ #define D2I(x) CLAMP_S32((x) SAT_OFF) @@ -10531,8 +14254,8 @@ #endif /* _NO_LONGLONG */ /***************************************************************/ ---- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c Mon May 09 17:18:41 2016 -0400 @@ -94,7 +94,7 @@ #define D2I(x) CLAMP_S32((x) SAT_OFF) @@ -10572,8 +14295,8 @@ #endif /* _NO_LONGLONG */ /***************************************************************/ ---- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c Mon May 09 17:18:41 2016 -0400 @@ -126,7 +126,7 @@ #define D2I(x) CLAMP_S32((x) SAT_OFF) @@ -10613,8 +14336,8 @@ #endif /* _NO_LONGLONG */ /***************************************************************/ ---- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c Mon May 09 17:18:41 2016 -0400 @@ -95,7 +95,7 @@ #define D2I(x) CLAMP_S32((x) SAT_OFF) @@ -10654,8 +14377,8 @@ #endif /* _NO_LONGLONG */ /***************************************************************/ ---- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c Mon May 09 17:18:41 2016 -0400 @@ -126,7 +126,7 @@ #define D2I(x) CLAMP_S32((x) SAT_OFF) @@ -10695,8 +14418,8 @@ #endif /* _NO_LONGLONG */ /***************************************************************/ ---- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c Mon May 09 17:18:41 2016 -0400 @@ -94,7 +94,7 @@ #define D2I(x) CLAMP_S32((x) SAT_OFF) @@ -10736,8 +14459,8 @@ #endif /* _NO_LONGLONG */ /***************************************************************/ ---- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c Mon May 09 17:18:41 2016 -0400 @@ -95,7 +95,7 @@ dst = dp[0]; if (ld_offset + size < 32) { @@ -10957,8 +14680,8 @@ } #else /* _LONGLONG */ ---- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c Mon May 09 17:18:41 2016 -0400 @@ -168,7 +168,7 @@ } @@ -11239,8 +14962,8 @@ dp[12] = t0; dp[13] = t1; dp[14] = t2; ---- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c Mon May 09 17:18:41 2016 -0400 @@ -88,7 +88,7 @@ } d64_2_f32; @@ -11392,8 +15115,8 @@ ((mlib_u32*)lh)[0] = l; ((mlib_u32*)lh)[1] = l; ((mlib_u32*)lh)[2] = l; ((mlib_u32*)lh)[3] = h; ---- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageUtils.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageUtils.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageUtils.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageUtils.c Mon May 09 17:18:41 2016 -0400 @@ -30,7 +30,7 @@ typedef union { mlib_d64 db; @@ -11403,8 +15126,8 @@ mlib_s32 int1, int0; #else mlib_s32 int0, int1; ---- ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c Mon May 09 17:18:41 2016 -0400 @@ -275,11 +275,11 @@ for (i = 0; j <= (b_size - 4); j += 4, i++) { src0 = src1; @@ -11503,8 +15226,8 @@ s0 = s1; dp += SIZE; sp += SIZE; ---- ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c Mon May 09 17:18:41 2016 -0400 @@ -120,7 +120,7 @@ } \ } @@ -12737,8 +16460,8 @@ dp[12] = t0; dp[13] = t1; dp[14] = t2; ---- ./jdk/src/share/native/sun/awt/medialib/mlib_image.h Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/mlib_image.h Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/mlib_image.h Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/mlib_image.h Mon May 09 17:18:41 2016 -0400 @@ -27,9 +27,6 @@ #ifndef MLIB_IMAGE_H #define MLIB_IMAGE_H @@ -12749,8 +16472,8 @@ #include <mlib_types.h> #include <mlib_status.h> #include <mlib_sys.h> ---- ./jdk/src/share/native/sun/awt/medialib/mlib_sys.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/awt/medialib/mlib_sys.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/awt/medialib/mlib_sys.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/awt/medialib/mlib_sys.c Mon May 09 17:18:41 2016 -0400 @@ -29,7 +29,7 @@ #ifdef MACOSX #include <unistd.h> @@ -12770,8 +16493,8 @@ #else return (void *) memalign(8, size); #endif /* _MSC_VER */ ---- ./jdk/src/share/native/sun/font/layout/LEStandalone.h Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/font/layout/LEStandalone.h Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/font/layout/LEStandalone.h Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/font/layout/LEStandalone.h Mon May 09 17:18:41 2016 -0400 @@ -136,7 +136,7 @@ #define U_CAPI extern "C" @@ -12781,8 +16504,8 @@ #define U_IS_BIG_ENDIAN 0 #endif #endif ---- ./jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c Mon May 09 17:18:41 2016 -0400 @@ -182,7 +182,7 @@ return 0L; } @@ -12792,8 +16515,8 @@ /* Reversing data packed into int for LE archs */ if (isInIntPacked) { inFormatter ^= DOSWAP_SH(1); ---- ./jdk/src/share/native/sun/management/DiagnosticCommandImpl.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/share/native/sun/management/DiagnosticCommandImpl.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/share/native/sun/management/DiagnosticCommandImpl.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/share/native/sun/management/DiagnosticCommandImpl.c Mon May 09 17:18:41 2016 -0400 @@ -27,6 +27,7 @@ #include <jni.h> #include "management.h" @@ -12802,8 +16525,8 @@ JNIEXPORT void JNICALL Java_sun_management_DiagnosticCommandImpl_setNotificationEnabled (JNIEnv *env, jobject dummy, jboolean enabled) { ---- ./jdk/src/solaris/back/util_md.h Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/back/util_md.h Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/back/util_md.h Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/back/util_md.h Mon May 09 17:18:41 2016 -0400 @@ -51,7 +51,7 @@ /* On little endian machines, convert java big endian numbers. */ @@ -12813,8 +16536,8 @@ #define HOST_TO_JAVA_CHAR(x) (((x & 0xff) << 8) | ((x >> 8) & (0xff))) #define HOST_TO_JAVA_SHORT(x) (((x & 0xff) << 8) | ((x >> 8) & (0xff))) ---- ./jdk/src/solaris/bin/ergo_i586.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/bin/ergo_i586.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/bin/ergo_i586.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/bin/ergo_i586.c Mon May 09 17:18:41 2016 -0400 @@ -106,7 +106,7 @@ #endif /* __solaris__ */ @@ -12833,8 +16556,8 @@ /* * Routines shared by solaris-i586 and linux-i586. ---- ./jdk/src/solaris/bin/java_md_solinux.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/bin/java_md_solinux.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/bin/java_md_solinux.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/bin/java_md_solinux.c Mon May 09 17:18:41 2016 -0400 @@ -35,6 +35,9 @@ #include <sys/stat.h> #include <unistd.h> @@ -12926,8 +16649,8 @@ } int ---- ./jdk/src/solaris/bin/java_md_solinux.h Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/bin/java_md_solinux.h Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/bin/java_md_solinux.h Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/bin/java_md_solinux.h Mon May 09 17:18:41 2016 -0400 @@ -26,17 +26,26 @@ #ifndef JAVA_MD_SOLINUX_H #define JAVA_MD_SOLINUX_H @@ -12968,8 +16691,8 @@ #else /* !__solaris__, i.e. Linux, AIX,.. */ static const char *system_dir = "/usr/java"; static const char *user_dir = "/java"; ---- ./jdk/src/solaris/classes/java/lang/UNIXProcess.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/classes/java/lang/UNIXProcess.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/classes/java/lang/UNIXProcess.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/classes/java/lang/UNIXProcess.java Mon May 09 17:18:41 2016 -0400 @@ -82,6 +82,8 @@ LINUX(LaunchMechanism.VFORK, LaunchMechanism.FORK), @@ -13017,8 +16740,8 @@ case BSD: case AIX: // There is a risk that pid will be recycled, causing us to ---- ./jdk/src/solaris/classes/sun/awt/X11FontManager.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/classes/sun/awt/X11FontManager.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/classes/sun/awt/X11FontManager.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/classes/sun/awt/X11FontManager.java Mon May 09 17:18:41 2016 -0400 @@ -234,7 +234,7 @@ if (fontID != null) { fileName = (String)fontNameMap.get(fontID); @@ -13046,8 +16769,8 @@ (!mFontConfig.foundOsSpecificFile() || !mFontConfig.fontFilesArePresent()) || (FontUtilities.isSolaris && !mFontConfig.fontFilesArePresent()))) { ---- ./jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties Mon May 09 17:18:41 2016 -0400 @@ -26,134 +26,134 @@ # Version @@ -13310,8 +17033,8 @@ +filename.NanumGothic_Bold=/usr/local/lib/X11/fonts/nanum-ttf/NanumGothicBold.ttf +filename.NanumMyeongjo=/usr/local/lib/X11/fonts/nanum-ttf/NanumMyeongjo.ttf +filename.NanumMyeongjo_Bold=/usr/local/lib/X11/fonts/nanum-ttf/NanumMyeongjoBold.ttf ---- ./jdk/src/solaris/classes/sun/net/PortConfig.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/classes/sun/net/PortConfig.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/classes/sun/net/PortConfig.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/classes/sun/net/PortConfig.java Mon May 09 17:18:41 2016 -0400 @@ -52,7 +52,7 @@ } else if (os.startsWith("SunOS")) { defaultLower = 32768; @@ -13321,8 +17044,8 @@ defaultLower = 49152; defaultUpper = 65535; } else if (os.startsWith("AIX")) { ---- ./jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java Mon May 09 17:18:41 2016 -0400 @@ -66,7 +66,7 @@ return createProvider("sun.nio.ch.SolarisAsynchronousChannelProvider"); if (osname.equals("Linux")) @@ -13332,8 +17055,8 @@ return createProvider("sun.nio.ch.BsdAsynchronousChannelProvider"); if (osname.equals("AIX")) return createProvider("sun.nio.ch.AixAsynchronousChannelProvider"); ---- ./jdk/src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java Mon May 09 17:18:41 2016 -0400 @@ -25,10 +25,14 @@ package sun.nio.fs; @@ -13367,8 +17090,8 @@ + new MagicFileTypeDetector()); + } } ---- ./jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java Mon May 09 17:18:41 2016 -0400 @@ -61,6 +61,8 @@ return createProvider("sun.nio.fs.SolarisFileSystemProvider"); if (osname.equals("Linux")) @@ -13378,8 +17101,8 @@ if (osname.contains("OS X")) return createProvider("sun.nio.fs.MacOSXFileSystemProvider"); if (osname.equals("AIX")) ---- ./jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java Mon May 09 17:18:41 2016 -0400 @@ -161,6 +161,7 @@ static boolean isBSD() { @@ -13403,8 +17126,8 @@ "/usr/sbin/lpc status all | grep -E '^[ 0-9a-zA-Z_-]*@' | awk -F'@' '{print $1}' | sort" }; ---- ./jdk/src/solaris/classes/sun/tools/attach/BsdVirtualMachine.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/classes/sun/tools/attach/BsdVirtualMachine.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/classes/sun/tools/attach/BsdVirtualMachine.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/classes/sun/tools/attach/BsdVirtualMachine.java Mon May 09 17:18:41 2016 -0400 @@ -273,7 +273,7 @@ try { b = s.getBytes("UTF-8"); @@ -13414,8 +17137,26 @@ } BsdVirtualMachine.write(fd, b, 0, b.length); } ---- ./jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_PCM.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_PCM.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_LinuxOS_ALSA_PCM.c Mon May 09 17:18:41 2016 -0400 +@@ -672,6 +672,7 @@ + return -1; + } + return 1; ++#ifdef ESTRPIPE + } else if (err == -ESTRPIPE) { + TRACE0("xrun_recovery: suspended.\n"); + ret = snd_pcm_resume(info->handle); +@@ -687,6 +688,7 @@ + return -1; + } + return 1; ++#endif + } else if (err == -EAGAIN) { + TRACE0("xrun_recovery: EAGAIN try again flag.\n"); + return 0; +--- ./jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_PCM.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_PCM.c Mon May 09 17:18:41 2016 -0400 @@ -140,7 +140,7 @@ (float) ((int) sr->samp_rates[s]), DAUDIO_PCM, /* encoding - let's only do PCM */ @@ -13425,8 +17166,8 @@ FALSE /* little endian */ #else (bits[b] > 8)?TRUE:FALSE /* big endian */ ---- ./jdk/src/solaris/native/common/jni_util_md.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/common/jni_util_md.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/common/jni_util_md.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/common/jni_util_md.c Mon May 09 17:18:41 2016 -0400 @@ -28,6 +28,7 @@ #include "jni.h" #include "jni_util.h" @@ -13435,8 +17176,8 @@ jstring nativeNewStringPlatform(JNIEnv *env, const char *str) { return NULL; ---- ./jdk/src/solaris/native/java/lang/java_props_md.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/java/lang/java_props_md.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/java/lang/java_props_md.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/java/lang/java_props_md.c Mon May 09 17:18:41 2016 -0400 @@ -151,7 +151,7 @@ lc = setlocale(cat, NULL); #endif @@ -13471,8 +17212,8 @@ /* user properties */ { ---- ./jdk/src/solaris/native/java/net/Inet4AddressImpl.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/java/net/Inet4AddressImpl.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/java/net/Inet4AddressImpl.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/java/net/Inet4AddressImpl.c Mon May 09 17:18:41 2016 -0400 @@ -36,20 +36,13 @@ #include <stdlib.h> #include <ctype.h> @@ -13513,8 +17254,8 @@ error = getaddrinfo(hostname, NULL, &hints, &res); if (error) { ---- ./jdk/src/solaris/native/java/net/Inet6AddressImpl.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/java/net/Inet6AddressImpl.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/java/net/Inet6AddressImpl.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/java/net/Inet6AddressImpl.c Mon May 09 17:18:41 2016 -0400 @@ -33,7 +33,7 @@ #include <strings.h> #include <stdlib.h> @@ -13556,8 +17297,8 @@ #ifdef AF_INET6 /* Try once, with our static buffer. */ memset(&hints, 0, sizeof(hints)); ---- ./jdk/src/solaris/native/java/net/NetworkInterface.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/java/net/NetworkInterface.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/java/net/NetworkInterface.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/java/net/NetworkInterface.c Mon May 09 17:18:41 2016 -0400 @@ -67,14 +67,19 @@ #include <sys/param.h> #include <sys/ioctl.h> @@ -13580,8 +17321,8 @@ #include "jvm.h" #include "jni_util.h" ---- ./jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c Mon May 09 17:18:41 2016 -0400 @@ -2210,7 +2210,7 @@ } } @@ -13591,8 +17332,8 @@ if (family == AF_INET6 && index == 0) { index = getDefaultScopeID(env); } ---- ./jdk/src/solaris/native/java/net/bsd_close.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/java/net/bsd_close.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/java/net/bsd_close.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/java/net/bsd_close.c Mon May 09 17:18:41 2016 -0400 @@ -316,11 +316,8 @@ } @@ -13607,8 +17348,8 @@ } int NET_Connect(int s, struct sockaddr *addr, int addrlen) { ---- ./jdk/src/solaris/native/java/net/net_util_md.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/java/net/net_util_md.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/java/net/net_util_md.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/java/net/net_util_md.c Mon May 09 17:18:41 2016 -0400 @@ -45,6 +45,10 @@ #endif #endif @@ -13629,8 +17370,8 @@ static jclass ni_class = NULL; static jfieldID ni_defaultIndexID; if (ni_class == NULL) { ---- ./jdk/src/solaris/native/java/net/net_util_md.h Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/java/net/net_util_md.h Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/java/net/net_util_md.h Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/java/net/net_util_md.h Mon May 09 17:18:41 2016 -0400 @@ -47,7 +47,7 @@ close subroutine does not return until the select call returns. ... @@ -13640,8 +17381,8 @@ extern int NET_Timeout(int s, long timeout); extern int NET_Read(int s, void* buf, size_t len); extern int NET_RecvFrom(int s, void *buf, int len, unsigned int flags, ---- ./jdk/src/solaris/native/java/util/TimeZone_md.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/java/util/TimeZone_md.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/java/util/TimeZone_md.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/java/util/TimeZone_md.c Mon May 09 17:18:41 2016 -0400 @@ -56,7 +56,11 @@ #endif @@ -13705,8 +17446,8 @@ } -#endif /* MACOSX */ +#endif /* _ALLBSD_SOURCE */ ---- ./jdk/src/solaris/native/sun/awt/awt_Font.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/awt/awt_Font.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/awt/awt_Font.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/awt/awt_Font.c Mon May 09 17:18:41 2016 -0400 @@ -255,7 +255,7 @@ if (strcmp(style, "regular") == 0) { altstyle = "roman"; @@ -13716,8 +17457,8 @@ if (!strcmp(family, "lucidasans")) { family = "lucida"; } ---- ./jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c Mon May 09 17:18:41 2016 -0400 @@ -121,7 +121,7 @@ */ @@ -13802,8 +17543,8 @@ #endif /* HEADLESS */ return point; } ---- ./jdk/src/solaris/native/sun/awt/awt_InputMethod.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/awt/awt_InputMethod.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/awt/awt_InputMethod.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/awt/awt_InputMethod.c Mon May 09 17:18:41 2016 -0400 @@ -52,7 +52,7 @@ XIMPreeditDrawCallbackStruct *); static void PreeditCaretCallback(XIC, XPointer, @@ -14023,8 +17764,8 @@ AWT_LOCK(); adjustStatusWindow(window); AWT_UNLOCK(); ---- ./jdk/src/solaris/native/sun/awt/awt_Robot.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/awt/awt_Robot.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/awt/awt_Robot.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/awt/awt_Robot.c Mon May 09 17:18:41 2016 -0400 @@ -45,7 +45,7 @@ #include "wsutils.h" #include "list.h" @@ -14034,8 +17775,8 @@ #include <sys/socket.h> #endif ---- ./jdk/src/solaris/native/sun/awt/extutil.h Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/awt/extutil.h Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/awt/extutil.h Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/awt/extutil.h Mon May 09 17:18:41 2016 -0400 @@ -58,7 +58,7 @@ */ /* $XFree86: xc/include/extensions/extutil.h,v 1.5 2001/01/17 17:53:20 dawes Exp $ */ @@ -14051,8 +17792,8 @@ -#endif /* __linux__ || MACOSX */ +#endif /* __linux__ || _ALLBSD_SOURCE */ ---- ./jdk/src/solaris/native/sun/awt/fontpath.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/awt/fontpath.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/awt/fontpath.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/awt/fontpath.c Mon May 09 17:18:41 2016 -0400 @@ -23,9 +23,9 @@ * questions. */ @@ -14132,7 +17873,7 @@ } #endif } -@@ -1233,7 +1248,7 @@ +@@ -1231,7 +1246,7 @@ */ if (fontformat != NULL && (strcmp((char*)fontformat, "TrueType") != 0) @@ -14141,8 +17882,8 @@ && (strcmp((char*)fontformat, "Type 1") != 0) #endif ) { ---- ./jdk/src/solaris/native/sun/java2d/j2d_md.h Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/java2d/j2d_md.h Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/java2d/j2d_md.h Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/java2d/j2d_md.h Mon May 09 17:18:41 2016 -0400 @@ -28,11 +28,11 @@ #include <sys/types.h> @@ -14158,8 +17899,8 @@ typedef unsigned char jubyte; typedef unsigned short jushort; ---- ./jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c Mon May 09 17:18:41 2016 -0400 @@ -63,9 +63,6 @@ * MLIB_EDGE_SRC_PADDED */ @@ -14264,8 +18005,8 @@ LOGIC(da[0], dtmp, dtmp1, |); } else { /* aligned */ ---- ./jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c Mon May 09 17:18:41 2016 -0400 @@ -804,7 +804,7 @@ static int initialized; static int usevis = JNI_TRUE; @@ -14276,7 +18017,7 @@ #else # define ULTRA_CHIP "sun4u" --- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ ./jdk/src/solaris/native/sun/management/BsdOperatingSystem.c Sat Jan 30 22:09:39 2016 -0800 ++++ ./jdk/src/solaris/native/sun/management/BsdOperatingSystem.c Mon May 09 17:18:41 2016 -0400 @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved. @@ -14320,8 +18061,8 @@ +{ + return (jdouble) -1; +} ---- ./jdk/src/solaris/native/sun/management/OperatingSystemImpl.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/management/OperatingSystemImpl.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/management/OperatingSystemImpl.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/management/OperatingSystemImpl.c Mon May 09 17:18:41 2016 -0400 @@ -56,6 +56,9 @@ #include <limits.h> #include <stdlib.h> @@ -14476,8 +18217,8 @@ return -1; } ---- ./jdk/src/solaris/native/sun/net/portconfig.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/net/portconfig.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/net/portconfig.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/net/portconfig.c Mon May 09 17:18:41 2016 -0400 @@ -67,6 +67,24 @@ range->lower = net_getParam("/dev/tcp", "tcp_smallest_anon_port"); return 0; @@ -14503,8 +18244,8 @@ #elif defined(_ALLBSD_SOURCE) { int ret; ---- ./jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h Mon May 09 17:18:41 2016 -0400 @@ -67,7 +67,7 @@ @@ -14553,8 +18294,8 @@ jboolean loadSocketExtensionFuncs(JNIEnv* env); #endif /* !SUN_NIO_CH_SCTP_H */ ---- ./jdk/src/solaris/native/sun/nio/ch/sctp/SctpNet.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/nio/ch/sctp/SctpNet.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/nio/ch/sctp/SctpNet.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/nio/ch/sctp/SctpNet.c Mon May 09 17:18:41 2016 -0400 @@ -58,6 +58,7 @@ */ jboolean loadSocketExtensionFuncs @@ -14571,8 +18312,8 @@ funcsLoaded = JNI_TRUE; return JNI_TRUE; ---- ./jdk/src/solaris/native/sun/nio/fs/MagicFileTypeDetector.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/nio/fs/MagicFileTypeDetector.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/nio/fs/MagicFileTypeDetector.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/nio/fs/MagicFileTypeDetector.c Mon May 09 17:18:41 2016 -0400 @@ -31,6 +31,12 @@ #include <dlfcn.h> #include <string.h> @@ -14595,8 +18336,8 @@ if (magic_handle == NULL) { return JNI_FALSE; } ---- ./jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/security/pkcs11/j2secmod_md.c Mon May 09 17:18:41 2016 -0400 @@ -54,7 +54,7 @@ } @@ -14606,8 +18347,8 @@ void *hModule = dlopen(libName, RTLD_LAZY); #else void *hModule = dlopen(libName, RTLD_NOLOAD); ---- ./jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c Mon May 09 17:18:41 2016 -0400 @@ -37,7 +37,9 @@ #include <sys/types.h> #include <sys/socket.h> @@ -14618,8 +18359,8 @@ #include <sys/un.h> #include <fcntl.h> ---- ./jdk/src/solaris/native/sun/xawt/XWindow.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/solaris/native/sun/xawt/XWindow.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/solaris/native/sun/xawt/XWindow.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/solaris/native/sun/xawt/XWindow.c Mon May 09 17:18:41 2016 -0400 @@ -886,7 +886,7 @@ { KeySym originalKeysym = *keysym; @@ -14629,8 +18370,8 @@ /* The following code on Linux will cause the keypad keys * not to echo on JTextField when the NumLock is on. The * keysyms will be 0, because the last parameter 2 is not defined. ---- ./jdk/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_DirectSound.cpp Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_DirectSound.cpp Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_DirectSound.cpp Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_DirectSound.cpp Mon May 09 17:18:41 2016 -0400 @@ -308,7 +308,7 @@ DAUDIO_PCM, (bitsArray[bitIndex]==8)?FALSE:TRUE, /* signed */ diff --git a/java/openjdk8/files/patch-bsd-test b/java/openjdk8/files/patch-bsd-test index cf204bf46fee..b55dcccc477f 100644 --- a/java/openjdk8/files/patch-bsd-test +++ b/java/openjdk8/files/patch-bsd-test @@ -1,5 +1,5 @@ ---- ./hotspot/test/compiler/5091921/Test7005594.sh Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/test/compiler/5091921/Test7005594.sh Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/test/compiler/5091921/Test7005594.sh Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/test/compiler/5091921/Test7005594.sh Mon May 09 17:15:53 2016 -0400 @@ -60,6 +60,15 @@ # Windows/MKS MEM=`"$ROOTDIR/mksnt/sysinf" memory -v | grep "Total Physical Memory: " | sed 's/Total Physical Memory: *//g'` @@ -16,8 +16,8 @@ else echo "Unable to determine amount of physical memory on the machine" fi ---- ./hotspot/test/compiler/6894807/Test6894807.sh Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/test/compiler/6894807/Test6894807.sh Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/test/compiler/6894807/Test6894807.sh Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/test/compiler/6894807/Test6894807.sh Mon May 09 17:15:53 2016 -0400 @@ -21,7 +21,7 @@ # set platform-dependent variables OS=`uname -s` @@ -27,8 +27,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./hotspot/test/runtime/7110720/Test7110720.sh Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/test/runtime/7110720/Test7110720.sh Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/test/runtime/7110720/Test7110720.sh Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/test/runtime/7110720/Test7110720.sh Mon May 09 17:15:53 2016 -0400 @@ -28,7 +28,7 @@ # set platform-dependent variables OS=`uname -s` @@ -38,8 +38,8 @@ FS="/" RM=/bin/rm CP=/bin/cp ---- ./hotspot/test/runtime/XCheckJniJsig/XCheckJSig.java Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/test/runtime/XCheckJniJsig/XCheckJSig.java Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/test/runtime/XCheckJniJsig/XCheckJSig.java Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/test/runtime/XCheckJniJsig/XCheckJSig.java Mon May 09 17:15:53 2016 -0400 @@ -37,8 +37,8 @@ public static void main(String args[]) throws Throwable { @@ -51,8 +51,8 @@ return; } ---- ./hotspot/test/test_env.sh Fri Dec 18 11:38:02 2015 -0800 -+++ ./hotspot/test/test_env.sh Mon Jan 25 21:17:47 2016 -0800 +--- ./hotspot/test/test_env.sh Tue Mar 22 11:05:52 2016 -0700 ++++ ./hotspot/test/test_env.sh Mon May 09 17:15:53 2016 -0400 @@ -53,7 +53,7 @@ # set platform-dependent variables OS=`uname -s` @@ -62,8 +62,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/com/sun/corba/5036554/TestCorbaBug.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/com/sun/corba/5036554/TestCorbaBug.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/com/sun/corba/5036554/TestCorbaBug.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/com/sun/corba/5036554/TestCorbaBug.sh Mon May 09 17:18:41 2016 -0400 @@ -48,7 +48,7 @@ # set platform-dependent variables OS=`uname -s` @@ -73,8 +73,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/com/sun/corba/cachedSocket/7056731.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/com/sun/corba/cachedSocket/7056731.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/com/sun/corba/cachedSocket/7056731.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/com/sun/corba/cachedSocket/7056731.sh Mon May 09 17:18:41 2016 -0400 @@ -31,7 +31,7 @@ OS=`uname -s` @@ -84,8 +84,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/com/sun/jdi/ImmutableResourceTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/com/sun/jdi/ImmutableResourceTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/com/sun/jdi/ImmutableResourceTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/com/sun/jdi/ImmutableResourceTest.sh Mon May 09 17:18:41 2016 -0400 @@ -56,7 +56,7 @@ OS=`uname -s` @@ -95,8 +95,8 @@ PATHSEP=":" ;; ---- ./jdk/test/com/sun/jdi/JITDebug.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/com/sun/jdi/JITDebug.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/com/sun/jdi/JITDebug.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/com/sun/jdi/JITDebug.sh Mon May 09 17:18:41 2016 -0400 @@ -63,7 +63,7 @@ OS=`uname -s` export TRANSPORT_METHOD @@ -106,8 +106,8 @@ PATHSEP=":" TRANSPORT_METHOD=dt_socket ;; ---- ./jdk/test/com/sun/jdi/PrivateTransportTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/com/sun/jdi/PrivateTransportTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/com/sun/jdi/PrivateTransportTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/com/sun/jdi/PrivateTransportTest.sh Mon May 09 17:18:41 2016 -0400 @@ -106,7 +106,7 @@ xx=`find ${jreloc}/lib -name libdt_socket.so` libloc=`dirname ${xx}` @@ -117,9 +117,9 @@ libloc=${jreloc}/lib ;; Windows*) ---- ./jdk/test/com/sun/jdi/ShellScaffold.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/com/sun/jdi/ShellScaffold.sh Sat Jan 30 22:09:39 2016 -0800 -@@ -295,7 +295,7 @@ +--- ./jdk/test/com/sun/jdi/ShellScaffold.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/com/sun/jdi/ShellScaffold.sh Mon May 09 17:18:41 2016 -0400 +@@ -284,7 +284,7 @@ psCmd=ps jstack=jstack.exe ;; @@ -128,8 +128,8 @@ transport=dt_socket address= devnull=/dev/null ---- ./jdk/test/com/sun/jdi/connect/spi/JdiLoadedByCustomLoader.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/com/sun/jdi/connect/spi/JdiLoadedByCustomLoader.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/com/sun/jdi/connect/spi/JdiLoadedByCustomLoader.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/com/sun/jdi/connect/spi/JdiLoadedByCustomLoader.sh Mon May 09 17:18:41 2016 -0400 @@ -45,7 +45,7 @@ OS=`uname -s` @@ -139,8 +139,8 @@ PS=":" ;; Windows* | CYGWIN*) ---- ./jdk/test/java/awt/JAWT/JAWT.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/awt/JAWT/JAWT.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/awt/JAWT/JAWT.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/awt/JAWT/JAWT.sh Mon May 09 17:18:41 2016 -0400 @@ -62,6 +62,23 @@ MAKE="make" LD_LIBRARY_PATH="." @@ -174,8 +174,8 @@ exit 0; ;; * ) ---- ./jdk/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/awt/Toolkit/AutoShutdown/ShowExitTest/ShowExitTest.sh Mon May 09 17:18:41 2016 -0400 @@ -86,6 +86,14 @@ TMP="/tmp" ;; @@ -191,8 +191,8 @@ Windows* ) VAR="A different value for Win32" DEFAULT_JDK="C:/Program Files/Java/jdk1.8.0" ---- ./jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/awt/Toolkit/Headless/WrappedToolkitTest/WrappedToolkitTest.sh Mon May 09 17:18:41 2016 -0400 @@ -59,7 +59,7 @@ # Checking for proper OS OS=`uname -s` @@ -202,8 +202,8 @@ FILESEP="/" ;; ---- ./jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/awt/appletviewer/IOExceptionIfEncodedURLTest/IOExceptionIfEncodedURLTest.sh Mon May 09 17:18:41 2016 -0400 @@ -119,6 +119,14 @@ TMP="/tmp" ;; @@ -219,8 +219,8 @@ Windows* ) VAR="A different value for Win32" DEFAULT_JDK="C:/Program Files/Java/jdk1.8.0" ---- ./jdk/test/java/io/File/GetXSpace.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/io/File/GetXSpace.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/io/File/GetXSpace.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/io/File/GetXSpace.java Mon May 09 17:18:41 2016 -0400 @@ -51,7 +51,7 @@ private static final String dfFormat; static { @@ -230,8 +230,8 @@ // FileSystem Total Used Available Use% MountedOn dfFormat = "([^\\s]+)\\s+(\\d+)\\s+\\d+\\s+(\\d+)\\s+\\d+%\\s+([^\\s]+)"; } else if (name.startsWith("Windows")) { ---- ./jdk/test/java/io/File/GetXSpace.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/io/File/GetXSpace.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/io/File/GetXSpace.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/io/File/GetXSpace.sh Mon May 09 17:18:41 2016 -0400 @@ -26,7 +26,7 @@ # set platform-dependent variable OS=`uname -s` @@ -241,8 +241,8 @@ Windows_98 ) return ;; Windows* ) SID=`sid`; TMP="c:/temp" ;; * ) ---- ./jdk/test/java/io/Serializable/evolution/RenamePackage/run.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/io/Serializable/evolution/RenamePackage/run.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/io/Serializable/evolution/RenamePackage/run.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/io/Serializable/evolution/RenamePackage/run.sh Mon May 09 17:18:41 2016 -0400 @@ -45,7 +45,7 @@ # Need to determine the classpath separator and filepath separator based on the # operating system. @@ -252,8 +252,8 @@ PS=":" ;; Windows* | CYGWIN* ) PS=";" ;; ---- ./jdk/test/java/io/Serializable/serialver/classpath/run.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/io/Serializable/serialver/classpath/run.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/io/Serializable/serialver/classpath/run.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/io/Serializable/serialver/classpath/run.sh Mon May 09 17:18:41 2016 -0400 @@ -47,7 +47,7 @@ # set platform-dependent variables OS=`uname -s` @@ -263,8 +263,8 @@ PS=":" ;; Windows* | CYGWIN* ) PS=";" ;; ---- ./jdk/test/java/io/Serializable/serialver/nested/run.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/io/Serializable/serialver/nested/run.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/io/Serializable/serialver/nested/run.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/io/Serializable/serialver/nested/run.sh Mon May 09 17:18:41 2016 -0400 @@ -47,7 +47,7 @@ # set platform-dependent variables OS=`uname -s` @@ -274,8 +274,8 @@ PS=":" ;; Windows* | CYGWIN* ) PS=";" ;; ---- ./jdk/test/java/lang/ClassLoader/Assert.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/lang/ClassLoader/Assert.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/lang/ClassLoader/Assert.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/lang/ClassLoader/Assert.sh Mon May 09 17:18:41 2016 -0400 @@ -25,7 +25,7 @@ OS=`uname -s` @@ -285,8 +285,8 @@ FS="/" CHMOD="${FS}bin${FS}chmod" ;; ---- ./jdk/test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/lang/ClassLoader/deadlock/TestCrossDelegate.sh Mon May 09 17:18:41 2016 -0400 @@ -55,7 +55,7 @@ Linux ) FS="/" @@ -296,8 +296,8 @@ FS="/" ;; AIX ) ---- ./jdk/test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/lang/ClassLoader/deadlock/TestOneWayDelegate.sh Mon May 09 17:18:41 2016 -0400 @@ -60,7 +60,7 @@ Linux ) FS="/" @@ -307,8 +307,8 @@ FS="/" ;; AIX ) ---- ./jdk/test/java/lang/ProcessBuilder/DestroyTest.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/lang/ProcessBuilder/DestroyTest.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/lang/ProcessBuilder/DestroyTest.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/lang/ProcessBuilder/DestroyTest.java Mon May 09 17:18:41 2016 -0400 @@ -148,6 +148,9 @@ } else if (osName.startsWith("Linux") == true) { return new UnixTest( @@ -319,8 +319,8 @@ } else if (osName.startsWith("Mac OS")) { return new MacTest( File.createTempFile("ProcessTrap-", ".sh",null)); ---- ./jdk/test/java/lang/ProcessBuilder/Zombies.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/lang/ProcessBuilder/Zombies.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/lang/ProcessBuilder/Zombies.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/lang/ProcessBuilder/Zombies.java Mon May 09 17:18:41 2016 -0400 @@ -34,7 +34,7 @@ static final String os = System.getProperty("os.name"); @@ -330,8 +330,8 @@ "/usr/bin/true" : "/bin/true"; public static void main(String[] args) throws Throwable { ---- ./jdk/test/java/lang/StringCoding/CheckEncodings.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/lang/StringCoding/CheckEncodings.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/lang/StringCoding/CheckEncodings.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/lang/StringCoding/CheckEncodings.sh Mon May 09 17:18:41 2016 -0400 @@ -30,7 +30,7 @@ # set platform-dependent variables OS=`uname -s` @@ -341,8 +341,8 @@ Windows* | CYGWIN* ) echo "Passed"; exit 0 ;; * ) echo "Unrecognized system!" ; exit 1 ;; ---- ./jdk/test/java/lang/annotation/loaderLeak/LoaderLeak.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/lang/annotation/loaderLeak/LoaderLeak.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/lang/annotation/loaderLeak/LoaderLeak.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/lang/annotation/loaderLeak/LoaderLeak.sh Mon May 09 17:18:41 2016 -0400 @@ -48,7 +48,7 @@ # set platform-dependent variables OS=`uname -s` @@ -352,8 +352,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/java/lang/instrument/MakeJAR2.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/lang/instrument/MakeJAR2.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/lang/instrument/MakeJAR2.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/lang/instrument/MakeJAR2.sh Mon May 09 17:18:41 2016 -0400 @@ -55,7 +55,7 @@ OS=`uname -s` @@ -363,8 +363,8 @@ PATHSEP=":" ;; ---- ./jdk/test/java/lang/instrument/appendToClassLoaderSearch/CommonSetup.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/lang/instrument/appendToClassLoaderSearch/CommonSetup.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/lang/instrument/appendToClassLoaderSearch/CommonSetup.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/lang/instrument/appendToClassLoaderSearch/CommonSetup.sh Mon May 09 17:18:41 2016 -0400 @@ -43,7 +43,7 @@ PS=":" FS="/" @@ -374,8 +374,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/lang/management/OperatingSystemMXBean/GetSystemLoadAverage.java Mon May 09 17:18:41 2016 -0400 @@ -79,8 +79,10 @@ System.out.println("Test passed."); } @@ -397,8 +397,8 @@ ? output.split(" ") : output.split(","); double expected = Double.parseDouble(lavg[0]); ---- ./jdk/test/java/lang/management/OperatingSystemMXBean/TestSystemLoadAvg.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/lang/management/OperatingSystemMXBean/TestSystemLoadAvg.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/lang/management/OperatingSystemMXBean/TestSystemLoadAvg.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/lang/management/OperatingSystemMXBean/TestSystemLoadAvg.sh Mon May 09 17:18:41 2016 -0400 @@ -61,7 +61,7 @@ while true; do echo "Run $i: TestSystemLoadAvg" @@ -408,8 +408,8 @@ runOne GetSystemLoadAverage ;; * ) ---- ./jdk/test/java/net/Authenticator/B4933582.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/net/Authenticator/B4933582.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/net/Authenticator/B4933582.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/net/Authenticator/B4933582.sh Mon May 09 17:18:41 2016 -0400 @@ -26,7 +26,7 @@ OS=`uname -s` @@ -419,8 +419,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/java/net/DatagramSocket/Send12k.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/net/DatagramSocket/Send12k.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/net/DatagramSocket/Send12k.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/net/DatagramSocket/Send12k.java Mon May 09 17:18:41 2016 -0400 @@ -36,9 +36,10 @@ public static void main(String args[]) throws Exception { @@ -434,8 +434,8 @@ SEND_SIZE = 16 * 576; } else { SEND_SIZE = 16 * 1024; ---- ./jdk/test/java/net/DatagramSocket/SendDatagramToBadAddress.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/net/DatagramSocket/SendDatagramToBadAddress.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/net/DatagramSocket/SendDatagramToBadAddress.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/net/DatagramSocket/SendDatagramToBadAddress.java Mon May 09 17:18:41 2016 -0400 @@ -45,6 +45,8 @@ return (true); if (p.getProperty ("os.name").equals ("Linux")) @@ -445,8 +445,8 @@ if (p.getProperty ("os.name").startsWith ("Mac OS")) return (true); // Check for specific Solaris version from here ---- ./jdk/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/net/DatagramSocket/SetDatagramSocketImplFactory/ADatagramSocket.sh Mon May 09 17:18:41 2016 -0400 @@ -27,11 +27,7 @@ # set platform-dependent variables OS=`uname -s` @@ -460,8 +460,8 @@ PATHSEP=":" FILESEP="/" ;; ---- ./jdk/test/java/net/Socket/OldSocketImpl.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/net/Socket/OldSocketImpl.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/net/Socket/OldSocketImpl.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/net/Socket/OldSocketImpl.sh Mon May 09 17:18:41 2016 -0400 @@ -28,7 +28,7 @@ OS=`uname -s` @@ -471,8 +471,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/java/net/URL/B5086147.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/net/URL/B5086147.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/net/URL/B5086147.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/net/URL/B5086147.sh Mon May 09 17:18:41 2016 -0400 @@ -26,7 +26,7 @@ OS=`uname -s` @@ -482,8 +482,8 @@ exit 0 ;; CYGWIN* ) ---- ./jdk/test/java/net/URLClassLoader/B5077773.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/net/URLClassLoader/B5077773.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/net/URLClassLoader/B5077773.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/net/URLClassLoader/B5077773.sh Mon May 09 17:18:41 2016 -0400 @@ -34,11 +34,7 @@ OS=`uname -s` @@ -497,8 +497,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/java/net/URLClassLoader/sealing/checksealed.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/net/URLClassLoader/sealing/checksealed.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/net/URLClassLoader/sealing/checksealed.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/net/URLClassLoader/sealing/checksealed.sh Mon May 09 17:18:41 2016 -0400 @@ -27,11 +27,7 @@ OS=`uname -s` @@ -512,8 +512,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/java/net/URLConnection/6212146/test.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/net/URLConnection/6212146/test.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/net/URLConnection/6212146/test.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/net/URLConnection/6212146/test.sh Mon May 09 17:18:41 2016 -0400 @@ -33,11 +33,7 @@ OS=`uname -s` @@ -527,8 +527,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/java/nio/channels/FileChannel/Transfer.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/nio/channels/FileChannel/Transfer.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/nio/channels/FileChannel/Transfer.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/nio/channels/FileChannel/Transfer.java Mon May 09 17:18:41 2016 -0400 @@ -228,7 +228,7 @@ // Windows and Linux can't handle the really large file sizes for a // truncate or a positional write required by the test for 4563125 @@ -538,8 +538,8 @@ return; File source = File.createTempFile("blah", null); source.deleteOnExit(); ---- ./jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Launcher.c Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Launcher.c Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Launcher.c Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/nio/channels/spi/SelectorProvider/inheritedChannel/Launcher.c Mon May 09 17:18:41 2016 -0400 @@ -17,6 +17,12 @@ #include "Launcher.h" @@ -562,8 +562,8 @@ _exit(-1); } ---- ./jdk/test/java/nio/charset/coders/CheckSJISMappingProp.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/nio/charset/coders/CheckSJISMappingProp.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/nio/charset/coders/CheckSJISMappingProp.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/nio/charset/coders/CheckSJISMappingProp.sh Mon May 09 17:18:41 2016 -0400 @@ -34,7 +34,7 @@ OS=`uname -s` @@ -573,8 +573,8 @@ # Skip locale test for Windows Windows* | CYGWIN* ) echo "Passed"; exit 0 ;; ---- ./jdk/test/java/nio/charset/spi/basic.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/nio/charset/spi/basic.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/nio/charset/spi/basic.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/nio/charset/spi/basic.sh Mon May 09 17:18:41 2016 -0400 @@ -48,7 +48,7 @@ DIR=`pwd` @@ -584,8 +584,8 @@ Windows* ) CPS=';' ;; CYGWIN* ) DIR=`/usr/bin/cygpath -a -s -m $DIR` ---- ./jdk/test/java/nio/file/FileSystem/Basic.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/nio/file/FileSystem/Basic.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/nio/file/FileSystem/Basic.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/nio/file/FileSystem/Basic.java Mon May 09 17:18:41 2016 -0400 @@ -76,7 +76,7 @@ checkSupported(fs, "posix", "unix", "owner", "acl", "user"); if (os.equals("Linux")) @@ -595,8 +595,8 @@ checkSupported(fs, "posix", "unix", "owner"); if (os.equals("Windows")) checkSupported(fs, "owner", "dos", "acl", "user"); ---- ./jdk/test/java/nio/file/Files/CopyAndMove.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/nio/file/Files/CopyAndMove.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/nio/file/Files/CopyAndMove.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/nio/file/Files/CopyAndMove.java Mon May 09 17:18:41 2016 -0400 @@ -651,7 +651,7 @@ // check POSIX attributes are copied @@ -615,8 +615,8 @@ boolean isDirectory = isDirectory(file, NOFOLLOW_LINKS); if (isUnix) { ---- ./jdk/test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/rmi/activation/Activatable/extLoadedImpl/ext.sh Mon May 09 17:18:41 2016 -0400 @@ -33,7 +33,7 @@ OS=`uname -s` @@ -626,8 +626,8 @@ PS=":" ;; Windows* | CYGWIN* ) ---- ./jdk/test/java/rmi/registry/readTest/readTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/rmi/registry/readTest/readTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/rmi/registry/readTest/readTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/rmi/registry/readTest/readTest.sh Mon May 09 17:18:41 2016 -0400 @@ -34,7 +34,7 @@ REGARGS="" @@ -637,8 +637,8 @@ PS=":" FS="/" CHMOD="${FS}bin${FS}chmod" ---- ./jdk/test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/security/Security/ClassLoaderDeadlock/ClassLoaderDeadlock.sh Mon May 09 17:18:41 2016 -0400 @@ -58,7 +58,7 @@ PATHSEP=":" FILESEP="/" @@ -648,8 +648,8 @@ PATHSEP=":" FILESEP="/" ;; ---- ./jdk/test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/security/Security/ClassLoaderDeadlock/Deadlock.sh Mon May 09 17:18:41 2016 -0400 @@ -42,7 +42,7 @@ PATHSEP=":" FILESEP="/" @@ -659,8 +659,8 @@ PATHSEP=":" FILESEP="/" ;; ---- ./jdk/test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/security/Security/ClassLoaderDeadlock/Deadlock2.sh Mon May 09 17:18:41 2016 -0400 @@ -66,7 +66,7 @@ PATHSEP=";" FILESEP="/" @@ -670,8 +670,8 @@ PATHSEP=":" FILESEP="/" ;; ---- ./jdk/test/java/security/Security/signedfirst/Dyn.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/security/Security/signedfirst/Dyn.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/security/Security/signedfirst/Dyn.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/security/Security/signedfirst/Dyn.sh Mon May 09 17:18:41 2016 -0400 @@ -58,7 +58,7 @@ PATHSEP=":" FILESEP="/" @@ -681,8 +681,8 @@ PATHSEP=":" FILESEP="/" ;; ---- ./jdk/test/java/security/Security/signedfirst/Static.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/security/Security/signedfirst/Static.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/security/Security/signedfirst/Static.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/security/Security/signedfirst/Static.sh Mon May 09 17:18:41 2016 -0400 @@ -58,7 +58,7 @@ PATHSEP=":" FILESEP="/" @@ -692,8 +692,8 @@ PATHSEP=":" FILESEP="/" ;; ---- ./jdk/test/java/util/Currency/PropertiesTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/util/Currency/PropertiesTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/util/Currency/PropertiesTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/util/Currency/PropertiesTest.sh Mon May 09 17:18:41 2016 -0400 @@ -52,7 +52,7 @@ # set platform-dependent variables OS=`uname -s` @@ -703,8 +703,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/java/util/PluggableLocale/ExecTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/util/PluggableLocale/ExecTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/util/PluggableLocale/ExecTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/util/PluggableLocale/ExecTest.sh Mon May 09 17:18:41 2016 -0400 @@ -62,7 +62,7 @@ # set platform-dependent variables OS=`uname -s` @@ -714,8 +714,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/java/util/ResourceBundle/Bug6299235Test.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/util/ResourceBundle/Bug6299235Test.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/util/ResourceBundle/Bug6299235Test.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/util/ResourceBundle/Bug6299235Test.sh Mon May 09 17:18:41 2016 -0400 @@ -31,7 +31,7 @@ # set platform-dependent variables OS=`uname -s` @@ -725,8 +725,8 @@ PATHSEP=":" FILESEP="/" ;; ---- ./jdk/test/java/util/ServiceLoader/basic.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/util/ServiceLoader/basic.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/util/ServiceLoader/basic.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/util/ServiceLoader/basic.sh Mon May 09 17:18:41 2016 -0400 @@ -43,9 +43,7 @@ OS=`uname -s` @@ -738,8 +738,8 @@ SEP=':' ;; * ) SEP='\;' ;; ---- ./jdk/test/java/util/prefs/CheckUserPrefsStorage.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/java/util/prefs/CheckUserPrefsStorage.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/java/util/prefs/CheckUserPrefsStorage.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/java/util/prefs/CheckUserPrefsStorage.sh Mon May 09 17:18:41 2016 -0400 @@ -31,7 +31,7 @@ OS=`uname -s` @@ -749,8 +749,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/javax/crypto/SecretKeyFactory/FailOverTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/javax/crypto/SecretKeyFactory/FailOverTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/javax/crypto/SecretKeyFactory/FailOverTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/javax/crypto/SecretKeyFactory/FailOverTest.sh Mon May 09 17:18:41 2016 -0400 @@ -56,7 +56,7 @@ # set platform-dependent variables OS=`uname -s` @@ -760,8 +760,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatTest.sh Mon May 09 17:18:41 2016 -0400 @@ -89,7 +89,7 @@ FILESEP="/" ;; @@ -771,8 +771,8 @@ VAR="A different value for Linux" DEFAULT_JDK=/none #DEFAULT_JDK=/usr/local/java/jdk1.4/linux-i386 ---- ./jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatThreadTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatThreadTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatThreadTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/javax/imageio/metadata/IIOMetadataFormat/runMetadataFormatThreadTest.sh Mon May 09 17:18:41 2016 -0400 @@ -90,7 +90,7 @@ FILESEP="/" ;; @@ -782,8 +782,8 @@ VAR="A different value for Linux" DEFAULT_JDK=/none #DEFAULT_JDK=/usr/local/java/jdk1.4/linux-i386 ---- ./jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/javax/imageio/stream/StreamCloserLeak/run_test.sh Mon May 09 17:18:41 2016 -0400 @@ -108,6 +108,14 @@ TMP="/tmp" ;; @@ -799,8 +799,8 @@ Windows* ) VAR="A different value for Win32" DEFAULT_JDK="C:/Program Files/Java/jdk1.8.0" ---- ./jdk/test/javax/script/CommonSetup.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/javax/script/CommonSetup.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/javax/script/CommonSetup.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/javax/script/CommonSetup.sh Mon May 09 17:18:41 2016 -0400 @@ -36,7 +36,7 @@ OS=`uname -s` @@ -810,8 +810,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/javax/security/auth/Subject/doAs/Test.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/javax/security/auth/Subject/doAs/Test.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/javax/security/auth/Subject/doAs/Test.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/javax/security/auth/Subject/doAs/Test.sh Mon May 09 17:18:41 2016 -0400 @@ -43,7 +43,7 @@ FS="/" RM="/bin/rm -f" @@ -821,8 +821,8 @@ PS=":" FS="/" RM="/bin/rm -f" ---- ./jdk/test/lib/security/java.policy/Ext_AllPolicy.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/lib/security/java.policy/Ext_AllPolicy.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/lib/security/java.policy/Ext_AllPolicy.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/lib/security/java.policy/Ext_AllPolicy.sh Mon May 09 17:18:41 2016 -0400 @@ -53,7 +53,7 @@ # set platform-dependent variables OS=`uname -s` @@ -832,8 +832,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/lib/testlibrary/jdk/testlibrary/Platform.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/lib/testlibrary/jdk/testlibrary/Platform.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/lib/testlibrary/jdk/testlibrary/Platform.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/lib/testlibrary/jdk/testlibrary/Platform.java Mon May 09 17:18:41 2016 -0400 @@ -53,8 +53,13 @@ return isOs("linux"); } @@ -849,8 +849,8 @@ } public static String getOsName() { ---- ./jdk/test/sun/awt/dnd/8024061/bug8024061.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/awt/dnd/8024061/bug8024061.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/awt/dnd/8024061/bug8024061.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/awt/dnd/8024061/bug8024061.java Mon May 09 17:18:41 2016 -0400 @@ -107,8 +107,8 @@ public static void main(String[] args) throws AWTException, InvocationTargetException, InterruptedException { @@ -862,8 +862,8 @@ "skipping!"); return; } ---- ./jdk/test/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/management/jmxremote/bootstrap/GeneratePropertyPassword.sh Mon May 09 17:18:41 2016 -0400 @@ -42,7 +42,7 @@ fi @@ -873,8 +873,8 @@ PATHSEP=":" FILESEP="/" DFILESEP=$FILESEP ---- ./jdk/test/sun/net/ftp/MarkResetTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/net/ftp/MarkResetTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/net/ftp/MarkResetTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/net/ftp/MarkResetTest.sh Mon May 09 17:18:41 2016 -0400 @@ -28,7 +28,7 @@ OS=`uname -s` @@ -884,8 +884,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/sun/net/www/http/HttpClient/RetryPost.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/net/www/http/HttpClient/RetryPost.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/net/www/http/HttpClient/RetryPost.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/net/www/http/HttpClient/RetryPost.sh Mon May 09 17:18:41 2016 -0400 @@ -28,7 +28,7 @@ OS=`uname -s` @@ -895,8 +895,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/sun/net/www/protocol/jar/B5105410.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/net/www/protocol/jar/B5105410.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/net/www/protocol/jar/B5105410.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/net/www/protocol/jar/B5105410.sh Mon May 09 17:18:41 2016 -0400 @@ -31,7 +31,7 @@ OS=`uname -s` @@ -906,8 +906,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/sun/net/www/protocol/jar/jarbug/run.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/net/www/protocol/jar/jarbug/run.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/net/www/protocol/jar/jarbug/run.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/net/www/protocol/jar/jarbug/run.sh Mon May 09 17:18:41 2016 -0400 @@ -31,7 +31,7 @@ OS=`uname -s` @@ -917,8 +917,8 @@ PS=":" FS="/" CHMOD="${FS}bin${FS}chmod" ---- ./jdk/test/sun/nio/ch/SelProvider.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/nio/ch/SelProvider.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/nio/ch/SelProvider.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/nio/ch/SelProvider.java Mon May 09 17:18:41 2016 -0400 @@ -39,7 +39,7 @@ expected = "sun.nio.ch.DevPollSelectorProvider"; } else if ("Linux".equals(osname)) { @@ -928,8 +928,8 @@ expected = "sun.nio.ch.KQueueSelectorProvider"; } else { return; ---- ./jdk/test/sun/security/krb5/runNameEquals.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/krb5/runNameEquals.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/krb5/runNameEquals.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/krb5/runNameEquals.sh Mon May 09 17:18:41 2016 -0400 @@ -52,7 +52,7 @@ # set platform-dependent variables OS=`uname -s` @@ -939,9 +939,9 @@ PATHSEP=":" FILESEP="/" NATIVE=true ---- ./jdk/test/sun/security/mscapi/ShortRSAKey1024.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/mscapi/ShortRSAKey1024.sh Sat Jan 30 22:09:39 2016 -0800 -@@ -49,7 +49,7 @@ +--- ./jdk/test/sun/security/mscapi/ShortRSAKey1024.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/mscapi/ShortRSAKey1024.sh Mon May 09 17:18:41 2016 -0400 +@@ -50,7 +50,7 @@ OS=`uname -s` case "$OS" in @@ -950,8 +950,8 @@ FS="/" ;; Windows_* ) ---- ./jdk/test/sun/security/pkcs11/Provider/ConfigQuotedString.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/pkcs11/Provider/ConfigQuotedString.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/pkcs11/Provider/ConfigQuotedString.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/pkcs11/Provider/ConfigQuotedString.sh Mon May 09 17:18:41 2016 -0400 @@ -66,7 +66,7 @@ CP="${FS}bin${FS}cp" CHMOD="${FS}bin${FS}chmod" @@ -961,8 +961,8 @@ FS="/" PS=":" CP="${FS}bin${FS}cp" ---- ./jdk/test/sun/security/pkcs11/Provider/Login.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/pkcs11/Provider/Login.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/pkcs11/Provider/Login.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/pkcs11/Provider/Login.sh Mon May 09 17:18:41 2016 -0400 @@ -67,7 +67,7 @@ CP="${FS}bin${FS}cp" CHMOD="${FS}bin${FS}chmod" @@ -972,8 +972,8 @@ FS="/" PS=":" CP="${FS}bin${FS}cp" ---- ./jdk/test/sun/security/provider/KeyStore/DKSTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/provider/KeyStore/DKSTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/provider/KeyStore/DKSTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/provider/KeyStore/DKSTest.sh Mon May 09 17:18:41 2016 -0400 @@ -50,7 +50,7 @@ # set platform-dependent variables OS=`uname -s` @@ -983,8 +983,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/provider/PolicyFile/GrantAllPermToExtWhenNoPolicy.sh Mon May 09 17:18:41 2016 -0400 @@ -52,7 +52,7 @@ PATHSEP=":" FILESEP="/" @@ -994,8 +994,8 @@ PATHSEP=":" FILESEP="/" ;; ---- ./jdk/test/sun/security/provider/PolicyFile/getinstance/getinstance.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/provider/PolicyFile/getinstance/getinstance.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/provider/PolicyFile/getinstance/getinstance.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/provider/PolicyFile/getinstance/getinstance.sh Mon May 09 17:18:41 2016 -0400 @@ -59,7 +59,7 @@ PS=":" FS="/" @@ -1005,8 +1005,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/EngineArgs/DebugReportsOneExtraByte.sh Mon May 09 17:18:41 2016 -0400 @@ -33,7 +33,7 @@ OS=`uname -s` @@ -1016,8 +1016,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/ssl/com/sun/net/ssl/internal/ssl/SSLSocketImpl/NotifyHandshakeTest.sh Mon May 09 17:18:41 2016 -0400 @@ -46,7 +46,7 @@ OS=`uname -s` @@ -1027,8 +1027,8 @@ FILESEP="/" PATHSEP=":" ;; ---- ./jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxy.sh Mon May 09 17:18:41 2016 -0400 @@ -32,7 +32,7 @@ HOSTNAME=`uname -n` OS=`uname -s` @@ -1038,8 +1038,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/ssl/sun/net/www/protocol/https/HttpsURLConnection/PostThruProxyWithAuth.sh Mon May 09 17:18:41 2016 -0400 @@ -32,7 +32,7 @@ HOSTNAME=`uname -n` OS=`uname -s` @@ -1049,8 +1049,8 @@ PS=":" FS="/" ;; ---- ./jdk/test/sun/security/tools/jarsigner/AlgOptions.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/jarsigner/AlgOptions.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/jarsigner/AlgOptions.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/jarsigner/AlgOptions.sh Mon May 09 17:18:41 2016 -0400 @@ -46,7 +46,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1060,8 +1060,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/sun/security/tools/jarsigner/PercentSign.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/jarsigner/PercentSign.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/jarsigner/PercentSign.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/jarsigner/PercentSign.sh Mon May 09 17:18:41 2016 -0400 @@ -46,7 +46,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1071,8 +1071,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/sun/security/tools/jarsigner/diffend.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/jarsigner/diffend.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/jarsigner/diffend.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/jarsigner/diffend.sh Mon May 09 17:18:41 2016 -0400 @@ -47,6 +47,13 @@ FS="/" CP="${FS}bin${FS}cp -f" @@ -1087,8 +1087,8 @@ CYGWIN* ) NULL=/dev/null PS=";" ---- ./jdk/test/sun/security/tools/jarsigner/emptymanifest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/jarsigner/emptymanifest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/jarsigner/emptymanifest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/jarsigner/emptymanifest.sh Mon May 09 17:18:41 2016 -0400 @@ -39,6 +39,11 @@ Windows_* ) FS="\\" @@ -1101,8 +1101,8 @@ * ) FS="/" ;; ---- ./jdk/test/sun/security/tools/jarsigner/oldsig.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/jarsigner/oldsig.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/jarsigner/oldsig.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/jarsigner/oldsig.sh Mon May 09 17:18:41 2016 -0400 @@ -42,7 +42,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1112,8 +1112,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/sun/security/tools/keytool/AltProviderPath.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/keytool/AltProviderPath.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/keytool/AltProviderPath.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/keytool/AltProviderPath.sh Mon May 09 17:18:41 2016 -0400 @@ -46,7 +46,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1123,8 +1123,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/sun/security/tools/keytool/CloneKeyAskPassword.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/keytool/CloneKeyAskPassword.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/keytool/CloneKeyAskPassword.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/keytool/CloneKeyAskPassword.sh Mon May 09 17:18:41 2016 -0400 @@ -55,7 +55,7 @@ PATHSEP=":" FILESEP="/" @@ -1134,8 +1134,8 @@ PATHSEP=":" FILESEP="/" ;; ---- ./jdk/test/sun/security/tools/keytool/NoExtNPE.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/keytool/NoExtNPE.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/keytool/NoExtNPE.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/keytool/NoExtNPE.sh Mon May 09 17:18:41 2016 -0400 @@ -48,7 +48,7 @@ Linux ) FILESEP="/" @@ -1145,8 +1145,8 @@ FILESEP="/" ;; AIX ) ---- ./jdk/test/sun/security/tools/keytool/SecretKeyKS.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/keytool/SecretKeyKS.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/keytool/SecretKeyKS.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/keytool/SecretKeyKS.sh Mon May 09 17:18:41 2016 -0400 @@ -45,7 +45,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1156,8 +1156,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/sun/security/tools/keytool/StandardAlgName.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/keytool/StandardAlgName.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/keytool/StandardAlgName.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/keytool/StandardAlgName.sh Mon May 09 17:18:41 2016 -0400 @@ -46,7 +46,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1167,8 +1167,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/sun/security/tools/keytool/StorePasswordsByShell.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/keytool/StorePasswordsByShell.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/keytool/StorePasswordsByShell.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/keytool/StorePasswordsByShell.sh Mon May 09 17:18:41 2016 -0400 @@ -46,7 +46,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1178,8 +1178,8 @@ PATHSEP=":" FILESEP="/" ;; ---- ./jdk/test/sun/security/tools/keytool/i18n.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/keytool/i18n.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/keytool/i18n.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/keytool/i18n.sh Mon May 09 17:18:41 2016 -0400 @@ -46,7 +46,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1189,8 +1189,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/sun/security/tools/keytool/printssl.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/keytool/printssl.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/keytool/printssl.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/keytool/printssl.sh Mon May 09 17:18:41 2016 -0400 @@ -40,7 +40,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1200,8 +1200,8 @@ FS="/" ;; CYGWIN* ) ---- ./jdk/test/sun/security/tools/keytool/resource.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/keytool/resource.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/keytool/resource.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/keytool/resource.sh Mon May 09 17:18:41 2016 -0400 @@ -43,7 +43,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1211,8 +1211,8 @@ NULL=/dev/null FS="/" ;; ---- ./jdk/test/sun/security/tools/keytool/standard.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/keytool/standard.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/keytool/standard.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/keytool/standard.sh Mon May 09 17:18:41 2016 -0400 @@ -45,7 +45,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1222,8 +1222,8 @@ FS="/" ;; Windows_* ) ---- ./jdk/test/sun/security/tools/policytool/Alias.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/policytool/Alias.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/policytool/Alias.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/policytool/Alias.sh Mon May 09 17:18:41 2016 -0400 @@ -47,7 +47,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1233,8 +1233,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/sun/security/tools/policytool/ChangeUI.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/policytool/ChangeUI.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/policytool/ChangeUI.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/policytool/ChangeUI.sh Mon May 09 17:18:41 2016 -0400 @@ -46,7 +46,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1244,8 +1244,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/sun/security/tools/policytool/OpenPolicy.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/policytool/OpenPolicy.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/policytool/OpenPolicy.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/policytool/OpenPolicy.sh Mon May 09 17:18:41 2016 -0400 @@ -46,7 +46,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1255,8 +1255,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/sun/security/tools/policytool/SaveAs.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/policytool/SaveAs.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/policytool/SaveAs.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/policytool/SaveAs.sh Mon May 09 17:18:41 2016 -0400 @@ -47,7 +47,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1266,8 +1266,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/sun/security/tools/policytool/UpdatePermissions.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/policytool/UpdatePermissions.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/policytool/UpdatePermissions.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/policytool/UpdatePermissions.sh Mon May 09 17:18:41 2016 -0400 @@ -47,7 +47,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1277,8 +1277,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/sun/security/tools/policytool/UsePolicy.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/policytool/UsePolicy.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/policytool/UsePolicy.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/policytool/UsePolicy.sh Mon May 09 17:18:41 2016 -0400 @@ -46,7 +46,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1288,8 +1288,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/sun/security/tools/policytool/i18n.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/security/tools/policytool/i18n.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/security/tools/policytool/i18n.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/security/tools/policytool/i18n.sh Mon May 09 17:18:41 2016 -0400 @@ -49,7 +49,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1299,8 +1299,8 @@ NULL=/dev/null PS=":" FS="/" ---- ./jdk/test/sun/tools/common/CommonSetup.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/tools/common/CommonSetup.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/tools/common/CommonSetup.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/tools/common/CommonSetup.sh Mon May 09 17:18:41 2016 -0400 @@ -47,6 +47,7 @@ # isLinux - true if OS is Linux # isSolaris - true if OS is Solaris @@ -1328,8 +1328,8 @@ Darwin ) OS="Mac OS X" isMacos=true ---- ./jdk/test/sun/tools/jconsole/ResourceCheckTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/tools/jconsole/ResourceCheckTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/tools/jconsole/ResourceCheckTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/tools/jconsole/ResourceCheckTest.sh Mon May 09 17:18:41 2016 -0400 @@ -54,7 +54,7 @@ OS=`uname -s` @@ -1339,8 +1339,8 @@ PATHSEP=":" ;; ---- ./jdk/test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/sun/tools/native2ascii/resources/ImmutableResourceTest.sh Mon May 09 17:18:41 2016 -0400 @@ -56,7 +56,7 @@ OS=`uname -s` @@ -1350,8 +1350,8 @@ PATHSEP=":" ;; ---- ./jdk/test/tools/launcher/ExecutionEnvironment.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/tools/launcher/ExecutionEnvironment.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/tools/launcher/ExecutionEnvironment.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/tools/launcher/ExecutionEnvironment.java Mon May 09 17:18:41 2016 -0400 @@ -194,7 +194,7 @@ Map<String, String> env = new HashMap<>(); @@ -1361,8 +1361,8 @@ for (String x : LD_PATH_STRINGS) { String pairs[] = x.split("="); env.put(pairs[0], pairs[1]); ---- ./jdk/test/tools/launcher/RunpathTest.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/tools/launcher/RunpathTest.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/tools/launcher/RunpathTest.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/tools/launcher/RunpathTest.java Mon May 09 17:18:41 2016 -0400 @@ -69,7 +69,7 @@ } @@ -1372,8 +1372,8 @@ RunpathTest rp = new RunpathTest(); rp.testRpath(); } ---- ./jdk/test/tools/launcher/Test7029048.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/tools/launcher/Test7029048.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/tools/launcher/Test7029048.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/tools/launcher/Test7029048.java Mon May 09 17:18:41 2016 -0400 @@ -223,7 +223,7 @@ } else if (isSolaris && passes < 9) { throw new Exception("Test7029048: FAIL: " + @@ -1383,8 +1383,8 @@ throw new Exception("Test7029048: FAIL: " + "all tests did not run, expected " + 6 + " got " + passes); } else { ---- ./jdk/test/tools/launcher/TestHelper.java Fri Dec 18 11:42:56 2015 -0800 -+++ ./jdk/test/tools/launcher/TestHelper.java Sat Jan 30 22:09:39 2016 -0800 +--- ./jdk/test/tools/launcher/TestHelper.java Tue Mar 22 11:33:41 2016 -0700 ++++ ./jdk/test/tools/launcher/TestHelper.java Mon May 09 17:18:41 2016 -0400 @@ -94,6 +94,8 @@ System.getProperty("os.name", "unknown").startsWith("Linux"); static final boolean isAIX = @@ -1394,8 +1394,8 @@ static final String LIBJVM = isWindows ? "jvm.dll" : "libjvm" + (isMacOSX ? ".dylib" : ".so"); ---- ./langtools/test/Makefile Fri Dec 18 11:46:44 2015 -0800 -+++ ./langtools/test/Makefile Mon Jan 25 21:17:09 2016 -0800 +--- ./langtools/test/Makefile Tue Mar 22 11:36:26 2016 -0700 ++++ ./langtools/test/Makefile Sun May 01 23:35:46 2016 -0700 @@ -34,6 +34,14 @@ ARCH=i586 endif @@ -1411,8 +1411,8 @@ ifeq ($(OSNAME), Darwin) PLATFORM = bsd ARCH = $(shell uname -m) ---- ./langtools/test/tools/javah/ReadOldClass.sh Fri Dec 18 11:46:44 2015 -0800 -+++ ./langtools/test/tools/javah/ReadOldClass.sh Mon Jan 25 21:17:09 2016 -0800 +--- ./langtools/test/tools/javah/ReadOldClass.sh Tue Mar 22 11:36:26 2016 -0700 ++++ ./langtools/test/tools/javah/ReadOldClass.sh Sun May 01 23:35:46 2016 -0700 @@ -43,7 +43,7 @@ # set platform-dependent variables OS=`uname -s` @@ -1422,8 +1422,8 @@ PS=":" FS="/" ;; ---- ./nashorn/test/script/jfx.js Fri Dec 18 11:47:16 2015 -0800 -+++ ./nashorn/test/script/jfx.js Mon Jan 25 21:17:29 2016 -0800 +--- ./nashorn/test/script/jfx.js Tue Mar 22 11:36:55 2016 -0700 ++++ ./nashorn/test/script/jfx.js Sun May 01 23:35:49 2016 -0700 @@ -93,6 +93,8 @@ f2 = new File(sb.append(fsep + "linux.png").toString()); } else if (OSInfo.getOSType() == OSType.MACOSX) { diff --git a/java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.cpp b/java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.cpp deleted file mode 100644 index 2116f436353f..000000000000 --- a/java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.cpp +++ /dev/null @@ -1,121 +0,0 @@ ---- hotspot/src/os/bsd/vm/os_bsd.cpp.orig 2016-01-05 21:15:40 UTC -+++ hotspot/src/os/bsd/vm/os_bsd.cpp -@@ -151,6 +151,7 @@ mach_timebase_info_data_t os::Bsd::_time - volatile uint64_t os::Bsd::_max_abstime = 0; - #else - int (*os::Bsd::_clock_gettime)(clockid_t, struct timespec *) = NULL; -+int (*os::Bsd::_getcpuclockid)(pthread_t, clockid_t *) = NULL; - #endif - pthread_t os::Bsd::_main_thread; - int os::Bsd::_page_size = -1; -@@ -1028,6 +1029,13 @@ bool os::enable_vtime() { return false - bool os::vtime_enabled() { return false; } - - double os::elapsedVTime() { -+#ifdef RUSAGE_THREAD -+ struct rusage usage; -+ int retval = getrusage(RUSAGE_THREAD, &usage); -+ if (retval == 0) { -+ return (double) (usage.ru_utime.tv_sec + usage.ru_stime.tv_sec) + (double) (usage.ru_utime.tv_usec + usage.ru_stime.tv_usec) / (1000 * 1000); -+ } -+#endif - // better than nothing, but not much - return elapsedTime(); - } -@@ -1058,6 +1066,7 @@ void os::Bsd::clock_init() { - // yes, monotonic clock is supported - _clock_gettime = ::clock_gettime; - } -+ _getcpuclockid = (int (*)(pthread_t, clockid_t *))dlsym(RTLD_DEFAULT, "pthread_getcpuclockid"); - } - #endif - -@@ -4248,8 +4257,9 @@ jlong os::current_thread_cpu_time() { - #ifdef __APPLE__ - return os::thread_cpu_time(Thread::current(), true /* user + sys */); - #else -- Unimplemented(); -- return 0; -+ if (Bsd::_getcpuclockid != NULL) -+ return os::thread_cpu_time(Thread::current(), true /* user + sys */); -+ return -1; - #endif - } - -@@ -4257,8 +4267,9 @@ jlong os::thread_cpu_time(Thread* thread - #ifdef __APPLE__ - return os::thread_cpu_time(thread, true /* user + sys */); - #else -- Unimplemented(); -- return 0; -+ if (Bsd::_getcpuclockid != NULL) -+ return os::thread_cpu_time(thread, true /* user + sys */); -+ return -1; - #endif - } - -@@ -4266,8 +4277,9 @@ jlong os::current_thread_cpu_time(bool u - #ifdef __APPLE__ - return os::thread_cpu_time(Thread::current(), user_sys_cpu_time); - #else -- Unimplemented(); -- return 0; -+ if (Bsd::_getcpuclockid != NULL) -+ return os::thread_cpu_time(Thread::current(), user_sys_cpu_time); -+ return -1; - #endif - } - -@@ -4292,8 +4304,41 @@ jlong os::thread_cpu_time(Thread *thread - return ((jlong)tinfo.user_time.seconds * 1000000000) + ((jlong)tinfo.user_time.microseconds * (jlong)1000); - } - #else -- Unimplemented(); -- return 0; -+ if (user_sys_cpu_time && Bsd::_getcpuclockid != NULL) { -+ struct timespec tp; -+ clockid_t clockid; -+ int ret; -+ -+ /* -+ * XXX This is essentially a copy of the Linux implementation, -+ * but with fewer indirections. -+ */ -+ ret = Bsd::_getcpuclockid(thread->osthread()->pthread_id(), &clockid); -+ if (ret != 0) -+ return -1; -+ /* NB: _clock_gettime only needs to be valid for CLOCK_MONOTONIC. */ -+ ret = ::clock_gettime(clockid, &tp); -+ if (ret != 0) -+ return -1; -+ return (tp.tv_sec * NANOSECS_PER_SEC) + tp.tv_nsec; -+ } -+#ifdef RUSAGE_THREAD -+ if (thread == Thread::current()) { -+ struct rusage usage; -+ jlong nanos; -+ -+ if (getrusage(RUSAGE_THREAD, &usage) != 0) -+ return -1; -+ nanos = (jlong)usage.ru_utime.tv_sec * NANOSECS_PER_SEC; -+ nanos += (jlong)usage.ru_utime.tv_usec * 1000; -+ if (user_sys_cpu_time) { -+ nanos += (jlong)usage.ru_stime.tv_sec * NANOSECS_PER_SEC; -+ nanos += (jlong)usage.ru_stime.tv_usec * 1000; -+ } -+ return nanos; -+ } -+#endif -+ return -1; - #endif - } - -@@ -4316,7 +4361,7 @@ bool os::is_thread_cpu_time_supported() - #ifdef __APPLE__ - return true; - #else -- return false; -+ return (Bsd::_getcpuclockid != NULL); - #endif - } - diff --git a/java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.hpp b/java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.hpp deleted file mode 100644 index 2b2b548f8f21..000000000000 --- a/java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.hpp +++ /dev/null @@ -1,10 +0,0 @@ ---- hotspot/src/os/bsd/vm/os_bsd.hpp.orig 2015-12-22 22:53:56 UTC -+++ hotspot/src/os/bsd/vm/os_bsd.hpp -@@ -64,6 +64,7 @@ class Bsd { - static volatile uint64_t _max_abstime; - #else - static int (*_clock_gettime)(clockid_t, struct timespec *); -+ static int (*_getcpuclockid)(pthread_t, clockid_t *); - #endif - - static GrowableArray<int>* _cpu_to_node; |