aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorglewis <glewis@FreeBSD.org>2016-05-17 13:14:41 +0800
committerglewis <glewis@FreeBSD.org>2016-05-17 13:14:41 +0800
commitc75e49367661823cf3d86810be16472022d2e2bb (patch)
tree6bb26cfd31aab8b3a6b5463e728ea846b82c9a56 /java
parent084aa44effc8c1e616c7b797da2aaead5d51d114 (diff)
downloadfreebsd-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/Makefile7
-rw-r--r--java/openjdk8/distinfo2
-rw-r--r--java/openjdk8/files/patch-bsd9765
-rw-r--r--java/openjdk8/files/patch-bsd-test472
-rw-r--r--java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.cpp121
-rw-r--r--java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.hpp10
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;