freebsd-ports/java/openjdk8/files/patch-bsd
Jung-uk Kim bb07796994 - Add an empty directory to plist to fix staging.
- Fix build for 8.x on amd64. [1]
- Use tar(1) to extract all distfiles. [2]

PR:		194988 [1]
Submitted by:	Mikhail T. (mi at aldan dot algebra dot com) [2]
2014-11-20 04:37:20 +00:00

14094 lines
496 KiB
Text

--- ./.hgtags Wed Sep 17 11:23:18 2014 -0700
+++ ./.hgtags Wed Nov 05 15:01:08 2014 -0800
@@ -331,3 +331,4 @@
4429ea47ee6eca6b8a1dbda1950566ee821ba19d jdk8u25-b14
09eaef69f384ecf8ec0342b87a8b150740941140 jdk8u25-b15
f0a48c214c46b7351ff8e6d6b6dc533463a4be21 jdk8u25-b16
+d117f01bfb4f34668ac216c9837e88acead14dce jdk8u25-b17
--- ./common/autoconf/build-performance.m4 Wed Sep 17 11:23:18 2014 -0700
+++ ./common/autoconf/build-performance.m4 Wed Nov 05 15:01:08 2014 -0800
@@ -41,6 +41,10 @@
# Looks like a MacOSX system
NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk '{print [$]5}'`
FOUND_CORES=yes
+ elif test "x$OPENJDK_BUILD_OS" = xbsd && test "x$(uname -s | grep -o BSD)" = xBSD; then
+ # Looks like a BSD system
+ NUM_CORES=`/sbin/sysctl -n hw.ncpu`
+ FOUND_CORES=yes
elif test "x$OPENJDK_BUILD_OS" = xaix ; then
NUM_CORES=`/usr/sbin/prtconf | grep "^Number Of Processors" | awk '{ print [$]4 }'`
FOUND_CORES=yes
@@ -79,6 +83,11 @@
MEMORY_SIZE=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Memory' | awk '{print [$]2}'`
MEMORY_SIZE=`expr $MEMORY_SIZE \* 1024`
FOUND_MEM=yes
+ elif test "x$OPENJDK_BUILD_OS" = xbsd && test "x$(uname -s | grep -o BSD)" = xBSD; then
+ # Looks like a BSD system
+ MEMORY_SIZE=`/sbin/sysctl -n hw.physmem`
+ MEMORY_SIZE=`expr $MEMORY_SIZE / 1024 / 1024`
+ FOUND_MEM=yes
elif test "x$OPENJDK_BUILD_OS" = xwindows; then
# Windows, but without cygwin
MEMORY_SIZE=`wmic computersystem get totalphysicalmemory -value | grep = | cut -d "=" -f 2-`
--- ./common/autoconf/generated-configure.sh Wed Sep 17 11:23:18 2014 -0700
+++ ./common/autoconf/generated-configure.sh Wed Nov 05 15:01:08 2014 -0800
@@ -1045,6 +1045,7 @@
with_extra_cflags
with_extra_cxxflags
with_extra_ldflags
+with_package_path
enable_debug_symbols
enable_zip_debug_info
enable_macosx_runtime_support
@@ -1814,6 +1815,8 @@
--with-extra-cflags extra flags to be used when compiling jdk c-files
--with-extra-cxxflags extra flags to be used when compiling jdk c++-files
--with-extra-ldflags extra flags to be used when linking jdk
+ --with-package-path package path to be used for location of third party
+ packages
--with-x use the X Window System
--with-cups specify prefix directory for the cups package
(expecting the headers under PATH/include)
@@ -6800,7 +6803,7 @@
# First argument is the cpu name from the trip/quad
case "$build_cpu" in
- x86_64)
+ amd64|x86_64)
VAR_CPU=x86_64
VAR_CPU_ARCH=x86
VAR_CPU_BITS=64
@@ -6931,7 +6934,7 @@
# First argument is the cpu name from the trip/quad
case "$host_cpu" in
- x86_64)
+ amd64|x86_64)
VAR_CPU=x86_64
VAR_CPU_ARCH=x86
VAR_CPU_BITS=64
@@ -20136,7 +20139,7 @@
else
COMPILER_VERSION_TEST=`$COMPILER --version 2>&1 | $HEAD -n 1`
# Check that this is likely to be GCC.
- $COMPILER --version 2>&1 | $GREP "Free Software Foundation" > /dev/null
+ $COMPILER --version 2>&1 | $GREP -E "(Free Software Foundation|clang)" > /dev/null
if test $? -ne 0; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler." >&5
$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler." >&6;}
@@ -21737,7 +21740,7 @@
else
COMPILER_VERSION_TEST=`$COMPILER --version 2>&1 | $HEAD -n 1`
# Check that this is likely to be GCC.
- $COMPILER --version 2>&1 | $GREP "Free Software Foundation" > /dev/null
+ $COMPILER --version 2>&1 | $GREP -E "(Free Software Foundation|clang)" > /dev/null
if test $? -ne 0; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler." >&5
$as_echo "$as_me: The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler." >&6;}
@@ -27701,7 +27704,7 @@
# objcopy is used for moving debug symbols to separate files when
# full debug symbols are enabled.
- if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
+ if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xbsd ; then
if test -n "$ac_tool_prefix"; then
for ac_prog in gobjcopy objcopy
do
@@ -29367,8 +29370,10 @@
SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/$1'
SET_SHARED_LIBRARY_MAPFILE=''
SET_SHARED_LIBRARY_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.'
+ POST_STRIP_CMD="$STRIP -S"
+ fi
+ if test "x$OPENJDK_TARGET_OS" = xbsd || test "x$OPENJDK_TARGET_OS" = xmacosx; then
SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN"
- POST_STRIP_CMD="$STRIP -S"
fi
else
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
@@ -29794,22 +29799,37 @@
CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64"
# The package path is used only on macosx?
- PACKAGE_PATH=/opt/local
+
+# Check whether --with-package-path was given.
+if test "${with_package_path+set}" = set; then :
+ withval=$with_package_path;
+fi
+
+ PACKAGE_PATH="$with_package_path"
+ if test "x$PACKAGE_PATH" = x; then
+ if test "`uname -s`" = "Darwin"; then
+ PACKAGE_PATH=/opt/local
+ fi
+
+ if test "`uname -s`" = "FreeBSD"; then
+ PACKAGE_PATH=/usr/local
+ fi
+
+ if test "`uname -s`" = "NetBSD"; then
+ PACKAGE_PATH=/usr/pkg
+ fi
+
+ if test "`uname -s`" = "OpenBSD"; then
+ PACKAGE_PATH=/usr/local
+ fi
+ fi
+
if test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
- # The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
- # Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN
- # (The Solaris X86 system defines this in file /usr/include/sys/isa_defs.h).
- # Note: -Dmacro is the same as #define macro 1
- # -Dmacro= is the same as #define macro
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN="
- else
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN"
- fi
- else
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN"
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DVM_LITTLE_ENDIAN"
+ else
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DVM_BIG_ENDIAN"
fi
if test "x$OPENJDK_TARGET_OS" = xlinux; then
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX"
@@ -30308,11 +30328,11 @@
fi
if test "x$OPENJDK_TARGET_OS" = xbsd; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on bsd?" >&5
-$as_echo_n "checking what is not needed on bsd?... " >&6; }
- ALSA_NOT_NEEDED=yes
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: alsa" >&5
-$as_echo "alsa" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking what is not needed on BSD?" >&5
+$as_echo_n "checking what is not needed on BSD?... " >&6; }
+ PULSE_NOT_NEEDED=yes
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: pulse" >&5
+$as_echo "pulse" >&6; }
fi
if test "x$OPENJDK" = "xfalse"; then
@@ -34581,7 +34601,7 @@
###############################################################################
#
- # Check for alsa headers and libraries. Used on Linux/GNU systems.
+ # Check for alsa headers and libraries. Used on Linux/GNU and BSD systems.
#
# Check whether --with-alsa was given.
@@ -34629,6 +34649,11 @@
ALSA_LIBS="-L${with_alsa_lib} -lasound"
ALSA_FOUND=yes
fi
+ if test "x$OPENJDK_TARGET_OS" = xbsd; then
+ ALSA_LIBS="$ALSA_LIBS -lasound"
+ else
+ ALSA_LIBS="$ALSA_LIBS -lalsa"
+ fi
if test "x$ALSA_FOUND" = xno; then
@@ -35619,6 +35644,11 @@
LIBCXX="-lstdc++"
fi
+ # TODO better (platform agnostic) test
+ if test "x$OPENJDK_TARGET_OS" = xbsd && test "x$LIBCXX" = x && test "x$GCC" = xyes; then
+ LIBCXX="-lstdc++"
+ fi
+
@@ -35692,6 +35722,10 @@
# Looks like a MacOSX system
NUM_CORES=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Cores' | awk '{print $5}'`
FOUND_CORES=yes
+ elif test "x$OPENJDK_BUILD_OS" = xbsd && test "x$(uname -s | grep -o BSD)" = xBSD; then
+ # Looks like a BSD system
+ NUM_CORES=`/sbin/sysctl -n hw.ncpu`
+ FOUND_CORES=yes
elif test "x$OPENJDK_BUILD_OS" = xaix ; then
NUM_CORES=`/usr/sbin/prtconf | grep "^Number Of Processors" | awk '{ print $4 }'`
FOUND_CORES=yes
@@ -35747,6 +35781,11 @@
MEMORY_SIZE=`/usr/sbin/system_profiler -detailLevel full SPHardwareDataType | grep 'Memory' | awk '{print $2}'`
MEMORY_SIZE=`expr $MEMORY_SIZE \* 1024`
FOUND_MEM=yes
+ elif test "x$OPENJDK_BUILD_OS" = xbsd && test "x$(uname -s | grep -o BSD)" = xBSD; then
+ # Looks like a BSD system
+ MEMORY_SIZE=`/sbin/sysctl -n hw.physmem`
+ MEMORY_SIZE=`expr $MEMORY_SIZE / 1024 / 1024`
+ FOUND_MEM=yes
elif test "x$OPENJDK_BUILD_OS" = xwindows; then
# Windows, but without cygwin
MEMORY_SIZE=`wmic computersystem get totalphysicalmemory -value | grep = | cut -d "=" -f 2-`
--- ./common/autoconf/libraries.m4 Wed Sep 17 11:23:18 2014 -0700
+++ ./common/autoconf/libraries.m4 Wed Nov 05 15:01:08 2014 -0800
@@ -71,9 +71,9 @@
fi
if test "x$OPENJDK_TARGET_OS" = xbsd; then
- AC_MSG_CHECKING([what is not needed on bsd?])
- ALSA_NOT_NEEDED=yes
- AC_MSG_RESULT([alsa])
+ AC_MSG_CHECKING([what is not needed on BSD?])
+ PULSE_NOT_NEEDED=yes
+ AC_MSG_RESULT([pulse])
fi
if test "x$OPENJDK" = "xfalse"; then
@@ -538,7 +538,7 @@
###############################################################################
#
- # Check for alsa headers and libraries. Used on Linux/GNU systems.
+ # Check for alsa headers and libraries. Used on Linux/GNU and BSD systems.
#
AC_ARG_WITH(alsa, [AS_HELP_STRING([--with-alsa],
[specify prefix directory for the alsa package
@@ -885,5 +885,10 @@
LIBCXX="-lstdc++"
fi
+ # TODO better (platform agnostic) test
+ if test "x$OPENJDK_TARGET_OS" = xbsd && test "x$LIBCXX" = x && test "x$GCC" = xyes; then
+ LIBCXX="-lstdc++"
+ fi
+
AC_SUBST(LIBCXX)
])
--- ./common/autoconf/platform.m4 Wed Sep 17 11:23:18 2014 -0700
+++ ./common/autoconf/platform.m4 Wed Nov 05 15:01:08 2014 -0800
@@ -30,7 +30,7 @@
[
# First argument is the cpu name from the trip/quad
case "$1" in
- x86_64)
+ amd64|x86_64)
VAR_CPU=x86_64
VAR_CPU_ARCH=x86
VAR_CPU_BITS=64
@@ -302,8 +302,8 @@
# Setup OPENJDK_TARGET_CPU_OSARCH, which is used to set the os.arch Java system property
OPENJDK_TARGET_CPU_OSARCH="$OPENJDK_TARGET_CPU"
- if test "x$OPENJDK_TARGET_OS" = xlinux && test "x$OPENJDK_TARGET_CPU" = xx86; then
- # On linux only, we replace x86 with i386.
+ if test "x$OPENJDK_TARGET_OS" = xbsd -o "x$OPENJDK_TARGET_OS" = xlinux && test "x$OPENJDK_TARGET_CPU" = xx86; then
+ # On Linux and BSD, we replace x86 with i386.
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 Wed Sep 17 11:23:18 2014 -0700
+++ ./common/autoconf/spec.gmk.in Wed Nov 05 15:01:08 2014 -0800
@@ -276,7 +276,7 @@
ALSA_LIBS:=@ALSA_LIBS@
ALSA_CFLAGS:=@ALSA_CFLAGS@
-PACKAGE_PATH=@PACKAGE_PATH@
+PACKAGE_PATH:=@PACKAGE_PATH@
# Source file for cacerts
CACERTS_FILE=@CACERTS_FILE@
--- ./common/autoconf/toolchain.m4 Wed Sep 17 11:23:18 2014 -0700
+++ ./common/autoconf/toolchain.m4 Wed Nov 05 15:01:08 2014 -0800
@@ -72,7 +72,7 @@
else
COMPILER_VERSION_TEST=`$COMPILER --version 2>&1 | $HEAD -n 1`
# Check that this is likely to be GCC.
- $COMPILER --version 2>&1 | $GREP "Free Software Foundation" > /dev/null
+ $COMPILER --version 2>&1 | $GREP -E "(Free Software Foundation|clang)" > /dev/null
if test $? -ne 0; then
AC_MSG_NOTICE([The $COMPILER_NAME compiler (located as $COMPILER) does not seem to be the required GCC compiler.])
AC_MSG_NOTICE([The result from running with --version was: "$COMPILER_VERSION_TEST"])
@@ -487,7 +487,7 @@
# objcopy is used for moving debug symbols to separate files when
# full debug symbols are enabled.
- if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux; then
+ if test "x$OPENJDK_TARGET_OS" = xsolaris || test "x$OPENJDK_TARGET_OS" = xlinux || test "x$OPENJDK_TARGET_OS" = xbsd ; then
AC_CHECK_TOOLS(OBJCOPY, [gobjcopy objcopy])
# Only call fixup if objcopy was found.
if test -n "$OBJCOPY"; then
@@ -555,8 +555,10 @@
SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/[$]1'
SET_SHARED_LIBRARY_MAPFILE=''
SET_SHARED_LIBRARY_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.'
+ POST_STRIP_CMD="$STRIP -S"
+ fi
+ if test "x$OPENJDK_TARGET_OS" = xbsd || test "x$OPENJDK_TARGET_OS" = xmacosx; then
SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN"
- POST_STRIP_CMD="$STRIP -S"
fi
else
if test "x$OPENJDK_TARGET_OS" = xsolaris; then
@@ -960,22 +962,33 @@
CCXXFLAGS_JDK="$CCXXFLAGS_JDK $ADD_LP64"
# The package path is used only on macosx?
- PACKAGE_PATH=/opt/local
+ AC_ARG_WITH(package-path, [AS_HELP_STRING([--with-package-path],
+ [package path to be used for location of third party packages])])
+ PACKAGE_PATH="$with_package_path"
+ if test "x$PACKAGE_PATH" = x; then
+ if test "`uname -s`" = "Darwin"; then
+ PACKAGE_PATH=/opt/local
+ fi
+
+ if test "`uname -s`" = "FreeBSD"; then
+ PACKAGE_PATH=/usr/local
+ fi
+
+ if test "`uname -s`" = "NetBSD"; then
+ PACKAGE_PATH=/usr/pkg
+ fi
+
+ if test "`uname -s`" = "OpenBSD"; then
+ PACKAGE_PATH=/usr/local
+ fi
+ fi
+
AC_SUBST(PACKAGE_PATH)
if test "x$OPENJDK_TARGET_CPU_ENDIAN" = xlittle; then
- # The macro _LITTLE_ENDIAN needs to be defined the same to avoid the
- # Sun C compiler warning message: warning: macro redefined: _LITTLE_ENDIAN
- # (The Solaris X86 system defines this in file /usr/include/sys/isa_defs.h).
- # Note: -Dmacro is the same as #define macro 1
- # -Dmacro= is the same as #define macro
- if test "x$OPENJDK_TARGET_OS" = xsolaris; then
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN="
- else
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_LITTLE_ENDIAN"
- fi
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DVM_LITTLE_ENDIAN"
else
- CCXXFLAGS_JDK="$CCXXFLAGS_JDK -D_BIG_ENDIAN"
+ CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DVM_BIG_ENDIAN"
fi
if test "x$OPENJDK_TARGET_OS" = xlinux; then
CCXXFLAGS_JDK="$CCXXFLAGS_JDK -DLINUX"
--- ./configure Wed Sep 17 11:23:18 2014 -0700
+++ ./configure Wed Nov 05 15:01:08 2014 -0800
@@ -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/Main.gmk Wed Sep 17 11:23:18 2014 -0700
+++ ./make/Main.gmk Wed Nov 05 15:01:08 2014 -0800
@@ -58,7 +58,11 @@
# Setup number of jobs to use. -jN is unfortunately not available for us to parse from the command line,
# hence this workaround.
+ifdef JOBS
+ifneq ($(JOBS),0)
MAKE_ARGS:=$(MAKE_ARGS) -j$(JOBS)
+endif
+endif
### Main targets
--- ./make/common/MakeBase.gmk Wed Sep 17 11:23:18 2014 -0700
+++ ./make/common/MakeBase.gmk Wed Nov 05 15:01:08 2014 -0800
@@ -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.
# Only use time if it's GNU time which supports format and output file.
- WRAPPER_SHELL:=/bin/bash $$(SRC_ROOT)/common/bin/shell-tracer.sh $$(if $$(findstring yes,$$(IS_GNU_TIME)),$$(TIME),-) $$(OUTPUT_ROOT)/build-trace-time.log /bin/bash
+ WRAPPER_SHELL:=bash $$(SRC_ROOT)/common/bin/shell-tracer.sh $$(if $$(findstring yes,$$(IS_GNU_TIME)),$$(TIME),-) $$(OUTPUT_ROOT)/build-trace-time.log bash
SHELL=$$(warning $$(if $$@,Building $$@,Running shell command) $$(if $$<, (from $$<))$$(if $$?, ($$(wordlist 1, 20, $$?) $$(if $$(wordlist 21, 22, $$?), ... [in total $$(words $$?) files]) newer)))$$(WRAPPER_SHELL)
endif
# Never remove warning messages; this is just for completeness
@@ -365,8 +365,8 @@
# This is to be called by all SetupFoo macros
define LogSetupMacroEntry
- $(if $(27),$(error Internal makefile error: Too many arguments to LogSetupMacroEntry, please update MakeBase.gmk))
- $(if $(findstring $(LOG_LEVEL),debug trace), $(info $1 $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26,$(if $($i),$(NEWLINE) $(strip [$i] $($i))))))
+ $(if $(30),$(error Internal makefile error: Too many arguments to LogSetupMacroEntry, please update MakeBase.gmk))
+ $(if $(findstring $(LOG_LEVEL),debug trace), $(info $1 $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29,$(if $($i),$(NEWLINE) $(strip [$i] $($i))))))
endef
# Make directory without forking mkdir if not needed
--- ./make/common/NativeCompilation.gmk Wed Sep 17 11:23:18 2014 -0700
+++ ./make/common/NativeCompilation.gmk Wed Nov 05 15:01:08 2014 -0800
@@ -151,9 +151,9 @@
# CC the compiler to use, default is $(CC)
# LDEXE the linker to use for linking executables, default is $(LDEXE)
# OPTIMIZATION sets optimization level to NONE, LOW, HIGH, HIGHEST
- $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
- $(call LogSetupMacroEntry,SetupNativeCompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15),$(16),$(17),$(18),$(19),$(20),$(21),$(22),$(23),$(24),$(25),$(26))
- $(if $(27),$(error Internal makefile error: Too many arguments to SetupNativeCompilation, please update NativeCompilation.gmk))
+ $(foreach i,2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29, $(if $($i),$1_$(strip $($i)))$(NEWLINE))
+ $(call LogSetupMacroEntry,SetupNativeCompilation($1),$2,$3,$4,$5,$6,$7,$8,$9,$(10),$(11),$(12),$(13),$(14),$(15),$(16),$(17),$(18),$(19),$(20),$(21),$(22),$(23),$(24),$(25),$(26),$(27),$(28),$(29))
+ $(if $(30),$(error Internal makefile error: Too many arguments to SetupNativeCompilation, please update NativeCompilation.gmk))
ifneq (,$$($1_BIN))
$$(error BIN has been replaced with OBJECT_DIR)
--- ./corba/.hgtags Mon Sep 08 12:34:37 2014 -0700
+++ ./corba/.hgtags Wed Sep 17 11:55:37 2014 -0700
@@ -329,3 +329,4 @@
7e9a2027d0214019d66325fa7ca59cf8281fb43e jdk8u25-b14
5b2cb4935667cd02d7974b3b6fb6bf4092b5acae jdk8u25-b15
28d7f90e04e46ce8c633a2fbf0157d9e77db17c3 jdk8u25-b16
+f46df0af2ca8c7d896de375c8edac8ce09318318 jdk8u25-b17
--- ./hotspot/.hgtags Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/.hgtags Wed Nov 05 15:01:44 2014 -0800
@@ -518,3 +518,4 @@
c77d5db189422e2eef0443ee212644e497113b18 jdk8u25-b14
e62c06b887310b5bd23be9b817a9a6f0daf0d0e1 jdk8u25-b15
6467bdd4d22d8b140844dc847c43b9ba7cb0bbd1 jdk8u25-b16
+28b50d07f6f8c5a567b6a25e95a423948114a004 jdk8u25-b17
--- ./hotspot/make/bsd/makefiles/adjust-mflags.sh Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/make/bsd/makefiles/adjust-mflags.sh Wed Nov 05 15:01:44 2014 -0800
@@ -64,7 +64,6 @@
echo "$MFLAGS" \
| sed '
s/^-/ -/
- s/ -\([^ ][^ ]*\)j/ -\1 -j/
s/ -j[0-9][0-9]*/ -j/
s/ -j\([^ ]\)/ -j -\1/
s/ -j/ -j'${HOTSPOT_BUILD_JOBS:-${default_build_jobs}}'/
--- ./hotspot/make/bsd/makefiles/build_vm_def.sh Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/make/bsd/makefiles/build_vm_def.sh Wed Nov 05 15:01:44 2014 -0800
@@ -1,12 +1,28 @@
#!/bin/sh
# If we're cross compiling use that path for nm
-if [ "$CROSS_COMPILE_ARCH" != "" ]; then
-NM=$ALT_COMPILER_PATH/nm
+if [ "$CROSS_COMPILE_ARCH" != "" ]; then
+ NM=$ALT_COMPILER_PATH/nm
else
-NM=nm
+ NM=nm
fi
-$NM -Uj $* | awk '
- { if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 }
- '
+case "$(uname -s)" in
+Darwin )
+ $NM -Uj $@ | awk '{
+ if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3
+ }' ;;
+OpenBSD )
+ $NM $@ | awk '{
+ if ($2 == "U") next
+ if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 ";"
+ if ($3 ~ /^UseSharedSpaces$/) print "\t" $3 ";"
+ if ($3 ~ /^_ZN9Arguments17SharedArchivePathE$/) print "\t" $3 ";"
+ }' | sort -u ;;
+* )
+ $NM --defined-only $@ | awk '{
+ if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 ";"
+ if ($3 ~ /^UseSharedSpaces$/) print "\t" $3 ";"
+ if ($3 ~ /^_ZN9Arguments17SharedArchivePathE$/) print "\t" $3 ";"
+ }' | sort -u ;;
+esac
--- ./hotspot/make/bsd/makefiles/debug.make Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/make/bsd/makefiles/debug.make Wed Nov 05 15:01:44 2014 -0800
@@ -35,7 +35,10 @@
# to inhibit the effect of the previous line on CFLAGS.
# Linker mapfile
-MAPFILE = $(GAMMADIR)/make/bsd/makefiles/mapfile-vers-debug
+ifeq ($(OS_VENDOR), Darwin)
+MAPSUFX = .macosx
+endif
+MAPFILE = $(GAMMADIR)/make/bsd/makefiles/mapfile-vers-debug$(MAPSUFX)
VERSION = debug
SYSDEFS += -DASSERT
--- ./hotspot/make/bsd/makefiles/fastdebug.make Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/make/bsd/makefiles/fastdebug.make Wed Nov 05 15:01:44 2014 -0800
@@ -56,7 +56,10 @@
# to inhibit the effect of the previous line on CFLAGS.
# Linker mapfile
-MAPFILE = $(GAMMADIR)/make/bsd/makefiles/mapfile-vers-debug
+ifeq ($(OS_VENDOR), Darwin)
+MAPSUFX = .macosx
+endif
+MAPFILE = $(GAMMADIR)/make/bsd/makefiles/mapfile-vers-debug$(MAPSUFX)
VERSION = fastdebug
SYSDEFS += -DASSERT -DCHECK_UNHANDLED_OOPS
--- ./hotspot/make/bsd/makefiles/gcc.make Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/make/bsd/makefiles/gcc.make Wed Nov 05 15:01:44 2014 -0800
@@ -168,6 +168,9 @@
CFLAGS += -DDONT_USE_PRECOMPILED_HEADER
endif
+# Allow for where third party packages are located
+CFLAGS+= -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
+
#------------------------------------------------------------------------
# Compiler flags
@@ -201,12 +204,15 @@
endif
ifeq ($(USE_CLANG), true)
- # Before Clang 3.1, we had to pass the stack alignment specification directly to llvm with the help of '-mllvm'
- # Starting with version 3.1, Clang understands the '-mstack-alignment' (and rejects '-mllvm -stack-alignment')
- ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 1 \) \))" "0"
- STACK_ALIGNMENT_OPT = -mno-omit-leaf-frame-pointer -mstack-alignment=16
- else
- STACK_ALIGNMENT_OPT = -mno-omit-leaf-frame-pointer -mllvm -stack-alignment=16
+ STACK_ALIGNMENT_OPT = -mno-omit-leaf-frame-pointer
+ ifeq ($(OS_VENDOR), Darwin)
+ # Before Clang 3.1, we had to pass the stack alignment specification directly to llvm with the help of '-mllvm'
+ # Starting with version 3.1, Clang understands the '-mstack-alignment' (and rejects '-mllvm -stack-alignment')
+ ifneq "$(shell expr \( $(CC_VER_MAJOR) \> 3 \) \| \( \( $(CC_VER_MAJOR) = 3 \) \& \( $(CC_VER_MINOR) \>= 1 \) \))" "0"
+ STACK_ALIGNMENT_OPT += -mstack-alignment=16
+ else
+ STACK_ALIGNMENT_OPT += -mllvm -stack-alignment=16
+ endif
endif
endif
@@ -265,7 +271,7 @@
ifeq "$(shell expr \( $(CC_VER_MAJOR) \> 4 \) \| \( \( $(CC_VER_MAJOR) = 4 \) \& \( $(CC_VER_MINOR) \>= 3 \) \))" "0"
# Since GCC 4.3, -Wconversion has changed its meanings to warn these implicit
# conversions which might affect the values. Only enable it in earlier versions.
- WARNING_FLAGS = -Wunused-function
+# WARNING_FLAGS = -Wunused-function
ifeq ($(USE_CLANG),)
WARNING_FLAGS += -Wconversion
endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ ./hotspot/make/bsd/makefiles/launcher.make Wed Nov 05 15:01:44 2014 -0800
@@ -0,0 +1,117 @@
+#
+# Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+#
+
+# Rules to build gamma launcher, used by vm.make
+
+
+LAUNCHER_SCRIPT = hotspot
+LAUNCHER = gamma
+
+LAUNCHERDIR := $(GAMMADIR)/src/os/posix/launcher
+LAUNCHERDIR_SHARE := $(GAMMADIR)/src/share/tools/launcher
+LAUNCHERFLAGS := $(ARCHFLAG) \
+ -I$(LAUNCHERDIR) -I$(GAMMADIR)/src/share/vm/prims \
+ -I$(LAUNCHERDIR_SHARE) \
+ -DFULL_VERSION=\"$(HOTSPOT_RELEASE_VERSION)\" \
+ -DJDK_MAJOR_VERSION=\"$(JDK_MAJOR_VERSION)\" \
+ -DJDK_MINOR_VERSION=\"$(JDK_MINOR_VERSION)\" \
+ -DARCH=\"$(LIBARCH)\" \
+ -DGAMMA \
+ -DLAUNCHER_TYPE=\"gamma\" \
+ -DLINK_INTO_$(LINK_INTO) \
+ $(TARGET_DEFINES)
+# Give the launcher task_for_pid() privileges so that it can be used to run JStack, JInfo, et al.
+ifeq ($(OS_VENDOR), Darwin)
+LFLAGS_LAUNCHER += -sectcreate __TEXT __info_plist $(GAMMADIR)/src/os/bsd/launcher/Info-privileged.plist
+endif
+
+ifeq ($(LINK_INTO),AOUT)
+ LAUNCHER.o = launcher.o $(JVM_OBJ_FILES)
+ LAUNCHER_MAPFILE = mapfile_reorder
+ LFLAGS_LAUNCHER$(LDNOMAP) += $(MAPFLAG:FILENAME=$(LAUNCHER_MAPFILE))
+ LFLAGS_LAUNCHER += $(SONAMEFLAG:SONAME=$(LIBJVM)) $(STATIC_LIBGCC)
+ LIBS_LAUNCHER += $(STATIC_STDCXX) $(LIBS)
+else
+ LAUNCHER.o = launcher.o
+ LFLAGS_LAUNCHER += -L`pwd`
+
+ # The gamma launcher runs the JDK from $JAVA_HOME, overriding the JVM with a
+ # freshly built JVM at ./libjvm.{so|dylib}. This is accomplished by setting
+ # the library searchpath using ({DY}LD_LIBRARY_PATH) to find the local JVM
+ # first. Gamma dlopen()s libjava from $JAVA_HOME/jre/lib{/$arch}, which is
+ # statically linked with CoreFoundation framework libs. Unfortunately, gamma's
+ # unique searchpath results in some unresolved symbols in the framework
+ # libraries, because JDK libraries are inadvertently discovered first on the
+ # searchpath, e.g. libjpeg. On Mac OS X, filenames are case *insensitive*.
+ # So, the actual filename collision is libjpeg.dylib and libJPEG.dylib.
+ # To resolve this, gamma needs to also statically link with the CoreFoundation
+ # framework libraries.
+
+ ifeq ($(OS_VENDOR),Darwin)
+ LFLAGS_LAUNCHER += -framework CoreFoundation
+ endif
+
+ LIBS_LAUNCHER += -l$(JVM) $(LIBS)
+endif
+
+LINK_LAUNCHER = $(LINK.CC)
+
+LINK_LAUNCHER/PRE_HOOK = $(LINK_LIB.CXX/PRE_HOOK)
+LINK_LAUNCHER/POST_HOOK = $(LINK_LIB.CXX/POST_HOOK)
+
+LAUNCHER_OUT = launcher
+
+SUFFIXES += .d
+
+SOURCES := $(shell find $(LAUNCHERDIR) -name "*.c")
+SOURCES_SHARE := $(shell find $(LAUNCHERDIR_SHARE) -name "*.c")
+
+OBJS := $(patsubst $(LAUNCHERDIR)/%.c,$(LAUNCHER_OUT)/%.o,$(SOURCES)) $(patsubst $(LAUNCHERDIR_SHARE)/%.c,$(LAUNCHER_OUT)/%.o,$(SOURCES_SHARE))
+
+DEPFILES := $(patsubst %.o,%.d,$(OBJS))
+-include $(DEPFILES)
+
+$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR_SHARE)/%.c
+ $(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
+ $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CXXFLAGS)
+
+$(LAUNCHER_OUT)/%.o: $(LAUNCHERDIR)/%.c
+ $(QUIETLY) [ -d $(LAUNCHER_OUT) ] || { mkdir -p $(LAUNCHER_OUT); }
+ $(QUIETLY) $(CC) -g -o $@ -c $< -MMD $(LAUNCHERFLAGS) $(CXXFLAGS)
+
+$(LAUNCHER): $(OBJS) $(LIBJVM) $(LAUNCHER_MAPFILE)
+ $(QUIETLY) echo Linking launcher...
+ $(QUIETLY) $(LINK_LAUNCHER/PRE_HOOK)
+ $(QUIETLY) $(LINK_LAUNCHER) $(LFLAGS_LAUNCHER) -o $@ $(sort $(OBJS)) $(LIBS_LAUNCHER)
+ $(QUIETLY) $(LINK_LAUNCHER/POST_HOOK)
+ # Sign the launcher with the development certificate (if present) so that it can be used
+ # to run JStack, JInfo, et al.
+ $(QUIETLY) -codesign -s openjdk_codesign $@
+
+$(LAUNCHER): $(LAUNCHER_SCRIPT)
+
+$(LAUNCHER_SCRIPT): $(LAUNCHERDIR)/launcher.script
+ $(QUIETLY) sed -e 's/@@LIBARCH@@/$(LIBARCH)/g' $< > $@
+ $(QUIETLY) chmod +x $@
+
--- ./hotspot/make/bsd/makefiles/mapfile-vers-debug Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/make/bsd/makefiles/mapfile-vers-debug Wed Nov 05 15:01:44 2014 -0800
@@ -21,243 +21,251 @@
# questions.
#
#
-# Only used for OSX/Darwin builds
# Define public interface.
+
+SUNWprivate_1.1 {
+ global:
# _JNI
- _JNI_CreateJavaVM
- _JNI_GetCreatedJavaVMs
- _JNI_GetDefaultJavaVMInitArgs
+ JNI_CreateJavaVM;
+ JNI_GetCreatedJavaVMs;
+ JNI_GetDefaultJavaVMInitArgs;
- # _JVM
- _JVM_Accept
- _JVM_ActiveProcessorCount
- _JVM_AllocateNewArray
- _JVM_AllocateNewObject
- _JVM_ArrayCopy
- _JVM_AssertionStatusDirectives
- _JVM_Available
- _JVM_Bind
- _JVM_ClassDepth
- _JVM_ClassLoaderDepth
- _JVM_Clone
- _JVM_Close
- _JVM_CX8Field
- _JVM_CompileClass
- _JVM_CompileClasses
- _JVM_CompilerCommand
- _JVM_Connect
- _JVM_ConstantPoolGetClassAt
- _JVM_ConstantPoolGetClassAtIfLoaded
- _JVM_ConstantPoolGetDoubleAt
- _JVM_ConstantPoolGetFieldAt
- _JVM_ConstantPoolGetFieldAtIfLoaded
- _JVM_ConstantPoolGetFloatAt
- _JVM_ConstantPoolGetIntAt
- _JVM_ConstantPoolGetLongAt
- _JVM_ConstantPoolGetMethodAt
- _JVM_ConstantPoolGetMethodAtIfLoaded
- _JVM_ConstantPoolGetMemberRefInfoAt
- _JVM_ConstantPoolGetSize
- _JVM_ConstantPoolGetStringAt
- _JVM_ConstantPoolGetUTF8At
- _JVM_CountStackFrames
- _JVM_CurrentClassLoader
- _JVM_CurrentLoadedClass
- _JVM_CurrentThread
- _JVM_CurrentTimeMillis
- _JVM_DefineClass
- _JVM_DefineClassWithSource
- _JVM_DefineClassWithSourceCond
- _JVM_DesiredAssertionStatus
- _JVM_DisableCompiler
- _JVM_DoPrivileged
- _JVM_DTraceGetVersion
- _JVM_DTraceActivate
- _JVM_DTraceIsProbeEnabled
- _JVM_DTraceIsSupported
- _JVM_DTraceDispose
- _JVM_DumpAllStacks
- _JVM_DumpThreads
- _JVM_EnableCompiler
- _JVM_Exit
- _JVM_FillInStackTrace
- _JVM_FindClassFromCaller
- _JVM_FindClassFromClass
- _JVM_FindClassFromClassLoader
- _JVM_FindClassFromBootLoader
- _JVM_FindLibraryEntry
- _JVM_FindLoadedClass
- _JVM_FindPrimitiveClass
- _JVM_FindSignal
- _JVM_FreeMemory
- _JVM_GC
- _JVM_GetAllThreads
- _JVM_GetArrayElement
- _JVM_GetArrayLength
- _JVM_GetCPClassNameUTF
- _JVM_GetCPFieldClassNameUTF
- _JVM_GetCPFieldModifiers
- _JVM_GetCPFieldNameUTF
- _JVM_GetCPFieldSignatureUTF
- _JVM_GetCPMethodClassNameUTF
- _JVM_GetCPMethodModifiers
- _JVM_GetCPMethodNameUTF
- _JVM_GetCPMethodSignatureUTF
- _JVM_GetCallerClass
- _JVM_GetClassAccessFlags
- _JVM_GetClassAnnotations
- _JVM_GetClassCPEntriesCount
- _JVM_GetClassCPTypes
- _JVM_GetClassConstantPool
- _JVM_GetClassContext
- _JVM_GetClassDeclaredConstructors
- _JVM_GetClassDeclaredFields
- _JVM_GetClassDeclaredMethods
- _JVM_GetClassFieldsCount
- _JVM_GetClassInterfaces
- _JVM_GetClassLoader
- _JVM_GetClassMethodsCount
- _JVM_GetClassModifiers
- _JVM_GetClassName
- _JVM_GetClassNameUTF
- _JVM_GetClassSignature
- _JVM_GetClassSigners
- _JVM_GetClassTypeAnnotations
- _JVM_GetComponentType
- _JVM_GetDeclaredClasses
- _JVM_GetDeclaringClass
- _JVM_GetEnclosingMethodInfo
- _JVM_GetFieldAnnotations
- _JVM_GetFieldIxModifiers
- _JVM_GetFieldTypeAnnotations
- _JVM_GetHostName
- _JVM_GetInheritedAccessControlContext
- _JVM_GetInterfaceVersion
- _JVM_GetLastErrorString
- _JVM_GetManagement
- _JVM_GetMethodAnnotations
- _JVM_GetMethodDefaultAnnotationValue
- _JVM_GetMethodIxArgsSize
- _JVM_GetMethodIxByteCode
- _JVM_GetMethodIxByteCodeLength
- _JVM_GetMethodIxExceptionIndexes
- _JVM_GetMethodIxExceptionTableEntry
- _JVM_GetMethodIxExceptionTableLength
- _JVM_GetMethodIxExceptionsCount
- _JVM_GetMethodIxLocalsCount
- _JVM_GetMethodIxMaxStack
- _JVM_GetMethodIxModifiers
- _JVM_GetMethodIxNameUTF
- _JVM_GetMethodIxSignatureUTF
- _JVM_GetMethodParameterAnnotations
- _JVM_GetMethodParameters
- _JVM_GetMethodTypeAnnotations
- _JVM_GetPrimitiveArrayElement
- _JVM_GetProtectionDomain
- _JVM_GetSockName
- _JVM_GetSockOpt
- _JVM_GetStackAccessControlContext
- _JVM_GetStackTraceDepth
- _JVM_GetStackTraceElement
- _JVM_GetSystemPackage
- _JVM_GetSystemPackages
- _JVM_GetTemporaryDirectory
- _JVM_GetThreadStateNames
- _JVM_GetThreadStateValues
- _JVM_GetVersionInfo
- _JVM_Halt
- _JVM_HoldsLock
- _JVM_IHashCode
- _JVM_InitAgentProperties
- _JVM_InitProperties
- _JVM_InitializeCompiler
- _JVM_InitializeSocketLibrary
- _JVM_InternString
- _JVM_Interrupt
- _JVM_InvokeMethod
- _JVM_IsArrayClass
- _JVM_IsConstructorIx
- _JVM_IsInterface
- _JVM_IsInterrupted
- _JVM_IsNaN
- _JVM_IsPrimitiveClass
- _JVM_IsSameClassPackage
- _JVM_IsSilentCompiler
- _JVM_IsSupportedJNIVersion
- _JVM_IsThreadAlive
- _JVM_IsVMGeneratedMethodIx
- _JVM_LatestUserDefinedLoader
- _JVM_Listen
- _JVM_LoadClass0
- _JVM_LoadLibrary
- _JVM_Lseek
- _JVM_MaxObjectInspectionAge
- _JVM_MaxMemory
- _JVM_MonitorNotify
- _JVM_MonitorNotifyAll
- _JVM_MonitorWait
- _JVM_NanoTime
- _JVM_NativePath
- _JVM_NewArray
- _JVM_NewInstanceFromConstructor
- _JVM_NewMultiArray
- _JVM_OnExit
- _JVM_Open
- _JVM_RaiseSignal
- _JVM_RawMonitorCreate
- _JVM_RawMonitorDestroy
- _JVM_RawMonitorEnter
- _JVM_RawMonitorExit
- _JVM_Read
- _JVM_Recv
- _JVM_RecvFrom
- _JVM_RegisterSignal
- _JVM_ReleaseUTF
- _JVM_ResolveClass
- _JVM_ResumeThread
- _JVM_Send
- _JVM_SendTo
- _JVM_SetArrayElement
- _JVM_SetClassSigners
- _JVM_SetLength
- _JVM_SetNativeThreadName
- _JVM_SetPrimitiveArrayElement
- _JVM_SetSockOpt
- _JVM_SetThreadPriority
- _JVM_Sleep
- _JVM_Socket
- _JVM_SocketAvailable
- _JVM_SocketClose
- _JVM_SocketShutdown
- _JVM_StartThread
- _JVM_StopThread
- _JVM_SuspendThread
- _JVM_SupportsCX8
- _JVM_Sync
- _JVM_Timeout
- _JVM_TotalMemory
- _JVM_TraceInstructions
- _JVM_TraceMethodCalls
- _JVM_UnloadLibrary
- _JVM_Write
- _JVM_Yield
- _JVM_handle_bsd_signal
+ # JVM
+ JVM_Accept;
+ JVM_ActiveProcessorCount;
+ JVM_AllocateNewArray;
+ JVM_AllocateNewObject;
+ JVM_ArrayCopy;
+ JVM_AssertionStatusDirectives;
+ JVM_Available;
+ JVM_Bind;
+ JVM_ClassDepth;
+ JVM_ClassLoaderDepth;
+ JVM_Clone;
+ JVM_Close;
+ JVM_CX8Field;
+ JVM_CompileClass;
+ JVM_CompileClasses;
+ JVM_CompilerCommand;
+ JVM_Connect;
+ JVM_ConstantPoolGetClassAt;
+ JVM_ConstantPoolGetClassAtIfLoaded;
+ JVM_ConstantPoolGetDoubleAt;
+ JVM_ConstantPoolGetFieldAt;
+ JVM_ConstantPoolGetFieldAtIfLoaded;
+ JVM_ConstantPoolGetFloatAt;
+ JVM_ConstantPoolGetIntAt;
+ JVM_ConstantPoolGetLongAt;
+ JVM_ConstantPoolGetMethodAt;
+ JVM_ConstantPoolGetMethodAtIfLoaded;
+ JVM_ConstantPoolGetMemberRefInfoAt;
+ JVM_ConstantPoolGetSize;
+ JVM_ConstantPoolGetStringAt;
+ JVM_ConstantPoolGetUTF8At;
+ JVM_CountStackFrames;
+ JVM_CurrentClassLoader;
+ JVM_CurrentLoadedClass;
+ JVM_CurrentThread;
+ JVM_CurrentTimeMillis;
+ JVM_DefineClass;
+ JVM_DefineClassWithSource;
+ JVM_DefineClassWithSourceCond;
+ JVM_DesiredAssertionStatus;
+ JVM_DisableCompiler;
+ JVM_DoPrivileged;
+ JVM_DTraceGetVersion;
+ JVM_DTraceActivate;
+ JVM_DTraceIsProbeEnabled;
+ JVM_DTraceIsSupported;
+ JVM_DTraceDispose;
+ JVM_DumpAllStacks;
+ JVM_DumpThreads;
+ JVM_EnableCompiler;
+ JVM_Exit;
+ JVM_FillInStackTrace;
+ JVM_FindClassFromCaller;
+ JVM_FindClassFromClass;
+ JVM_FindClassFromClassLoader;
+ JVM_FindClassFromBootLoader;
+ JVM_FindLibraryEntry;
+ JVM_FindLoadedClass;
+ JVM_FindPrimitiveClass;
+ JVM_FindSignal;
+ JVM_FreeMemory;
+ JVM_GC;
+ JVM_GetAllThreads;
+ JVM_GetArrayElement;
+ JVM_GetArrayLength;
+ JVM_GetCPClassNameUTF;
+ JVM_GetCPFieldClassNameUTF;
+ JVM_GetCPFieldModifiers;
+ JVM_GetCPFieldNameUTF;
+ JVM_GetCPFieldSignatureUTF;
+ JVM_GetCPMethodClassNameUTF;
+ JVM_GetCPMethodModifiers;
+ JVM_GetCPMethodNameUTF;
+ JVM_GetCPMethodSignatureUTF;
+ JVM_GetCallerClass;
+ JVM_GetClassAccessFlags;
+ JVM_GetClassAnnotations;
+ JVM_GetClassCPEntriesCount;
+ JVM_GetClassCPTypes;
+ JVM_GetClassConstantPool;
+ JVM_GetClassContext;
+ JVM_GetClassDeclaredConstructors;
+ JVM_GetClassDeclaredFields;
+ JVM_GetClassDeclaredMethods;
+ JVM_GetClassFieldsCount;
+ JVM_GetClassInterfaces;
+ JVM_GetClassLoader;
+ JVM_GetClassMethodsCount;
+ JVM_GetClassModifiers;
+ JVM_GetClassName;
+ JVM_GetClassNameUTF;
+ JVM_GetClassSignature;
+ JVM_GetClassSigners;
+ JVM_GetClassTypeAnnotations;
+ JVM_GetComponentType;
+ JVM_GetDeclaredClasses;
+ JVM_GetDeclaringClass;
+ JVM_GetEnclosingMethodInfo;
+ JVM_GetFieldAnnotations;
+ JVM_GetFieldIxModifiers;
+ JVM_GetFieldTypeAnnotations;
+ JVM_GetHostName;
+ JVM_GetInheritedAccessControlContext;
+ JVM_GetInterfaceVersion;
+ JVM_GetLastErrorString;
+ JVM_GetManagement;
+ JVM_GetMethodAnnotations;
+ JVM_GetMethodDefaultAnnotationValue;
+ JVM_GetMethodIxArgsSize;
+ JVM_GetMethodIxByteCode;
+ JVM_GetMethodIxByteCodeLength;
+ JVM_GetMethodIxExceptionIndexes;
+ JVM_GetMethodIxExceptionTableEntry;
+ JVM_GetMethodIxExceptionTableLength;
+ JVM_GetMethodIxExceptionsCount;
+ JVM_GetMethodIxLocalsCount;
+ JVM_GetMethodIxMaxStack;
+ JVM_GetMethodIxModifiers;
+ JVM_GetMethodIxNameUTF;
+ JVM_GetMethodIxSignatureUTF;
+ JVM_GetMethodParameterAnnotations;
+ JVM_GetMethodParameters;
+ JVM_GetMethodTypeAnnotations;
+ JVM_GetPrimitiveArrayElement;
+ JVM_GetProtectionDomain;
+ JVM_GetSockName;
+ JVM_GetSockOpt;
+ JVM_GetStackAccessControlContext;
+ JVM_GetStackTraceDepth;
+ JVM_GetStackTraceElement;
+ JVM_GetSystemPackage;
+ JVM_GetSystemPackages;
+ JVM_GetTemporaryDirectory;
+ JVM_GetThreadStateNames;
+ JVM_GetThreadStateValues;
+ JVM_GetVersionInfo;
+ JVM_Halt;
+ JVM_HoldsLock;
+ JVM_IHashCode;
+ JVM_InitAgentProperties;
+ JVM_InitProperties;
+ JVM_InitializeCompiler;
+ JVM_InitializeSocketLibrary;
+ JVM_InternString;
+ JVM_Interrupt;
+ JVM_InvokeMethod;
+ JVM_IsArrayClass;
+ JVM_IsConstructorIx;
+ JVM_IsInterface;
+ JVM_IsInterrupted;
+ JVM_IsNaN;
+ JVM_IsPrimitiveClass;
+ JVM_IsSameClassPackage;
+ JVM_IsSilentCompiler;
+ JVM_IsSupportedJNIVersion;
+ JVM_IsThreadAlive;
+ JVM_IsVMGeneratedMethodIx;
+ JVM_LatestUserDefinedLoader;
+ JVM_Listen;
+ JVM_LoadClass0;
+ JVM_LoadLibrary;
+ JVM_Lseek;
+ JVM_MaxObjectInspectionAge;
+ JVM_MaxMemory;
+ JVM_MonitorNotify;
+ JVM_MonitorNotifyAll;
+ JVM_MonitorWait;
+ JVM_NanoTime;
+ JVM_NativePath;
+ JVM_NewArray;
+ JVM_NewInstanceFromConstructor;
+ JVM_NewMultiArray;
+ JVM_OnExit;
+ JVM_Open;
+ JVM_RaiseSignal;
+ JVM_RawMonitorCreate;
+ JVM_RawMonitorDestroy;
+ JVM_RawMonitorEnter;
+ JVM_RawMonitorExit;
+ JVM_Read;
+ JVM_Recv;
+ JVM_RecvFrom;
+ JVM_RegisterSignal;
+ JVM_ReleaseUTF;
+ JVM_ResolveClass;
+ JVM_ResumeThread;
+ JVM_Send;
+ JVM_SendTo;
+ JVM_SetArrayElement;
+ JVM_SetClassSigners;
+ JVM_SetLength;
+ JVM_SetNativeThreadName;
+ JVM_SetPrimitiveArrayElement;
+ JVM_SetSockOpt;
+ JVM_SetThreadPriority;
+ JVM_Sleep;
+ JVM_Socket;
+ JVM_SocketAvailable;
+ JVM_SocketClose;
+ JVM_SocketShutdown;
+ JVM_StartThread;
+ JVM_StopThread;
+ JVM_SuspendThread;
+ JVM_SupportsCX8;
+ JVM_Sync;
+ JVM_Timeout;
+ JVM_TotalMemory;
+ JVM_TraceInstructions;
+ JVM_TraceMethodCalls;
+ JVM_UnloadLibrary;
+ JVM_Write;
+ JVM_Yield;
+ JVM_handle_bsd_signal;
- # debug _JVM
- _JVM_AccessVMBooleanFlag
- _JVM_AccessVMIntFlag
- _JVM_VMBreakPoint
+ # debug JVM
+ JVM_AccessVMBooleanFlag;
+ JVM_AccessVMIntFlag;
+ JVM_VMBreakPoint;
# miscellaneous functions
- _jio_fprintf
- _jio_printf
- _jio_snprintf
- _jio_vfprintf
- _jio_vsnprintf
+ jio_fprintf;
+ jio_printf;
+ jio_snprintf;
+ jio_vfprintf;
+ jio_vsnprintf;
+ fork1;
+ numa_warn;
+ numa_error;
# This is for Forte Analyzer profiling support.
- _AsyncGetCallTrace
+ AsyncGetCallTrace;
# INSERT VTABLE SYMBOLS HERE
+ local:
+ *;
+};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ ./hotspot/make/bsd/makefiles/mapfile-vers-debug.macosx Wed Nov 05 15:01:44 2014 -0800
@@ -0,0 +1,263 @@
+#
+# Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# 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.
+#
+#
+# Only used for OSX/Darwin builds
+
+# Define public interface.
+ # _JNI
+ _JNI_CreateJavaVM
+ _JNI_GetCreatedJavaVMs
+ _JNI_GetDefaultJavaVMInitArgs
+
+ # _JVM
+ _JVM_Accept
+ _JVM_ActiveProcessorCount
+ _JVM_AllocateNewArray
+ _JVM_AllocateNewObject
+ _JVM_ArrayCopy
+ _JVM_AssertionStatusDirectives
+ _JVM_Available
+ _JVM_Bind
+ _JVM_ClassDepth
+ _JVM_ClassLoaderDepth
+ _JVM_Clone
+ _JVM_Close
+ _JVM_CX8Field
+ _JVM_CompileClass
+ _JVM_CompileClasses
+ _JVM_CompilerCommand
+ _JVM_Connect
+ _JVM_ConstantPoolGetClassAt
+ _JVM_ConstantPoolGetClassAtIfLoaded
+ _JVM_ConstantPoolGetDoubleAt
+ _JVM_ConstantPoolGetFieldAt
+ _JVM_ConstantPoolGetFieldAtIfLoaded
+ _JVM_ConstantPoolGetFloatAt
+ _JVM_ConstantPoolGetIntAt
+ _JVM_ConstantPoolGetLongAt
+ _JVM_ConstantPoolGetMethodAt
+ _JVM_ConstantPoolGetMethodAtIfLoaded
+ _JVM_ConstantPoolGetMemberRefInfoAt
+ _JVM_ConstantPoolGetSize
+ _JVM_ConstantPoolGetStringAt
+ _JVM_ConstantPoolGetUTF8At
+ _JVM_CountStackFrames
+ _JVM_CurrentClassLoader
+ _JVM_CurrentLoadedClass
+ _JVM_CurrentThread
+ _JVM_CurrentTimeMillis
+ _JVM_DefineClass
+ _JVM_DefineClassWithSource
+ _JVM_DefineClassWithSourceCond
+ _JVM_DesiredAssertionStatus
+ _JVM_DisableCompiler
+ _JVM_DoPrivileged
+ _JVM_DTraceGetVersion
+ _JVM_DTraceActivate
+ _JVM_DTraceIsProbeEnabled
+ _JVM_DTraceIsSupported
+ _JVM_DTraceDispose
+ _JVM_DumpAllStacks
+ _JVM_DumpThreads
+ _JVM_EnableCompiler
+ _JVM_Exit
+ _JVM_FillInStackTrace
+ _JVM_FindClassFromCaller
+ _JVM_FindClassFromClass
+ _JVM_FindClassFromClassLoader
+ _JVM_FindClassFromBootLoader
+ _JVM_FindLibraryEntry
+ _JVM_FindLoadedClass
+ _JVM_FindPrimitiveClass
+ _JVM_FindSignal
+ _JVM_FreeMemory
+ _JVM_GC
+ _JVM_GetAllThreads
+ _JVM_GetArrayElement
+ _JVM_GetArrayLength
+ _JVM_GetCPClassNameUTF
+ _JVM_GetCPFieldClassNameUTF
+ _JVM_GetCPFieldModifiers
+ _JVM_GetCPFieldNameUTF
+ _JVM_GetCPFieldSignatureUTF
+ _JVM_GetCPMethodClassNameUTF
+ _JVM_GetCPMethodModifiers
+ _JVM_GetCPMethodNameUTF
+ _JVM_GetCPMethodSignatureUTF
+ _JVM_GetCallerClass
+ _JVM_GetClassAccessFlags
+ _JVM_GetClassAnnotations
+ _JVM_GetClassCPEntriesCount
+ _JVM_GetClassCPTypes
+ _JVM_GetClassConstantPool
+ _JVM_GetClassContext
+ _JVM_GetClassDeclaredConstructors
+ _JVM_GetClassDeclaredFields
+ _JVM_GetClassDeclaredMethods
+ _JVM_GetClassFieldsCount
+ _JVM_GetClassInterfaces
+ _JVM_GetClassLoader
+ _JVM_GetClassMethodsCount
+ _JVM_GetClassModifiers
+ _JVM_GetClassName
+ _JVM_GetClassNameUTF
+ _JVM_GetClassSignature
+ _JVM_GetClassSigners
+ _JVM_GetClassTypeAnnotations
+ _JVM_GetComponentType
+ _JVM_GetDeclaredClasses
+ _JVM_GetDeclaringClass
+ _JVM_GetEnclosingMethodInfo
+ _JVM_GetFieldAnnotations
+ _JVM_GetFieldIxModifiers
+ _JVM_GetFieldTypeAnnotations
+ _JVM_GetHostName
+ _JVM_GetInheritedAccessControlContext
+ _JVM_GetInterfaceVersion
+ _JVM_GetLastErrorString
+ _JVM_GetManagement
+ _JVM_GetMethodAnnotations
+ _JVM_GetMethodDefaultAnnotationValue
+ _JVM_GetMethodIxArgsSize
+ _JVM_GetMethodIxByteCode
+ _JVM_GetMethodIxByteCodeLength
+ _JVM_GetMethodIxExceptionIndexes
+ _JVM_GetMethodIxExceptionTableEntry
+ _JVM_GetMethodIxExceptionTableLength
+ _JVM_GetMethodIxExceptionsCount
+ _JVM_GetMethodIxLocalsCount
+ _JVM_GetMethodIxMaxStack
+ _JVM_GetMethodIxModifiers
+ _JVM_GetMethodIxNameUTF
+ _JVM_GetMethodIxSignatureUTF
+ _JVM_GetMethodParameterAnnotations
+ _JVM_GetMethodParameters
+ _JVM_GetMethodTypeAnnotations
+ _JVM_GetPrimitiveArrayElement
+ _JVM_GetProtectionDomain
+ _JVM_GetSockName
+ _JVM_GetSockOpt
+ _JVM_GetStackAccessControlContext
+ _JVM_GetStackTraceDepth
+ _JVM_GetStackTraceElement
+ _JVM_GetSystemPackage
+ _JVM_GetSystemPackages
+ _JVM_GetTemporaryDirectory
+ _JVM_GetThreadStateNames
+ _JVM_GetThreadStateValues
+ _JVM_GetVersionInfo
+ _JVM_Halt
+ _JVM_HoldsLock
+ _JVM_IHashCode
+ _JVM_InitAgentProperties
+ _JVM_InitProperties
+ _JVM_InitializeCompiler
+ _JVM_InitializeSocketLibrary
+ _JVM_InternString
+ _JVM_Interrupt
+ _JVM_InvokeMethod
+ _JVM_IsArrayClass
+ _JVM_IsConstructorIx
+ _JVM_IsInterface
+ _JVM_IsInterrupted
+ _JVM_IsNaN
+ _JVM_IsPrimitiveClass
+ _JVM_IsSameClassPackage
+ _JVM_IsSilentCompiler
+ _JVM_IsSupportedJNIVersion
+ _JVM_IsThreadAlive
+ _JVM_IsVMGeneratedMethodIx
+ _JVM_LatestUserDefinedLoader
+ _JVM_Listen
+ _JVM_LoadClass0
+ _JVM_LoadLibrary
+ _JVM_Lseek
+ _JVM_MaxObjectInspectionAge
+ _JVM_MaxMemory
+ _JVM_MonitorNotify
+ _JVM_MonitorNotifyAll
+ _JVM_MonitorWait
+ _JVM_NanoTime
+ _JVM_NativePath
+ _JVM_NewArray
+ _JVM_NewInstanceFromConstructor
+ _JVM_NewMultiArray
+ _JVM_OnExit
+ _JVM_Open
+ _JVM_RaiseSignal
+ _JVM_RawMonitorCreate
+ _JVM_RawMonitorDestroy
+ _JVM_RawMonitorEnter
+ _JVM_RawMonitorExit
+ _JVM_Read
+ _JVM_Recv
+ _JVM_RecvFrom
+ _JVM_RegisterSignal
+ _JVM_ReleaseUTF
+ _JVM_ResolveClass
+ _JVM_ResumeThread
+ _JVM_Send
+ _JVM_SendTo
+ _JVM_SetArrayElement
+ _JVM_SetClassSigners
+ _JVM_SetLength
+ _JVM_SetNativeThreadName
+ _JVM_SetPrimitiveArrayElement
+ _JVM_SetSockOpt
+ _JVM_SetThreadPriority
+ _JVM_Sleep
+ _JVM_Socket
+ _JVM_SocketAvailable
+ _JVM_SocketClose
+ _JVM_SocketShutdown
+ _JVM_StartThread
+ _JVM_StopThread
+ _JVM_SuspendThread
+ _JVM_SupportsCX8
+ _JVM_Sync
+ _JVM_Timeout
+ _JVM_TotalMemory
+ _JVM_TraceInstructions
+ _JVM_TraceMethodCalls
+ _JVM_UnloadLibrary
+ _JVM_Write
+ _JVM_Yield
+ _JVM_handle_bsd_signal
+
+ # debug _JVM
+ _JVM_AccessVMBooleanFlag
+ _JVM_AccessVMIntFlag
+ _JVM_VMBreakPoint
+
+ # miscellaneous functions
+ _jio_fprintf
+ _jio_printf
+ _jio_snprintf
+ _jio_vfprintf
+ _jio_vsnprintf
+
+ # This is for Forte Analyzer profiling support.
+ _AsyncGetCallTrace
+
+ # INSERT VTABLE SYMBOLS HERE
+
--- ./hotspot/make/bsd/makefiles/mapfile-vers-product Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/make/bsd/makefiles/mapfile-vers-product Wed Nov 05 15:01:44 2014 -0800
@@ -21,238 +21,246 @@
# questions.
#
#
-# Only used for OSX/Darwin builds
# Define public interface.
+
+SUNWprivate_1.1 {
+ global:
# _JNI
- _JNI_CreateJavaVM
- _JNI_GetCreatedJavaVMs
- _JNI_GetDefaultJavaVMInitArgs
+ JNI_CreateJavaVM;
+ JNI_GetCreatedJavaVMs;
+ JNI_GetDefaultJavaVMInitArgs;
- # _JVM
- _JVM_Accept
- _JVM_ActiveProcessorCount
- _JVM_AllocateNewArray
- _JVM_AllocateNewObject
- _JVM_ArrayCopy
- _JVM_AssertionStatusDirectives
- _JVM_Available
- _JVM_Bind
- _JVM_ClassDepth
- _JVM_ClassLoaderDepth
- _JVM_Clone
- _JVM_Close
- _JVM_CX8Field
- _JVM_CompileClass
- _JVM_CompileClasses
- _JVM_CompilerCommand
- _JVM_Connect
- _JVM_ConstantPoolGetClassAt
- _JVM_ConstantPoolGetClassAtIfLoaded
- _JVM_ConstantPoolGetDoubleAt
- _JVM_ConstantPoolGetFieldAt
- _JVM_ConstantPoolGetFieldAtIfLoaded
- _JVM_ConstantPoolGetFloatAt
- _JVM_ConstantPoolGetIntAt
- _JVM_ConstantPoolGetLongAt
- _JVM_ConstantPoolGetMethodAt
- _JVM_ConstantPoolGetMethodAtIfLoaded
- _JVM_ConstantPoolGetMemberRefInfoAt
- _JVM_ConstantPoolGetSize
- _JVM_ConstantPoolGetStringAt
- _JVM_ConstantPoolGetUTF8At
- _JVM_CountStackFrames
- _JVM_CurrentClassLoader
- _JVM_CurrentLoadedClass
- _JVM_CurrentThread
- _JVM_CurrentTimeMillis
- _JVM_DefineClass
- _JVM_DefineClassWithSource
- _JVM_DefineClassWithSourceCond
- _JVM_DesiredAssertionStatus
- _JVM_DisableCompiler
- _JVM_DoPrivileged
- _JVM_DTraceGetVersion
- _JVM_DTraceActivate
- _JVM_DTraceIsProbeEnabled
- _JVM_DTraceIsSupported
- _JVM_DTraceDispose
- _JVM_DumpAllStacks
- _JVM_DumpThreads
- _JVM_EnableCompiler
- _JVM_Exit
- _JVM_FillInStackTrace
- _JVM_FindClassFromCaller
- _JVM_FindClassFromClass
- _JVM_FindClassFromClassLoader
- _JVM_FindClassFromBootLoader
- _JVM_FindLibraryEntry
- _JVM_FindLoadedClass
- _JVM_FindPrimitiveClass
- _JVM_FindSignal
- _JVM_FreeMemory
- _JVM_GC
- _JVM_GetAllThreads
- _JVM_GetArrayElement
- _JVM_GetArrayLength
- _JVM_GetCPClassNameUTF
- _JVM_GetCPFieldClassNameUTF
- _JVM_GetCPFieldModifiers
- _JVM_GetCPFieldNameUTF
- _JVM_GetCPFieldSignatureUTF
- _JVM_GetCPMethodClassNameUTF
- _JVM_GetCPMethodModifiers
- _JVM_GetCPMethodNameUTF
- _JVM_GetCPMethodSignatureUTF
- _JVM_GetCallerClass
- _JVM_GetClassAccessFlags
- _JVM_GetClassAnnotations
- _JVM_GetClassCPEntriesCount
- _JVM_GetClassCPTypes
- _JVM_GetClassConstantPool
- _JVM_GetClassContext
- _JVM_GetClassDeclaredConstructors
- _JVM_GetClassDeclaredFields
- _JVM_GetClassDeclaredMethods
- _JVM_GetClassFieldsCount
- _JVM_GetClassInterfaces
- _JVM_GetClassLoader
- _JVM_GetClassMethodsCount
- _JVM_GetClassModifiers
- _JVM_GetClassName
- _JVM_GetClassNameUTF
- _JVM_GetClassSignature
- _JVM_GetClassSigners
- _JVM_GetClassTypeAnnotations
- _JVM_GetComponentType
- _JVM_GetDeclaredClasses
- _JVM_GetDeclaringClass
- _JVM_GetEnclosingMethodInfo
- _JVM_GetFieldAnnotations
- _JVM_GetFieldIxModifiers
- _JVM_GetFieldTypeAnnotations
- _JVM_GetHostName
- _JVM_GetInheritedAccessControlContext
- _JVM_GetInterfaceVersion
- _JVM_GetLastErrorString
- _JVM_GetManagement
- _JVM_GetMethodAnnotations
- _JVM_GetMethodDefaultAnnotationValue
- _JVM_GetMethodIxArgsSize
- _JVM_GetMethodIxByteCode
- _JVM_GetMethodIxByteCodeLength
- _JVM_GetMethodIxExceptionIndexes
- _JVM_GetMethodIxExceptionTableEntry
- _JVM_GetMethodIxExceptionTableLength
- _JVM_GetMethodIxExceptionsCount
- _JVM_GetMethodIxLocalsCount
- _JVM_GetMethodIxMaxStack
- _JVM_GetMethodIxModifiers
- _JVM_GetMethodIxNameUTF
- _JVM_GetMethodIxSignatureUTF
- _JVM_GetMethodParameterAnnotations
- _JVM_GetMethodParameters
- _JVM_GetMethodTypeAnnotations
- _JVM_GetPrimitiveArrayElement
- _JVM_GetProtectionDomain
- _JVM_GetSockName
- _JVM_GetSockOpt
- _JVM_GetStackAccessControlContext
- _JVM_GetStackTraceDepth
- _JVM_GetStackTraceElement
- _JVM_GetSystemPackage
- _JVM_GetSystemPackages
- _JVM_GetTemporaryDirectory
- _JVM_GetThreadStateNames
- _JVM_GetThreadStateValues
- _JVM_GetVersionInfo
- _JVM_Halt
- _JVM_HoldsLock
- _JVM_IHashCode
- _JVM_InitAgentProperties
- _JVM_InitProperties
- _JVM_InitializeCompiler
- _JVM_InitializeSocketLibrary
- _JVM_InternString
- _JVM_Interrupt
- _JVM_InvokeMethod
- _JVM_IsArrayClass
- _JVM_IsConstructorIx
- _JVM_IsInterface
- _JVM_IsInterrupted
- _JVM_IsNaN
- _JVM_IsPrimitiveClass
- _JVM_IsSameClassPackage
- _JVM_IsSilentCompiler
- _JVM_IsSupportedJNIVersion
- _JVM_IsThreadAlive
- _JVM_IsVMGeneratedMethodIx
- _JVM_LatestUserDefinedLoader
- _JVM_Listen
- _JVM_LoadClass0
- _JVM_LoadLibrary
- _JVM_Lseek
- _JVM_MaxObjectInspectionAge
- _JVM_MaxMemory
- _JVM_MonitorNotify
- _JVM_MonitorNotifyAll
- _JVM_MonitorWait
- _JVM_NanoTime
- _JVM_NativePath
- _JVM_NewArray
- _JVM_NewInstanceFromConstructor
- _JVM_NewMultiArray
- _JVM_OnExit
- _JVM_Open
- _JVM_RaiseSignal
- _JVM_RawMonitorCreate
- _JVM_RawMonitorDestroy
- _JVM_RawMonitorEnter
- _JVM_RawMonitorExit
- _JVM_Read
- _JVM_Recv
- _JVM_RecvFrom
- _JVM_RegisterSignal
- _JVM_ReleaseUTF
- _JVM_ResolveClass
- _JVM_ResumeThread
- _JVM_Send
- _JVM_SendTo
- _JVM_SetArrayElement
- _JVM_SetClassSigners
- _JVM_SetLength
- _JVM_SetNativeThreadName
- _JVM_SetPrimitiveArrayElement
- _JVM_SetSockOpt
- _JVM_SetThreadPriority
- _JVM_Sleep
- _JVM_Socket
- _JVM_SocketAvailable
- _JVM_SocketClose
- _JVM_SocketShutdown
- _JVM_StartThread
- _JVM_StopThread
- _JVM_SuspendThread
- _JVM_SupportsCX8
- _JVM_Sync
- _JVM_Timeout
- _JVM_TotalMemory
- _JVM_TraceInstructions
- _JVM_TraceMethodCalls
- _JVM_UnloadLibrary
- _JVM_Write
- _JVM_Yield
- _JVM_handle_bsd_signal
+ # JVM
+ JVM_Accept;
+ JVM_ActiveProcessorCount;
+ JVM_AllocateNewArray;
+ JVM_AllocateNewObject;
+ JVM_ArrayCopy;
+ JVM_AssertionStatusDirectives;
+ JVM_Available;
+ JVM_Bind;
+ JVM_ClassDepth;
+ JVM_ClassLoaderDepth;
+ JVM_Clone;
+ JVM_Close;
+ JVM_CX8Field;
+ JVM_CompileClass;
+ JVM_CompileClasses;
+ JVM_CompilerCommand;
+ JVM_Connect;
+ JVM_ConstantPoolGetClassAt;
+ JVM_ConstantPoolGetClassAtIfLoaded;
+ JVM_ConstantPoolGetDoubleAt;
+ JVM_ConstantPoolGetFieldAt;
+ JVM_ConstantPoolGetFieldAtIfLoaded;
+ JVM_ConstantPoolGetFloatAt;
+ JVM_ConstantPoolGetIntAt;
+ JVM_ConstantPoolGetLongAt;
+ JVM_ConstantPoolGetMethodAt;
+ JVM_ConstantPoolGetMethodAtIfLoaded;
+ JVM_ConstantPoolGetMemberRefInfoAt;
+ JVM_ConstantPoolGetSize;
+ JVM_ConstantPoolGetStringAt;
+ JVM_ConstantPoolGetUTF8At;
+ JVM_CountStackFrames;
+ JVM_CurrentClassLoader;
+ JVM_CurrentLoadedClass;
+ JVM_CurrentThread;
+ JVM_CurrentTimeMillis;
+ JVM_DefineClass;
+ JVM_DefineClassWithSource;
+ JVM_DefineClassWithSourceCond;
+ JVM_DesiredAssertionStatus;
+ JVM_DisableCompiler;
+ JVM_DoPrivileged;
+ JVM_DTraceGetVersion;
+ JVM_DTraceActivate;
+ JVM_DTraceIsProbeEnabled;
+ JVM_DTraceIsSupported;
+ JVM_DTraceDispose;
+ JVM_DumpAllStacks;
+ JVM_DumpThreads;
+ JVM_EnableCompiler;
+ JVM_Exit;
+ JVM_FillInStackTrace;
+ JVM_FindClassFromCaller;
+ JVM_FindClassFromClass;
+ JVM_FindClassFromClassLoader;
+ JVM_FindClassFromBootLoader;
+ JVM_FindLibraryEntry;
+ JVM_FindLoadedClass;
+ JVM_FindPrimitiveClass;
+ JVM_FindSignal;
+ JVM_FreeMemory;
+ JVM_GC;
+ JVM_GetAllThreads;
+ JVM_GetArrayElement;
+ JVM_GetArrayLength;
+ JVM_GetCPClassNameUTF;
+ JVM_GetCPFieldClassNameUTF;
+ JVM_GetCPFieldModifiers;
+ JVM_GetCPFieldNameUTF;
+ JVM_GetCPFieldSignatureUTF;
+ JVM_GetCPMethodClassNameUTF;
+ JVM_GetCPMethodModifiers;
+ JVM_GetCPMethodNameUTF;
+ JVM_GetCPMethodSignatureUTF;
+ JVM_GetCallerClass;
+ JVM_GetClassAccessFlags;
+ JVM_GetClassAnnotations;
+ JVM_GetClassCPEntriesCount;
+ JVM_GetClassCPTypes;
+ JVM_GetClassConstantPool;
+ JVM_GetClassContext;
+ JVM_GetClassDeclaredConstructors;
+ JVM_GetClassDeclaredFields;
+ JVM_GetClassDeclaredMethods;
+ JVM_GetClassFieldsCount;
+ JVM_GetClassInterfaces;
+ JVM_GetClassLoader;
+ JVM_GetClassMethodsCount;
+ JVM_GetClassModifiers;
+ JVM_GetClassName;
+ JVM_GetClassNameUTF;
+ JVM_GetClassSignature;
+ JVM_GetClassSigners;
+ JVM_GetClassTypeAnnotations;
+ JVM_GetComponentType;
+ JVM_GetDeclaredClasses;
+ JVM_GetDeclaringClass;
+ JVM_GetEnclosingMethodInfo;
+ JVM_GetFieldAnnotations;
+ JVM_GetFieldIxModifiers;
+ JVM_GetFieldTypeAnnotations;
+ JVM_GetHostName;
+ JVM_GetInheritedAccessControlContext;
+ JVM_GetInterfaceVersion;
+ JVM_GetLastErrorString;
+ JVM_GetManagement;
+ JVM_GetMethodAnnotations;
+ JVM_GetMethodDefaultAnnotationValue;
+ JVM_GetMethodIxArgsSize;
+ JVM_GetMethodIxByteCode;
+ JVM_GetMethodIxByteCodeLength;
+ JVM_GetMethodIxExceptionIndexes;
+ JVM_GetMethodIxExceptionTableEntry;
+ JVM_GetMethodIxExceptionTableLength;
+ JVM_GetMethodIxExceptionsCount;
+ JVM_GetMethodIxLocalsCount;
+ JVM_GetMethodIxMaxStack;
+ JVM_GetMethodIxModifiers;
+ JVM_GetMethodIxNameUTF;
+ JVM_GetMethodIxSignatureUTF;
+ JVM_GetMethodParameterAnnotations;
+ JVM_GetMethodParameters;
+ JVM_GetMethodTypeAnnotations;
+ JVM_GetPrimitiveArrayElement;
+ JVM_GetProtectionDomain;
+ JVM_GetSockName;
+ JVM_GetSockOpt;
+ JVM_GetStackAccessControlContext;
+ JVM_GetStackTraceDepth;
+ JVM_GetStackTraceElement;
+ JVM_GetSystemPackage;
+ JVM_GetSystemPackages;
+ JVM_GetTemporaryDirectory;
+ JVM_GetThreadStateNames;
+ JVM_GetThreadStateValues;
+ JVM_GetVersionInfo;
+ JVM_Halt;
+ JVM_HoldsLock;
+ JVM_IHashCode;
+ JVM_InitAgentProperties;
+ JVM_InitProperties;
+ JVM_InitializeCompiler;
+ JVM_InitializeSocketLibrary;
+ JVM_InternString;
+ JVM_Interrupt;
+ JVM_InvokeMethod;
+ JVM_IsArrayClass;
+ JVM_IsConstructorIx;
+ JVM_IsInterface;
+ JVM_IsInterrupted;
+ JVM_IsNaN;
+ JVM_IsPrimitiveClass;
+ JVM_IsSameClassPackage;
+ JVM_IsSilentCompiler;
+ JVM_IsSupportedJNIVersion;
+ JVM_IsThreadAlive;
+ JVM_IsVMGeneratedMethodIx;
+ JVM_LatestUserDefinedLoader;
+ JVM_Listen;
+ JVM_LoadClass0;
+ JVM_LoadLibrary;
+ JVM_Lseek;
+ JVM_MaxObjectInspectionAge;
+ JVM_MaxMemory;
+ JVM_MonitorNotify;
+ JVM_MonitorNotifyAll;
+ JVM_MonitorWait;
+ JVM_NanoTime;
+ JVM_NativePath;
+ JVM_NewArray;
+ JVM_NewInstanceFromConstructor;
+ JVM_NewMultiArray;
+ JVM_OnExit;
+ JVM_Open;
+ JVM_RaiseSignal;
+ JVM_RawMonitorCreate;
+ JVM_RawMonitorDestroy;
+ JVM_RawMonitorEnter;
+ JVM_RawMonitorExit;
+ JVM_Read;
+ JVM_Recv;
+ JVM_RecvFrom;
+ JVM_RegisterSignal;
+ JVM_ReleaseUTF;
+ JVM_ResolveClass;
+ JVM_ResumeThread;
+ JVM_Send;
+ JVM_SendTo;
+ JVM_SetArrayElement;
+ JVM_SetClassSigners;
+ JVM_SetLength;
+ JVM_SetNativeThreadName;
+ JVM_SetPrimitiveArrayElement;
+ JVM_SetSockOpt;
+ JVM_SetThreadPriority;
+ JVM_Sleep;
+ JVM_Socket;
+ JVM_SocketAvailable;
+ JVM_SocketClose;
+ JVM_SocketShutdown;
+ JVM_StartThread;
+ JVM_StopThread;
+ JVM_SuspendThread;
+ JVM_SupportsCX8;
+ JVM_Sync;
+ JVM_Timeout;
+ JVM_TotalMemory;
+ JVM_TraceInstructions;
+ JVM_TraceMethodCalls;
+ JVM_UnloadLibrary;
+ JVM_Write;
+ JVM_Yield;
+ JVM_handle_bsd_signal;
# miscellaneous functions
- _jio_fprintf
- _jio_printf
- _jio_snprintf
- _jio_vfprintf
- _jio_vsnprintf
+ jio_fprintf;
+ jio_printf;
+ jio_snprintf;
+ jio_vfprintf;
+ jio_vsnprintf;
+ fork1;
+ numa_warn;
+ numa_error;
# This is for Forte Analyzer profiling support.
- _AsyncGetCallTrace
+ AsyncGetCallTrace;
# INSERT VTABLE SYMBOLS HERE
+ local:
+ *;
+};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ ./hotspot/make/bsd/makefiles/mapfile-vers-product.macosx Wed Nov 05 15:01:44 2014 -0800
@@ -0,0 +1,258 @@
+#
+# Copyright (c) 2002, 2013, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation.
+#
+# 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.
+#
+#
+# Only used for OSX/Darwin builds
+
+# Define public interface.
+ # _JNI
+ _JNI_CreateJavaVM
+ _JNI_GetCreatedJavaVMs
+ _JNI_GetDefaultJavaVMInitArgs
+
+ # _JVM
+ _JVM_Accept
+ _JVM_ActiveProcessorCount
+ _JVM_AllocateNewArray
+ _JVM_AllocateNewObject
+ _JVM_ArrayCopy
+ _JVM_AssertionStatusDirectives
+ _JVM_Available
+ _JVM_Bind
+ _JVM_ClassDepth
+ _JVM_ClassLoaderDepth
+ _JVM_Clone
+ _JVM_Close
+ _JVM_CX8Field
+ _JVM_CompileClass
+ _JVM_CompileClasses
+ _JVM_CompilerCommand
+ _JVM_Connect
+ _JVM_ConstantPoolGetClassAt
+ _JVM_ConstantPoolGetClassAtIfLoaded
+ _JVM_ConstantPoolGetDoubleAt
+ _JVM_ConstantPoolGetFieldAt
+ _JVM_ConstantPoolGetFieldAtIfLoaded
+ _JVM_ConstantPoolGetFloatAt
+ _JVM_ConstantPoolGetIntAt
+ _JVM_ConstantPoolGetLongAt
+ _JVM_ConstantPoolGetMethodAt
+ _JVM_ConstantPoolGetMethodAtIfLoaded
+ _JVM_ConstantPoolGetMemberRefInfoAt
+ _JVM_ConstantPoolGetSize
+ _JVM_ConstantPoolGetStringAt
+ _JVM_ConstantPoolGetUTF8At
+ _JVM_CountStackFrames
+ _JVM_CurrentClassLoader
+ _JVM_CurrentLoadedClass
+ _JVM_CurrentThread
+ _JVM_CurrentTimeMillis
+ _JVM_DefineClass
+ _JVM_DefineClassWithSource
+ _JVM_DefineClassWithSourceCond
+ _JVM_DesiredAssertionStatus
+ _JVM_DisableCompiler
+ _JVM_DoPrivileged
+ _JVM_DTraceGetVersion
+ _JVM_DTraceActivate
+ _JVM_DTraceIsProbeEnabled
+ _JVM_DTraceIsSupported
+ _JVM_DTraceDispose
+ _JVM_DumpAllStacks
+ _JVM_DumpThreads
+ _JVM_EnableCompiler
+ _JVM_Exit
+ _JVM_FillInStackTrace
+ _JVM_FindClassFromCaller
+ _JVM_FindClassFromClass
+ _JVM_FindClassFromClassLoader
+ _JVM_FindClassFromBootLoader
+ _JVM_FindLibraryEntry
+ _JVM_FindLoadedClass
+ _JVM_FindPrimitiveClass
+ _JVM_FindSignal
+ _JVM_FreeMemory
+ _JVM_GC
+ _JVM_GetAllThreads
+ _JVM_GetArrayElement
+ _JVM_GetArrayLength
+ _JVM_GetCPClassNameUTF
+ _JVM_GetCPFieldClassNameUTF
+ _JVM_GetCPFieldModifiers
+ _JVM_GetCPFieldNameUTF
+ _JVM_GetCPFieldSignatureUTF
+ _JVM_GetCPMethodClassNameUTF
+ _JVM_GetCPMethodModifiers
+ _JVM_GetCPMethodNameUTF
+ _JVM_GetCPMethodSignatureUTF
+ _JVM_GetCallerClass
+ _JVM_GetClassAccessFlags
+ _JVM_GetClassAnnotations
+ _JVM_GetClassCPEntriesCount
+ _JVM_GetClassCPTypes
+ _JVM_GetClassConstantPool
+ _JVM_GetClassContext
+ _JVM_GetClassDeclaredConstructors
+ _JVM_GetClassDeclaredFields
+ _JVM_GetClassDeclaredMethods
+ _JVM_GetClassFieldsCount
+ _JVM_GetClassInterfaces
+ _JVM_GetClassLoader
+ _JVM_GetClassMethodsCount
+ _JVM_GetClassModifiers
+ _JVM_GetClassName
+ _JVM_GetClassNameUTF
+ _JVM_GetClassSignature
+ _JVM_GetClassSigners
+ _JVM_GetClassTypeAnnotations
+ _JVM_GetComponentType
+ _JVM_GetDeclaredClasses
+ _JVM_GetDeclaringClass
+ _JVM_GetEnclosingMethodInfo
+ _JVM_GetFieldAnnotations
+ _JVM_GetFieldIxModifiers
+ _JVM_GetFieldTypeAnnotations
+ _JVM_GetHostName
+ _JVM_GetInheritedAccessControlContext
+ _JVM_GetInterfaceVersion
+ _JVM_GetLastErrorString
+ _JVM_GetManagement
+ _JVM_GetMethodAnnotations
+ _JVM_GetMethodDefaultAnnotationValue
+ _JVM_GetMethodIxArgsSize
+ _JVM_GetMethodIxByteCode
+ _JVM_GetMethodIxByteCodeLength
+ _JVM_GetMethodIxExceptionIndexes
+ _JVM_GetMethodIxExceptionTableEntry
+ _JVM_GetMethodIxExceptionTableLength
+ _JVM_GetMethodIxExceptionsCount
+ _JVM_GetMethodIxLocalsCount
+ _JVM_GetMethodIxMaxStack
+ _JVM_GetMethodIxModifiers
+ _JVM_GetMethodIxNameUTF
+ _JVM_GetMethodIxSignatureUTF
+ _JVM_GetMethodParameterAnnotations
+ _JVM_GetMethodParameters
+ _JVM_GetMethodTypeAnnotations
+ _JVM_GetPrimitiveArrayElement
+ _JVM_GetProtectionDomain
+ _JVM_GetSockName
+ _JVM_GetSockOpt
+ _JVM_GetStackAccessControlContext
+ _JVM_GetStackTraceDepth
+ _JVM_GetStackTraceElement
+ _JVM_GetSystemPackage
+ _JVM_GetSystemPackages
+ _JVM_GetTemporaryDirectory
+ _JVM_GetThreadStateNames
+ _JVM_GetThreadStateValues
+ _JVM_GetVersionInfo
+ _JVM_Halt
+ _JVM_HoldsLock
+ _JVM_IHashCode
+ _JVM_InitAgentProperties
+ _JVM_InitProperties
+ _JVM_InitializeCompiler
+ _JVM_InitializeSocketLibrary
+ _JVM_InternString
+ _JVM_Interrupt
+ _JVM_InvokeMethod
+ _JVM_IsArrayClass
+ _JVM_IsConstructorIx
+ _JVM_IsInterface
+ _JVM_IsInterrupted
+ _JVM_IsNaN
+ _JVM_IsPrimitiveClass
+ _JVM_IsSameClassPackage
+ _JVM_IsSilentCompiler
+ _JVM_IsSupportedJNIVersion
+ _JVM_IsThreadAlive
+ _JVM_IsVMGeneratedMethodIx
+ _JVM_LatestUserDefinedLoader
+ _JVM_Listen
+ _JVM_LoadClass0
+ _JVM_LoadLibrary
+ _JVM_Lseek
+ _JVM_MaxObjectInspectionAge
+ _JVM_MaxMemory
+ _JVM_MonitorNotify
+ _JVM_MonitorNotifyAll
+ _JVM_MonitorWait
+ _JVM_NanoTime
+ _JVM_NativePath
+ _JVM_NewArray
+ _JVM_NewInstanceFromConstructor
+ _JVM_NewMultiArray
+ _JVM_OnExit
+ _JVM_Open
+ _JVM_RaiseSignal
+ _JVM_RawMonitorCreate
+ _JVM_RawMonitorDestroy
+ _JVM_RawMonitorEnter
+ _JVM_RawMonitorExit
+ _JVM_Read
+ _JVM_Recv
+ _JVM_RecvFrom
+ _JVM_RegisterSignal
+ _JVM_ReleaseUTF
+ _JVM_ResolveClass
+ _JVM_ResumeThread
+ _JVM_Send
+ _JVM_SendTo
+ _JVM_SetArrayElement
+ _JVM_SetClassSigners
+ _JVM_SetLength
+ _JVM_SetNativeThreadName
+ _JVM_SetPrimitiveArrayElement
+ _JVM_SetSockOpt
+ _JVM_SetThreadPriority
+ _JVM_Sleep
+ _JVM_Socket
+ _JVM_SocketAvailable
+ _JVM_SocketClose
+ _JVM_SocketShutdown
+ _JVM_StartThread
+ _JVM_StopThread
+ _JVM_SuspendThread
+ _JVM_SupportsCX8
+ _JVM_Sync
+ _JVM_Timeout
+ _JVM_TotalMemory
+ _JVM_TraceInstructions
+ _JVM_TraceMethodCalls
+ _JVM_UnloadLibrary
+ _JVM_Write
+ _JVM_Yield
+ _JVM_handle_bsd_signal
+
+ # miscellaneous functions
+ _jio_fprintf
+ _jio_printf
+ _jio_snprintf
+ _jio_vfprintf
+ _jio_vsnprintf
+
+ # This is for Forte Analyzer profiling support.
+ _AsyncGetCallTrace
+
+ # INSERT VTABLE SYMBOLS HERE
+
--- ./hotspot/make/bsd/makefiles/optimized.make Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/make/bsd/makefiles/optimized.make Wed Nov 05 15:01:44 2014 -0800
@@ -38,6 +38,9 @@
# to inhibit the effect of the previous line on CFLAGS.
# Linker mapfile
-MAPFILE = $(GAMMADIR)/make/bsd/makefiles/mapfile-vers-debug
+ifeq ($(OS_VENDOR), Darwin)
+MAPSUFX = .macosx
+endif
+MAPFILE = $(GAMMADIR)/make/bsd/makefiles/mapfile-vers-debug$(MAPSUFX)
VERSION = optimized
--- ./hotspot/make/bsd/makefiles/product.make Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/make/bsd/makefiles/product.make Wed Nov 05 15:01:44 2014 -0800
@@ -38,7 +38,10 @@
# to inhibit the effect of the previous line on CFLAGS.
# Linker mapfile
-MAPFILE = $(GAMMADIR)/make/bsd/makefiles/mapfile-vers-product
+ifeq ($(OS_VENDOR), Darwin)
+ MAPSUFX = .macosx
+endif
+MAPFILE = $(GAMMADIR)/make/bsd/makefiles/mapfile-vers-product$(MAPSUFX)
SYSDEFS += -DPRODUCT
VERSION = optimized
--- ./hotspot/make/bsd/makefiles/rules.make Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/make/bsd/makefiles/rules.make Wed Nov 05 15:01:44 2014 -0800
@@ -34,7 +34,7 @@
CC_COMPILE = $(CC) $(CXXFLAGS) $(CFLAGS)
CXX_COMPILE = $(CXX) $(CXXFLAGS) $(CFLAGS)
-AS.S = $(AS) $(ASFLAGS)
+AS.S = $(AS) -x assembler-with-cpp $(ASFLAGS)
COMPILE.CC = $(CC_COMPILE) -c
GENASM.CC = $(CC_COMPILE) -S
--- ./hotspot/src/cpu/x86/vm/jni_x86.h Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/src/cpu/x86/vm/jni_x86.h Wed Nov 05 15:01:44 2014 -0800
@@ -34,7 +34,7 @@
#ifndef __has_attribute
#define __has_attribute(x) 0
#endif
-#if (defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 2))) || __has_attribute(visibility)
+#if (defined(__clang__) || (defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4) && (__GNUC_MINOR__ > 2)))) || __has_attribute(visibility)
#define JNIEXPORT __attribute__((visibility("default")))
#define JNIIMPORT __attribute__((visibility("default")))
#else
--- ./hotspot/src/cpu/x86/vm/x86_32.ad 2014-11-11 15:50:09.000000000 -0500
+++ ./hotspot/src/cpu/x86/vm/x86_32.ad 2014-11-11 16:05:43.000000000 -0500
@@ -1210,6 +1210,7 @@
Unimplemented();
+ return 0;
}
#ifndef PRODUCT
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ ./hotspot/src/os/bsd/vm/decoder_bsd.cpp Wed Nov 05 15:01:44 2014 -0800
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+#ifndef __APPLE__
+#include "prims/jvm.h"
+#include "utilities/decoder_elf.hpp"
+
+#include <cxxabi.h>
+
+bool ElfDecoder::demangle(const char* symbol, char *buf, int buflen) {
+ int status;
+ char* result;
+ size_t size = (size_t)buflen;
+
+ // 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'.
+ if ((result = abi::__cxa_demangle(symbol, NULL, NULL, &status)) != NULL) {
+ jio_snprintf(buf, buflen, "%s", result);
+ // call c library's free
+ ::free(result);
+ return true;
+ }
+ return false;
+}
+#endif
--- ./hotspot/src/os/bsd/vm/jsig.c Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/src/os/bsd/vm/jsig.c Wed Nov 05 15:01:44 2014 -0800
@@ -140,9 +140,8 @@
}
sa_handler_t sigset(int sig, sa_handler_t disp) {
- printf("sigset() is not supported by BSD");
- exit(0);
- }
+ return set_signal(sig, disp, true);
+}
static int call_os_sigaction(int sig, const struct sigaction *act,
struct sigaction *oact) {
--- ./hotspot/src/os/bsd/vm/jvm_bsd.cpp Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/src/os/bsd/vm/jvm_bsd.cpp Wed Nov 05 15:01:44 2014 -0800
@@ -50,6 +50,7 @@
case INTERRUPT_SIGNAL:
case SIGFPE:
case SIGILL:
+ case SIGBUS:
case SIGSEGV:
/* The following signal is used by the VM to dump thread stacks unless
@@ -110,71 +111,29 @@
JVM_END
/*
- All the defined signal names for Bsd.
+ All the defined signal names for BSD are defined by sys_signame[].
NOTE that not all of these names are accepted by our Java implementation
Via an existing claim by the VM, sigaction restrictions, or
the "rules of Unix" some of these names will be rejected at runtime.
For example the VM sets up to handle USR1, sigaction returns EINVAL for
- STOP, and Bsd simply doesn't allow catching of KILL.
+ STOP, and BSD simply doesn't allow catching of KILL.
Here are the names currently accepted by a user of sun.misc.Signal with
1.4.1 (ignoring potential interaction with use of chaining, etc):
- HUP, INT, TRAP, ABRT, IOT, BUS, USR2, PIPE, ALRM, TERM, STKFLT,
- CLD, CHLD, CONT, TSTP, TTIN, TTOU, URG, XCPU, XFSZ, VTALRM, PROF,
- WINCH, POLL, IO, PWR, SYS
-
+ HUP, INT, TRAP, ABRT, EMT, SYS, PIPE, ALRM, TERM, URG, TSTP, CONT,
+ CHLD, TTIN, TTOU, IO, XCPU, XFSZ, VTALRM, PROF, WINCH, INFO, USR2
*/
-struct siglabel {
- const char *name;
- int number;
-};
-
-struct siglabel siglabels[] = {
- /* derived from /usr/include/bits/signum.h on RH7.2 */
- "HUP", SIGHUP, /* Hangup (POSIX). */
- "INT", SIGINT, /* Interrupt (ANSI). */
- "QUIT", SIGQUIT, /* Quit (POSIX). */
- "ILL", SIGILL, /* Illegal instruction (ANSI). */
- "TRAP", SIGTRAP, /* Trace trap (POSIX). */
- "ABRT", SIGABRT, /* Abort (ANSI). */
- "EMT", SIGEMT, /* EMT trap */
- "FPE", SIGFPE, /* Floating-point exception (ANSI). */
- "KILL", SIGKILL, /* Kill, unblockable (POSIX). */
- "BUS", SIGBUS, /* BUS error (4.2 BSD). */
- "SEGV", SIGSEGV, /* Segmentation violation (ANSI). */
- "SYS", SIGSYS, /* Bad system call. Only on some Bsden! */
- "PIPE", SIGPIPE, /* Broken pipe (POSIX). */
- "ALRM", SIGALRM, /* Alarm clock (POSIX). */
- "TERM", SIGTERM, /* Termination (ANSI). */
- "URG", SIGURG, /* Urgent condition on socket (4.2 BSD). */
- "STOP", SIGSTOP, /* Stop, unblockable (POSIX). */
- "TSTP", SIGTSTP, /* Keyboard stop (POSIX). */
- "CONT", SIGCONT, /* Continue (POSIX). */
- "CHLD", SIGCHLD, /* Child status has changed (POSIX). */
- "TTIN", SIGTTIN, /* Background read from tty (POSIX). */
- "TTOU", SIGTTOU, /* Background write to tty (POSIX). */
- "IO", SIGIO, /* I/O now possible (4.2 BSD). */
- "XCPU", SIGXCPU, /* CPU limit exceeded (4.2 BSD). */
- "XFSZ", SIGXFSZ, /* File size limit exceeded (4.2 BSD). */
- "VTALRM", SIGVTALRM, /* Virtual alarm clock (4.2 BSD). */
- "PROF", SIGPROF, /* Profiling alarm clock (4.2 BSD). */
- "WINCH", SIGWINCH, /* Window size change (4.3 BSD, Sun). */
- "INFO", SIGINFO, /* Information request. */
- "USR1", SIGUSR1, /* User-defined signal 1 (POSIX). */
- "USR2", SIGUSR2 /* User-defined signal 2 (POSIX). */
- };
-
JVM_ENTRY_NO_ENV(jint, JVM_FindSignal(const char *name))
/* find and return the named signal's number */
- for(uint i=0; i<ARRAY_SIZE(siglabels); i++)
- if(!strcmp(name, siglabels[i].name))
- return siglabels[i].number;
+ for (int i = 1; i < NSIG; i++)
+ if (strcasecmp(name, sys_signame[i]) == 0)
+ return i;
return -1;
@@ -182,11 +141,14 @@
// used by os::exception_name()
extern bool signal_name(int signo, char* buf, size_t len) {
- for(uint i = 0; i < ARRAY_SIZE(siglabels); i++) {
- if (signo == siglabels[i].number) {
- jio_snprintf(buf, len, "SIG%s", siglabels[i].name);
- return true;
- }
- }
- return false;
+ if (signo <= 0 || signo >= NSIG)
+ return false;
+ char signame[8];
+ const char *s = sys_signame[signo];
+ uint i;
+ for (i = 0; i < sizeof(signame) - 1 && s[i] != '\0'; i++)
+ signame[i] = toupper(s[i]);
+ signame[i] = '\0';
+ jio_snprintf(buf, len, "SIG%s", signame);
+ return true;
}
--- ./hotspot/src/os/bsd/vm/jvm_bsd.h Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/src/os/bsd/vm/jvm_bsd.h Wed Nov 05 15:01:44 2014 -0800
@@ -112,20 +112,6 @@
#define SHUTDOWN2_SIGNAL SIGINT
#define SHUTDOWN3_SIGNAL SIGTERM
-#ifndef SIGRTMIN
-#ifdef __OpenBSD__
-#define SIGRTMIN 1
-#else
-#define SIGRTMIN 33
-#endif
-#endif
-#ifndef SIGRTMAX
-#ifdef __OpenBSD__
-#define SIGRTMAX 31
-#else
-#define SIGRTMAX 63
-#endif
-#endif
#endif /* JVM_MD_H */
#endif // OS_BSD_VM_JVM_BSD_H
--- ./hotspot/src/os/bsd/vm/osThread_bsd.cpp Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/src/os/bsd/vm/osThread_bsd.cpp Wed Nov 05 15:01:44 2014 -0800
@@ -30,7 +30,7 @@
void OSThread::pd_initialize() {
assert(this != NULL, "check");
-#ifdef __APPLE__
+#if defined(__APPLE__) || defined(__FreeBSD__)
_thread_id = 0;
#else
_thread_id = NULL;
--- ./hotspot/src/os/bsd/vm/os_bsd.cpp Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/src/os/bsd/vm/os_bsd.cpp Wed Nov 05 15:01:44 2014 -0800
@@ -102,6 +102,16 @@
# include <sys/ioctl.h>
# include <sys/syscall.h>
+#ifdef __FreeBSD__
+# if __FreeBSD_version > 900030
+# include <pthread_np.h>
+# else
+# include <sys/thr.h>
+# endif
+# include <sys/cpuset.h>
+# include <vm/vm_param.h>
+#endif
+
#if defined(__FreeBSD__) || defined(__NetBSD__)
# include <elf.h>
#endif
@@ -168,6 +178,27 @@
// available here means free
julong os::Bsd::available_memory() {
+#ifdef __FreeBSD__
+ static const char *vm_stats[] = {
+ "vm.stats.vm.v_free_count",
+ "vm.stats.vm.v_cache_count",
+ "vm.stats.vm.v_inactive_count"
+ };
+ size_t size;
+ julong free_pages;
+ u_int i, npages;
+
+ for (i = 0, free_pages = 0; i < sizeof(vm_stats) / sizeof(vm_stats[0]); i++) {
+ size = sizeof(npages);
+ if (sysctlbyname(vm_stats[i], &npages, &size, NULL, 0) == -1) {
+ free_pages = 0;
+ break;
+ }
+ free_pages += npages;
+ }
+ if (free_pages > 0)
+ return free_pages * os::vm_page_size();
+#endif
uint64_t available = physical_memory() >> 2;
#ifdef __APPLE__
mach_msg_type_number_t count = HOST_VM_INFO64_COUNT;
@@ -207,7 +238,7 @@
static bool init = false;
static bool privileges = false;
if (!init) {
- privileges = (getuid() != geteuid()) || (getgid() != getegid());
+ privileges = issetugid();
init = true;
}
return privileges;
@@ -410,12 +441,21 @@
const char *v = ::getenv("LD_LIBRARY_PATH");
const char *v_colon = ":";
if (v == NULL) { v = ""; v_colon = ""; }
+#ifdef __APPLE__
// That's +1 for the colon and +1 for the trailing '\0'.
char *ld_library_path = (char *)NEW_C_HEAP_ARRAY(char,
strlen(v) + 1 +
sizeof(SYS_EXT_DIR) + sizeof("/lib/") + strlen(cpu_arch) + sizeof(DEFAULT_LIBPATH) + 1,
mtInternal);
sprintf(ld_library_path, "%s%s" SYS_EXT_DIR "/lib/%s:" DEFAULT_LIBPATH, v, v_colon, cpu_arch);
+#else
+ // That's +1 for the colon and +1 for the trailing '\0'.
+ char *ld_library_path = (char *)NEW_C_HEAP_ARRAY(char,
+ strlen(v) + 1 +
+ sizeof(PACKAGE_PATH) + sizeof("/lib") + 1,
+ mtInternal);
+ sprintf(ld_library_path, "%s%s" PACKAGE_PATH "/lib", v, v_colon);
+#endif
Arguments::set_library_path(ld_library_path);
FREE_C_HEAP_ARRAY(char, ld_library_path, mtInternal);
}
@@ -1197,7 +1237,13 @@
return retval;
#elif __FreeBSD__
- retval = syscall(SYS_thr_self);
+#if __FreeBSD_version > 900030
+ return ::pthread_getthreadid_np();
+#else
+ long tid;
+ thr_self(&tid);
+ return (pid_t)tid;
+#endif
#elif __OpenBSD__
retval = syscall(SYS_getthrid);
#elif __NetBSD__
@@ -1207,11 +1253,14 @@
if (retval == -1) {
return getpid();
}
+ return retval;
}
intx os::current_thread_id() {
-#ifdef __APPLE__
+#if defined(__APPLE__)
return (intx)::pthread_mach_thread_np(::pthread_self());
+#elif defined(__FreeBSD__)
+ return os::Bsd::gettid();
#else
return (intx)::pthread_self();
#endif
@@ -1689,14 +1738,14 @@
}
void os::print_os_info_brief(outputStream* st) {
- st->print("Bsd");
+ st->print_cr("BSD");
os::Posix::print_uname_info(st);
}
void os::print_os_info(outputStream* st) {
st->print("OS:");
- st->print("Bsd");
+ st->print_cr("BSD");
os::Posix::print_uname_info(st);
@@ -1709,6 +1758,29 @@
// Nothing to do for now.
}
+#ifdef __FreeBSD__
+static void get_swap_info(int *total_pages, int *used_pages) {
+ struct xswdev xsw;
+ size_t mibsize, size;
+ int mib[16];
+ int n, total = 0, used = 0;
+
+ mibsize = sizeof(mib) / sizeof(mib[0]);
+ if (sysctlnametomib("vm.swap_info", mib, &mibsize) != -1) {
+ for (n = 0; ; n++) {
+ mib[mibsize] = n;
+ size = sizeof(xsw);
+ if (sysctl(mib, mibsize + 1, &xsw, &size, NULL, 0) == -1)
+ break;
+ total += xsw.xsw_nblks;
+ used += xsw.xsw_used;
+ }
+ }
+ *total_pages = total;
+ *used_pages = used;
+}
+#endif
+
void os::print_memory_info(outputStream* st) {
st->print("Memory:");
@@ -1718,11 +1790,14 @@
os::physical_memory() >> 10);
st->print("(" UINT64_FORMAT "k free)",
os::available_memory() >> 10);
- st->cr();
-
- // meminfo
- st->print("\n/proc/meminfo:\n");
- _print_ascii_file("/proc/meminfo", st);
+#ifdef __FreeBSD__
+ int total, used;
+ get_swap_info(&total, &used);
+ st->print(", swap " UINT64_FORMAT "k",
+ (total * os::vm_page_size()) >> 10);
+ st->print("(" UINT64_FORMAT "k free)",
+ ((total - used) * os::vm_page_size()) >> 10);
+#endif
st->cr();
}
@@ -1958,7 +2033,7 @@
os_semaphore_t _semaphore;
};
-Semaphore::Semaphore() : _semaphore(0) {
+Semaphore::Semaphore() {
SEM_INIT(_semaphore, 0);
}
@@ -2146,7 +2221,7 @@
if (::write(fd, "", 1) == 1) {
mmap(base, size,
PROT_READ|PROT_WRITE|PROT_EXEC,
- MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE, fd, 0);
+ MAP_PRIVATE|MAP_FIXED, fd, 0);
}
}
::close(fd);
@@ -2256,7 +2331,7 @@
return ::mprotect(addr, size, PROT_NONE) == 0;
#else
uintptr_t res = (uintptr_t) ::mmap(addr, size, PROT_NONE,
- MAP_PRIVATE|MAP_FIXED|MAP_NORESERVE|MAP_ANONYMOUS, -1, 0);
+ MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0);
return res != (uintptr_t) MAP_FAILED;
#endif
}
@@ -2283,7 +2358,7 @@
char * addr;
int flags;
- flags = MAP_PRIVATE | MAP_NORESERVE | MAP_ANONYMOUS;
+ flags = MAP_PRIVATE | MAP_ANONYMOUS;
if (fixed) {
assert((uintptr_t)requested_addr % os::Bsd::page_size() == 0, "unaligned address");
flags |= MAP_FIXED;
@@ -2770,6 +2845,7 @@
return OS_OK;
#elif defined(__FreeBSD__)
int ret = pthread_setprio(thread->osthread()->pthread_id(), newpri);
+ return (ret == 0) ? OS_OK : OS_ERR;
#elif defined(__APPLE__) || defined(__NetBSD__)
struct sched_param sp;
int policy;
@@ -3364,18 +3440,6 @@
}
}
-
-/////
-// glibc on Bsd platform uses non-documented flag
-// to indicate, that some special sort of signal
-// trampoline is used.
-// We will never set this flag, and we should
-// ignore this flag in our diagnostic
-#ifdef SIGNIFICANT_SIGNAL_MASK
-#undef SIGNIFICANT_SIGNAL_MASK
-#endif
-#define SIGNIFICANT_SIGNAL_MASK (~0x04000000)
-
static const char* get_signal_handler_name(address handler,
char* buf, int buflen) {
int offset;
@@ -3399,9 +3463,6 @@
sigaction(sig, NULL, &sa);
- // See comment for SIGNIFICANT_SIGNAL_MASK define
- sa.sa_flags &= SIGNIFICANT_SIGNAL_MASK;
-
st->print("%s: ", os::exception_name(sig, buf, buflen));
address handler = (sa.sa_flags & SA_SIGINFO)
@@ -3423,7 +3484,7 @@
// May be, handler was resetted by VMError?
if(rh != NULL) {
handler = rh;
- sa.sa_flags = VMError::get_resetted_sigflags(sig) & SIGNIFICANT_SIGNAL_MASK;
+ sa.sa_flags = VMError::get_resetted_sigflags(sig);
}
st->print(", sa_flags=");
@@ -3499,8 +3560,6 @@
os_sigaction(sig, (struct sigaction*)NULL, &act);
- act.sa_flags &= SIGNIFICANT_SIGNAL_MASK;
-
address thisHandler = (act.sa_flags & SA_SIGINFO)
? CAST_FROM_FN_PTR(address, act.sa_sigaction)
: CAST_FROM_FN_PTR(address, act.sa_handler) ;
@@ -3560,6 +3619,14 @@
extern bool signal_name(int signo, char* buf, size_t len);
+#ifndef SIGRTMAX
+#ifdef __OpenBSD__
+#define SIGRTMAX 31
+#else
+#define SIGRTMAX 63
+#endif
+#endif
+
const char* os::exception_name(int exception_code, char* buf, size_t size) {
if (0 < exception_code && exception_code <= SIGRTMAX) {
// signal
@@ -3759,6 +3826,19 @@
};
int os::active_processor_count() {
+#ifdef __FreeBSD__
+ int online_cpus = 0;
+ cpuset_t mask;
+ if (cpuset_getaffinity(CPU_LEVEL_WHICH, CPU_WHICH_PID, -1, sizeof(mask),
+ &mask) == 0)
+ for (u_int i = 0; i < sizeof(mask) / sizeof(long); i++)
+ online_cpus += __builtin_popcountl(((long *)&mask)[i]);
+ if (online_cpus > 0 && online_cpus <= _processor_count)
+ return online_cpus;
+ online_cpus = sysconf(_SC_NPROCESSORS_ONLN);
+ if (online_cpus >= 1)
+ return online_cpus;
+#endif
return _processor_count;
}
@@ -3970,7 +4050,10 @@
}
int fd;
int o_delete = (oflag & O_DELETE);
- oflag = oflag & ~O_DELETE;
+ oflag &= ~O_DELETE;
+#ifdef O_CLOEXEC
+ oflag |= O_CLOEXEC;
+#endif
fd = ::open(path, oflag, mode);
if (fd == -1) return -1;
@@ -4015,7 +4098,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
*/
-#ifdef FD_CLOEXEC
+#if !defined(O_CLOEXEC) && defined(FD_CLOEXEC)
{
int flags = ::fcntl(fd, F_GETFD);
if (flags != -1)
--- ./hotspot/src/os/bsd/vm/vmError_bsd.cpp Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/src/os/bsd/vm/vmError_bsd.cpp Wed Nov 05 15:01:44 2014 -0800
@@ -44,7 +44,7 @@
jio_snprintf(p, buflen - len,
"\n\n"
"Do you want to debug the problem?\n\n"
- "To debug, run 'gdb /proc/%d/exe %d'; then switch to thread " INTX_FORMAT " (" INTPTR_FORMAT ")\n"
+ "To debug, run 'gdb /proc/%d/file %d'; then switch to thread " INTX_FORMAT " (" INTPTR_FORMAT ")\n"
"Enter 'yes' to launch gdb automatically (PATH must include gdb)\n"
"Otherwise, press RETURN to abort...",
os::current_process_id(), os::current_process_id(),
@@ -54,7 +54,7 @@
if (yes) {
// yes, user asked VM to launch debugger
- jio_snprintf(buf, buflen, "gdb /proc/%d/exe %d",
+ jio_snprintf(buf, buflen, "gdb /proc/%d/file %d",
os::current_process_id(), os::current_process_id());
os::fork_and_exec(buf);
--- ./hotspot/src/share/vm/classfile/javaClasses.cpp 2014-11-19 14:08:52.000000000 -0500
+++ ./hotspot/src/share/vm/classfile/javaClasses.cpp 2014-11-19 14:10:18.000000000 -0500
@@ -1242,7 +1242,7 @@
// Helper backtrace functions to store bci|version together.
static inline int merge_bci_and_version(int bci, int version) {
// only store u2 for version, checking for overflow.
- if (version > USHRT_MAX || version < 0) version = MAX_VERSION;
+ if (version > (int)USHRT_MAX || version < 0) version = MAX_VERSION;
assert((jushort)bci == bci, "bci should be short");
return build_int_from_shorts(version, bci);
}
--- ./hotspot/src/share/vm/opto/node.cpp Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/src/share/vm/opto/node.cpp Wed Nov 05 15:01:44 2014 -0800
@@ -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
#endif
+#ifdef __clang__
+#pragma clang diagnostic push
+#pragma GCC diagnostic ignored "-Wuninitialized"
+#endif
// Out-of-line code from node constructors.
// Executed only when extra debug info. is being passed around.
@@ -469,6 +473,10 @@
_in[6] = n6; if (n6 != NULL) n6->add_out((Node *)this);
}
+#ifdef __clang__
+#pragma clang diagnostic pop
+#endif
+
//------------------------------clone------------------------------------------
// Clone a Node.
--- ./hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp Mon Sep 08 12:35:01 2014 -0700
+++ ./hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp Wed Nov 05 15:01:44 2014 -0800
@@ -261,7 +261,7 @@
#endif
// GCC 4.3 does not allow 0.0/0.0 to produce a NAN value
-#if (__GNUC__ == 4) && (__GNUC_MINOR__ > 2)
+#if defined(__clang__) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 2))
#define CAN_USE_NAN_DEFINE 1
#endif
--- ./jaxp/.hgtags Mon Sep 08 12:36:00 2014 -0700
+++ ./jaxp/.hgtags Wed Sep 17 11:56:44 2014 -0700
@@ -331,3 +331,4 @@
90f3b8b970a8bb3173083111248372afdc61652d jdk8u25-b14
f5ac2e242bb95be0a3deddf37362178202086137 jdk8u25-b15
df68b132a471ed1e825a79bd1d8acb47d2bcc04f jdk8u25-b16
+7a721e57b38ff6c1d34af0b86f6482540a815d90 jdk8u25-b17
--- ./jaxws/.hgtags Mon Sep 08 12:36:09 2014 -0700
+++ ./jaxws/.hgtags Wed Sep 17 11:56:51 2014 -0700
@@ -329,3 +329,4 @@
392a9579cc95d27806c1dde16eee776524a49761 jdk8u25-b14
d3a96bbb88521188a3af1a34dd9523f13afa521d jdk8u25-b15
4570a7d00aa9bd3df028f52d6f9d8c434163b689 jdk8u25-b16
+d47a47f961ee423ce03623098f62d79254c6f328 jdk8u25-b17
--- ./jdk/.hgtags Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/.hgtags Wed Nov 05 12:14:24 2014 -0800
@@ -332,3 +332,4 @@
0000000000000000000000000000000000000000 jdk8u25-b16
0000000000000000000000000000000000000000 jdk8u25-b16
d067890f970f3a712f870f6311d20f3359b6eaf0 jdk8u25-b16
+67b22a82345bfa1ae1492679bdf3c4d54f4eacde jdk8u25-b17
--- ./jdk/make/CompileDemos.gmk Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/CompileDemos.gmk Wed Nov 05 12:14:24 2014 -0800
@@ -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 \
$(BUILD_LIBHPROF_AIX_EXTRA_CFLAGS), C, \
- -ldl, ws2_32.lib winmm.lib, -lsocket -lnsl, -lpthread, $(BUILD_LIBHPROF_AIX_EXTRA_SRC)))
+ $(LIBDL), ws2_32.lib winmm.lib, -lsocket -lnsl, -lpthread, $(BUILD_LIBHPROF_AIX_EXTRA_SRC)))
$(eval $(call SetupJVMTIDemo,minst, agent_util java_crw_demo))
$(eval $(call SetupJVMTIDemo,mtrace, agent_util java_crw_demo))
--- ./jdk/make/CompileJavaClasses.gmk Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/CompileJavaClasses.gmk Wed Nov 05 12:14:24 2014 -0800
@@ -125,23 +125,32 @@
sun/nio/fs/LinuxFileStore.java \
sun/nio/fs/LinuxFileSystem.java \
sun/nio/fs/LinuxFileSystemProvider.java \
- sun/nio/fs/MagicFileTypeDetector.java \
sun/nio/fs/LinuxNativeDispatcher.java \
sun/nio/fs/LinuxUserDefinedFileAttributeView.java \
sun/nio/fs/LinuxWatchService.java
endif
+ifeq (, $(filter $(OPENJDK_TARGET_OS), linux bsd))
+ EXFILES += sun/nio/fs/MagicFileTypeDetector.java
+endif
+
ifneq ($(OPENJDK_TARGET_OS), macosx)
+ EXFILES += sun/nio/fs/MacOSXFileSystemProvider.java \
+ sun/nio/fs/MacOSXFileSystem.java \
+ sun/nio/fs/MacOSXNativeDispatcher.java
+endif
+
+ifeq (, $(filter $(OPENJDK_TARGET_OS), bsd macosx))
EXFILES += sun/nio/ch/BsdAsynchronousChannelProvider.java \
sun/nio/ch/KQueue.java \
+ sun/nio/ch/KQueueArrayWrapper.java \
sun/nio/ch/KQueuePort.java \
+ sun/nio/ch/KQueueSelectorImpl.java \
+ sun/nio/ch/KQueueSelectorProvider.java \
sun/nio/fs/BsdFileStore.java \
sun/nio/fs/BsdFileSystem.java \
sun/nio/fs/BsdFileSystemProvider.java \
sun/nio/fs/BsdNativeDispatcher.java \
- sun/nio/fs/MacOSXFileSystemProvider.java \
- sun/nio/fs/MacOSXFileSystem.java \
- sun/nio/fs/MacOSXNativeDispatcher.java \
sun/tools/attach/BsdAttachProvider.java \
sun/tools/attach/BsdVirtualMachine.java
endif
@@ -228,9 +237,9 @@
# Exclude another implicitly not included file.
EXFILES += sun/util/locale/AsciiUtil.java
-ifeq (, $(filter $(OPENJDK_TARGET_OS), solaris macosx aix))
+ifeq (, $(filter $(OPENJDK_TARGET_OS), solaris bsd macosx aix))
#
- # only solaris, macosx and aix
+ # only solaris, BSD, macosx and aix
#
EXFILES += sun/nio/fs/PollingWatchService.java
endif
@@ -270,21 +279,26 @@
$(JDK_TOPDIR)/src/closed/$(OPENJDK_TARGET_OS_API_DIR)/classes
endif
-MACOSX_SRC_DIRS :=
+BSD_SRC_DIRS :=
+ifneq (, $(filter $(OPENJDK_TARGET_OS), bsd macosx))
+ BSD_SRC_DIRS += $(JDK_TOPDIR)/src/bsd/classes
+
+ # these files are duplicated in BSD_SRC_DIRS
+ EXFILES += $(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \
+ $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java
+endif
+
ifeq ($(OPENJDK_TARGET_OS), macosx)
- MACOSX_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes
+ BSD_SRC_DIRS += $(JDK_TOPDIR)/src/macosx/classes
- # this files are duplicated in MACOSX_SRC_DIRS
- EXFILES += $(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/DefaultSelectorProvider.java \
- $(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \
- $(JDK_TOPDIR)/src/solaris/classes/java/net/DefaultInterface.java \
+ # these files are duplicated in BSD_SRC_DIRS
+ EXFILES += $(JDK_TOPDIR)/src/solaris/classes/sun/java2d/BackBufferCapsProvider.java \
$(JDK_TOPDIR)/src/solaris/classes/java/lang/ClassLoaderHelper.java \
$(JDK_TOPDIR)/src/solaris/classes/sun/util/locale/provider/HostLocaleProviderAdapterImpl.java \
$(JDK_TOPDIR)/src/solaris/classes/sun/nio/fs/GnomeFileTypeDetector.java \
$(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpChannelImpl.java \
$(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpMultiChannelImpl.java \
$(JDK_TOPDIR)/src/solaris/classes/sun/nio/ch/sctp/SctpServerChannelImpl.java
-
endif
# The security classes should not end up in the classes directory as that will prevent them
@@ -334,6 +348,7 @@
SRC:=$(JDK_TOPDIR)/src/share/classes \
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes \
$(MACOSX_SRC_DIRS) \
+ $(BSD_SRC_DIRS) \
$(AIX_SRC_DIRS) \
$(JDK_OUTPUTDIR)/gensrc \
$(JDK_OUTPUTDIR)/gensrc_no_srczip \
@@ -353,7 +368,7 @@
SETUP := GENERATE_JDKBYTECODE, \
SRC := $(JDK_TOPDIR)/src/share/classes \
$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/classes \
- $(MACOSX_SRC_DIRS) \
+ $(BSD_SRC_DIRS) \
$(CLOSED_SRC_DIRS), \
INCLUDES := $(SECURITY_PKGS), \
EXCLUDES := $(EXCLUDES), \
--- ./jdk/make/CompileLaunchers.gmk Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/CompileLaunchers.gmk Wed Nov 05 12:14:24 2014 -0800
@@ -49,7 +49,7 @@
ORIGIN_ROOT := /..
endif
-ifeq ($(OPENJDK_TARGET_OS), macosx)
+ifneq ($(findstring $(OPENJDK_TARGET_OS), bsd macosx), )
ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN)
else
ORIGIN_ARG := $(call SET_EXECUTABLE_ORIGIN,$(ORIGIN_ROOT)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/jli)
@@ -60,7 +60,7 @@
# System.loadLibrary("jawt") first. This was the behaviour described in the
# devloper documentation of JAWT and what worked with OpenJDK6.
#
-ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris), )
+ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris bsd), )
ORIGIN_ARG += $(call SET_EXECUTABLE_ORIGIN,$(ORIGIN_ROOT)/lib$(OPENJDK_TARGET_CPU_LIBDIR))
endif
@@ -89,6 +89,12 @@
$1_LDFLAGS := $3
$1_LDFLAGS_SUFFIX :=
+ ifeq ($(OPENJDK_TARGET_OS), bsd)
+ $1_LDFLAGS += -Wl,--whole-archive $(JDK_OUTPUTDIR)/objs/libjli_static.a \
+ -Wl,--no-whole-archive
+ $1_LDFLAGS_SUFFIX += -pthread
+ endif
+
ifeq ($(OPENJDK_TARGET_OS), macosx)
$1_PLIST_FILE := Info-cmdline.plist
ifneq ($(11), )
@@ -162,9 +168,11 @@
-DLIBARCHNAME='"$(OPENJDK_TARGET_CPU_LEGACY)"' \
-DLAUNCHER_NAME='"$(LAUNCHER_NAME)"' \
-DPROGNAME='"$1"' $(DPACKAGEPATH) \
+ -DPACKAGE_PATH='"$(PACKAGE_PATH)"' \
$2, \
CFLAGS_linux := -fPIC, \
CFLAGS_solaris := -KPIC -DHAVE_GETHRTIME, \
+ CFLAGS_bsd := -fPIC, \
LDFLAGS := $(LDFLAGS_JDKEXE) \
$(ORIGIN_ARG) \
$$($1_LDFLAGS), \
@@ -195,7 +203,7 @@
BUILD_LAUNCHERS += $$(BUILD_LAUNCHER_$1)
- ifneq (,$(filter $(OPENJDK_TARGET_OS), macosx aix))
+ ifneq (,$(filter $(OPENJDK_TARGET_OS), bsd macosx aix))
$$(BUILD_LAUNCHER_$1): $(JDK_OUTPUTDIR)/objs/libjli_static.a
endif
@@ -481,6 +489,7 @@
CFLAGS_release := -DPRODUCT, \
CFLAGS_linux := -fPIC, \
CFLAGS_solaris := -KPIC, \
+ CFLAGS_bsd := -fPIC, \
CFLAGS_macosx := -fPIC, \
MAPFILE := $(UNPACK_MAPFILE),\
LDFLAGS := $(UNPACKEXE_ZIPOBJS), \
@@ -543,7 +552,7 @@
endif
endif
-ifeq ($(OPENJDK_TARGET_OS), linux)
+ifneq ($(findstring $(OPENJDK_TARGET_OS), linux bsd), )
BUILD_JEXEC := 1
endif # OPENJDK_TARGET_OS
@@ -579,6 +588,7 @@
$(BUILD_JEXEC_INC), \
CFLAGS_linux := -fPIC, \
CFLAGS_solaris := -KPIC, \
+ CFLAGS_bsd := -fPIC, \
LDFLAGS := $(LDFLAGS_JDKEXE) \
$(call SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)$(SHARED_LIBRARY_SUFFIX)), \
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/jexec_obj, \
@@ -595,10 +605,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
-ifeq ($(OPENJDK_TARGET_OS), linux)
- BUILD_LAUNCHERS += $(JAVA_RMI_CGI)
-endif
-ifeq ($(OPENJDK_TARGET_OS), solaris)
+ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris bsd), )
BUILD_LAUNCHERS += $(JAVA_RMI_CGI)
endif
@@ -626,7 +633,7 @@
LINK_JSPAWNHELPER_OBJECTS := $(JDK_OUTPUTDIR)/objs/libjava/childproc.o
LINK_JSPAWNHELPER_FLAGS :=
-ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx solaris aix), )
+ifneq ($(findstring $(OPENJDK_TARGET_OS), bsd macosx solaris aix), )
BUILD_JSPAWNHELPER := 1
endif
--- ./jdk/make/CopyFiles.gmk Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/CopyFiles.gmk Wed Nov 05 12:14:24 2014 -0800
@@ -29,6 +29,8 @@
ifeq ($(OPENJDK_TARGET_OS), windows)
OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/win32
+else ifeq ($(OPENJDK_TARGET_OS), bsd)
+ OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/$(shell uname -s | ${TR} "[:upper:]" "[:lower:]")
else ifeq ($(OPENJDK_TARGET_OS), macosx)
OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/darwin
endif
@@ -323,23 +325,23 @@
$(RM) $(@)
# Now check for other permutations
ifeq ($(JVM_VARIANT_SERVER), true)
- $(PRINTF) "-server KNOWN\n">>$(@)
- $(PRINTF) "-client ALIASED_TO -server\n">>$(@)
+ $(PRINTF) -- "-server KNOWN\n">>$(@)
+ $(PRINTF) -- "-client ALIASED_TO -server\n">>$(@)
ifeq ($(JVM_VARIANT_MINIMAL1), true)
- $(PRINTF) "-minimal KNOWN\n">>$(@)
+ $(PRINTF) -- "-minimal KNOWN\n">>$(@)
endif
else
ifeq ($(JVM_VARIANT_CLIENT), true)
- $(PRINTF) "-client KNOWN\n">>$(@)
- $(PRINTF) "-server ALIASED_TO -client\n">>$(@)
+ $(PRINTF) -- "-client KNOWN\n">>$(@)
+ $(PRINTF) -- "-server ALIASED_TO -client\n">>$(@)
ifeq ($(JVM_VARIANT_MINIMAL1), true)
- $(PRINTF) "-minimal KNOWN\n">>$(@)
+ $(PRINTF) -- "-minimal KNOWN\n">>$(@)
endif
else
ifeq ($(JVM_VARIANT_MINIMAL1), true)
- $(PRINTF) "-minimal KNOWN\n">>$(@)
- $(PRINTF) "-server ALIASED_TO -minimal\n">>$(@)
- $(PRINTF) "-client ALIASED_TO -minimal\n">>$(@)
+ $(PRINTF) -- "-minimal KNOWN\n">>$(@)
+ $(PRINTF) -- "-server ALIASED_TO -minimal\n">>$(@)
+ $(PRINTF) -- "-client ALIASED_TO -minimal\n">>$(@)
endif
endif
endif
--- ./jdk/make/Images.gmk Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/Images.gmk Wed Nov 05 12:14:24 2014 -0800
@@ -234,11 +234,11 @@
endif
JDK_LIB_FILES := $(NOT_JRE_LIB_FILES)
-ifeq ($(OPENJDK_TARGET_OS), linux)
+ifneq ($(findstring $(OPENJDK_TARGET_OS), linux bsd),)
JDK_LIB_FILES += jexec
endif
-ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris),) # If Linux or Solaris
+ifneq ($(findstring $(OPENJDK_TARGET_OS), linux solaris bsd),) # If Linux, Solaris, or BSD
JDK_LIB_FILES += $(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX) \
$(LIBRARY_PREFIX)jawt$(SHARED_LIBRARY_SUFFIX)
endif
@@ -389,7 +389,7 @@
MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/solaris/doc
MAN1_SUBDIR = sun/man/man1
endif
- ifeq ($(OPENJDK_TARGET_OS), macosx)
+ ifneq ($(findstring $(OPENJDK_TARGET_OS), bsd macosx),)
MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/bsd/doc
MAN1_SUBDIR = man
endif
@@ -445,7 +445,7 @@
$(install-file)
endif
- ifeq ($(OPENJDK_TARGET_OS), linux)
+ ifneq ($(findstring $(OPENJDK_TARGET_OS), linux bsd macosx),)
$(JRE_IMAGE_DIR)/man/ja:
$(ECHO) $(LOG_INFO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
@@ -453,19 +453,7 @@
$(JDK_IMAGE_DIR)/man/ja:
$(ECHO) $(LOG_INFO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
$(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
- endif
- ifeq ($(OPENJDK_TARGET_OS), macosx)
- $(JRE_IMAGE_DIR)/man/ja:
- $(ECHO) $(LOG_INFO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
- $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
-
- $(JDK_IMAGE_DIR)/man/ja:
- $(ECHO) $(LOG_INFO) Creating $(patsubst $(OUTPUT_ROOT)/%,%,$@)
- $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja
- endif
-
- ifeq ($(OPENJDK_TARGET_OS), linux)
JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \
$(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \
$(JRE_IMAGE_DIR)/man/ja
@@ -487,16 +475,6 @@
$(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/, $(JDK_MAN_PAGES))
endif
- ifeq ($(OPENJDK_TARGET_OS), macosx)
- JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/, $(JRE_MAN_PAGES)) \
- $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JRE_MAN_PAGES)) \
- $(JRE_IMAGE_DIR)/man/ja
-
- JDK_MAN_PAGE_LIST = $(addprefix $(JDK_IMAGE_DIR)/man/man1/, $(JDK_MAN_PAGES)) \
- $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.UTF-8/man1/, $(JDK_MAN_PAGES)) \
- $(JDK_IMAGE_DIR)/man/ja
- endif
-
endif # Windows
################################################################################
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ ./jdk/make/data/classlist/classlist.bsd Wed Nov 05 12:14:24 2014 -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
+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/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/Cloneable
+java/lang/Comparable
+java/lang/Compiler
+java/lang/Compiler$1
+java/lang/Double
+java/lang/Enum
+java/lang/Error
+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/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/Thread
+java/lang/Thread$State
+java/lang/Thread$UncaughtExceptionHandler
+java/lang/ThreadDeath
+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/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/MethodHandleNatives
+java/lang/invoke/MethodHandleStatics
+java/lang/invoke/MethodHandleStatics$1
+java/lang/invoke/MethodType
+java/lang/invoke/MethodType$ConcurrentWeakInternSet
+java/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry
+java/lang/invoke/MethodTypeForm
+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/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/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/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/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/AbstractList
+java/util/AbstractList$Itr
+java/util/AbstractList$ListItr
+java/util/AbstractMap
+java/util/AbstractQueue
+java/util/AbstractSequentialList
+java/util/AbstractSet
+java/util/ArrayDeque
+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$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/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/util/Hashtable$EntrySet
+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/Iterator
+java/util/LinkedHashMap
+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/util/Locale
+java/util/Locale$1
+java/util/Locale$Cache
+java/util/Locale$Category
+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
+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/ResourceBundle$Control
+java/util/ResourceBundle$Control$1
+java/util/ResourceBundle$Control$CandidateListCache
+java/util/ResourceBundle$LoaderReference
+java/util/ResourceBundle$RBClassLoader
+java/util/ResourceBundle$RBClassLoader$1
+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/concurrent/locks/AbstractQueuedSynchronizer
+java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject
+java/util/concurrent/locks/AbstractQueuedSynchronizer$Node
+java/util/concurrent/locks/Condition
+java/util/concurrent/locks/Lock
+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
+java/util/function/BiFunction
+java/util/jar/Attributes
+java/util/jar/Attributes$Name
+java/util/jar/JarEntry
+java/util/jar/JarFile
+java/util/jar/JarFile$JarEntryIterator
+java/util/jar/JarFile$JarFileEntry
+java/util/jar/JarVerifier
+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/util/logging/Level
+java/util/logging/Level$KnownLevel
+java/util/logging/LogManager
+java/util/logging/LogManager$1
+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$RootLogger
+java/util/logging/LogManager$SystemLoggerContext
+java/util/logging/Logger
+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
+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/ImageIcon
+javax/swing/ImageIcon$1
+javax/swing/ImageIcon$2
+javax/swing/ImageIcon$2$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
+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/JTabbedPane
+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/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
+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
+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/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
+javax/swing/plaf/BorderUIResource$CompoundBorderUIResource
+javax/swing/plaf/BorderUIResource$EmptyBorderUIResource
+javax/swing/plaf/BorderUIResource$LineBorderUIResource
+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/basic/BasicArrowButton
+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/BasicComboBoxUI
+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/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
+javax/swing/plaf/basic/BasicPopupMenuUI$BasicPopupMenuListener
+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
+javax/swing/plaf/basic/BasicScrollBarUI
+javax/swing/plaf/basic/BasicScrollBarUI$ArrowButtonListener
+javax/swing/plaf/basic/BasicScrollBarUI$Handler
+javax/swing/plaf/basic/BasicScrollBarUI$ModelListener
+javax/swing/plaf/basic/BasicScrollBarUI$PropertyChangeHandler
+javax/swing/plaf/basic/BasicScrollBarUI$ScrollListener
+javax/swing/plaf/basic/BasicScrollBarUI$TrackListener
+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/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/metal/MetalComboBoxEditor
+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/plaf/metal/MetalComboBoxUI$MetalPropertyChangeListener
+javax/swing/plaf/metal/MetalIconFactory
+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
+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/table/AbstractTableModel
+javax/swing/table/DefaultTableCellRenderer
+javax/swing/table/DefaultTableColumnModel
+javax/swing/table/DefaultTableModel
+javax/swing/table/JTableHeader
+javax/swing/table/TableCellEditor
+javax/swing/table/TableCellRenderer
+javax/swing/table/TableColumn
+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/tree/AbstractLayoutCache
+javax/swing/tree/AbstractLayoutCache$NodeDimensions
+javax/swing/tree/DefaultMutableTreeNode
+javax/swing/tree/DefaultMutableTreeNode$PreorderEnumeration
+javax/swing/tree/DefaultTreeCellEditor
+javax/swing/tree/DefaultTreeCellEditor$1
+javax/swing/tree/DefaultTreeCellEditor$DefaultTextField
+javax/swing/tree/DefaultTreeCellEditor$EditorContainer
+javax/swing/tree/DefaultTreeCellRenderer
+javax/swing/tree/DefaultTreeModel
+javax/swing/tree/DefaultTreeSelectionModel
+javax/swing/tree/MutableTreeNode
+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
+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
+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/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
+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
+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/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
+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/ProviderList
+sun/security/jca/ProviderList$1
+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/provider/NativePRNG
+sun/security/provider/NativePRNG$1
+sun/security/provider/NativePRNG$2
+sun/security/provider/NativePRNG$Blocking
+sun/security/provider/NativePRNG$NonBlocking
+sun/security/provider/NativePRNG$RandomIO
+sun/security/provider/NativePRNG$Variant
+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/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
+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
+sun/util/locale/provider/TimeZoneNameUtility
+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 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/gendata/GendataFontConfig.gmk Wed Nov 05 12:14:24 2014 -0800
@@ -73,6 +73,13 @@
GENDATA_FONT_CONFIG_SRC_PREFIX := aix.
endif
+ifeq ($(OPENJDK_TARGET_OS), bsd)
+ GENDATA_FONT_CONFIG_SRC_DIR := \
+ $(JDK_TOPDIR)/src/solaris/classes/sun/awt/fontconfigs
+ GENDATA_FONT_CONFIG_SRC_FILES := fontconfig.properties
+ GENDATA_FONT_CONFIG_SRC_PREFIX := bsd.
+endif
+
###
$(GENDATA_FONT_CONFIG_DST)/%.src: \
--- ./jdk/make/gensrc/GensrcMisc.gmk Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/gensrc/GensrcMisc.gmk Wed Nov 05 12:14:24 2014 -0800
@@ -64,9 +64,6 @@
ifeq ($(OPENJDK_TARGET_OS_API), posix)
UPSUFFIX := $(OPENJDK_TARGET_OS)
- ifeq ($(OPENJDK_TARGET_OS), macosx)
- UPSUFFIX := bsd
- endif
# UNIXProcess.java is different for solaris and linux. We need to copy
# the correct UNIXProcess.java over to $(JDK_OUTPUTDIR)/gensrc/java/lang/.
--- ./jdk/make/lib/Awt2dLibraries.gmk Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/lib/Awt2dLibraries.gmk Wed Nov 05 12:14:24 2014 -0800
@@ -309,7 +309,7 @@
debug_trace.c \
debug_util.c
-ifneq (, $(filter $(OPENJDK_TARGET_OS), solaris linux aix))
+ifneq (, $(filter $(OPENJDK_TARGET_OS), bsd solaris linux aix))
LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c
endif
@@ -482,6 +482,7 @@
LDFLAGS_SUFFIX_linux := -ljvm $(LIBM) $(LIBDL) -ljava, \
LDFLAGS_SUFFIX_solaris := -ljvm $(LIBM) $(LIBDL) -ljava -lc, \
LDFLAGS_SUFFIX_aix :=-ljvm $(LIBM) $(LIBDL) -ljava -lm,\
+ LDFLAGS_SUFFIX_bsd := -ljvm $(LIBM) -ljava, \
LDFLAGS_SUFFIX_macosx := -lmlib_image -ljvm $(LIBM) \
-framework Cocoa \
-framework OpenGL \
@@ -559,6 +560,16 @@
endif
endif
+ ifeq ($(OPENJDK_TARGET_OS), bsd)
+ ifndef OPENJDK
+ include $(JDK_TOPDIR)/make/closed/xawt.gmk
+ endif
+
+ ifeq ($(DISABLE_XRENDER), true)
+ LIBAWT_XAWT_CFLAGS += -DDISABLE_XRENDER_BY_DEFAULT=true
+ endif
+ endif
+
ifeq ($(MILESTONE), internal)
LIBAWT_XAWT_CFLAGS += -DINTERNAL_BUILD
endif
@@ -628,6 +639,11 @@
LIBAWT_XAWT_LDFLAGS += -lpthread
endif
+ ifeq ($(OPENJDK_TARGET_OS), bsd)
+ # To match old build, add this to LDFLAGS instead of suffix.
+ LIBAWT_XAWT_LDFLAGS += -pthread
+ endif
+
$(eval $(call SetupNativeCompilation,BUILD_LIBAWT_XAWT, \
LIBRARY := awt_xawt, \
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
@@ -691,6 +707,7 @@
LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm, \
LDFLAGS_SUFFIX_linux := -lm -lawt -ljava -ljvm, \
LDFLAGS_SUFFIX_aix := -lm -lawt -ljava -ljvm,\
+ LDFLAGS_SUFFIX_bsd := -lm -lawt -ljava -ljvm, \
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
RC_FLAGS := $(RC_FLAGS) \
-D "JDK_FNAME=lcms.dll" \
@@ -830,6 +847,7 @@
LDFLAGS_SUFFIX_linux := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \
LDFLAGS_SUFFIX_solaris := -lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm, \
LDFLAGS_SUFFIX_aix := -lawt -lawt_xawt $(LIBM) $(LIBCXX) -ljava -ljvm,\
+ LDFLAGS_SUFFIX_bsd := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \
LDFLAGS_SUFFIX_macosx := -lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \
-ljava -ljvm, \
LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \
@@ -973,6 +991,7 @@
OPTIMIZATION := LOW, \
CFLAGS := $(CFLAGS_JDKLIB), \
CFLAGS_linux := $(HEADLESS_CFLAG), \
+ CFLAGS_bsd := $(HEADLESS_CFLAG), \
CFLAGS_macosx := -I$(JDK_TOPDIR)/src/solaris/native/sun/awt, \
MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjawt/mapfile-vers, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
@@ -981,6 +1000,7 @@
LDFLAGS_SUFFIX_linux := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \
LDFLAGS_SUFFIX_aix := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX),\
LDFLAGS_SUFFIX_solaris := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender, \
+ LDFLAGS_SUFFIX_bsd := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \
LDFLAGS_SUFFIX_macosx := -Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \
-framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX), \
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawt, \
@@ -1182,6 +1202,7 @@
LDFLAGS_SUFFIX_linux := -ljvm -lawt -lm $(LIBDL) -ljava, \
LDFLAGS_SUFFIX_aix := -ljvm -lawt -ljava,\
LDFLAGS_SUFFIX_solaris := $(LIBDL) -ljvm -lawt -lm -ljava $(LIBCXX) -lc, \
+ LDFLAGS_SUFFIX_bsd := -ljvm -lawt -lm -ljava, \
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libawt_headless, \
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
@@ -1235,6 +1256,8 @@
LIBSPLASHSCREEN_CFLAGS += -DWITH_WIN32
else ifeq ($(OPENJDK_TARGET_OS), solaris)
LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 -I$(OPENWIN_HOME)/include -I$(OPENWIN_HOME)/include/X11/extensions
+ else ifeq ($(OPENJDK_TARGET_OS), bsd)
+ LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 $(X_CFLAGS) -DLIBICONV_PLUG
else
LIBSPLASHSCREEN_CFLAGS += -DWITH_X11 $(X_CFLAGS)
endif
@@ -1258,6 +1281,8 @@
else ifeq ($(OPENJDK_TARGET_OS), solaris)
# Solaris still uses OPENWIN_LIB ..
LIBSPLASHSCREEN_LDFLAGS_SUFFIX += -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) -lX11 -lXext $(LIBM) -lpthread
+ else ifeq ($(OPENJDK_TARGET_OS), bsd)
+ LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -pthread
else # .. all other Unixes can use X_LIBS
LIBSPLASHSCREEN_LDFLAGS_SUFFIX += $(X_LIBS) -lX11 -lXext $(LIBM) -lpthread
endif
--- ./jdk/make/lib/CoreLibraries.gmk Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/lib/CoreLibraries.gmk Wed Nov 05 12:14:24 2014 -0800
@@ -82,7 +82,7 @@
endif
LIBVERIFY_OPTIMIZATION := HIGH
-ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
+ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux bsd), )
ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
LIBVERIFY_OPTIMIZATION := LOW
endif
@@ -200,6 +200,7 @@
LDFLAGS_SUFFIX_solaris := -lsocket -lnsl -lscf $(LIBDL) $(BUILD_LIBFDLIBM) -lc, \
LDFLAGS_SUFFIX_linux := $(LIBDL) $(BUILD_LIBFDLIBM), \
LDFLAGS_SUFFIX_aix := $(LIBDL) $(BUILD_LIBFDLIBM) -lm,\
+ LDFLAGS_SUFFIX_bsd := $(BUILD_LIBFDLIBM), \
LDFLAGS_SUFFIX_macosx := -L$(JDK_OUTPUTDIR)/objs/ -lfdlibm \
-framework CoreFoundation \
-framework Foundation \
@@ -269,6 +270,7 @@
LDFLAGS_SUFFIX_linux := -ljvm -ljava $(LIBZ), \
LDFLAGS_SUFFIX_solaris := -ljvm -ljava $(LIBZ) -lc, \
LDFLAGS_SUFFIX_aix := -ljvm -ljava $(LIBZ),\
+ LDFLAGS_SUFFIX_bsd := -ljvm -ljava $(LIBZ), \
LDFLAGS_SUFFIX_macosx := $(LIBZ) -ljava -ljvm, \
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
RC_FLAGS := $(RC_FLAGS) \
@@ -379,7 +381,7 @@
# Append defines depending on target platform
LIBJLI_CFLAGS += $(OPENJDK_TARGET_CPU_JLI_CFLAGS)
-ifeq ($(OPENJDK_TARGET_OS), macosx)
+ifneq ($(findstring $(OPENJDK_TARGET_OS), bsd macosx), )
LIBJLI_CFLAGS += -DPACKAGE_PATH=\"$(PACKAGE_PATH)\"
endif
@@ -414,11 +416,13 @@
$(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
+ LDFLAGS_bsd := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \
LDFLAGS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \
LDFLAGS_SUFFIX_solaris := $(LIBZ) $(LIBDL) -lc, \
LDFLAGS_SUFFIX_linux := $(LIBZ) $(LIBDL) -lc -lpthread, \
LDFLAGS_SUFFIX_aix := $(LIBZ) $(LIBDL),\
LDFLAGS_SUFFIX_macosx := $(LIBZ), \
+ LDFLAGS_SUFFIX_bsd := $(LIBZ) -pthread, \
LDFLAGS_SUFFIX_windows := \
-export:JLI_Launch \
-export:JLI_ManifestIterate \
@@ -462,9 +466,9 @@
BUILD_LIBRARIES += $(BUILD_LIBJLI_STATIC)
-else ifeq ($(OPENJDK_TARGET_OS), macosx)
+else ifneq ($(findstring $(OPENJDK_TARGET_OS), bsd macosx), )
#
- # On macosx they do partial (incremental) linking of libjli_static.a
+ # On BSD they do partial (incremental) linking of libjli_static.a
# code it here...rather than add support to NativeCompilation
# as this is first time I see it
$(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC, \
@@ -512,9 +516,11 @@
CFLAGS := $(CFLAGS_JDKLIB) \
-I$(JDK_TOPDIR)/src/share/npt \
-I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt, \
+ CFLAGS_bsd := -DLIBICONV_PLUG, \
MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libnpt/mapfile-vers, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
+ LDFLAGS_bsd := , \
LDFLAGS_macosx := -liconv, \
LDFLAGS_SUFFIX_windows := -export:nptInitialize -export:nptTerminate, \
LDFLAGS_SUFFIX_solaris := -lc, \
--- ./jdk/make/lib/NetworkingLibraries.gmk Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/lib/NetworkingLibraries.gmk Wed Nov 05 12:14:24 2014 -0800
@@ -42,7 +42,7 @@
LIBNET_EXCLUDE_FILES += linux_close.c
endif
-ifneq ($(OPENJDK_TARGET_OS), macosx)
+ifeq (,$(findstring $(OPENJDK_TARGET_OS), bsd macosx))
LIBNET_EXCLUDE_FILES += bsd_close.c
endif
@@ -74,6 +74,7 @@
LDFLAGS_SUFFIX_solaris := -ljvm -ljava -lnsl -lsocket $(LIBDL) -lc, \
LDFLAGS_SUFFIX_linux := $(LIBDL) -ljvm -lpthread -ljava, \
LDFLAGS_SUFFIX_aix := $(LIBDL) -ljvm -ljava,\
+ LDFLAGS_SUFFIX_bsd := -ljvm -pthread -ljava, \
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 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/lib/NioLibraries.gmk Wed Nov 05 12:14:24 2014 -0800
@@ -77,9 +77,28 @@
UnixNativeDispatcher.c
endif
+ifeq ($(OPENJDK_TARGET_OS), bsd)
+ BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
+ BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/bsd/native/sun/nio/ch
+ BUILD_LIBNIO_FILES += \
+ BsdNativeDispatcher.c \
+ GnomeFileTypeDetector.c \
+ InheritedChannel.c \
+ KQueue.c \
+ KQueueArrayWrapper.c \
+ KQueuePort.c \
+ MagicFileTypeDetector.c \
+ NativeThread.c \
+ PollArrayWrapper.c \
+ UnixAsynchronousServerSocketChannelImpl.c \
+ UnixAsynchronousSocketChannelImpl.c \
+ UnixCopyFile.c \
+ UnixNativeDispatcher.c
+endif
+
ifeq ($(OPENJDK_TARGET_OS), macosx)
BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS)
- BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/macosx/native/sun/nio/ch
+ BUILD_LIBNIO_SRC += $(JDK_TOPDIR)/src/bsd/native/sun/nio/ch
BUILD_LIBNIO_FILES += \
InheritedChannel.c \
NativeThread.c \
@@ -149,6 +168,7 @@
LDFLAGS_SUFFIX_windows := jvm.lib ws2_32.lib $(WIN_JAVA_LIB) \
$(JDK_OUTPUTDIR)/objs/libnet/net.lib \
advapi32.lib, \
+ LDFLAGS_SUFFIX_bsd := -ljava -lnet -pthread, \
LDFLAGS_SUFFIX_macosx := -ljava -lnet -pthread -framework CoreFoundation, \
LDFLAGS_SUFFIX :=, \
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
@@ -194,6 +214,7 @@
LDFLAGS_SUFFIX_linux := -lpthread $(LIBDL) -ljava -ljvm, \
LDFLAGS_SUFFIX_posix := -lnio -lnet, \
LDFLAGS_SUFFIX_solaris := -lsocket -ljava -ljvm -lc, \
+ LDFLAGS_SUFFIX_bsd := -pthread -ljava -ljvm, \
LDFLAGS_SUFFIX_macosx := -ljava -ljvm, \
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsctp, \
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
--- ./jdk/make/lib/ServiceabilityLibraries.gmk Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/lib/ServiceabilityLibraries.gmk Wed Nov 05 12:14:24 2014 -0800
@@ -30,7 +30,7 @@
ifneq ($(OPENJDK_TARGET_OS), linux)
LIBATTACH_EXCLUDE_FILES += LinuxVirtualMachine.c
endif
-ifneq ($(OPENJDK_TARGET_OS), macosx)
+ifeq (,$(findstring $(OPENJDK_TARGET_OS), bsd macosx))
LIBATTACH_EXCLUDE_FILES += BsdVirtualMachine.c
endif
ifneq ($(OPENJDK_TARGET_OS),aix)
@@ -90,6 +90,7 @@
$(call SET_SHARED_LIBRARY_ORIGIN), \
LDFLAGS_SUFFIX_linux := -lpthread, \
LDFLAGS_SUFFIX_solaris := -lnsl -lsocket -lc, \
+ LDFLAGS_SUFFIX_bsd := -pthread, \
LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib, \
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
RC_FLAGS := $(RC_FLAGS) \
@@ -251,12 +252,15 @@
CFLAGS := $(LIBINSTRUMENT_CFLAGS), \
CFLAGS_debug := -DJPLIS_LOGGING, \
CFLAGS_release := -DNO_JPLIS_LOGGING, \
+ CFLAGS_bsd := -DLIBICONV_PLUG, \
MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libinstrument/mapfile-vers, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN) \
$(LIBINSTRUMENT_LDFLAGS), \
LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \
LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \
+ LDFLAGS_bsd := -Xlinker --whole-archive $(JDK_OUTPUTDIR)/objs/libjli_static.a \
+ -Xlinker --no-whole-archive, \
LDFLAGS_macosx := -Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \
-framework Cocoa -framework Security -framework ApplicationServices, \
LDFLAGS_SUFFIX := $(LIBINSTRUMENT_LDFLAGS_SUFFIX), \
@@ -264,6 +268,7 @@
LDFLAGS_SUFFIX_solaris := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc, \
LDFLAGS_SUFFIX_linux := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL), \
LDFLAGS_SUFFIX_aix := $(LIBZ) -L$(JDK_OUTPUTDIR)/objs -ljli_static $(LIBDL),\
+ LDFLAGS_SUFFIX_bsd := $(LIBZ), \
VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \
RC_FLAGS := $(RC_FLAGS) \
-D "JDK_FNAME=instrument.dll" \
@@ -272,7 +277,7 @@
OBJECT_DIR := $(LIBINSTRUMENT_DIR), \
DEBUG_SYMBOLS := true))
-ifneq (, $(findstring $(OPENJDK_TARGET_OS), macosx windows aix))
+ifneq (, $(findstring $(OPENJDK_TARGET_OS), bsd macosx windows aix))
$(BUILD_LIBINSTRUMENT): $(JDK_OUTPUTDIR)/objs/$(LIBRARY_PREFIX)jli_static$(STATIC_LIBRARY_SUFFIX)
else
$(BUILD_LIBINSTRUMENT): $(INSTALL_LIBRARIES_HERE)/jli/$(LIBRARY_PREFIX)jli$(SHARED_LIBRARY_SUFFIX)
@@ -298,12 +303,16 @@
BUILD_LIBMANAGEMENT_EXCLUDES += LinuxOperatingSystem.c
endif
+ifneq ($(OPENJDK_TARGET_OS), bsd)
+ BUILD_LIBMANAGEMENT_EXCLUDES += BsdOperatingSystem.c
+endif
+
ifneq ($(OPENJDK_TARGET_OS), macosx)
BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c
endif
LIBMANAGEMENT_OPTIMIZATION := HIGH
-ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
+ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux bsd), )
ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
LIBMANAGEMENT_OPTIMIZATION := LOW
endif
@@ -352,7 +361,7 @@
BUILD_LIBHPROF_LDFLAGS :=
LIBHPROF_OPTIMIZATION := HIGHEST
-ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux), )
+ifneq ($(findstring $(OPENJDK_TARGET_OS), solaris linux bsd), )
ifeq ($(ENABLE_DEBUG_SYMBOLS), true)
LIBHPROF_OPTIMIZATION := LOW
endif
--- ./jdk/make/lib/SoundLibraries.gmk Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/lib/SoundLibraries.gmk Wed Nov 05 12:14:24 2014 -0800
@@ -75,6 +75,11 @@
LIBJSOUND_CFLAGS += -DX_PLATFORM=X_AIX
endif # OPENJDK_TARGET_OS aix
+ifeq ($(OPENJDK_TARGET_OS), bsd)
+ EXTRA_SOUND_JNI_LIBS += jsoundalsa
+ LIBJSOUND_CFLAGS += -DX_PLATFORM=X_BSD
+endif # OPENJDK_TARGET_OS bsd
+
ifeq ($(OPENJDK_TARGET_OS), macosx)
LIBJSOUND_LANG := C++
LIBJSOUND_CFLAGS += -DX_PLATFORM=X_MACOSX \
@@ -196,12 +201,14 @@
CFLAGS := $(CFLAGS_JDKLIB) $(ALSA_CFLAGS) \
$(LIBJSOUND_CFLAGS) \
-DUSE_DAUDIO=TRUE \
- -DUSE_PORTS=TRUE \
- -DUSE_PLATFORM_MIDI_OUT=TRUE \
+ -DUSE_PORTS=TRUE, \
+ CFLAGS_linux := -DUSE_PLATFORM_MIDI_OUT=TRUE \
-DUSE_PLATFORM_MIDI_IN=TRUE, \
+ CFLAGS_bsd := -I$(PACKAGE_PATH)/include, \
MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjsoundalsa/mapfile-vers, \
LDFLAGS := $(LDFLAGS_JDKLIB) \
$(call SET_SHARED_LIBRARY_ORIGIN), \
+ LDFLAGS_bsd := -L$(PACKAGE_PATH)/lib, \
LDFLAGS_SUFFIX := $(ALSA_LIBS) -ljava -ljvm, \
OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjsoundalsa, \
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
--- ./jdk/make/mapfiles/launchers/mapfile-x86 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/mapfiles/launchers/mapfile-x86 Wed Nov 05 12:14:24 2014 -0800
@@ -33,6 +33,7 @@
environ; # Public symbols and required by Java run time
_environ;
__environ_lock;
+ __progname;
___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 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/mapfiles/launchers/mapfile-x86_64 Wed Nov 05 12:14:24 2014 -0800
@@ -33,6 +33,7 @@
environ; # Public symbols and required by Java run time
_environ;
__environ_lock;
+ __progname;
local:
*;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ ./jdk/make/mapfiles/libattach/mapfile-bsd Wed Nov 05 12:14:24 2014 -0800
@@ -0,0 +1,42 @@
+#
+# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+# Define public interface.
+
+SUNWprivate_1.1 {
+ global:
+ Java_sun_tools_attach_BsdVirtualMachine_checkPermissions;
+ Java_sun_tools_attach_BsdVirtualMachine_close;
+ Java_sun_tools_attach_BsdVirtualMachine_connect;
+ Java_sun_tools_attach_BsdVirtualMachine_getTempDir;
+ Java_sun_tools_attach_BsdVirtualMachine_open;
+ Java_sun_tools_attach_BsdVirtualMachine_sendQuitTo;
+ Java_sun_tools_attach_BsdVirtualMachine_socket;
+ Java_sun_tools_attach_BsdVirtualMachine_read;
+ Java_sun_tools_attach_BsdVirtualMachine_write;
+ Java_sun_tools_attach_BsdVirtualMachine_createAttachFile;
+ local:
+ *;
+};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ ./jdk/make/mapfiles/libnio/mapfile-bsd Wed Nov 05 12:14:24 2014 -0800
@@ -0,0 +1,195 @@
+#
+# Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved.
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+#
+# This code is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License version 2 only, as
+# published by the Free Software Foundation. Oracle designates this
+# particular file as subject to the "Classpath" exception as provided
+# by Oracle in the LICENSE file that accompanied this code.
+#
+# This code is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+# version 2 for more details (a copy is included in the LICENSE file that
+# accompanied this code).
+#
+# You should have received a copy of the GNU General Public License version
+# 2 along with this work; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+# or visit www.oracle.com if you need additional information or have any
+# questions.
+#
+
+SUNWprivate_1.1 {
+ global:
+ Java_java_nio_MappedByteBuffer_force0;
+ Java_java_nio_MappedByteBuffer_isLoaded0;
+ Java_java_nio_MappedByteBuffer_load0;
+ Java_sun_nio_ch_DatagramChannelImpl_disconnect0;
+ Java_sun_nio_ch_DatagramChannelImpl_initIDs;
+ Java_sun_nio_ch_DatagramChannelImpl_receive0;
+ Java_sun_nio_ch_DatagramChannelImpl_send0;
+ Java_sun_nio_ch_DatagramDispatcher_read0;
+ Java_sun_nio_ch_DatagramDispatcher_readv0;
+ Java_sun_nio_ch_DatagramDispatcher_write0;
+ Java_sun_nio_ch_DatagramDispatcher_writev0;
+ Java_sun_nio_ch_FileChannelImpl_close0;
+ Java_sun_nio_ch_FileChannelImpl_initIDs;
+ Java_sun_nio_ch_FileChannelImpl_map0;
+ Java_sun_nio_ch_FileChannelImpl_position0;
+ Java_sun_nio_ch_FileChannelImpl_transferTo0;
+ Java_sun_nio_ch_FileChannelImpl_unmap0;
+ Java_sun_nio_ch_FileDispatcherImpl_close0;
+ Java_sun_nio_ch_FileDispatcherImpl_closeIntFD;
+ Java_sun_nio_ch_FileDispatcherImpl_force0;
+ Java_sun_nio_ch_FileDispatcherImpl_init;
+ Java_sun_nio_ch_FileDispatcherImpl_lock0;
+ Java_sun_nio_ch_FileDispatcherImpl_preClose0;
+ Java_sun_nio_ch_FileDispatcherImpl_pread0;
+ Java_sun_nio_ch_FileDispatcherImpl_pwrite0;
+ Java_sun_nio_ch_FileDispatcherImpl_read0;
+ Java_sun_nio_ch_FileDispatcherImpl_readv0;
+ Java_sun_nio_ch_FileDispatcherImpl_release0;
+ Java_sun_nio_ch_FileDispatcherImpl_size0;
+ Java_sun_nio_ch_FileDispatcherImpl_truncate0;
+ Java_sun_nio_ch_FileDispatcherImpl_write0;
+ Java_sun_nio_ch_FileDispatcherImpl_writev0;
+ Java_sun_nio_ch_FileKey_init;
+ Java_sun_nio_ch_FileKey_initIDs;
+ Java_sun_nio_ch_IOUtil_configureBlocking;
+ Java_sun_nio_ch_IOUtil_drain;
+ Java_sun_nio_ch_IOUtil_fdLimit;
+ Java_sun_nio_ch_IOUtil_fdVal;
+ Java_sun_nio_ch_IOUtil_initIDs;
+ Java_sun_nio_ch_IOUtil_iovMax;
+ Java_sun_nio_ch_IOUtil_makePipe;
+ Java_sun_nio_ch_IOUtil_randomBytes;
+ Java_sun_nio_ch_IOUtil_setfdVal;
+ Java_sun_nio_ch_InheritedChannel_close0;
+ Java_sun_nio_ch_InheritedChannel_dup2;
+ Java_sun_nio_ch_InheritedChannel_dup;
+ Java_sun_nio_ch_InheritedChannel_open0;
+ Java_sun_nio_ch_InheritedChannel_peerAddress0;
+ Java_sun_nio_ch_InheritedChannel_peerPort0;
+ Java_sun_nio_ch_InheritedChannel_soType0;
+ Java_sun_nio_ch_KQueueArrayWrapper_init;
+ Java_sun_nio_ch_KQueueArrayWrapper_initStructSizes;
+ Java_sun_nio_ch_KQueueArrayWrapper_interrupt;
+ Java_sun_nio_ch_KQueueArrayWrapper_kevent0;
+ Java_sun_nio_ch_KQueueArrayWrapper_register0;
+ Java_sun_nio_ch_KQueuePort_close0;
+ Java_sun_nio_ch_KQueuePort_drain1;
+ Java_sun_nio_ch_KQueuePort_interrupt;
+ Java_sun_nio_ch_KQueuePort_socketpair;
+ Java_sun_nio_ch_KQueue_filterOffset;
+ Java_sun_nio_ch_KQueue_flagsOffset;
+ Java_sun_nio_ch_KQueue_identOffset;
+ Java_sun_nio_ch_KQueue_keventPoll;
+ Java_sun_nio_ch_KQueue_keventRegister;
+ Java_sun_nio_ch_KQueue_keventSize;
+ Java_sun_nio_ch_KQueue_kqueue;
+ Java_sun_nio_ch_NativeThread_current;
+ Java_sun_nio_ch_NativeThread_init;
+ Java_sun_nio_ch_NativeThread_signal;
+ Java_sun_nio_ch_Net_bind0;
+ Java_sun_nio_ch_Net_blockOrUnblock4;
+ Java_sun_nio_ch_Net_blockOrUnblock6;
+ Java_sun_nio_ch_Net_canIPv6SocketJoinIPv4Group0;
+ Java_sun_nio_ch_Net_canJoin6WithIPv4Group0;
+ Java_sun_nio_ch_Net_connect0;
+ Java_sun_nio_ch_Net_getIntOption0;
+ Java_sun_nio_ch_Net_getInterface4;
+ Java_sun_nio_ch_Net_getInterface6;
+ Java_sun_nio_ch_Net_initIDs;
+ Java_sun_nio_ch_Net_isExclusiveBindAvailable;
+ Java_sun_nio_ch_Net_isIPv6Available0;
+ Java_sun_nio_ch_Net_joinOrDrop4;
+ Java_sun_nio_ch_Net_joinOrDrop6;
+ Java_sun_nio_ch_Net_listen;
+ Java_sun_nio_ch_Net_localInetAddress;
+ Java_sun_nio_ch_Net_localPort;
+ Java_sun_nio_ch_Net_poll;
+ Java_sun_nio_ch_Net_pollconnValue;
+ Java_sun_nio_ch_Net_pollerrValue;
+ Java_sun_nio_ch_Net_pollhupValue;
+ Java_sun_nio_ch_Net_pollinValue;
+ Java_sun_nio_ch_Net_pollnvalValue;
+ Java_sun_nio_ch_Net_polloutValue;
+ Java_sun_nio_ch_Net_setIntOption0;
+ Java_sun_nio_ch_Net_setInterface4;
+ Java_sun_nio_ch_Net_setInterface6;
+ Java_sun_nio_ch_Net_shutdown;
+ Java_sun_nio_ch_Net_socket0;
+ Java_sun_nio_ch_PollArrayWrapper_interrupt;
+ Java_sun_nio_ch_PollArrayWrapper_poll0;
+ Java_sun_nio_ch_ServerSocketChannelImpl_accept0;
+ Java_sun_nio_ch_ServerSocketChannelImpl_initIDs;
+ Java_sun_nio_ch_SocketChannelImpl_checkConnect;
+ Java_sun_nio_ch_SocketChannelImpl_sendOutOfBandData;
+ Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_accept0;
+ Java_sun_nio_ch_UnixAsynchronousServerSocketChannelImpl_initIDs;
+ Java_sun_nio_ch_UnixAsynchronousSocketChannelImpl_checkConnect;
+ Java_sun_nio_fs_BsdNativeDispatcher_endfsstat;
+ Java_sun_nio_fs_BsdNativeDispatcher_fsstatEntry;
+ Java_sun_nio_fs_BsdNativeDispatcher_getfsstat;
+ Java_sun_nio_fs_BsdNativeDispatcher_initIDs;
+ Java_sun_nio_fs_GnomeFileTypeDetector_initializeGio;
+ Java_sun_nio_fs_GnomeFileTypeDetector_initializeGnomeVfs;
+ Java_sun_nio_fs_GnomeFileTypeDetector_probeUsingGio;
+ Java_sun_nio_fs_GnomeFileTypeDetector_probeUsingGnomeVfs;
+ Java_sun_nio_fs_MagicFileTypeDetector_initialize0;
+ Java_sun_nio_fs_MagicFileTypeDetector_probe0;
+ Java_sun_nio_fs_UnixCopyFile_transfer;
+ Java_sun_nio_fs_UnixNativeDispatcher_access0;
+ Java_sun_nio_fs_UnixNativeDispatcher_chmod0;
+ Java_sun_nio_fs_UnixNativeDispatcher_chown0;
+ Java_sun_nio_fs_UnixNativeDispatcher_close;
+ Java_sun_nio_fs_UnixNativeDispatcher_closedir;
+ Java_sun_nio_fs_UnixNativeDispatcher_dup;
+ Java_sun_nio_fs_UnixNativeDispatcher_fchmod;
+ Java_sun_nio_fs_UnixNativeDispatcher_fchown;
+ Java_sun_nio_fs_UnixNativeDispatcher_fclose;
+ Java_sun_nio_fs_UnixNativeDispatcher_fdopendir;
+ Java_sun_nio_fs_UnixNativeDispatcher_fopen0;
+ Java_sun_nio_fs_UnixNativeDispatcher_fpathconf;
+ Java_sun_nio_fs_UnixNativeDispatcher_fstat;
+ Java_sun_nio_fs_UnixNativeDispatcher_fstatat0;
+ Java_sun_nio_fs_UnixNativeDispatcher_futimes;
+ Java_sun_nio_fs_UnixNativeDispatcher_getcwd;
+ Java_sun_nio_fs_UnixNativeDispatcher_getgrgid;
+ Java_sun_nio_fs_UnixNativeDispatcher_getgrnam0;
+ Java_sun_nio_fs_UnixNativeDispatcher_getpwnam0;
+ Java_sun_nio_fs_UnixNativeDispatcher_getpwuid;
+ Java_sun_nio_fs_UnixNativeDispatcher_init;
+ Java_sun_nio_fs_UnixNativeDispatcher_lchown0;
+ Java_sun_nio_fs_UnixNativeDispatcher_link0;
+ Java_sun_nio_fs_UnixNativeDispatcher_lstat0;
+ Java_sun_nio_fs_UnixNativeDispatcher_mkdir0;
+ Java_sun_nio_fs_UnixNativeDispatcher_mknod0;
+ Java_sun_nio_fs_UnixNativeDispatcher_open0;
+ Java_sun_nio_fs_UnixNativeDispatcher_openat0;
+ Java_sun_nio_fs_UnixNativeDispatcher_opendir0;
+ Java_sun_nio_fs_UnixNativeDispatcher_pathconf0;
+ Java_sun_nio_fs_UnixNativeDispatcher_read;
+ Java_sun_nio_fs_UnixNativeDispatcher_readdir;
+ Java_sun_nio_fs_UnixNativeDispatcher_readlink0;
+ Java_sun_nio_fs_UnixNativeDispatcher_realpath0;
+ Java_sun_nio_fs_UnixNativeDispatcher_rename0;
+ Java_sun_nio_fs_UnixNativeDispatcher_renameat0;
+ Java_sun_nio_fs_UnixNativeDispatcher_rmdir0;
+ Java_sun_nio_fs_UnixNativeDispatcher_stat0;
+ Java_sun_nio_fs_UnixNativeDispatcher_statvfs0;
+ Java_sun_nio_fs_UnixNativeDispatcher_strerror;
+ Java_sun_nio_fs_UnixNativeDispatcher_symlink0;
+ Java_sun_nio_fs_UnixNativeDispatcher_unlink0;
+ Java_sun_nio_fs_UnixNativeDispatcher_unlinkat0;
+ Java_sun_nio_fs_UnixNativeDispatcher_utimes0;
+ Java_sun_nio_fs_UnixNativeDispatcher_write;
+ handleSocketError;
+
+ local:
+ *;
+};
--- ./jdk/make/mapfiles/libunpack/mapfile-vers-unpack200 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/mapfiles/libunpack/mapfile-vers-unpack200 Wed Nov 05 12:14:24 2014 -0800
@@ -26,6 +26,9 @@
# Define library interface.
SUNWprivate_1.1 {
+ global:
+ environ;
+ __progname;
local:
*;
};
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ ./jdk/make/netbeans/common/bsd-sources.ent Wed Nov 05 12:14:24 2014 -0800
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ - Neither the name of Oracle nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<source-folder>
+ <label>Sources for BSD Platform</label>
+ <type>java</type>
+ <location>${root}/src/bsd/classes</location>
+ <includes>${includes}</includes>
+ <excludes>${excludes}</excludes>
+ <encoding>US-ASCII</encoding>
+</source-folder>
+<source-folder>
+ <label>Sources for BSD Platform</label>
+ <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 Wed Nov 05 12:14:24 2014 -0800
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+ Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions
+ are met:
+
+ - Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ - Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ - Neither the name of Oracle nor the names of its
+ contributors may be used to endorse or promote products derived
+ from this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-->
+
+<source-folder style="tree">
+ <label>Sources for BSD Platform</label>
+ <location>${root}/src/bsd/classes</location>
+ <includes>${includes}</includes>
+ <excludes>${excludes}</excludes>
+</source-folder>
--- ./jdk/make/netbeans/common/java-data-native.ent Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/netbeans/common/java-data-native.ent Wed Nov 05 12:14:24 2014 -0800
@@ -34,6 +34,7 @@
<java-data xmlns="http://www.netbeans.org/ns/freeform-project-java/4">
<compilation-unit>
<package-root>${root}/src/share/classes</package-root>
+ <package-root>${root}/src/bsd/classes</package-root>
<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 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/netbeans/common/make.xml Wed Nov 05 12:14:24 2014 -0800
@@ -32,16 +32,21 @@
-->
<project name="make" basedir="..">
-
- <target name="-make.init" depends="-init,-pre-init.linux,-pre-init.macosx,-pre-init.solaris,-pre-init.windows,-pre-init.macosx">
+
+ <target name="-make.init" depends="-init,-pre-init.linux,-pre-init.bsd,-pre-init.macosx,-pre-init.solaris,-pre-init.windows">
<property name="make.options" value=""/> <!-- default, can be overridden per user or per project -->
</target>
-
+
<target name="-pre-init.linux" if="os.linux">
<property name="platform" value="linux"/>
<property name="make" value="make"/>
</target>
+ <target name="-pre-init.bsd" if="os.bsd">
+ <property name="platform" value="bsd"/>
+ <property name="make" value="gmake"/>
+ </target>
+
<target name="-pre-init.macosx" if="os.macosx">
<property name="platform" value="macosx"/>
<property name="make" value="make"/>
@@ -56,7 +61,7 @@
<property name="platform" value="windows"/>
<property name="make" value="c:/cygwin/bin/make"/>
</target>
-
+
<macrodef name="make-run">
<attribute name="target"/>
<attribute name="dir"/>
--- ./jdk/make/netbeans/j2se/nbproject/project.xml Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/netbeans/j2se/nbproject/project.xml Wed Nov 05 12:14:24 2014 -0800
@@ -34,6 +34,7 @@
<!DOCTYPE project [
<!ENTITY properties SYSTEM "../../common/properties.ent">
<!ENTITY share-sources SYSTEM "../../common/share-sources.ent">
+ <!ENTITY bsd-sources SYSTEM "../../common/bsd-sources.ent">
<!ENTITY macosx-sources SYSTEM "../../common/macosx-sources.ent">
<!ENTITY unix-sources SYSTEM "../../common/unix-sources.ent">
<!ENTITY windows-sources SYSTEM "../../common/windows-sources.ent">
@@ -41,6 +42,7 @@
<!ENTITY build-folder SYSTEM "../../common/build-folder.ent">
<!ENTITY standard-bindings SYSTEM "../../common/standard-bindings.ent">
<!ENTITY share-view SYSTEM "../../common/share-view.ent">
+ <!ENTITY bsd-view SYSTEM "../../common/bsd-view.ent">
<!ENTITY macosx-view SYSTEM "../../common/macosx-view.ent">
<!ENTITY unix-view SYSTEM "../../common/unix-view.ent">
<!ENTITY windows-view SYSTEM "../../common/windows-view.ent">
@@ -60,6 +62,7 @@
</properties>
<folders>
&share-sources;
+ &bsd-sources;
&macosx-sources;
&unix-sources;
&windows-sources;
@@ -86,6 +89,7 @@
<view>
<items>
&share-view;
+ &bsd-view;
&macosx-view;
&unix-view;
&windows-view;
--- ./jdk/make/netbeans/world/nbproject/project.xml Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/make/netbeans/world/nbproject/project.xml Wed Nov 05 12:14:24 2014 -0800
@@ -34,12 +34,14 @@
<!DOCTYPE project [
<!ENTITY properties SYSTEM "../../common/properties.ent">
<!ENTITY share-sources SYSTEM "../../common/share-sources.ent">
+ <!ENTITY bsd-sources SYSTEM "../../common/bsd-sources.ent">
<!ENTITY macosx-sources SYSTEM "../../common/macosx-sources.ent">
<!ENTITY unix-sources SYSTEM "../../common/unix-sources.ent">
<!ENTITY windows-sources SYSTEM "../../common/windows-sources.ent">
<!ENTITY build-folder SYSTEM "../../common/build-folder.ent">
<!ENTITY standard-bindings SYSTEM "../../common/standard-bindings.ent">
<!ENTITY share-view SYSTEM "../../common/share-view.ent">
+ <!ENTITY bsd-view SYSTEM "../../common/bsd-view.ent">
<!ENTITY macosx-view SYSTEM "../../common/macosx-view.ent">
<!ENTITY unix-view SYSTEM "../../common/unix-view.ent">
<!ENTITY windows-view SYSTEM "../../common/windows-view.ent">
@@ -58,6 +60,7 @@
</properties>
<folders>
&share-sources;
+ &bsd-sources;
&macosx-sources;
&unix-sources;
&windows-sources;
@@ -69,6 +72,7 @@
<view>
<items>
&share-view;
+ &bsd-view;
&macosx-view;
&unix-view;
&windows-view;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ ./jdk/src/bsd/classes/java/net/DefaultInterface.java Wed Nov 05 12:14:24 2014 -0800
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package java.net;
+
+/**
+ * Choose a network interface to be the default for
+ * outgoing IPv6 traffic that does not specify a scope_id (and which needs one).
+ * We choose the first interface that is up and is (in order of preference):
+ * 1. neither loopback nor point to point
+ * 2. point to point
+ * 3. loopback
+ * 4. none.
+ * Platforms that do not require a default interface implement a dummy
+ * that returns null.
+ */
+
+import java.util.Enumeration;
+import java.io.IOException;
+
+class DefaultInterface {
+
+ private final static NetworkInterface defaultInterface =
+ chooseDefaultInterface();
+
+ static NetworkInterface getDefault() {
+ return defaultInterface;
+ }
+
+ /**
+ * Choose a default interface. This method returns an interface that is
+ * both "up" and supports multicast. This method choses an interface in
+ * order of preference:
+ * 1. neither loopback nor point to point
+ * 2. point to point
+ * 3. loopback
+ *
+ * @return the chosen interface or {@code null} if there isn't a suitable
+ * default
+ */
+ private static NetworkInterface chooseDefaultInterface() {
+ Enumeration<NetworkInterface> nifs;
+
+ try {
+ nifs = NetworkInterface.getNetworkInterfaces();
+ } catch (IOException ignore) {
+ // unable to enumate network interfaces
+ return null;
+ }
+
+ NetworkInterface ppp = null;
+ NetworkInterface loopback = null;
+
+ while (nifs.hasMoreElements()) {
+ NetworkInterface ni = nifs.nextElement();
+ try {
+ if (ni.isUp() && ni.supportsMulticast()) {
+ boolean isLoopback = ni.isLoopback();
+ boolean isPPP = ni.isPointToPoint();
+ if (!isLoopback && !isPPP) {
+ // found an interface that is not the loopback or a
+ // point-to-point interface
+ return ni;
+ }
+ if (ppp == null && isPPP)
+ ppp = ni;
+ if (loopback == null && isLoopback)
+ loopback = ni;
+ }
+ } catch (IOException skip) { }
+ }
+
+ return (ppp != null) ? ppp : loopback;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ ./jdk/src/bsd/classes/sun/nio/ch/DefaultSelectorProvider.java Wed Nov 05 12:14:24 2014 -0800
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package sun.nio.ch;
+
+import java.nio.channels.spi.SelectorProvider;
+
+/**
+ * Creates this platform's default SelectorProvider
+ */
+
+public class DefaultSelectorProvider {
+
+ /**
+ * Prevent instantiation.
+ */
+ private DefaultSelectorProvider() { }
+
+ /**
+ * Returns the default SelectorProvider.
+ */
+ public static SelectorProvider create() {
+ return new sun.nio.ch.KQueueSelectorProvider();
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ ./jdk/src/bsd/classes/sun/nio/ch/KQueueArrayWrapper.java Wed Nov 05 12:14:24 2014 -0800
@@ -0,0 +1,213 @@
+/*
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * KQueueArrayWrapper.java
+ * Implementation of Selector using FreeBSD / Mac OS X kqueues
+ * Derived from Sun's DevPollArrayWrapper
+ */
+
+package sun.nio.ch;
+
+import sun.misc.*;
+import java.io.IOException;
+import java.io.FileDescriptor;
+import java.util.Iterator;
+import java.util.LinkedList;
+
+/*
+ * struct kevent { // 32-bit 64-bit
+ * uintptr_t ident; // 4 8
+ * short filter; // 2 2
+ * u_short flags; // 2 2
+ * u_int fflags; // 4 4
+ * intptr_t data; // 4 8
+ * void *udata; // 4 8
+ * } // Total: 20 32
+ *
+ * The implementation works in 32-bit and 64-bit world. We do this by calling a
+ * native function that actually sets the sizes and offsets of the fields based
+ * on which mode we're in.
+ */
+
+class KQueueArrayWrapper {
+ // kevent filters
+ static short EVFILT_READ;
+ static short EVFILT_WRITE;
+
+ // kevent struct
+ // These fields are now set by initStructSizes in the static initializer.
+ static short SIZEOF_KEVENT;
+ static short FD_OFFSET;
+ static short FILTER_OFFSET;
+
+ // kevent array size
+ static final int NUM_KEVENTS = 128;
+
+ // Are we in a 64-bit VM?
+ static boolean is64bit = false;
+
+ // The kevent array (used for outcoming events only)
+ private AllocatedNativeObject keventArray = null;
+ private long keventArrayAddress;
+
+ // The kqueue fd
+ private int kq = -1;
+
+ // The fd of the interrupt line going out
+ private int outgoingInterruptFD;
+
+ // The fd of the interrupt line coming in
+ private int incomingInterruptFD;
+
+ static {
+ IOUtil.load();
+ initStructSizes();
+ String datamodel = java.security.AccessController.doPrivileged(
+ new sun.security.action.GetPropertyAction("sun.arch.data.model")
+ );
+ is64bit = datamodel.equals("64");
+ }
+
+ KQueueArrayWrapper() {
+ int allocationSize = SIZEOF_KEVENT * NUM_KEVENTS;
+ keventArray = new AllocatedNativeObject(allocationSize, true);
+ keventArrayAddress = keventArray.address();
+ kq = init();
+ }
+
+ // Used to update file description registrations
+ private static class Update {
+ SelChImpl channel;
+ int events;
+ Update(SelChImpl channel, int events) {
+ this.channel = channel;
+ this.events = events;
+ }
+ }
+
+ private LinkedList<Update> updateList = new LinkedList<Update>();
+
+ void initInterrupt(int fd0, int fd1) {
+ outgoingInterruptFD = fd1;
+ incomingInterruptFD = fd0;
+ register0(kq, fd0, 1, 0);
+ }
+
+ int getReventOps(int index) {
+ int result = 0;
+ int offset = SIZEOF_KEVENT*index + FILTER_OFFSET;
+ short filter = keventArray.getShort(offset);
+
+ // This is all that's necessary based on inspection of usage:
+ // SinkChannelImpl, SourceChannelImpl, DatagramChannelImpl,
+ // ServerSocketChannelImpl, SocketChannelImpl
+ if (filter == EVFILT_READ) {
+ result |= Net.POLLIN;
+ } else if (filter == EVFILT_WRITE) {
+ result |= Net.POLLOUT;
+ }
+
+ return result;
+ }
+
+ int getDescriptor(int index) {
+ int offset = SIZEOF_KEVENT*index + FD_OFFSET;
+ /* The ident field is 8 bytes in 64-bit world, however the API wants us
+ * to return an int. Hence read the 8 bytes but return as an int.
+ */
+ if (is64bit) {
+ long fd = keventArray.getLong(offset);
+ assert fd <= Integer.MAX_VALUE;
+ return (int) fd;
+ } else {
+ return keventArray.getInt(offset);
+ }
+ }
+
+ void setInterest(SelChImpl channel, int events) {
+ synchronized (updateList) {
+ // update existing registration
+ updateList.add(new Update(channel, events));
+ }
+ }
+
+ void release(SelChImpl channel) {
+ synchronized (updateList) {
+ // flush any pending updates
+ for (Iterator<Update> it = updateList.iterator(); it.hasNext();) {
+ if (it.next().channel == channel) {
+ it.remove();
+ }
+ }
+
+ // remove
+ register0(kq, channel.getFDVal(), 0, 0);
+ }
+ }
+
+ void updateRegistrations() {
+ synchronized (updateList) {
+ Update u = null;
+ while ((u = updateList.poll()) != null) {
+ SelChImpl ch = u.channel;
+ if (!ch.isOpen())
+ continue;
+
+ register0(kq, ch.getFDVal(), u.events & Net.POLLIN, u.events & Net.POLLOUT);
+ }
+ }
+ }
+
+
+ void close() throws IOException {
+ if (keventArray != null) {
+ keventArray.free();
+ keventArray = null;
+ }
+ if (kq >= 0) {
+ FileDispatcherImpl.closeIntFD(kq);
+ kq = -1;
+ }
+ }
+
+ int poll(long timeout) {
+ updateRegistrations();
+ int updated = kevent0(kq, keventArrayAddress, NUM_KEVENTS, timeout);
+ return updated;
+ }
+
+ void interrupt() {
+ interrupt(outgoingInterruptFD);
+ }
+
+ private native int init();
+ private static native void initStructSizes();
+
+ private native void register0(int kq, int fd, int read, int write);
+ private native int kevent0(int kq, long keventAddress, int keventCount,
+ long timeout);
+ 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 Wed Nov 05 12:14:24 2014 -0800
@@ -0,0 +1,249 @@
+/*
+ * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * KQueueSelectorImpl.java
+ * Implementation of Selector using FreeBSD / Mac OS X kqueues
+ * Derived from Sun's DevPollSelectorImpl
+ */
+
+package sun.nio.ch;
+
+import java.io.IOException;
+import java.io.FileDescriptor;
+import java.nio.channels.*;
+import java.nio.channels.spi.*;
+import java.util.*;
+import sun.misc.*;
+
+class KQueueSelectorImpl
+ extends SelectorImpl
+{
+ // File descriptors used for interrupt
+ protected int fd0;
+ protected int fd1;
+
+ // The kqueue manipulator
+ KQueueArrayWrapper kqueueWrapper;
+
+ // Count of registered descriptors (including interrupt)
+ private int totalChannels;
+
+ // Map from a file descriptor to an entry containing the selection key
+ private HashMap<Integer,MapEntry> fdMap;
+
+ // True if this Selector has been closed
+ private boolean closed = false;
+
+ // Lock for interrupt triggering and clearing
+ private Object interruptLock = new Object();
+ private boolean interruptTriggered = false;
+
+ // used by updateSelectedKeys to handle cases where the same file
+ // descriptor is polled by more than one filter
+ private long updateCount;
+
+ // Used to map file descriptors to a selection key and "update count"
+ // (see updateSelectedKeys for usage).
+ private static class MapEntry {
+ SelectionKeyImpl ski;
+ long updateCount;
+ MapEntry(SelectionKeyImpl ski) {
+ this.ski = ski;
+ }
+ }
+
+ /**
+ * Package private constructor called by factory method in
+ * the abstract superclass Selector.
+ */
+ KQueueSelectorImpl(SelectorProvider sp) {
+ super(sp);
+ long fds = IOUtil.makePipe(false);
+ fd0 = (int)(fds >>> 32);
+ fd1 = (int)fds;
+ kqueueWrapper = new KQueueArrayWrapper();
+ kqueueWrapper.initInterrupt(fd0, fd1);
+ fdMap = new HashMap<>();
+ totalChannels = 1;
+ }
+
+
+ protected int doSelect(long timeout)
+ throws IOException
+ {
+ int entries = 0;
+ if (closed)
+ throw new ClosedSelectorException();
+ processDeregisterQueue();
+ try {
+ begin();
+ entries = kqueueWrapper.poll(timeout);
+ } finally {
+ end();
+ }
+ processDeregisterQueue();
+ return updateSelectedKeys(entries);
+ }
+
+ /**
+ * Update the keys whose fd's have been selected by kqueue.
+ * Add the ready keys to the selected key set.
+ * If the interrupt fd has been selected, drain it and clear the interrupt.
+ */
+ private int updateSelectedKeys(int entries)
+ throws IOException
+ {
+ int numKeysUpdated = 0;
+ boolean interrupted = false;
+
+ // A file descriptor may be registered with kqueue with more than one
+ // filter and so there may be more than one event for a fd. The update
+ // count in the MapEntry tracks when the fd was last updated and this
+ // ensures that the ready ops are updated rather than replaced by a
+ // second or subsequent event.
+ updateCount++;
+
+ for (int i = 0; i < entries; i++) {
+ int nextFD = kqueueWrapper.getDescriptor(i);
+ if (nextFD == fd0) {
+ interrupted = true;
+ } else {
+ MapEntry me = fdMap.get(Integer.valueOf(nextFD));
+
+ // entry is null in the case of an interrupt
+ if (me != null) {
+ int rOps = kqueueWrapper.getReventOps(i);
+ SelectionKeyImpl ski = me.ski;
+ if (selectedKeys.contains(ski)) {
+ // first time this file descriptor has been encountered on this
+ // update?
+ if (me.updateCount != updateCount) {
+ if (ski.channel.translateAndSetReadyOps(rOps, ski)) {
+ numKeysUpdated++;
+ me.updateCount = updateCount;
+ }
+ } else {
+ // ready ops have already been set on this update
+ ski.channel.translateAndUpdateReadyOps(rOps, ski);
+ }
+ } else {
+ ski.channel.translateAndSetReadyOps(rOps, ski);
+ if ((ski.nioReadyOps() & ski.nioInterestOps()) != 0) {
+ selectedKeys.add(ski);
+ numKeysUpdated++;
+ me.updateCount = updateCount;
+ }
+ }
+ }
+ }
+ }
+
+ if (interrupted) {
+ // Clear the wakeup pipe
+ synchronized (interruptLock) {
+ IOUtil.drain(fd0);
+ interruptTriggered = false;
+ }
+ }
+ return numKeysUpdated;
+ }
+
+
+ protected void implClose() throws IOException {
+ if (!closed) {
+ closed = true;
+
+ // prevent further wakeup
+ synchronized (interruptLock) {
+ interruptTriggered = true;
+ }
+
+ FileDispatcherImpl.closeIntFD(fd0);
+ FileDispatcherImpl.closeIntFD(fd1);
+ if (kqueueWrapper != null) {
+ kqueueWrapper.close();
+ kqueueWrapper = null;
+ selectedKeys = null;
+
+ // Deregister channels
+ Iterator<SelectionKey> i = keys.iterator();
+ while (i.hasNext()) {
+ SelectionKeyImpl ski = (SelectionKeyImpl)i.next();
+ deregister(ski);
+ SelectableChannel selch = ski.channel();
+ if (!selch.isOpen() && !selch.isRegistered())
+ ((SelChImpl)selch).kill();
+ i.remove();
+ }
+ totalChannels = 0;
+ }
+ fd0 = -1;
+ fd1 = -1;
+ }
+ }
+
+
+ protected void implRegister(SelectionKeyImpl ski) {
+ if (closed)
+ throw new ClosedSelectorException();
+ int fd = IOUtil.fdVal(ski.channel.getFD());
+ fdMap.put(Integer.valueOf(fd), new MapEntry(ski));
+ totalChannels++;
+ keys.add(ski);
+ }
+
+
+ protected void implDereg(SelectionKeyImpl ski) throws IOException {
+ int fd = ski.channel.getFDVal();
+ fdMap.remove(Integer.valueOf(fd));
+ kqueueWrapper.release(ski.channel);
+ totalChannels--;
+ keys.remove(ski);
+ selectedKeys.remove(ski);
+ deregister((AbstractSelectionKey)ski);
+ SelectableChannel selch = ski.channel();
+ if (!selch.isOpen() && !selch.isRegistered())
+ ((SelChImpl)selch).kill();
+ }
+
+
+ public void putEventOps(SelectionKeyImpl ski, int ops) {
+ if (closed)
+ throw new ClosedSelectorException();
+ kqueueWrapper.setInterest(ski.channel, ops);
+ }
+
+
+ public Selector wakeup() {
+ synchronized (interruptLock) {
+ if (!interruptTriggered) {
+ kqueueWrapper.interrupt();
+ interruptTriggered = true;
+ }
+ }
+ return this;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ ./jdk/src/bsd/classes/sun/nio/ch/KQueueSelectorProvider.java Wed Nov 05 12:14:24 2014 -0800
@@ -0,0 +1,44 @@
+/*
+ * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * KQueueSelectorProvider.java
+ * Implementation of Selector using FreeBSD / Mac OS X kqueues
+ * Derived from Sun's DevPollSelectorProvider
+ */
+
+package sun.nio.ch;
+
+import java.io.IOException;
+import java.nio.channels.*;
+import java.nio.channels.spi.*;
+
+public class KQueueSelectorProvider
+extends SelectorProviderImpl
+{
+ public AbstractSelector openSelector() throws IOException {
+ return new KQueueSelectorImpl(this);
+ }
+}
--- ./jdk/src/bsd/doc/man/javah.1 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/bsd/doc/man/javah.1 Wed Nov 05 12:14:24 2014 -0800
@@ -110,7 +110,7 @@
\&.:\fIyour-path\fR
-Example: \f3\&.:/home/avh/classes:/usr/local/java/classes\fR
+Example: \f3\&.:/home/avh/classes:/usr/local/share/java/classes\fR
\fIWindows\fR:
--- ./jdk/src/bsd/doc/man/rmic.1 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/bsd/doc/man/rmic.1 Wed Nov 05 12:14:24 2014 -0800
@@ -93,7 +93,7 @@
.TP
-classpath path
.br
-Specifies the path the \f3rmic\fR command uses to look up classes\&. This option overrides the default or the \f3CLASSPATH\fR environment variable when it is set\&. Directories are separated by colons\&. The general format for path is: \f3\&.:<your_path>\fR, for example: \f3\&.:/usr/local/java/classes\fR\&.
+Specifies the path the \f3rmic\fR command uses to look up classes\&. This option overrides the default or the \f3CLASSPATH\fR environment variable when it is set\&. Directories are separated by colons\&. The general format for path is: \f3\&.:<your_path>\fR, for example: \f3\&.:/usr/local/share/java/classes\fR\&.
.TP
-d \fIdirectory\fR
.br
@@ -207,7 +207,7 @@
.SH ENVIRONMENT\ VARIABLES
.TP
CLASSPATH
-Used to provide the system a path to user-defined classes\&. Directories are separated by colons, for example: \f3\&.:/usr/local/java/classes\fR\&.
+Used to provide the system a path to user-defined classes\&. Directories are separated by colons, for example: \f3\&.:/usr/local/share/java/classes\fR\&.
.SH SEE\ ALSO
.TP 0.2i
\(bu
--- ./jdk/src/bsd/doc/man/rmid.1 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/bsd/doc/man/rmid.1 Wed Nov 05 12:14:24 2014 -0800
@@ -301,7 +301,7 @@
.SH ENVIRONMENT\ VARIABLES
.TP
CLASSPATH
-Used to provide the system a path to user-defined classes\&. Directories are separated by colons, for example: \f3\&.:/usr/local/java/classes\fR\&.
+Used to provide the system a path to user-defined classes\&. Directories are separated by colons, for example: \f3\&.:/usr/local/share/java/classes\fR\&.
.SH SEE\ ALSO
.TP 0.2i
\(bu
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ ./jdk/src/bsd/native/sun/nio/ch/KQueueArrayWrapper.c Wed Nov 05 12:14:24 2014 -0800
@@ -0,0 +1,171 @@
+/*
+ * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+/*
+ * KQueueArrayWrapper.c
+ * Implementation of Selector using FreeBSD / Mac OS X kqueues
+ * Derived from Sun's DevPollArrayWrapper
+ */
+
+
+#include "jni.h"
+#include "jni_util.h"
+#include "jvm.h"
+#include "jlong.h"
+
+#include <sys/types.h>
+#include <sys/event.h>
+#include <sys/time.h>
+
+JNIEXPORT void JNICALL
+Java_sun_nio_ch_KQueueArrayWrapper_initStructSizes(JNIEnv *env, jclass clazz)
+{
+#define CHECK_EXCEPTION() { \
+ if ((*env)->ExceptionCheck(env)) { \
+ goto exceptionOccurred; \
+ } \
+}
+
+#define CHECK_ERROR_AND_EXCEPTION(_field) { \
+ if (_field == NULL) { \
+ goto badField; \
+ } \
+ CHECK_EXCEPTION(); \
+}
+
+
+ jfieldID field;
+
+ field = (*env)->GetStaticFieldID(env, clazz, "EVFILT_READ", "S");
+ CHECK_ERROR_AND_EXCEPTION(field);
+ (*env)->SetStaticShortField(env, clazz, field, EVFILT_READ);
+ CHECK_EXCEPTION();
+
+ field = (*env)->GetStaticFieldID(env, clazz, "EVFILT_WRITE", "S");
+ CHECK_ERROR_AND_EXCEPTION(field);
+ (*env)->SetStaticShortField(env, clazz, field, EVFILT_WRITE);
+ CHECK_EXCEPTION();
+
+ field = (*env)->GetStaticFieldID(env, clazz, "SIZEOF_KEVENT", "S");
+ CHECK_ERROR_AND_EXCEPTION(field);
+ (*env)->SetStaticShortField(env, clazz, field, (short) sizeof(struct kevent));
+ CHECK_EXCEPTION();
+
+ field = (*env)->GetStaticFieldID(env, clazz, "FD_OFFSET", "S");
+ CHECK_ERROR_AND_EXCEPTION(field);
+ (*env)->SetStaticShortField(env, clazz, field, (short) offsetof(struct kevent, ident));
+ CHECK_EXCEPTION();
+
+ field = (*env)->GetStaticFieldID(env, clazz, "FILTER_OFFSET", "S");
+ CHECK_ERROR_AND_EXCEPTION(field);
+ (*env)->SetStaticShortField(env, clazz, field, (short) offsetof(struct kevent, filter));
+ CHECK_EXCEPTION();
+ return;
+
+badField:
+ return;
+
+exceptionOccurred:
+ return;
+
+#undef CHECK_EXCEPTION
+#undef CHECK_ERROR_AND_EXCEPTION
+}
+
+JNIEXPORT jint JNICALL
+Java_sun_nio_ch_KQueueArrayWrapper_init(JNIEnv *env, jobject this)
+{
+ int kq = kqueue();
+ if (kq < 0) {
+ JNU_ThrowIOExceptionWithLastError(env, "KQueueArrayWrapper: kqueue() failed");
+ }
+ return kq;
+}
+
+
+JNIEXPORT void JNICALL
+Java_sun_nio_ch_KQueueArrayWrapper_register0(JNIEnv *env, jobject this,
+ jint kq, jint fd, jint r, jint w)
+{
+ struct kevent changes[2];
+ struct kevent errors[2];
+ struct timespec dontBlock = {0, 0};
+
+ // if (r) then { register for read } else { unregister for read }
+ // if (w) then { register for write } else { unregister for write }
+ // Ignore errors - they're probably complaints about deleting non-
+ // added filters - but provide an error array anyway because
+ // kqueue behaves erratically if some of its registrations fail.
+ EV_SET(&changes[0], fd, EVFILT_READ, r ? EV_ADD : EV_DELETE, 0, 0, 0);
+ EV_SET(&changes[1], fd, EVFILT_WRITE, w ? EV_ADD : EV_DELETE, 0, 0, 0);
+ kevent(kq, changes, 2, errors, 2, &dontBlock);
+}
+
+
+JNIEXPORT jint JNICALL
+Java_sun_nio_ch_KQueueArrayWrapper_kevent0(JNIEnv *env, jobject this, jint kq,
+ jlong kevAddr, jint kevCount,
+ jlong timeout)
+{
+ struct kevent *kevs = (struct kevent *)jlong_to_ptr(kevAddr);
+ struct timespec ts;
+ struct timespec *tsp;
+ int result;
+
+ // Java timeout is in milliseconds. Convert to struct timespec.
+ // Java timeout == -1 : wait forever : timespec timeout of NULL
+ // Java timeout == 0 : return immediately : timespec timeout of zero
+ if (timeout >= 0) {
+ ts.tv_sec = timeout / 1000;
+ ts.tv_nsec = (timeout % 1000) * 1000000; //nanosec = 1 million millisec
+ tsp = &ts;
+ } else {
+ tsp = NULL;
+ }
+
+ result = kevent(kq, NULL, 0, kevs, kevCount, tsp);
+
+ if (result < 0) {
+ if (errno == EINTR) {
+ // ignore EINTR, pretend nothing was selected
+ result = 0;
+ } else {
+ JNU_ThrowIOExceptionWithLastError(env, "KQueueArrayWrapper: kqueue failed");
+ }
+ }
+
+ return result;
+}
+
+
+JNIEXPORT void JNICALL
+Java_sun_nio_ch_KQueueArrayWrapper_interrupt(JNIEnv *env, jclass cls, jint fd)
+{
+ char c = 1;
+ if (1 != write(fd, &c, 1)) {
+ JNU_ThrowIOExceptionWithLastError(env, "KQueueArrayWrapper: interrupt failed");
+ }
+}
+
--- ./jdk/src/macosx/classes/java/net/DefaultInterface.java Tue Sep 09 12:00:58 2014 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package java.net;
-
-/**
- * Choose a network interface to be the default for
- * outgoing IPv6 traffic that does not specify a scope_id (and which needs one).
- * We choose the first interface that is up and is (in order of preference):
- * 1. neither loopback nor point to point
- * 2. point to point
- * 3. loopback
- * 4. none.
- * Platforms that do not require a default interface implement a dummy
- * that returns null.
- */
-
-import java.util.Enumeration;
-import java.io.IOException;
-
-class DefaultInterface {
-
- private final static NetworkInterface defaultInterface =
- chooseDefaultInterface();
-
- static NetworkInterface getDefault() {
- return defaultInterface;
- }
-
- /**
- * Choose a default interface. This method returns an interface that is
- * both "up" and supports multicast. This method choses an interface in
- * order of preference:
- * 1. neither loopback nor point to point
- * 2. point to point
- * 3. loopback
- *
- * @return the chosen interface or {@code null} if there isn't a suitable
- * default
- */
- private static NetworkInterface chooseDefaultInterface() {
- Enumeration<NetworkInterface> nifs;
-
- try {
- nifs = NetworkInterface.getNetworkInterfaces();
- } catch (IOException ignore) {
- // unable to enumate network interfaces
- return null;
- }
-
- NetworkInterface ppp = null;
- NetworkInterface loopback = null;
-
- while (nifs.hasMoreElements()) {
- NetworkInterface ni = nifs.nextElement();
- try {
- if (ni.isUp() && ni.supportsMulticast()) {
- boolean isLoopback = ni.isLoopback();
- boolean isPPP = ni.isPointToPoint();
- if (!isLoopback && !isPPP) {
- // found an interface that is not the loopback or a
- // point-to-point interface
- return ni;
- }
- if (ppp == null && isPPP)
- ppp = ni;
- if (loopback == null && isLoopback)
- loopback = ni;
- }
- } catch (IOException skip) { }
- }
-
- return (ppp != null) ? ppp : loopback;
- }
-}
--- ./jdk/src/macosx/classes/sun/nio/ch/DefaultSelectorProvider.java Tue Sep 09 12:00:58 2014 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package sun.nio.ch;
-
-import java.nio.channels.spi.SelectorProvider;
-
-/**
- * Creates this platform's default SelectorProvider
- */
-
-public class DefaultSelectorProvider {
-
- /**
- * Prevent instantiation.
- */
- private DefaultSelectorProvider() { }
-
- /**
- * Returns the default SelectorProvider.
- */
- public static SelectorProvider create() {
- return new sun.nio.ch.KQueueSelectorProvider();
- }
-
-}
--- ./jdk/src/macosx/classes/sun/nio/ch/KQueueArrayWrapper.java Tue Sep 09 12:00:58 2014 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * KQueueArrayWrapper.java
- * Implementation of Selector using FreeBSD / Mac OS X kqueues
- * Derived from Sun's DevPollArrayWrapper
- */
-
-package sun.nio.ch;
-
-import sun.misc.*;
-import java.io.IOException;
-import java.io.FileDescriptor;
-import java.util.Iterator;
-import java.util.LinkedList;
-
-/*
- * struct kevent { // 32-bit 64-bit
- * uintptr_t ident; // 4 8
- * short filter; // 2 2
- * u_short flags; // 2 2
- * u_int fflags; // 4 4
- * intptr_t data; // 4 8
- * void *udata; // 4 8
- * } // Total: 20 32
- *
- * The implementation works in 32-bit and 64-bit world. We do this by calling a
- * native function that actually sets the sizes and offsets of the fields based
- * on which mode we're in.
- */
-
-class KQueueArrayWrapper {
- // kevent filters
- static short EVFILT_READ;
- static short EVFILT_WRITE;
-
- // kevent struct
- // These fields are now set by initStructSizes in the static initializer.
- static short SIZEOF_KEVENT;
- static short FD_OFFSET;
- static short FILTER_OFFSET;
-
- // kevent array size
- static final int NUM_KEVENTS = 128;
-
- // Are we in a 64-bit VM?
- static boolean is64bit = false;
-
- // The kevent array (used for outcoming events only)
- private AllocatedNativeObject keventArray = null;
- private long keventArrayAddress;
-
- // The kqueue fd
- private int kq = -1;
-
- // The fd of the interrupt line going out
- private int outgoingInterruptFD;
-
- // The fd of the interrupt line coming in
- private int incomingInterruptFD;
-
- static {
- IOUtil.load();
- initStructSizes();
- String datamodel = java.security.AccessController.doPrivileged(
- new sun.security.action.GetPropertyAction("sun.arch.data.model")
- );
- is64bit = datamodel.equals("64");
- }
-
- KQueueArrayWrapper() {
- int allocationSize = SIZEOF_KEVENT * NUM_KEVENTS;
- keventArray = new AllocatedNativeObject(allocationSize, true);
- keventArrayAddress = keventArray.address();
- kq = init();
- }
-
- // Used to update file description registrations
- private static class Update {
- SelChImpl channel;
- int events;
- Update(SelChImpl channel, int events) {
- this.channel = channel;
- this.events = events;
- }
- }
-
- private LinkedList<Update> updateList = new LinkedList<Update>();
-
- void initInterrupt(int fd0, int fd1) {
- outgoingInterruptFD = fd1;
- incomingInterruptFD = fd0;
- register0(kq, fd0, 1, 0);
- }
-
- int getReventOps(int index) {
- int result = 0;
- int offset = SIZEOF_KEVENT*index + FILTER_OFFSET;
- short filter = keventArray.getShort(offset);
-
- // This is all that's necessary based on inspection of usage:
- // SinkChannelImpl, SourceChannelImpl, DatagramChannelImpl,
- // ServerSocketChannelImpl, SocketChannelImpl
- if (filter == EVFILT_READ) {
- result |= Net.POLLIN;
- } else if (filter == EVFILT_WRITE) {
- result |= Net.POLLOUT;
- }
-
- return result;
- }
-
- int getDescriptor(int index) {
- int offset = SIZEOF_KEVENT*index + FD_OFFSET;
- /* The ident field is 8 bytes in 64-bit world, however the API wants us
- * to return an int. Hence read the 8 bytes but return as an int.
- */
- if (is64bit) {
- long fd = keventArray.getLong(offset);
- assert fd <= Integer.MAX_VALUE;
- return (int) fd;
- } else {
- return keventArray.getInt(offset);
- }
- }
-
- void setInterest(SelChImpl channel, int events) {
- synchronized (updateList) {
- // update existing registration
- updateList.add(new Update(channel, events));
- }
- }
-
- void release(SelChImpl channel) {
- synchronized (updateList) {
- // flush any pending updates
- for (Iterator<Update> it = updateList.iterator(); it.hasNext();) {
- if (it.next().channel == channel) {
- it.remove();
- }
- }
-
- // remove
- register0(kq, channel.getFDVal(), 0, 0);
- }
- }
-
- void updateRegistrations() {
- synchronized (updateList) {
- Update u = null;
- while ((u = updateList.poll()) != null) {
- SelChImpl ch = u.channel;
- if (!ch.isOpen())
- continue;
-
- register0(kq, ch.getFDVal(), u.events & Net.POLLIN, u.events & Net.POLLOUT);
- }
- }
- }
-
-
- void close() throws IOException {
- if (keventArray != null) {
- keventArray.free();
- keventArray = null;
- }
- if (kq >= 0) {
- FileDispatcherImpl.closeIntFD(kq);
- kq = -1;
- }
- }
-
- int poll(long timeout) {
- updateRegistrations();
- int updated = kevent0(kq, keventArrayAddress, NUM_KEVENTS, timeout);
- return updated;
- }
-
- void interrupt() {
- interrupt(outgoingInterruptFD);
- }
-
- private native int init();
- private static native void initStructSizes();
-
- private native void register0(int kq, int fd, int read, int write);
- private native int kevent0(int kq, long keventAddress, int keventCount,
- long timeout);
- private static native void interrupt(int fd);
-}
--- ./jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorImpl.java Tue Sep 09 12:00:58 2014 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * KQueueSelectorImpl.java
- * Implementation of Selector using FreeBSD / Mac OS X kqueues
- * Derived from Sun's DevPollSelectorImpl
- */
-
-package sun.nio.ch;
-
-import java.io.IOException;
-import java.io.FileDescriptor;
-import java.nio.channels.*;
-import java.nio.channels.spi.*;
-import java.util.*;
-import sun.misc.*;
-
-class KQueueSelectorImpl
- extends SelectorImpl
-{
- // File descriptors used for interrupt
- protected int fd0;
- protected int fd1;
-
- // The kqueue manipulator
- KQueueArrayWrapper kqueueWrapper;
-
- // Count of registered descriptors (including interrupt)
- private int totalChannels;
-
- // Map from a file descriptor to an entry containing the selection key
- private HashMap<Integer,MapEntry> fdMap;
-
- // True if this Selector has been closed
- private boolean closed = false;
-
- // Lock for interrupt triggering and clearing
- private Object interruptLock = new Object();
- private boolean interruptTriggered = false;
-
- // used by updateSelectedKeys to handle cases where the same file
- // descriptor is polled by more than one filter
- private long updateCount;
-
- // Used to map file descriptors to a selection key and "update count"
- // (see updateSelectedKeys for usage).
- private static class MapEntry {
- SelectionKeyImpl ski;
- long updateCount;
- MapEntry(SelectionKeyImpl ski) {
- this.ski = ski;
- }
- }
-
- /**
- * Package private constructor called by factory method in
- * the abstract superclass Selector.
- */
- KQueueSelectorImpl(SelectorProvider sp) {
- super(sp);
- long fds = IOUtil.makePipe(false);
- fd0 = (int)(fds >>> 32);
- fd1 = (int)fds;
- kqueueWrapper = new KQueueArrayWrapper();
- kqueueWrapper.initInterrupt(fd0, fd1);
- fdMap = new HashMap<>();
- totalChannels = 1;
- }
-
-
- protected int doSelect(long timeout)
- throws IOException
- {
- int entries = 0;
- if (closed)
- throw new ClosedSelectorException();
- processDeregisterQueue();
- try {
- begin();
- entries = kqueueWrapper.poll(timeout);
- } finally {
- end();
- }
- processDeregisterQueue();
- return updateSelectedKeys(entries);
- }
-
- /**
- * Update the keys whose fd's have been selected by kqueue.
- * Add the ready keys to the selected key set.
- * If the interrupt fd has been selected, drain it and clear the interrupt.
- */
- private int updateSelectedKeys(int entries)
- throws IOException
- {
- int numKeysUpdated = 0;
- boolean interrupted = false;
-
- // A file descriptor may be registered with kqueue with more than one
- // filter and so there may be more than one event for a fd. The update
- // count in the MapEntry tracks when the fd was last updated and this
- // ensures that the ready ops are updated rather than replaced by a
- // second or subsequent event.
- updateCount++;
-
- for (int i = 0; i < entries; i++) {
- int nextFD = kqueueWrapper.getDescriptor(i);
- if (nextFD == fd0) {
- interrupted = true;
- } else {
- MapEntry me = fdMap.get(Integer.valueOf(nextFD));
-
- // entry is null in the case of an interrupt
- if (me != null) {
- int rOps = kqueueWrapper.getReventOps(i);
- SelectionKeyImpl ski = me.ski;
- if (selectedKeys.contains(ski)) {
- // first time this file descriptor has been encountered on this
- // update?
- if (me.updateCount != updateCount) {
- if (ski.channel.translateAndSetReadyOps(rOps, ski)) {
- numKeysUpdated++;
- me.updateCount = updateCount;
- }
- } else {
- // ready ops have already been set on this update
- ski.channel.translateAndUpdateReadyOps(rOps, ski);
- }
- } else {
- ski.channel.translateAndSetReadyOps(rOps, ski);
- if ((ski.nioReadyOps() & ski.nioInterestOps()) != 0) {
- selectedKeys.add(ski);
- numKeysUpdated++;
- me.updateCount = updateCount;
- }
- }
- }
- }
- }
-
- if (interrupted) {
- // Clear the wakeup pipe
- synchronized (interruptLock) {
- IOUtil.drain(fd0);
- interruptTriggered = false;
- }
- }
- return numKeysUpdated;
- }
-
-
- protected void implClose() throws IOException {
- if (!closed) {
- closed = true;
-
- // prevent further wakeup
- synchronized (interruptLock) {
- interruptTriggered = true;
- }
-
- FileDispatcherImpl.closeIntFD(fd0);
- FileDispatcherImpl.closeIntFD(fd1);
- if (kqueueWrapper != null) {
- kqueueWrapper.close();
- kqueueWrapper = null;
- selectedKeys = null;
-
- // Deregister channels
- Iterator<SelectionKey> i = keys.iterator();
- while (i.hasNext()) {
- SelectionKeyImpl ski = (SelectionKeyImpl)i.next();
- deregister(ski);
- SelectableChannel selch = ski.channel();
- if (!selch.isOpen() && !selch.isRegistered())
- ((SelChImpl)selch).kill();
- i.remove();
- }
- totalChannels = 0;
- }
- fd0 = -1;
- fd1 = -1;
- }
- }
-
-
- protected void implRegister(SelectionKeyImpl ski) {
- if (closed)
- throw new ClosedSelectorException();
- int fd = IOUtil.fdVal(ski.channel.getFD());
- fdMap.put(Integer.valueOf(fd), new MapEntry(ski));
- totalChannels++;
- keys.add(ski);
- }
-
-
- protected void implDereg(SelectionKeyImpl ski) throws IOException {
- int fd = ski.channel.getFDVal();
- fdMap.remove(Integer.valueOf(fd));
- kqueueWrapper.release(ski.channel);
- totalChannels--;
- keys.remove(ski);
- selectedKeys.remove(ski);
- deregister((AbstractSelectionKey)ski);
- SelectableChannel selch = ski.channel();
- if (!selch.isOpen() && !selch.isRegistered())
- ((SelChImpl)selch).kill();
- }
-
-
- public void putEventOps(SelectionKeyImpl ski, int ops) {
- if (closed)
- throw new ClosedSelectorException();
- kqueueWrapper.setInterest(ski.channel, ops);
- }
-
-
- public Selector wakeup() {
- synchronized (interruptLock) {
- if (!interruptTriggered) {
- kqueueWrapper.interrupt();
- interruptTriggered = true;
- }
- }
- return this;
- }
-}
--- ./jdk/src/macosx/classes/sun/nio/ch/KQueueSelectorProvider.java Tue Sep 09 12:00:58 2014 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * KQueueSelectorProvider.java
- * Implementation of Selector using FreeBSD / Mac OS X kqueues
- * Derived from Sun's DevPollSelectorProvider
- */
-
-package sun.nio.ch;
-
-import java.io.IOException;
-import java.nio.channels.*;
-import java.nio.channels.spi.*;
-
-public class KQueueSelectorProvider
-extends SelectorProviderImpl
-{
- public AbstractSelector openSelector() throws IOException {
- return new KQueueSelectorImpl(this);
- }
-}
--- ./jdk/src/macosx/native/sun/nio/ch/KQueueArrayWrapper.c Tue Sep 09 12:00:58 2014 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
- * Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation. Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-/*
- * KQueueArrayWrapper.c
- * Implementation of Selector using FreeBSD / Mac OS X kqueues
- * Derived from Sun's DevPollArrayWrapper
- */
-
-
-#include "jni.h"
-#include "jni_util.h"
-#include "jvm.h"
-#include "jlong.h"
-
-#include <sys/types.h>
-#include <sys/event.h>
-#include <sys/time.h>
-
-JNIEXPORT void JNICALL
-Java_sun_nio_ch_KQueueArrayWrapper_initStructSizes(JNIEnv *env, jclass clazz)
-{
-#define CHECK_EXCEPTION() { \
- if ((*env)->ExceptionCheck(env)) { \
- goto exceptionOccurred; \
- } \
-}
-
-#define CHECK_ERROR_AND_EXCEPTION(_field) { \
- if (_field == NULL) { \
- goto badField; \
- } \
- CHECK_EXCEPTION(); \
-}
-
-
- jfieldID field;
-
- field = (*env)->GetStaticFieldID(env, clazz, "EVFILT_READ", "S");
- CHECK_ERROR_AND_EXCEPTION(field);
- (*env)->SetStaticShortField(env, clazz, field, EVFILT_READ);
- CHECK_EXCEPTION();
-
- field = (*env)->GetStaticFieldID(env, clazz, "EVFILT_WRITE", "S");
- CHECK_ERROR_AND_EXCEPTION(field);
- (*env)->SetStaticShortField(env, clazz, field, EVFILT_WRITE);
- CHECK_EXCEPTION();
-
- field = (*env)->GetStaticFieldID(env, clazz, "SIZEOF_KEVENT", "S");
- CHECK_ERROR_AND_EXCEPTION(field);
- (*env)->SetStaticShortField(env, clazz, field, (short) sizeof(struct kevent));
- CHECK_EXCEPTION();
-
- field = (*env)->GetStaticFieldID(env, clazz, "FD_OFFSET", "S");
- CHECK_ERROR_AND_EXCEPTION(field);
- (*env)->SetStaticShortField(env, clazz, field, (short) offsetof(struct kevent, ident));
- CHECK_EXCEPTION();
-
- field = (*env)->GetStaticFieldID(env, clazz, "FILTER_OFFSET", "S");
- CHECK_ERROR_AND_EXCEPTION(field);
- (*env)->SetStaticShortField(env, clazz, field, (short) offsetof(struct kevent, filter));
- CHECK_EXCEPTION();
- return;
-
-badField:
- return;
-
-exceptionOccurred:
- return;
-
-#undef CHECK_EXCEPTION
-#undef CHECK_ERROR_AND_EXCEPTION
-}
-
-JNIEXPORT jint JNICALL
-Java_sun_nio_ch_KQueueArrayWrapper_init(JNIEnv *env, jobject this)
-{
- int kq = kqueue();
- if (kq < 0) {
- JNU_ThrowIOExceptionWithLastError(env, "KQueueArrayWrapper: kqueue() failed");
- }
- return kq;
-}
-
-
-JNIEXPORT void JNICALL
-Java_sun_nio_ch_KQueueArrayWrapper_register0(JNIEnv *env, jobject this,
- jint kq, jint fd, jint r, jint w)
-{
- struct kevent changes[2];
- struct kevent errors[2];
- struct timespec dontBlock = {0, 0};
-
- // if (r) then { register for read } else { unregister for read }
- // if (w) then { register for write } else { unregister for write }
- // Ignore errors - they're probably complaints about deleting non-
- // added filters - but provide an error array anyway because
- // kqueue behaves erratically if some of its registrations fail.
- EV_SET(&changes[0], fd, EVFILT_READ, r ? EV_ADD : EV_DELETE, 0, 0, 0);
- EV_SET(&changes[1], fd, EVFILT_WRITE, w ? EV_ADD : EV_DELETE, 0, 0, 0);
- kevent(kq, changes, 2, errors, 2, &dontBlock);
-}
-
-
-JNIEXPORT jint JNICALL
-Java_sun_nio_ch_KQueueArrayWrapper_kevent0(JNIEnv *env, jobject this, jint kq,
- jlong kevAddr, jint kevCount,
- jlong timeout)
-{
- struct kevent *kevs = (struct kevent *)jlong_to_ptr(kevAddr);
- struct timespec ts;
- struct timespec *tsp;
- int result;
-
- // Java timeout is in milliseconds. Convert to struct timespec.
- // Java timeout == -1 : wait forever : timespec timeout of NULL
- // Java timeout == 0 : return immediately : timespec timeout of zero
- if (timeout >= 0) {
- ts.tv_sec = timeout / 1000;
- ts.tv_nsec = (timeout % 1000) * 1000000; //nanosec = 1 million millisec
- tsp = &ts;
- } else {
- tsp = NULL;
- }
-
- result = kevent(kq, NULL, 0, kevs, kevCount, tsp);
-
- if (result < 0) {
- if (errno == EINTR) {
- // ignore EINTR, pretend nothing was selected
- result = 0;
- } else {
- JNU_ThrowIOExceptionWithLastError(env, "KQueueArrayWrapper: kqueue failed");
- }
- }
-
- return result;
-}
-
-
-JNIEXPORT void JNICALL
-Java_sun_nio_ch_KQueueArrayWrapper_interrupt(JNIEnv *env, jclass cls, jint fd)
-{
- char c = 1;
- if (1 != write(fd, &c, 1)) {
- JNU_ThrowIOExceptionWithLastError(env, "KQueueArrayWrapper: interrupt failed");
- }
-}
-
--- ./jdk/src/share/bin/jli_util.h Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/bin/jli_util.h Wed Nov 05 12:14:24 2014 -0800
@@ -82,7 +82,7 @@
#define _LARGFILE64_SOURCE
#define JLI_Lseek lseek64
#endif
-#ifdef MACOSX
+#ifdef _ALLBSD_SOURCE
#define JLI_Lseek lseek
#endif
#ifdef _AIX
--- ./jdk/src/share/classes/sun/awt/FontConfiguration.java Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/classes/sun/awt/FontConfiguration.java Wed Nov 05 12:14:24 2014 -0800
@@ -1146,7 +1146,7 @@
*/
HashMap<String, Boolean> existsMap;
public boolean needToSearchForFile(String fileName) {
- if (!FontUtilities.isLinux) {
+ if (!FontUtilities.isLinux && !FontUtilities.isBSD) {
return false;
} else if (existsMap == null) {
existsMap = new HashMap<String, Boolean>();
--- ./jdk/src/share/classes/sun/awt/OSInfo.java Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/classes/sun/awt/OSInfo.java Wed Nov 05 12:14:24 2014 -0800
@@ -39,6 +39,7 @@
WINDOWS,
LINUX,
SOLARIS,
+ BSD,
MACOSX,
UNKNOWN
}
@@ -101,6 +102,10 @@
return SOLARIS;
}
+ if (osName.endsWith("BSD")) {
+ return BSD;
+ }
+
if (osName.contains("OS X")) {
return MACOSX;
}
--- ./jdk/src/share/classes/sun/font/FontUtilities.java Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/classes/sun/font/FontUtilities.java Wed Nov 05 12:14:24 2014 -0800
@@ -48,6 +48,8 @@
public static boolean isLinux;
+ public static boolean isBSD;
+
public static boolean isMacOSX;
public static boolean isSolaris8;
@@ -78,6 +80,8 @@
isLinux = osName.startsWith("Linux");
+ isBSD = osName.endsWith("BSD");
+
isMacOSX = osName.contains("OS X"); // TODO: MacOSX
String t2kStr = System.getProperty("sun.java2d.font.scaler");
--- ./jdk/src/share/classes/sun/font/SunFontManager.java Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/classes/sun/font/SunFontManager.java Wed Nov 05 12:14:24 2014 -0800
@@ -418,7 +418,7 @@
* registerFonts method as on-screen these JRE fonts
* always go through the T2K rasteriser.
*/
- if (FontUtilities.isLinux) {
+ if (FontUtilities.isLinux || FontUtilities.isBSD) {
/* Linux font configuration uses these fonts */
registerFontDir(jreFontDirName);
}
--- ./jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java Wed Nov 05 12:14:24 2014 -0800
@@ -1298,7 +1298,7 @@
String osName = AccessController.doPrivileged(
new GetPropertyAction("os.name"));
if ("SunOS".equals(osName) || "Linux".equals(osName) || "AIX".equals(osName)
- || osName.contains("OS X")) {
+ || osName.endsWith("BSD") || osName.contains("OS X")) {
charset("x-COMPOUND_TEXT", "COMPOUND_TEXT",
new String[] {
"COMPOUND_TEXT", // JDK historical
--- ./jdk/src/share/classes/sun/print/PSPrinterJob.java Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/classes/sun/print/PSPrinterJob.java Wed Nov 05 12:14:24 2014 -0800
@@ -1587,7 +1587,7 @@
}
String osname = System.getProperty("os.name");
- if (osname.equals("Linux") || osname.contains("OS X")) {
+ if (osname.equals("Linux") || osname.endsWith("BSD") || osname.contains("OS X")) {
execCmd = new String[ncomps];
execCmd[n++] = "/usr/bin/lpr";
if ((pFlags & PRINTER) != 0) {
--- ./jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/classes/sun/security/jgss/GSSManagerImpl.java Wed Nov 05 12:14:24 2014 -0800
@@ -48,6 +48,7 @@
public Boolean run() {
String osname = System.getProperty("os.name");
if (osname.startsWith("SunOS") ||
+ osname.endsWith("BSD") ||
osname.contains("OS X") ||
osname.startsWith("Linux")) {
return new Boolean(System.getProperty
--- ./jdk/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/classes/sun/security/jgss/wrapper/SunNativeProvider.java Wed Nov 05 12:14:24 2014 -0800
@@ -90,6 +90,12 @@
"libgssapi_krb5.so",
"libgssapi_krb5.so.2",
};
+ } else if (osname.endsWith("BSD")) {
+ gssLibs = new String[]{
+ "libgssapi.so",
+ "libgssapi_krb5.so",
+ "libgssapi_krb5.so.10",
+ };
} else if (osname.contains("OS X")) {
gssLibs = new String[]{
"libgssapi_krb5.dylib",
--- ./jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/classes/sun/security/krb5/internal/ccache/FileCredentialsCache.java Wed Nov 05 12:14:24 2014 -0800
@@ -403,7 +403,8 @@
long uid = 0;
if (osname.startsWith("SunOS") ||
- (osname.startsWith("Linux"))) {
+ osname.startsWith("Linux") ||
+ osname.endsWith("BSD")) {
try {
Class<?> c = Class.forName
("com.sun.security.auth.module.UnixSystem");
--- ./jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider Wed Nov 05 12:14:24 2014 -0800
@@ -31,4 +31,5 @@
#[windows]sun.tools.attach.WindowsAttachProvider
#[linux]sun.tools.attach.LinuxAttachProvider
#[macosx]sun.tools.attach.BsdAttachProvider
+#[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 Wed Nov 05 12:14:24 2014 -0800
@@ -0,0 +1,498 @@
+#
+# This is the "master security properties file".
+#
+# An alternate java.security properties file may be specified
+# from the command line via the system property
+#
+# -Djava.security.properties=<URL>
+#
+# This properties file appends to the master security properties file.
+# If both properties files specify values for the same key, the value
+# from the command-line properties file is selected, as it is the last
+# one loaded.
+#
+# Also, if you specify
+#
+# -Djava.security.properties==<URL> (2 equals),
+#
+# then that properties file completely overrides the master security
+# properties file.
+#
+# To disable the ability to specify an additional properties file from
+# the command line, set the key security.overridePropertiesFile
+# to false in the master security properties file. It is set to true
+# by default.
+
+# In this file, various security properties are set for use by
+# java.security classes. This is where users can statically register
+# Cryptography Package Providers ("providers" for short). The term
+# "provider" refers to a package or set of packages that supply a
+# concrete implementation of a subset of the cryptography aspects of
+# the Java Security API. A provider may, for example, implement one or
+# more digital signature algorithms or message digest algorithms.
+#
+# Each provider must implement a subclass of the Provider class.
+# To register a provider in this master security properties file,
+# specify the Provider subclass name and priority in the format
+#
+# security.provider.<n>=<className>
+#
+# This declares a provider, and specifies its preference
+# order n. The preference order is the order in which providers are
+# searched for requested algorithms (when no specific provider is
+# requested). The order is 1-based; 1 is the most preferred, followed
+# by 2, and so on.
+#
+# <className> must specify the subclass of the Provider class whose
+# constructor sets the values of various properties that are required
+# for the Java Security API to look up the algorithms or other
+# facilities implemented by the provider.
+#
+# There must be at least one provider specification in java.security.
+# There is a default provider that comes standard with the JDK. It
+# is called the "SUN" provider, and its Provider subclass
+# named Sun appears in the sun.security.provider package. Thus, the
+# "SUN" provider is registered via the following:
+#
+# security.provider.1=sun.security.provider.Sun
+#
+# (The number 1 is used for the default provider.)
+#
+# Note: Providers can be dynamically registered instead by calls to
+# either the addProvider or insertProviderAt method in the Security
+# class.
+
+#
+# List of providers and their preference orders (see above):
+#
+security.provider.1=sun.security.provider.Sun
+security.provider.2=sun.security.rsa.SunRsaSign
+security.provider.3=sun.security.ec.SunEC
+security.provider.4=com.sun.net.ssl.internal.ssl.Provider
+security.provider.5=com.sun.crypto.provider.SunJCE
+security.provider.6=sun.security.jgss.SunProvider
+security.provider.7=com.sun.security.sasl.Provider
+security.provider.8=org.jcp.xml.dsig.internal.dom.XMLDSigRI
+security.provider.9=sun.security.smartcardio.SunPCSC
+
+#
+# Sun Provider SecureRandom seed source.
+#
+# Select the primary source of seed data for the "SHA1PRNG" and
+# "NativePRNG" SecureRandom implementations in the "Sun" provider.
+# (Other SecureRandom implementations might also use this property.)
+#
+# On Unix-like systems (for example, Solaris/Linux/MacOS), the
+# "NativePRNG" and "SHA1PRNG" implementations obtains seed data from
+# special device files such as file:/dev/random.
+#
+# On Windows systems, specifying the URLs "file:/dev/random" or
+# "file:/dev/urandom" will enable the native Microsoft CryptoAPI seeding
+# mechanism for SHA1PRNG.
+#
+# By default, an attempt is made to use the entropy gathering device
+# specified by the "securerandom.source" Security property. If an
+# exception occurs while accessing the specified URL:
+#
+# SHA1PRNG:
+# the traditional system/thread activity algorithm will be used.
+#
+# NativePRNG:
+# a default value of /dev/random will be used. If neither
+# are available, the implementation will be disabled.
+# "file" is the only currently supported protocol type.
+#
+# The entropy gathering device can also be specified with the System
+# property "java.security.egd". For example:
+#
+# % java -Djava.security.egd=file:/dev/random MainClass
+#
+# Specifying this System property will override the
+# "securerandom.source" Security property.
+#
+# In addition, if "file:/dev/random" or "file:/dev/urandom" is
+# specified, the "NativePRNG" implementation will be more preferred than
+# SHA1PRNG in the Sun provider.
+#
+securerandom.source=file:/dev/random
+
+#
+# A list of known strong SecureRandom implementations.
+#
+# To help guide applications in selecting a suitable strong
+# java.security.SecureRandom implementation, Java distributions should
+# indicate a list of known strong implementations using the property.
+#
+# This is a comma-separated list of algorithm and/or algorithm:provider
+# entries.
+#
+securerandom.strongAlgorithms=NativePRNGBlocking:SUN
+
+#
+# Class to instantiate as the javax.security.auth.login.Configuration
+# provider.
+#
+login.configuration.provider=sun.security.provider.ConfigFile
+
+#
+# Default login configuration file
+#
+#login.config.url.1=file:${user.home}/.java.login.config
+
+#
+# Class to instantiate as the system Policy. This is the name of the class
+# that will be used as the Policy object.
+#
+policy.provider=sun.security.provider.PolicyFile
+
+# The default is to have a single system-wide policy file,
+# and a policy file in the user's home directory.
+policy.url.1=file:${java.home}/lib/security/java.policy
+policy.url.2=file:${user.home}/.java.policy
+
+# whether or not we expand properties in the policy file
+# if this is set to false, properties (${...}) will not be expanded in policy
+# files.
+policy.expandProperties=true
+
+# whether or not we allow an extra policy to be passed on the command line
+# with -Djava.security.policy=somefile. Comment out this line to disable
+# this feature.
+policy.allowSystemProperty=true
+
+# whether or not we look into the IdentityScope for trusted Identities
+# when encountering a 1.1 signed JAR file. If the identity is found
+# and is trusted, we grant it AllPermission.
+policy.ignoreIdentityScope=false
+
+#
+# Default keystore type.
+#
+keystore.type=jks
+
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageAccess unless the
+# corresponding RuntimePermission ("accessClassInPackage."+package) has
+# been granted.
+package.access=sun.,\
+ com.sun.xml.internal.,\
+ com.sun.imageio.,\
+ com.sun.istack.internal.,\
+ com.sun.jmx.,\
+ com.sun.media.sound.,\
+ com.sun.naming.internal.,\
+ com.sun.proxy.,\
+ com.sun.corba.se.,\
+ com.sun.org.apache.bcel.internal.,\
+ com.sun.org.apache.regexp.internal.,\
+ com.sun.org.apache.xerces.internal.,\
+ com.sun.org.apache.xpath.internal.,\
+ com.sun.org.apache.xalan.internal.extensions.,\
+ com.sun.org.apache.xalan.internal.lib.,\
+ com.sun.org.apache.xalan.internal.res.,\
+ com.sun.org.apache.xalan.internal.templates.,\
+ com.sun.org.apache.xalan.internal.utils.,\
+ com.sun.org.apache.xalan.internal.xslt.,\
+ com.sun.org.apache.xalan.internal.xsltc.cmdline.,\
+ com.sun.org.apache.xalan.internal.xsltc.compiler.,\
+ com.sun.org.apache.xalan.internal.xsltc.trax.,\
+ com.sun.org.apache.xalan.internal.xsltc.util.,\
+ com.sun.org.apache.xml.internal.res.,\
+ com.sun.org.apache.xml.internal.security.,\
+ com.sun.org.apache.xml.internal.serializer.utils.,\
+ com.sun.org.apache.xml.internal.utils.,\
+ com.sun.org.glassfish.,\
+ com.oracle.xmlns.internal.,\
+ com.oracle.webservices.internal.,\
+ oracle.jrockit.jfr.,\
+ org.jcp.xml.dsig.internal.,\
+ jdk.internal.,\
+ jdk.nashorn.internal.,\
+ jdk.nashorn.tools.,\
+ com.sun.activation.registries.
+
+#
+# List of comma-separated packages that start with or equal this string
+# will cause a security exception to be thrown when
+# passed to checkPackageDefinition unless the
+# corresponding RuntimePermission ("defineClassInPackage."+package) has
+# been granted.
+#
+# by default, none of the class loaders supplied with the JDK call
+# checkPackageDefinition.
+#
+package.definition=sun.,\
+ com.sun.xml.internal.,\
+ com.sun.imageio.,\
+ com.sun.istack.internal.,\
+ com.sun.jmx.,\
+ com.sun.media.sound.,\
+ com.sun.naming.internal.,\
+ com.sun.proxy.,\
+ com.sun.corba.se.,\
+ com.sun.org.apache.bcel.internal.,\
+ com.sun.org.apache.regexp.internal.,\
+ com.sun.org.apache.xerces.internal.,\
+ com.sun.org.apache.xpath.internal.,\
+ com.sun.org.apache.xalan.internal.extensions.,\
+ com.sun.org.apache.xalan.internal.lib.,\
+ com.sun.org.apache.xalan.internal.res.,\
+ com.sun.org.apache.xalan.internal.templates.,\
+ com.sun.org.apache.xalan.internal.utils.,\
+ com.sun.org.apache.xalan.internal.xslt.,\
+ com.sun.org.apache.xalan.internal.xsltc.cmdline.,\
+ com.sun.org.apache.xalan.internal.xsltc.compiler.,\
+ com.sun.org.apache.xalan.internal.xsltc.trax.,\
+ com.sun.org.apache.xalan.internal.xsltc.util.,\
+ com.sun.org.apache.xml.internal.res.,\
+ com.sun.org.apache.xml.internal.security.,\
+ com.sun.org.apache.xml.internal.serializer.utils.,\
+ com.sun.org.apache.xml.internal.utils.,\
+ com.sun.org.glassfish.,\
+ com.oracle.xmlns.internal.,\
+ com.oracle.webservices.internal.,\
+ oracle.jrockit.jfr.,\
+ org.jcp.xml.dsig.internal.,\
+ jdk.internal.,\
+ jdk.nashorn.internal.,\
+ jdk.nashorn.tools.,\
+ com.sun.activation.registries.
+
+#
+# Determines whether this properties file can be appended to
+# or overridden on the command line via -Djava.security.properties
+#
+security.overridePropertiesFile=true
+
+#
+# Determines the default key and trust manager factory algorithms for
+# the javax.net.ssl package.
+#
+ssl.KeyManagerFactory.algorithm=SunX509
+ssl.TrustManagerFactory.algorithm=PKIX
+
+#
+# The Java-level namelookup cache policy for successful lookups:
+#
+# any negative value: caching forever
+# any positive value: the number of seconds to cache an address for
+# zero: do not cache
+#
+# default value is forever (FOREVER). For security reasons, this
+# caching is made forever when a security manager is set. When a security
+# manager is not set, the default behavior in this implementation
+# is to cache for 30 seconds.
+#
+# NOTE: setting this to anything other than the default value can have
+# serious security implications. Do not set it unless
+# you are sure you are not exposed to DNS spoofing attack.
+#
+#networkaddress.cache.ttl=-1
+
+# The Java-level namelookup cache policy for failed lookups:
+#
+# any negative value: cache forever
+# any positive value: the number of seconds to cache negative lookup results
+# zero: do not cache
+#
+# In some Microsoft Windows networking environments that employ
+# the WINS name service in addition to DNS, name service lookups
+# that fail may take a noticeably long time to return (approx. 5 seconds).
+# For this reason the default caching policy is to maintain these
+# results for 10 seconds.
+#
+#
+networkaddress.cache.negative.ttl=10
+
+#
+# Properties to configure OCSP for certificate revocation checking
+#
+
+# Enable OCSP
+#
+# By default, OCSP is not used for certificate revocation checking.
+# This property enables the use of OCSP when set to the value "true".
+#
+# NOTE: SocketPermission is required to connect to an OCSP responder.
+#
+# Example,
+# ocsp.enable=true
+
+#
+# Location of the OCSP responder
+#
+# By default, the location of the OCSP responder is determined implicitly
+# from the certificate being validated. This property explicitly specifies
+# the location of the OCSP responder. The property is used when the
+# Authority Information Access extension (defined in RFC 3280) is absent
+# from the certificate or when it requires overriding.
+#
+# Example,
+# ocsp.responderURL=http://ocsp.example.net:80
+
+#
+# Subject name of the OCSP responder's certificate
+#
+# By default, the certificate of the OCSP responder is that of the issuer
+# of the certificate being validated. This property identifies the certificate
+# of the OCSP responder when the default does not apply. Its value is a string
+# distinguished name (defined in RFC 2253) which identifies a certificate in
+# the set of certificates supplied during cert path validation. In cases where
+# the subject name alone is not sufficient to uniquely identify the certificate
+# then both the "ocsp.responderCertIssuerName" and
+# "ocsp.responderCertSerialNumber" properties must be used instead. When this
+# property is set then those two properties are ignored.
+#
+# Example,
+# ocsp.responderCertSubjectName="CN=OCSP Responder, O=XYZ Corp"
+
+#
+# Issuer name of the OCSP responder's certificate
+#
+# By default, the certificate of the OCSP responder is that of the issuer
+# of the certificate being validated. This property identifies the certificate
+# of the OCSP responder when the default does not apply. Its value is a string
+# distinguished name (defined in RFC 2253) which identifies a certificate in
+# the set of certificates supplied during cert path validation. When this
+# property is set then the "ocsp.responderCertSerialNumber" property must also
+# be set. When the "ocsp.responderCertSubjectName" property is set then this
+# property is ignored.
+#
+# Example,
+# ocsp.responderCertIssuerName="CN=Enterprise CA, O=XYZ Corp"
+
+#
+# Serial number of the OCSP responder's certificate
+#
+# By default, the certificate of the OCSP responder is that of the issuer
+# of the certificate being validated. This property identifies the certificate
+# of the OCSP responder when the default does not apply. Its value is a string
+# of hexadecimal digits (colon or space separators may be present) which
+# identifies a certificate in the set of certificates supplied during cert path
+# validation. When this property is set then the "ocsp.responderCertIssuerName"
+# property must also be set. When the "ocsp.responderCertSubjectName" property
+# is set then this property is ignored.
+#
+# Example,
+# ocsp.responderCertSerialNumber=2A:FF:00
+
+#
+# Policy for failed Kerberos KDC lookups:
+#
+# When a KDC is unavailable (network error, service failure, etc), it is
+# put inside a blacklist and accessed less often for future requests. The
+# value (case-insensitive) for this policy can be:
+#
+# tryLast
+# KDCs in the blacklist are always tried after those not on the list.
+#
+# tryLess[:max_retries,timeout]
+# KDCs in the blacklist are still tried by their order in the configuration,
+# but with smaller max_retries and timeout values. max_retries and timeout
+# are optional numerical parameters (default 1 and 5000, which means once
+# and 5 seconds). Please notes that if any of the values defined here is
+# more than what is defined in krb5.conf, it will be ignored.
+#
+# Whenever a KDC is detected as available, it is removed from the blacklist.
+# The blacklist is reset when krb5.conf is reloaded. You can add
+# refreshKrb5Config=true to a JAAS configuration file so that krb5.conf is
+# reloaded whenever a JAAS authentication is attempted.
+#
+# Example,
+# krb5.kdc.bad.policy = tryLast
+# krb5.kdc.bad.policy = tryLess:2,2000
+krb5.kdc.bad.policy = tryLast
+
+# Algorithm restrictions for certification path (CertPath) processing
+#
+# In some environments, certain algorithms or key lengths may be undesirable
+# for certification path building and validation. For example, "MD2" is
+# generally no longer considered to be a secure hash algorithm. This section
+# describes the mechanism for disabling algorithms based on algorithm name
+# and/or key length. This includes algorithms used in certificates, as well
+# as revocation information such as CRLs and signed OCSP Responses.
+#
+# The syntax of the disabled algorithm string is described as this Java
+# BNF-style:
+# DisabledAlgorithms:
+# " DisabledAlgorithm { , DisabledAlgorithm } "
+#
+# DisabledAlgorithm:
+# AlgorithmName [Constraint]
+#
+# AlgorithmName:
+# (see below)
+#
+# Constraint:
+# KeySizeConstraint
+#
+# KeySizeConstraint:
+# keySize Operator DecimalInteger
+#
+# Operator:
+# <= | < | == | != | >= | >
+#
+# DecimalInteger:
+# DecimalDigits
+#
+# DecimalDigits:
+# DecimalDigit {DecimalDigit}
+#
+# DecimalDigit: one of
+# 1 2 3 4 5 6 7 8 9 0
+#
+# The "AlgorithmName" is the standard algorithm name of the disabled
+# algorithm. See "Java Cryptography Architecture Standard Algorithm Name
+# Documentation" for information about Standard Algorithm Names. Matching
+# is performed using a case-insensitive sub-element matching rule. (For
+# example, in "SHA1withECDSA" the sub-elements are "SHA1" for hashing and
+# "ECDSA" for signatures.) If the assertion "AlgorithmName" is a
+# sub-element of the certificate algorithm name, the algorithm will be
+# rejected during certification path building and validation. For example,
+# the assertion algorithm name "DSA" will disable all certificate algorithms
+# that rely on DSA, such as NONEwithDSA, SHA1withDSA. However, the assertion
+# will not disable algorithms related to "ECDSA".
+#
+# A "Constraint" provides further guidance for the algorithm being specified.
+# The "KeySizeConstraint" requires a key of a valid size range if the
+# "AlgorithmName" is of a key algorithm. The "DecimalInteger" indicates the
+# key size specified in number of bits. For example, "RSA keySize <= 1024"
+# indicates that any RSA key with key size less than or equal to 1024 bits
+# should be disabled, and "RSA keySize < 1024, RSA keySize > 2048" indicates
+# that any RSA key with key size less than 1024 or greater than 2048 should
+# be disabled. Note that the "KeySizeConstraint" only makes sense to key
+# algorithms.
+#
+# Note: This property is currently used by Oracle's PKIX implementation. It
+# is not guaranteed to be examined and used by other implementations.
+#
+# Example:
+# jdk.certpath.disabledAlgorithms=MD2, DSA, RSA keySize < 2048
+#
+#
+jdk.certpath.disabledAlgorithms=MD2, RSA keySize < 1024
+
+# Algorithm restrictions for Secure Socket Layer/Transport Layer Security
+# (SSL/TLS) processing
+#
+# In some environments, certain algorithms or key lengths may be undesirable
+# when using SSL/TLS. This section describes the mechanism for disabling
+# algorithms during SSL/TLS security parameters negotiation, including cipher
+# suites selection, peer authentication and key exchange mechanisms.
+#
+# For PKI-based peer authentication and key exchange mechanisms, this list
+# of disabled algorithms will also be checked during certification path
+# building and validation, including algorithms used in certificates, as
+# well as revocation information such as CRLs and signed OCSP Responses.
+# This is in addition to the jdk.certpath.disabledAlgorithms property above.
+#
+# See the specification of "jdk.certpath.disabledAlgorithms" for the
+# syntax of the disabled algorithm string.
+#
+# Note: This property is currently used by Oracle's JSSE implementation.
+# It is not guaranteed to be examined and used by other implementations.
+#
+# Example:
+# jdk.tls.disabledAlgorithms=MD5, SHA1, DSA, RSA keySize < 2048
--- ./jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/com/sun/java/util/jar/pack/zip.cpp Wed Nov 05 12:14:24 2014 -0800
@@ -62,7 +62,7 @@
#endif // End of ZLIB
-#ifdef _BIG_ENDIAN
+#ifdef VM_BIG_ENDIAN
#define SWAP_BYTES(a) \
((((a) << 8) & 0xff00) | 0x00ff) & (((a) >> 8) | 0xff00)
#else
--- ./jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/com/sun/media/sound/DirectAudioDevice.c Wed Nov 05 12:14:24 2014 -0800
@@ -121,7 +121,7 @@
}
/* conversion from/to 16 bit signed little endian to native endian samples */
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#define MAP_LE_SHORT2SAMPLE(sh) ((MAP_Sample) (sh))
#define MAP_SAMPLE2LE_SHORT(sample) (sample)
#define MAP_SAMPLE2LE_SHORT_CLIP(sample) MAP_ClipAndConvertToShort(sample)
@@ -132,7 +132,7 @@
#endif
/* conversion from/to 16 bit signed big endian to native endian samples */
-#ifndef _LITTLE_ENDIAN
+#ifndef VM_LITTLE_ENDIAN
#define MAP_BE_SHORT2SAMPLE(sh) ((MAP_Sample) (sh))
#define MAP_SAMPLE2BE_SHORT(sample) (sample)
#define MAP_SAMPLE2BE_SHORT_CLIP(sample) MAP_ClipAndConvertToShort(sample)
@@ -151,7 +151,7 @@
#define MAP_SAMPLE2INT8_CLIP(sample) MAP_ClipAndConvertToByte(sample)
/* macros for endian conversion */
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#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 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/com/sun/media/sound/Utilities.c Wed Nov 05 12:14:24 2014 -0800
@@ -28,7 +28,7 @@
int UTIL_IsBigEndianPlatform() {
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
return 0;
#else
return 1;
--- ./jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/java/lang/fdlibm/include/fdlibm.h Wed Nov 05 12:14:24 2014 -0800
@@ -40,7 +40,7 @@
#endif
#endif
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#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 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/image/awt_parseImage.c Wed Nov 05 12:14:24 2014 -0800
@@ -623,7 +623,7 @@
switch(type) {
case java_awt_image_BufferedImage_TYPE_INT_ARGB:
case java_awt_image_BufferedImage_TYPE_INT_ARGB_PRE:
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
colorOrder[0] = 2;
colorOrder[1] = 1;
colorOrder[2] = 0;
@@ -636,7 +636,7 @@
#endif
break;
case java_awt_image_BufferedImage_TYPE_INT_BGR:
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
colorOrder[0] = 0;
colorOrder[1] = 1;
colorOrder[2] = 2;
@@ -647,7 +647,7 @@
#endif
break;
case java_awt_image_BufferedImage_TYPE_INT_RGB:
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
colorOrder[0] = 2;
colorOrder[1] = 1;
colorOrder[2] = 0;
--- ./jdk/src/share/native/sun/awt/medialib/awt_ImagingLib.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/awt_ImagingLib.c Wed Nov 05 12:14:24 2014 -0800
@@ -1176,7 +1176,7 @@
#define NLUT 8
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#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 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv2x2_f.c Wed Nov 05 12:14:24 2014 -0800
@@ -86,7 +86,7 @@
#endif /* MLIB_USE_FTOI_CLAMPING */
/***************************************************************/
-#if defined(_LITTLE_ENDIAN) && !defined(_NO_LONGLONG)
+#if defined(VM_LITTLE_ENDIAN) && !defined(_NO_LONGLONG)
/* NB: Explicit cast to DTYPE is necessary to avoid warning from Microsoft VC compiler.
And we need to explicitly define cast behavior if source exceeds destination range.
@@ -103,7 +103,7 @@
dp[0 ] = (DTYPE) ((res0) & DTYPE_MASK); \
dp[chan1] = (DTYPE) ((res1) & DTYPE_MASK)
-#endif /* defined(_LITTLE_ENDIAN) && !defined(_NO_LONGLONG) */
+#endif /* defined(VM_LITTLE_ENDIAN) && !defined(_NO_LONGLONG) */
/***************************************************************/
#ifdef _NO_LONGLONG
@@ -114,17 +114,17 @@
#else /* _NO_LONGLONG */
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#define LOAD_BUFF(buff) \
*(mlib_s64*)(buff + i) = (((mlib_s64)sp[chan1]) << 32) | ((mlib_s64)sp[0] & 0xffffffff)
-#else /* _LITTLE_ENDIAN */
+#else /* VM_LITTLE_ENDIAN */
#define LOAD_BUFF(buff) \
*(mlib_s64*)(buff + i) = (((mlib_s64)sp[0]) << 32) | ((mlib_s64)sp[chan1] & 0xffffffff)
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
#endif /* _NO_LONGLONG */
--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16ext.c Wed Nov 05 12:14:24 2014 -0800
@@ -126,7 +126,7 @@
#define D2I(x) CLAMP_S32((x) SAT_OFF)
/***************************************************************/
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#define STORE2(res0, res1) \
dp[0 ] = res1; \
@@ -138,7 +138,7 @@
dp[0 ] = res0; \
dp[chan1] = res1
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
/***************************************************************/
#ifdef _NO_LONGLONG
@@ -149,17 +149,17 @@
#else /* _NO_LONGLONG */
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#define LOAD_BUFF(buff) \
*(mlib_s64*)(buff + i) = (((mlib_s64)sp[chan1]) << 32) | S64TOS32((mlib_s64)sp[0])
-#else /* _LITTLE_ENDIAN */
+#else /* VM_LITTLE_ENDIAN */
#define LOAD_BUFF(buff) \
*(mlib_s64*)(buff + i) = (((mlib_s64)sp[0]) << 32) | S64TOS32((mlib_s64)sp[chan1])
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
#endif /* _NO_LONGLONG */
/***************************************************************/
--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_16nw.c Wed Nov 05 12:14:24 2014 -0800
@@ -94,7 +94,7 @@
#define D2I(x) CLAMP_S32((x) SAT_OFF)
/***************************************************************/
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#define STORE2(res0, res1) \
dp[0 ] = res1; \
@@ -106,7 +106,7 @@
dp[0 ] = res0; \
dp[chan1] = res1
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
/***************************************************************/
#ifdef _NO_LONGLONG
@@ -117,17 +117,17 @@
#else /* _NO_LONGLONG */
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#define LOAD_BUFF(buff) \
*(mlib_s64*)(buff + i) = (((mlib_s64)sp[chan1]) << 32) | S64TOS32((mlib_s64)sp[0])
-#else /* _LITTLE_ENDIAN */
+#else /* VM_LITTLE_ENDIAN */
#define LOAD_BUFF(buff) \
*(mlib_s64*)(buff + i) = (((mlib_s64)sp[0]) << 32) | S64TOS32((mlib_s64)sp[chan1])
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
#endif /* _NO_LONGLONG */
/***************************************************************/
--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8ext.c Wed Nov 05 12:14:24 2014 -0800
@@ -126,7 +126,7 @@
#define D2I(x) CLAMP_S32((x) SAT_OFF)
/***************************************************************/
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#define STORE2(res0, res1) \
dp[0 ] = res1; \
@@ -138,7 +138,7 @@
dp[0 ] = res0; \
dp[chan1] = res1
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
/***************************************************************/
#ifdef _NO_LONGLONG
@@ -149,17 +149,17 @@
#else /* _NO_LONGLONG */
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#define LOAD_BUFF(buff) \
*(mlib_s64*)(buff + i) = (((mlib_s64)sp[chan1]) << 32) | S64TOS32((mlib_s64)sp[0])
-#else /* _LITTLE_ENDIAN */
+#else /* VM_LITTLE_ENDIAN */
#define LOAD_BUFF(buff) \
*(mlib_s64*)(buff + i) = (((mlib_s64)sp[0]) << 32) | S64TOS32((mlib_s64)sp[chan1])
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
#endif /* _NO_LONGLONG */
/***************************************************************/
--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_8nw.c Wed Nov 05 12:14:24 2014 -0800
@@ -95,7 +95,7 @@
#define D2I(x) CLAMP_S32((x) SAT_OFF)
/***************************************************************/
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#define STORE2(res0, res1) \
dp[0 ] = res1; \
@@ -107,7 +107,7 @@
dp[0 ] = res0; \
dp[chan1] = res1
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
/***************************************************************/
#ifdef _NO_LONGLONG
@@ -118,17 +118,17 @@
#else /* _NO_LONGLONG */
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#define LOAD_BUFF(buff) \
*(mlib_s64*)(buff + i) = (((mlib_s64)sp[chan1]) << 32) | S64TOS32((mlib_s64)sp[0])
-#else /* _LITTLE_ENDIAN */
+#else /* VM_LITTLE_ENDIAN */
#define LOAD_BUFF(buff) \
*(mlib_s64*)(buff + i) = (((mlib_s64)sp[0]) << 32) | S64TOS32((mlib_s64)sp[chan1])
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
#endif /* _NO_LONGLONG */
/***************************************************************/
--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16ext.c Wed Nov 05 12:14:24 2014 -0800
@@ -126,7 +126,7 @@
#define D2I(x) CLAMP_S32((x) SAT_OFF)
/***************************************************************/
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#define STORE2(res0, res1) \
dp[0 ] = res1; \
@@ -138,7 +138,7 @@
dp[0 ] = res0; \
dp[chan1] = res1
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
/***************************************************************/
#ifdef _NO_LONGLONG
@@ -149,17 +149,17 @@
#else /* _NO_LONGLONG */
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#define LOAD_BUFF(buff) \
*(mlib_s64*)(buff + i) = (((mlib_s64)sp[chan1]) << 32) | S64TOS32((mlib_s64)sp[0])
-#else /* _LITTLE_ENDIAN */
+#else /* VM_LITTLE_ENDIAN */
#define LOAD_BUFF(buff) \
*(mlib_s64*)(buff + i) = (((mlib_s64)sp[0]) << 32) | S64TOS32((mlib_s64)sp[chan1])
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
#endif /* _NO_LONGLONG */
/***************************************************************/
--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageConv_u16nw.c Wed Nov 05 12:14:24 2014 -0800
@@ -94,7 +94,7 @@
#define D2I(x) CLAMP_S32((x) SAT_OFF)
/***************************************************************/
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#define STORE2(res0, res1) \
dp[0 ] = res1; \
@@ -106,7 +106,7 @@
dp[0 ] = res0; \
dp[chan1] = res1
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
/***************************************************************/
#ifdef _NO_LONGLONG
@@ -117,17 +117,17 @@
#else /* _NO_LONGLONG */
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#define LOAD_BUFF(buff) \
*(mlib_s64*)(buff + i) = (((mlib_s64)sp[chan1]) << 32) | S64TOS32((mlib_s64)sp[0])
-#else /* _LITTLE_ENDIAN */
+#else /* VM_LITTLE_ENDIAN */
#define LOAD_BUFF(buff) \
*(mlib_s64*)(buff + i) = (((mlib_s64)sp[0]) << 32) | S64TOS32((mlib_s64)sp[chan1])
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
#endif /* _NO_LONGLONG */
/***************************************************************/
--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageCopy_Bit.c Wed Nov 05 12:14:24 2014 -0800
@@ -95,7 +95,7 @@
dst = dp[0];
if (ld_offset + size < 32) {
dmask = (mask0 << (32 - size)) >> ld_offset;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
src0 = (src0 << 24) | ((src0 & 0xFF00) << 8) | ((src0 >> 8) & 0xFF00) | (src0 >> 24);
src = (src0 >> (ld_offset - ls_offset));
dst = (dst << 24) | ((dst & 0xFF00) << 8) | ((dst >> 8) & 0xFF00) | (dst >> 24);
@@ -104,12 +104,12 @@
#else
src = (src0 >> (ld_offset - ls_offset));
dp[0] = (dst & (~dmask)) | (src & dmask);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
return;
}
dmask = mask0 >> ld_offset;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
src0 = (src0 << 24) | ((src0 & 0xFF00) << 8) | ((src0 >> 8) & 0xFF00) | (src0 >> 24);
src = (src0 >> (ld_offset - ls_offset));
dst = (dst << 24) | ((dst & 0xFF00) << 8) | ((dst >> 8) & 0xFF00) | (dst >> 24);
@@ -118,7 +118,7 @@
#else
src = (src0 >> (ld_offset - ls_offset));
dp[0] = (dst & ~dmask) | (src & dmask);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
j = 32 - ld_offset;
dp++;
ls_offset += j;
@@ -131,7 +131,7 @@
if (ld_offset + size < 32) {
dmask = (mask0 << (32 - size)) >> ld_offset;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
src0 = (src0 << 24) | ((src0 & 0xFF00) << 8) | ((src0 >> 8) & 0xFF00) | (src0 >> 24);
src1 = (src1 << 24) | ((src1 & 0xFF00) << 8) | ((src1 >> 8) & 0xFF00) | (src1 >> 24);
src = (src0 << shift) | (src1 >> (32 - shift));
@@ -141,12 +141,12 @@
#else
src = (src0 << shift) | (src1 >> (32 - shift));
dp[0] = (dst & ~dmask) | (src & dmask);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
return;
}
dmask = mask0 >> ld_offset;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
src0 = (src0 << 24) | ((src0 & 0xFF00) << 8) | ((src0 >> 8) & 0xFF00) | (src0 >> 24);
src1 = (src1 << 24) | ((src1 & 0xFF00) << 8) | ((src1 >> 8) & 0xFF00) | (src1 >> 24);
src = (src0 << shift) | (src1 >> (32 - shift));
@@ -156,7 +156,7 @@
#else
src = (src0 << shift) | (src1 >> (32 - shift));
dp[0] = (dst & ~dmask) | (src & dmask);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
j = 32 - ld_offset;
dp++;
sp++;
@@ -164,19 +164,19 @@
}
if (j < size) src1 = sp[0];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
src1 = (src1 << 24) | ((src1 & 0xFF00) << 8) | ((src1 >> 8) & 0xFF00) | (src1 >> 24);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
for (; j <= size - 32; j += 32) {
src0 = src1;
src1 = sp[1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
src1 = (src1 << 24) | ((src1 & 0xFF00) << 8) | ((src1 >> 8) & 0xFF00) | (src1 >> 24);
src = (src0 << ls_offset) | (src1 >> (32 - ls_offset));
dp[0] = (src << 24) | ((src & 0xFF00) << 8) | ((src >> 8) & 0xFF00) | (src >> 24);
#else
dp[0] = (src0 << ls_offset) | (src1 >> (32 - ls_offset));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
sp++;
dp++;
}
@@ -187,7 +187,7 @@
if (ls_offset + j > 32) src1 = sp[1];
dst = dp[0];
dmask = mask0 << (32 - j);
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
src1 = (src1 << 24) | ((src1 & 0xFF00) << 8) | ((src1 >> 8) & 0xFF00) | (src1 >> 24);
src = (src0 << ls_offset) | (src1 >> (32 - ls_offset));
dst = (dst << 24) | ((dst & 0xFF00) << 8) | ((dst >> 8) & 0xFF00) | (dst >> 24);
@@ -196,7 +196,7 @@
#else
src = (src0 << ls_offset) | (src1 >> (32 - ls_offset));
dp[0] = (dst & ~dmask) | (src & dmask);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
}
#else /* _LONGLONG */
@@ -315,7 +315,7 @@
dst = dp[0];
if (ld_offset >= size) {
dmask = (lmask0 << (32 - size)) >> (ld_offset - size);
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
src0 = (src0 << 24) | ((src0 & 0xFF00) << 8) | ((src0 >> 8) & 0xFF00) | (src0 >> 24);
src = (src0 << (ls_offset - ld_offset));
dst = (dst << 24) | ((dst & 0xFF00) << 8) | ((dst >> 8) & 0xFF00) | (dst >> 24);
@@ -324,12 +324,12 @@
#else
src = (src0 << (ls_offset - ld_offset));
dp[0] = (dst & (~dmask)) | (src & dmask);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
return;
}
dmask = lmask0 << (32 - ld_offset);
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
src0 = (src0 << 24) | ((src0 & 0xFF00) << 8) | ((src0 >> 8) & 0xFF00) | (src0 >> 24);
src = (src0 << (ls_offset - ld_offset));
dst = (dst << 24) | ((dst & 0xFF00) << 8) | ((dst >> 8) & 0xFF00) | (dst >> 24);
@@ -338,7 +338,7 @@
#else
src = (src0 << (ls_offset - ld_offset));
dp[0] = (dst & ~dmask) | (src & dmask);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
j = ld_offset;
dp--;
ls_offset -= j;
@@ -351,7 +351,7 @@
if (ld_offset >= size) {
dmask = (lmask0 << (32 - size)) >> (ld_offset - size);
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
src0 = (src0 << 24) | ((src0 & 0xFF00) << 8) | ((src0 >> 8) & 0xFF00) | (src0 >> 24);
src1 = (src1 << 24) | ((src1 & 0xFF00) << 8) | ((src1 >> 8) & 0xFF00) | (src1 >> 24);
src = (src0 >> shift) | (src1 << (32 - shift));
@@ -361,12 +361,12 @@
#else
src = (src0 >> shift) | (src1 << (32 - shift));
dp[0] = (dst & ~dmask) | (src & dmask);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
return;
}
dmask = lmask0 << (32 - ld_offset);
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
src0 = (src0 << 24) | ((src0 & 0xFF00) << 8) | ((src0 >> 8) & 0xFF00) | (src0 >> 24);
src1 = (src1 << 24) | ((src1 & 0xFF00) << 8) | ((src1 >> 8) & 0xFF00) | (src1 >> 24);
src = (src0 >> shift) | (src1 << (32 - shift));
@@ -376,7 +376,7 @@
#else
src = (src0 >> shift) | (src1 << (32 - shift));
dp[0] = (dst & ~dmask) | (src & dmask);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
j = ld_offset;
dp--;
sp--;
@@ -384,22 +384,22 @@
}
if (j < size) src1 = sp[0];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
src1 = (src1 << 24) | ((src1 & 0xFF00) << 8) | ((src1 >> 8) & 0xFF00) | (src1 >> 24);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
#ifdef __SUNPRO_C
#pragma pipeloop(0)
#endif /* __SUNPRO_C */
for (; j <= size - 32; j += 32) {
src0 = src1;
src1 = sp[-1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
src1 = (src1 << 24) | ((src1 & 0xFF00) << 8) | ((src1 >> 8) & 0xFF00) | (src1 >> 24);
src = (src0 >> (32 - ls_offset)) | (src1 << ls_offset);
dp[0] = (src << 24) | ((src & 0xFF00) << 8) | ((src >> 8) & 0xFF00) | (src >> 24);
#else
dp[0] = (src0 >> (32 - ls_offset)) | (src1 << ls_offset);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
sp--;
dp--;
}
@@ -410,7 +410,7 @@
if (ls_offset < j) src1 = sp[-1];
dst = dp[0];
dmask = lmask0 >> (32 - j);
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
src1 = (src1 << 24) | ((src1 & 0xFF00) << 8) | ((src1 >> 8) & 0xFF00) | (src1 >> 24);
src = (src0 >> (32 - ls_offset)) | (src1 << ls_offset);
dst = (dst << 24) | ((dst & 0xFF00) << 8) | ((dst >> 8) & 0xFF00) | (dst >> 24);
@@ -419,7 +419,7 @@
#else
src = (src0 >> (32 - ls_offset)) | (src1 << ls_offset);
dp[0] = (dst & ~dmask) | (src & dmask);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
}
#else /* _LONGLONG */
--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_64.c Wed Nov 05 12:14:24 2014 -0800
@@ -168,7 +168,7 @@
}
/***************************************************************/
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
#define READ_U8_D64(table0, table1, table2, table3) \
t0 = *(mlib_d64*)((mlib_u8*)table0 + ((s0 << 3) & 0x7F8)); \
@@ -184,7 +184,7 @@
t2 = *(mlib_d64*)((mlib_u8*)table2 + ((s0 >> 5) & 0x7F8)); \
t3 = *(mlib_d64*)((mlib_u8*)table3 + ((s0 << 3) & 0x7F8))
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
/***************************************************************/
void mlib_ImageLookUp_U8_D64(const mlib_u8 *src,
@@ -613,7 +613,7 @@
#pragma pipeloop(0)
#endif /* __SUNPRO_C */
for (i = 0; i < size - 7; i += 4, dp += 8, sa++) {
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 << 3) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 << 3) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 5) & 0x7F8));
@@ -623,12 +623,12 @@
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 21) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 13) & 0x7F8));
t3 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 13) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[0] = t0;
dp[1] = t1;
dp[2] = t2;
dp[3] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 13) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 13) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 21) & 0x7F8));
@@ -638,7 +638,7 @@
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 5) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 << 3) & 0x7F8));
t3 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 << 3) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
dp[4] = t0;
dp[5] = t1;
@@ -646,7 +646,7 @@
dp[7] = t3;
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 << 3) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 << 3) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 5) & 0x7F8));
@@ -656,12 +656,12 @@
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 21) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 13) & 0x7F8));
t3 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 13) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[0] = t0;
dp[1] = t1;
dp[2] = t2;
dp[3] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 13) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 13) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 21) & 0x7F8));
@@ -671,7 +671,7 @@
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 5) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 << 3) & 0x7F8));
t3 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 << 3) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[4] = t0;
dp[5] = t1;
dp[6] = t2;
@@ -719,7 +719,7 @@
#pragma pipeloop(0)
#endif /* __SUNPRO_C */
for (i = 0; i < size - 7; i += 4, dp += 12, sa++) {
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 << 3) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 << 3) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 << 3) & 0x7F8));
@@ -733,14 +733,14 @@
t3 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 13) & 0x7F8));
t4 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 13) & 0x7F8));
t5 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 13) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[0] = t0;
dp[1] = t1;
dp[2] = t2;
dp[3] = t3;
dp[4] = t4;
dp[5] = t5;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 13) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 13) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 13) & 0x7F8));
@@ -754,7 +754,7 @@
t3 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 << 3) & 0x7F8));
t4 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 << 3) & 0x7F8));
t5 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 << 3) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
dp[6] = t0;
dp[7] = t1;
@@ -764,7 +764,7 @@
dp[11] = t5;
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 << 3) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 << 3) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 << 3) & 0x7F8));
@@ -778,14 +778,14 @@
t3 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 13) & 0x7F8));
t4 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 13) & 0x7F8));
t5 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 13) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[0] = t0;
dp[1] = t1;
dp[2] = t2;
dp[3] = t3;
dp[4] = t4;
dp[5] = t5;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 13) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 13) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 13) & 0x7F8));
@@ -799,7 +799,7 @@
t3 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 << 3) & 0x7F8));
t4 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 << 3) & 0x7F8));
t5 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 << 3) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[6] = t0;
dp[7] = t1;
dp[8] = t2;
@@ -852,7 +852,7 @@
#pragma pipeloop(0)
#endif /* __SUNPRO_C */
for (i = 0; i < size - 7; i += 4, dp += 16, sa++) {
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 << 3) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 << 3) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 << 3) & 0x7F8));
@@ -862,12 +862,12 @@
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 21) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 21) & 0x7F8));
t3 = *(mlib_d64 *) ((mlib_u8 *) tab3 + ((s0 >> 21) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[0] = t0;
dp[1] = t1;
dp[2] = t2;
dp[3] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 5) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 5) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 5) & 0x7F8));
@@ -877,12 +877,12 @@
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 13) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 13) & 0x7F8));
t3 = *(mlib_d64 *) ((mlib_u8 *) tab3 + ((s0 >> 13) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[4] = t0;
dp[5] = t1;
dp[6] = t2;
dp[7] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 13) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 13) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 13) & 0x7F8));
@@ -892,12 +892,12 @@
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 5) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 5) & 0x7F8));
t3 = *(mlib_d64 *) ((mlib_u8 *) tab3 + ((s0 >> 5) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[8] = t0;
dp[9] = t1;
dp[10] = t2;
dp[11] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 21) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 21) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 21) & 0x7F8));
@@ -907,7 +907,7 @@
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 << 3) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 << 3) & 0x7F8));
t3 = *(mlib_d64 *) ((mlib_u8 *) tab3 + ((s0 << 3) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
dp[12] = t0;
dp[13] = t1;
@@ -915,7 +915,7 @@
dp[15] = t3;
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 << 3) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 << 3) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 << 3) & 0x7F8));
@@ -925,12 +925,12 @@
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 21) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 21) & 0x7F8));
t3 = *(mlib_d64 *) ((mlib_u8 *) tab3 + ((s0 >> 21) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[0] = t0;
dp[1] = t1;
dp[2] = t2;
dp[3] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 5) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 5) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 5) & 0x7F8));
@@ -940,12 +940,12 @@
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 13) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 13) & 0x7F8));
t3 = *(mlib_d64 *) ((mlib_u8 *) tab3 + ((s0 >> 13) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[4] = t0;
dp[5] = t1;
dp[6] = t2;
dp[7] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 13) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 13) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 13) & 0x7F8));
@@ -955,12 +955,12 @@
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 5) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 5) & 0x7F8));
t3 = *(mlib_d64 *) ((mlib_u8 *) tab3 + ((s0 >> 5) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[8] = t0;
dp[9] = t1;
dp[10] = t2;
dp[11] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_d64 *) ((mlib_u8 *) tab0 + ((s0 >> 21) & 0x7F8));
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 >> 21) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 >> 21) & 0x7F8));
@@ -970,7 +970,7 @@
t1 = *(mlib_d64 *) ((mlib_u8 *) tab1 + ((s0 << 3) & 0x7F8));
t2 = *(mlib_d64 *) ((mlib_u8 *) tab2 + ((s0 << 3) & 0x7F8));
t3 = *(mlib_d64 *) ((mlib_u8 *) tab3 + ((s0 << 3) & 0x7F8));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[12] = t0;
dp[13] = t1;
dp[14] = t2;
--- ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageLookUp_Bit.c Wed Nov 05 12:14:24 2014 -0800
@@ -88,7 +88,7 @@
} d64_2_f32;
/***************************************************************/
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
static const mlib_u32 mlib_bit_mask[16] = {
0x00000000u, 0xFF000000u, 0x00FF0000u, 0xFFFF0000u,
@@ -126,7 +126,7 @@
0x00000000u, 0x00FFFFFFu, 0xFF000000u, 0xFFFFFFFFu
};
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
/***************************************************************/
mlib_status mlib_ImageLookUp_Bit_U8_1(const mlib_u8 *src,
@@ -228,13 +228,13 @@
#endif /* __SUNPRO_C */
for (; i <= (size - 16); i += 16) {
s0 = *(mlib_u16*)sa;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
*da++ = dd_array[s0 & 0xFF];
*da++ = dd_array[s0 >> 8];
#else
*da++ = dd_array[s0 >> 8];
*da++ = dd_array[s0 & 0xFF];
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
sa += 2;
}
@@ -258,20 +258,20 @@
val1 = p_dd[2*val0+1];
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
emask = (mlib_u32)((mlib_s32)(-1)) >> ((4 - (size - i)) * 8);
#else
emask = (mlib_s32)(-1) << ((4 - (size - i)) * 8);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
((mlib_u32*)da)[0] = (val1 & emask) | (((mlib_u32*)da)[0] &~ emask);
#else /* _NO_LONGLONG */
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
mlib_u64 emask = (mlib_u64)((mlib_s64)(-1)) >> ((8 - (size - i)) * 8);
#else
mlib_u64 emask = (mlib_s64)(-1) << ((8 - (size - i)) * 8);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
((mlib_u64*)da)[0] = (((mlib_u64*)dd_array)[sa[0]] & emask) | (((mlib_u64*)da)[0] &~ emask);
@@ -323,13 +323,13 @@
val0 = table[0][0];
val1 = table[0][1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
val0 = val0 | (table[1][0] << 8);
val1 = val1 | (table[1][1] << 8);
#else
val0 = (val0 << 8) | table[1][0];
val1 = (val1 << 8) | table[1][1];
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
val0 |= (val0 << 16);
val1 |= (val1 << 16);
@@ -394,11 +394,11 @@
dd1 = dd2;
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
emask = (mlib_u32)((mlib_s32)(-1)) >> ((4 - (size - i)) * 8);
#else
emask = (mlib_s32)(-1) << ((4 - (size - i)) * 8);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
((mlib_u32*)da)[0] = (dd1 & emask) | (((mlib_u32*)da)[0] &~ emask);
#else /* _NO_LONGLONG */
@@ -412,11 +412,11 @@
dd = ((mlib_u64*)dd_array)[s0 & 0xf];
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
emask = (mlib_u64)((mlib_s64)(-1)) >> ((8 - (size - i)) * 8);
#else
emask = (mlib_s64)(-1) << ((8 - (size - i)) * 8);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
((mlib_u64*)da)[0] = (dd & emask) | (((mlib_u64*)da)[0] &~ emask);
#endif /* _NO_LONGLONG */
@@ -462,7 +462,7 @@
buffs = buff + size;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
l0 = (table[0][0] << 24) | (table[2][0] << 16) | (table[1][0] << 8) | (table[0][0]);
h0 = (table[0][1] << 24) | (table[2][1] << 16) | (table[1][1] << 8) | (table[0][1]);
l1 = (l0 >> 8); l1 |= (l1 << 24);
@@ -476,7 +476,7 @@
h1 = (h0 << 8); h1 |= (h1 >> 24);
l2 = (l1 << 8); l2 |= (l2 >> 24);
h2 = (h1 << 8); h2 |= (h2 >> 24);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
/* calculate lookup table */
#ifdef __SUNPRO_C
@@ -564,11 +564,11 @@
dd = ((mlib_u32*)(d_array12 + (s0 & 0xF)))[1];
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
emask = (mlib_u32)((mlib_s32)(-1)) >> ((4 - (size - i)) * 8);
#else
emask = (mlib_s32)(-1) << ((4 - (size - i)) * 8);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da[0] = (dd & emask) | (da[0] &~ emask);
}
@@ -611,13 +611,13 @@
buffs = buff + size;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
l = (table[3][0] << 24) | (table[2][0] << 16) | (table[1][0] << 8) | (table[0][0]);
h = (table[3][1] << 24) | (table[2][1] << 16) | (table[1][1] << 8) | (table[0][1]);
#else
l = (table[0][0] << 24) | (table[1][0] << 16) | (table[2][0] << 8) | (table[3][0]);
h = (table[0][1] << 24) | (table[1][1] << 16) | (table[2][1] << 8) | (table[3][1]);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
((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 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/mlib_ImageUtils.c Wed Nov 05 12:14:24 2014 -0800
@@ -30,7 +30,7 @@
typedef union {
mlib_d64 db;
struct {
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
mlib_s32 int1, int0;
#else
mlib_s32 int0, int1;
--- ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageCopy.c Wed Nov 05 12:14:24 2014 -0800
@@ -275,11 +275,11 @@
for (i = 0; j <= (b_size - 4); j += 4, i++) {
src0 = src1;
src1 = pws[i + 1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
pwd[i] = (src0 >> lshift) | (src1 << rshift);
#else
pwd[i] = (src0 << lshift) | (src1 >> rshift);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
}
sa += i << 2;
@@ -381,11 +381,11 @@
for (; j <= (src_width - 4); j += 4) {
src0 = src1;
src1 = ps[1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
*((mlib_s32 *) (pdst_row + j)) = (src0 >> shl) | (src1 << shr);
#else
*((mlib_s32 *) (pdst_row + j)) = (src0 << shl) | (src1 >> shr);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
ps++;
}
}
@@ -414,11 +414,11 @@
for (; j <= (src_width - 8); j += 8) {
src0 = src1;
src1 = ps[1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
*((mlib_s64 *) (pdst_row + j)) = (src0 >> shl) | (src1 << shr);
#else
*((mlib_s64 *) (pdst_row + j)) = (src0 << shl) | (src1 >> shr);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
ps++;
}
}
@@ -484,11 +484,11 @@
for (; j <= (src_width - 2); j += 2) {
src0 = src1;
src1 = ps[1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
*((mlib_s32 *) (pdst_row + j)) = (src0 >> 16) | (src1 << 16);
#else
*((mlib_s32 *) (pdst_row + j)) = (src0 << 16) | (src1 >> 16);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
ps++;
}
}
@@ -516,11 +516,11 @@
for (; j <= (src_width - 4); j += 4) {
src0 = src1;
src1 = ps[1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
*((mlib_s64 *) (pdst_row + j)) = (src0 >> shl) | (src1 << shr);
#else
*((mlib_s64 *) (pdst_row + j)) = (src0 << shl) | (src1 >> shr);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
ps++;
}
}
@@ -585,11 +585,11 @@
for (; j <= (src_width - 2); j += 2) {
src0 = src1;
src1 = ps[1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
*((mlib_s64 *) (pdst_row + j)) = (src0 >> 32) | (src1 << 32);
#else
*((mlib_s64 *) (pdst_row + j)) = (src0 << 32) | (src1 >> 32);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
ps++;
}
}
@@ -687,11 +687,11 @@
#endif /* __SUNPRO_C */
for (; n > SIZE; n -= SIZE) {
s1 = *tmp++;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
*(TYPE *) dp = (s0 >> shl) | (s1 << shr);
#else
*(TYPE *) dp = (s0 << shl) | (s1 >> shr);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = s1;
dp += SIZE;
sp += SIZE;
--- ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/mlib_c_ImageLookUp_f.c Wed Nov 05 12:14:24 2014 -0800
@@ -120,7 +120,7 @@
} \
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
/***************************************************************/
#define READ_U8_U8_ALIGN(table0, table1, table2, table3) \
@@ -163,7 +163,7 @@
t2 = *(mlib_u32*)((mlib_u8*)table2 + ((s0 >> 14) & 0x3FC)); \
t3 = *(mlib_u32*)((mlib_u8*)table3 + ((s0 >> 22) & 0x3FC))
-#else /* _LITTLE_ENDIAN */
+#else /* VM_LITTLE_ENDIAN */
/***********/
#define READ_U8_U8_ALIGN(table0, table1, table2, table3) \
@@ -206,7 +206,7 @@
t2 = *(mlib_u32*)((mlib_u8*)table2 + ((s0 >> 6) & 0x3FC)); \
t3 = *(mlib_u32*)((mlib_u8*)table3 + ((s0 << 2) & 0x3FC))
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
/***************************************************************/
void mlib_c_ImageLookUp_U8_U8(const mlib_u8 *src,
@@ -297,11 +297,11 @@
da[0] = t;
da++;
dp = (mlib_u8 *) da;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
*dp++ = tab[s2 >> 8];
#else
*dp++ = tab[s2 & 0xFF];
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
sp = (mlib_u8 *) sa;
i += 5;
for (; i < size; i++, dp++, sp++)
@@ -403,11 +403,11 @@
da[0] = t;
da++;
dp = (mlib_u8 *) da;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
*dp++ = tab0[s2 >> 8];
#else
*dp++ = tab0[s2 & 0xFF];
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
sp = (mlib_u8 *) sa;
i += 5;
@@ -544,11 +544,11 @@
da[0] = t;
da++;
dp = (mlib_u8 *) da;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
*dp++ = tab1[s2 >> 8];
#else
*dp++ = tab1[s2 & 0xFF];
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
sp = (mlib_u8 *) sa;
i += 5;
@@ -694,11 +694,11 @@
da[0] = t;
da++;
dp = (mlib_u8 *) da;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
*dp++ = tab0[s2 >> 8];
#else
*dp++ = tab0[s2 & 0xFF];
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
sp = (mlib_u8 *) sa;
i += 5;
@@ -1852,21 +1852,21 @@
s0 = tab0[0];
s1 = tab1[0];
for (i = 1; i < 256; i++) {
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
s2 = (s1 << 8) + s0;
#else
s2 = (s0 << 8) + s1;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = tab0[i];
s1 = tab1[i];
tab[i - 1] = (mlib_u16) s2;
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
s2 = (s1 << 8) + s0;
#else
s2 = (s0 << 8) + s1;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
tab[255] = (mlib_u16) s2;
for (j = 0; j < ysize; j++, dst += dlb, src += slb) {
@@ -1897,11 +1897,11 @@
for (i = 0; i < size - 3; i += 2, da++, sa += 2) {
t0 = tab[s0];
t1 = tab[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t = (t1 << 16) + t0;
#else
t = (t0 << 16) + t1;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
s1 = sa[1];
da[0] = t;
@@ -1909,11 +1909,11 @@
t0 = tab[s0];
t1 = tab[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t = (t1 << 16) + t0;
#else
t = (t0 << 16) + t1;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da[0] = t;
da++;
@@ -1927,13 +1927,13 @@
if (off > 1) {
t0 = tab[sa[0]];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
dp[1] = (t0 >> 8);
dp[0] = t0;
#else
dp[0] = (t0 >> 8);
dp[1] = t0;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
sa++;
size--;
dp += 2;
@@ -1941,11 +1941,11 @@
t0 = tab[sa[0]];
sa++;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
*dp++ = t0;
#else
*dp++ = (t0 >> 8);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da = (mlib_s32 *) dp;
@@ -1959,11 +1959,11 @@
for (i = 0; i < size - 4; i += 2, da++, sa += 2) {
t1 = tab[s0];
t2 = tab[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t = (t0 >> 8) + (t1 << 8) + (t2 << 24);
#else
t = (t0 << 24) + (t1 << 8) + (t2 >> 8);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
t0 = t2;
s0 = sa[0];
s1 = sa[1];
@@ -1972,29 +1972,29 @@
t1 = tab[s0];
t2 = tab[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t = (t0 >> 8) + (t1 << 8) + (t2 << 24);
#else
t = (t0 << 24) + (t1 << 8) + (t2 >> 8);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da[0] = t;
da++;
dp = (mlib_u8 *) da;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
dp[0] = (t2 >> 8);
#else
dp[0] = t2;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
if ((size & 1) == 0) {
t0 = tab[sa[0]];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
dp[2] = (t0 >> 8);
dp[1] = t0;
#else
dp[1] = (t0 >> 8);
dp[2] = t0;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
}
}
}
@@ -2012,22 +2012,22 @@
s1 = tab1[0];
s2 = tab2[0];
for (i = 1; i < 256; i++) {
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
s3 = (s2 << 24) + (s1 << 16) + (s0 << 8);
#else
s3 = (s0 << 16) + (s1 << 8) + s2;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = tab0[i];
s1 = tab1[i];
s2 = tab2[i];
tab[i - 1] = s3;
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
s3 = (s2 << 24) + (s1 << 16) + (s0 << 8);
#else
s3 = (s0 << 16) + (s1 << 8) + s2;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
tab[255] = s3;
for (j = 0; j < ysize; j++, dst += dlb, src += slb) {
@@ -2064,24 +2064,24 @@
for (i = 0; i < size - 7; i += 4, da += 3, sa += 4) {
t0 = tab[s0];
t1 = tab[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
da[0] = (t0 >> 8) + (t1 << 16);
res2 = (t1 >> 16);
#else
da[0] = (t0 << 8) + (t1 >> 16);
res2 = (t1 << 16);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
s1 = sa[1];
t0 = tab[s0];
t1 = tab[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res2 += (t0 << 8);
res1 = (t0 >> 24) + t1;
#else
res2 += (t0 >> 8);
res1 = (t0 << 24) + t1;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[2];
s1 = sa[3];
da[1] = res2;
@@ -2090,24 +2090,24 @@
t0 = tab[s0];
t1 = tab[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
da[0] = (t0 >> 8) + (t1 << 16);
res2 = (t1 >> 16);
#else
da[0] = (t0 << 8) + (t1 >> 16);
res2 = (t1 << 16);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
s1 = sa[1];
t0 = tab[s0];
t1 = tab[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res2 += (t0 << 8);
res1 = (t0 >> 24) + t1;
#else
res2 += (t0 >> 8);
res1 = (t0 << 24) + t1;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da[1] = res2;
da[2] = res1;
da += 3;
@@ -2143,11 +2143,11 @@
s2 = tab2[0];
s3 = tab3[0];
for (i = 1; i < 256; i++) {
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
s4 = (s3 << 24) + (s2 << 16) + (s1 << 8) + s0;
#else
s4 = (s0 << 24) + (s1 << 16) + (s2 << 8) + s3;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = tab0[i];
s1 = tab1[i];
s2 = tab2[i];
@@ -2155,11 +2155,11 @@
tab[i - 1] = s4;
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
s4 = (s3 << 24) + (s2 << 16) + (s1 << 8) + s0;
#else
s4 = (s0 << 24) + (s1 << 16) + (s2 << 8) + s3;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
tab[255] = s4;
for (j = 0; j < ysize; j++, dst += dlb, src += slb) {
@@ -2225,13 +2225,13 @@
for (i = 0; i < size - 4; i += 2, da += 2, sa += 2) {
t1 = tab[s0];
t2 = tab[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res1 = (t0 >> shift) + (t1 << shift1);
res2 = (t1 >> shift) + (t2 << shift1);
#else
res1 = (t0 << shift) + (t1 >> shift1);
res2 = (t1 << shift) + (t2 >> shift1);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
t0 = t2;
s0 = sa[0];
s1 = sa[1];
@@ -2241,28 +2241,28 @@
t1 = tab[s0];
t2 = tab[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res1 = (t0 >> shift) + (t1 << shift1);
res2 = (t1 >> shift) + (t2 << shift1);
#else
res1 = (t0 << shift) + (t1 >> shift1);
res2 = (t1 << shift) + (t2 >> shift1);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da[0] = res1;
da[1] = res2;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = (da[2] >> shift1);
da[2] = (t2 >> shift) + (t0 << shift1);
#else
t0 = (da[2] << shift1);
da[2] = (t2 << shift) + (t0 >> shift1);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da += 2;
dp = (mlib_u8 *) da + (4 - off);
if ((size & 1) == 0) {
t0 = tab[sa[0]];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
dp[3] = (mlib_u8) (t0 >> 24);
dp[2] = (mlib_u8) (t0 >> 16);
dp[1] = (mlib_u8) (t0 >> 8);
@@ -2272,7 +2272,7 @@
dp[1] = (mlib_u8) (t0 >> 16);
dp[2] = (mlib_u8) (t0 >> 8);
dp[3] = (mlib_u8) t0;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
}
}
}
@@ -2348,13 +2348,13 @@
t3 = tab0[s1];
t4 = tab1[s1];
t5 = tab2[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
da[0] = (t3 << 24) + (t2 << 16) + (t1 << 8) + t0;
res2 = (t5 << 8) + t4;
#else
da[0] = (t0 << 24) + (t1 << 16) + (t2 << 8) + t3;
res2 = (t4 << 24) + (t5 << 16);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
s1 = sa[1];
t0 = tab0[s0];
@@ -2363,13 +2363,13 @@
t3 = tab0[s1];
t4 = tab1[s1];
t5 = tab2[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res2 += ((t1 << 24) + (t0 << 16));
res1 = (t5 << 24) + (t4 << 16) + (t3 << 8) + t2;
#else
res2 += ((t0 << 8) + t1);
res1 = (t2 << 24) + (t3 << 16) + (t4 << 8) + t5;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[2];
s1 = sa[3];
da[1] = res2;
@@ -2382,13 +2382,13 @@
t3 = tab0[s1];
t4 = tab1[s1];
t5 = tab2[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
da[0] = (t3 << 24) + (t2 << 16) + (t1 << 8) + t0;
res2 = (t5 << 8) + t4;
#else
da[0] = (t0 << 24) + (t1 << 16) + (t2 << 8) + t3;
res2 = (t4 << 24) + (t5 << 16);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
s1 = sa[1];
t0 = tab0[s0];
@@ -2397,13 +2397,13 @@
t3 = tab0[s1];
t4 = tab1[s1];
t5 = tab2[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res2 += ((t1 << 24) + (t0 << 16));
res1 = (t5 << 24) + (t4 << 16) + (t3 << 8) + t2;
#else
res2 += ((t0 << 8) + t1);
res1 = (t2 << 24) + (t3 << 16) + (t4 << 8) + t5;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da[1] = res2;
da[2] = res1;
da += 3;
@@ -2455,11 +2455,11 @@
t1 = tab1[s0];
t2 = tab2[s0];
t3 = tab3[s0];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res = (t3 << 24) + (t2 << 16) + (t1 << 8) + t0;
#else
res = (t0 << 24) + (t1 << 16) + (t2 << 8) + t3;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
da[0] = res;
}
@@ -2468,11 +2468,11 @@
t1 = tab1[s0];
t2 = tab2[s0];
t3 = tab3[s0];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res = (t3 << 24) + (t2 << 16) + (t1 << 8) + t0;
#else
res = (t0 << 24) + (t1 << 16) + (t2 << 8) + t3;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da[0] = res;
}
@@ -2496,11 +2496,11 @@
t2 = tab2[s0];
t3 = tab3[s0];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res1 = (t3 << 24) + (t2 << 16) + (t1 << 8) + t0;
#else
res1 = (t0 << 24) + (t1 << 16) + (t2 << 8) + t3;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
sa++;
@@ -2513,13 +2513,13 @@
t1 = tab1[s0];
t2 = tab2[s0];
t3 = tab3[s0];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res2 = (t3 << 24) + (t2 << 16) + (t1 << 8) + t0;
res = (res1 >> shift) + (res2 << shift1);
#else
res2 = (t0 << 24) + (t1 << 16) + (t2 << 8) + t3;
res = (res1 << shift) + (res2 >> shift1);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
res1 = res2;
s0 = sa[0];
da[0] = res;
@@ -2529,21 +2529,21 @@
t1 = tab1[s0];
t2 = tab2[s0];
t3 = tab3[s0];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res2 = (t3 << 24) + (t2 << 16) + (t1 << 8) + t0;
res = (res1 >> shift) + (res2 << shift1);
#else
res2 = (t0 << 24) + (t1 << 16) + (t2 << 8) + t3;
res = (res1 << shift) + (res2 >> shift1);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da[0] = res;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res1 = (da[1] >> shift1);
da[1] = (res2 >> shift) + (res1 << shift1);
#else
res1 = (da[1] << shift1);
da[1] = (res2 << shift) + (res1 >> shift1);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
}
}
}
@@ -2617,13 +2617,13 @@
t3 = tab0[s1];
t4 = tab1[s1];
t5 = tab2[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
da[0] = (t3 << 24) + (t2 << 16) + (t1 << 8) + t0;
res2 = (t5 << 8) + t4;
#else
da[0] = (t0 << 24) + (t1 << 16) + (t2 << 8) + t3;
res2 = (t4 << 24) + (t5 << 16);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
s1 = sa[1];
t0 = tab0[s0];
@@ -2632,13 +2632,13 @@
t3 = tab0[s1];
t4 = tab1[s1];
t5 = tab2[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res2 += ((t1 << 24) + (t0 << 16));
res1 = (t5 << 24) + (t4 << 16) + (t3 << 8) + t2;
#else
res2 += ((t0 << 8) + t1);
res1 = (t2 << 24) + (t3 << 16) + (t4 << 8) + t5;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[2];
s1 = sa[3];
da[1] = res2;
@@ -2651,13 +2651,13 @@
t3 = tab0[s1];
t4 = tab1[s1];
t5 = tab2[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
da[0] = (t3 << 24) + (t2 << 16) + (t1 << 8) + t0;
res2 = (t5 << 8) + t4;
#else
da[0] = (t0 << 24) + (t1 << 16) + (t2 << 8) + t3;
res2 = (t4 << 24) + (t5 << 16);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
s1 = sa[1];
t0 = tab0[s0];
@@ -2666,13 +2666,13 @@
t3 = tab0[s1];
t4 = tab1[s1];
t5 = tab2[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res2 += ((t1 << 24) + (t0 << 16));
res1 = (t5 << 24) + (t4 << 16) + (t3 << 8) + t2;
#else
res2 += ((t0 << 8) + t1);
res1 = (t2 << 24) + (t3 << 16) + (t4 << 8) + t5;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da[1] = res2;
da[2] = res1;
da += 3;
@@ -2724,11 +2724,11 @@
t1 = tab1[s0];
t2 = tab2[s0];
t3 = tab3[s0];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res = (t3 << 24) + (t2 << 16) + (t1 << 8) + t0;
#else
res = (t0 << 24) + (t1 << 16) + (t2 << 8) + t3;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
da[0] = res;
}
@@ -2737,11 +2737,11 @@
t1 = tab1[s0];
t2 = tab2[s0];
t3 = tab3[s0];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res = (t3 << 24) + (t2 << 16) + (t1 << 8) + t0;
#else
res = (t0 << 24) + (t1 << 16) + (t2 << 8) + t3;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da[0] = res;
}
@@ -2765,11 +2765,11 @@
t2 = tab2[s0];
t3 = tab3[s0];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res1 = (t3 << 24) + (t2 << 16) + (t1 << 8) + t0;
#else
res1 = (t0 << 24) + (t1 << 16) + (t2 << 8) + t3;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
sa++;
@@ -2782,13 +2782,13 @@
t1 = tab1[s0];
t2 = tab2[s0];
t3 = tab3[s0];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res2 = (t3 << 24) + (t2 << 16) + (t1 << 8) + t0;
res = (res1 >> shift) + (res2 << shift1);
#else
res2 = (t0 << 24) + (t1 << 16) + (t2 << 8) + t3;
res = (res1 << shift) + (res2 >> shift1);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
res1 = res2;
s0 = sa[0];
da[0] = res;
@@ -2798,21 +2798,21 @@
t1 = tab1[s0];
t2 = tab2[s0];
t3 = tab3[s0];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res2 = (t3 << 24) + (t2 << 16) + (t1 << 8) + t0;
res = (res1 >> shift) + (res2 << shift1);
#else
res2 = (t0 << 24) + (t1 << 16) + (t2 << 8) + t3;
res = (res1 << shift) + (res2 >> shift1);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da[0] = res;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res1 = (da[1] >> shift1);
da[1] = (res2 >> shift) + (res1 << shift1);
#else
res1 = (da[1] << shift1);
da[1] = (res2 << shift) + (res1 >> shift1);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
}
}
}
@@ -2863,21 +2863,21 @@
s0 = tab0[0];
s1 = tab1[0];
for (i = 1; i < 256; i++) {
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
s2 = (s1 << 16) + s0;
#else
s2 = (s0 << 16) + s1;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = tab0[i];
s1 = tab1[i];
tab[i - 1] = s2;
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
s2 = (s1 << 16) + s0;
#else
s2 = (s0 << 16) + s1;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
tab[255] = s2;
for (j = 0; j < ysize; j++, dst += dlb, src += slb) {
@@ -2919,11 +2919,11 @@
else {
t0 = tab[*sa++];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
*dp++ = (mlib_u16) (t0);
#else
*dp++ = (mlib_u16) (t0 >> 16);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da = (mlib_u32 *) dp;
s0 = sa[0];
s1 = sa[1];
@@ -2935,13 +2935,13 @@
for (i = 0; i < size - 4; i += 2, da += 2, sa += 2) {
t1 = tab[s0];
t2 = tab[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res1 = (t0 >> 16) + (t1 << 16);
res2 = (t1 >> 16) + (t2 << 16);
#else
res1 = (t0 << 16) + (t1 >> 16);
res2 = (t1 << 16) + (t2 >> 16);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
t0 = t2;
s0 = sa[0];
s1 = sa[1];
@@ -2951,32 +2951,32 @@
t1 = tab[s0];
t2 = tab[s1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res1 = (t0 >> 16) + (t1 << 16);
res2 = (t1 >> 16) + (t2 << 16);
#else
res1 = (t0 << 16) + (t1 >> 16);
res2 = (t1 << 16) + (t2 >> 16);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da[0] = res1;
da[1] = res2;
da += 2;
dp = (mlib_u16 *) da;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
dp[0] = (mlib_u16) (t2 >> 16);
#else
dp[0] = (mlib_u16) t2;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
if ((size & 1) == 0) {
t0 = tab[sa[0]];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
dp[2] = (mlib_u16) (t0 >> 16);
dp[1] = (mlib_u16) t0;
#else
dp[1] = (mlib_u16) (t0 >> 16);
dp[2] = (mlib_u16) t0;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
}
}
}
@@ -2994,13 +2994,13 @@
s1 = tab1[0];
s2 = tab2[0];
for (i = 1; i < 256; i++) {
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
s3 = (s0 << 16);
s4 = (s2 << 16) + s1;
#else
s3 = s0;
s4 = (s1 << 16) + s2;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = tab0[i];
s1 = tab1[i];
s2 = tab2[i];
@@ -3008,13 +3008,13 @@
tab[2 * i - 1] = s4;
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
s4 = (s2 << 16) + s1;
tab[510] = s0 << 16;
#else
s4 = (s1 << 16) + s2;
tab[510] = s0;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
tab[511] = s4;
for (j = 0; j < ysize; j++, dst += dlb, src += slb) {
@@ -3050,13 +3050,13 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab + s0 + 4);
t2 = *(mlib_u32 *) ((mlib_u8 *) tab + s1);
t3 = *(mlib_u32 *) ((mlib_u8 *) tab + s1 + 4);
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res1 = (t0 >> 16) + (t1 << 16);
res2 = (t1 >> 16) + t2;
#else
res1 = (t0 << 16) + (t1 >> 16);
res2 = (t1 << 16) + t2;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0] << 3;
s1 = sa[1] << 3;
da[0] = res1;
@@ -3068,13 +3068,13 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab + s0 + 4);
t2 = *(mlib_u32 *) ((mlib_u8 *) tab + s1);
t3 = *(mlib_u32 *) ((mlib_u8 *) tab + s1 + 4);
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res1 = (t0 >> 16) + (t1 << 16);
res2 = (t1 >> 16) + t2;
#else
res1 = (t0 << 16) + (t1 >> 16);
res2 = (t1 << 16) + t2;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da[0] = res1;
da[1] = res2;
da[2] = t3;
@@ -3105,13 +3105,13 @@
s2 = tab2[0];
s3 = tab3[0];
for (i = 1; i < 256; i++) {
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
s4 = (s1 << 16) + s0;
s5 = (s3 << 16) + s2;
#else
s4 = (s0 << 16) + s1;
s5 = (s2 << 16) + s3;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = tab0[i];
s1 = tab1[i];
s2 = tab2[i];
@@ -3120,13 +3120,13 @@
tab[2 * i - 1] = s5;
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
s4 = (s1 << 16) + s0;
s5 = (s3 << 16) + s2;
#else
s4 = (s0 << 16) + s1;
s5 = (s2 << 16) + s3;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
tab[510] = s4;
tab[511] = s5;
@@ -3181,18 +3181,18 @@
t4 = tab[2 * sa[0]];
t5 = tab[2 * sa[0] + 1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
*dp++ = (mlib_u16) (t4);
#else
*dp++ = (mlib_u16) (t4 >> 16);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
sa++;
da = (mlib_u32 *) dp;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
*da++ = (t4 >> 16) + (t5 << 16);
#else
*da++ = (t4 << 16) + (t5 >> 16);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0] << 3;
s1 = sa[1] << 3;
sa += 2;
@@ -3205,7 +3205,7 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab + s0 + 4);
t2 = *(mlib_u32 *) ((mlib_u8 *) tab + s1);
t3 = *(mlib_u32 *) ((mlib_u8 *) tab + s1 + 4);
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res1 = (t5 >> 16) + (t0 << 16);
res2 = (t0 >> 16) + (t1 << 16);
res3 = (t1 >> 16) + (t2 << 16);
@@ -3215,7 +3215,7 @@
res2 = (t0 << 16) + (t1 >> 16);
res3 = (t1 << 16) + (t2 >> 16);
res4 = (t2 << 16) + (t3 >> 16);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0] << 3;
s1 = sa[1] << 3;
da[0] = res1;
@@ -3229,7 +3229,7 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab + s0 + 4);
t2 = *(mlib_u32 *) ((mlib_u8 *) tab + s1);
t3 = *(mlib_u32 *) ((mlib_u8 *) tab + s1 + 4);
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
res1 = (t5 >> 16) + (t0 << 16);
res2 = (t0 >> 16) + (t1 << 16);
res3 = (t1 >> 16) + (t2 << 16);
@@ -3239,36 +3239,36 @@
res2 = (t0 << 16) + (t1 >> 16);
res3 = (t1 << 16) + (t2 >> 16);
res4 = (t2 << 16) + (t3 >> 16);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
da[0] = res1;
da[1] = res2;
da[2] = res3;
da[3] = res4;
da += 4;
dp = (mlib_u16 *) da;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
dp[0] = (mlib_u16) (t3 >> 16);
#else
dp[0] = (mlib_u16) t3;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
if ((size & 1) == 0) {
t0 = tab[2 * sa[0]];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
dp[2] = (mlib_u16) (t0 >> 16);
dp[1] = (mlib_u16) t0;
#else
dp[1] = (mlib_u16) (t0 >> 16);
dp[2] = (mlib_u16) t0;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
t0 = tab[2 * sa[0] + 1];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
dp[4] = (mlib_u16) (t0 >> 16);
dp[3] = (mlib_u16) t0;
#else
dp[3] = (mlib_u16) (t0 >> 16);
dp[4] = (mlib_u16) t0;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
}
}
}
@@ -3439,7 +3439,7 @@
#pragma pipeloop(0)
#endif /* __SUNPRO_C */
for (i = 0; i < size - 7; i += 4, dp += 8, sa++) {
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 << 2) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 << 2) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 6) & 0x3FC));
@@ -3449,12 +3449,12 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 22) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 14) & 0x3FC));
t3 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 14) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[0] = t0;
dp[1] = t1;
dp[2] = t2;
dp[3] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 14) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 14) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 22) & 0x3FC));
@@ -3464,7 +3464,7 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 6) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 << 2) & 0x3FC));
t3 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 << 2) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
dp[4] = t0;
dp[5] = t1;
@@ -3472,7 +3472,7 @@
dp[7] = t3;
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 << 2) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 << 2) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 6) & 0x3FC));
@@ -3482,12 +3482,12 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 22) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 14) & 0x3FC));
t3 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 14) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[0] = t0;
dp[1] = t1;
dp[2] = t2;
dp[3] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 14) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 14) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 22) & 0x3FC));
@@ -3497,7 +3497,7 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 6) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 << 2) & 0x3FC));
t3 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 << 2) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[4] = t0;
dp[5] = t1;
dp[6] = t2;
@@ -3545,7 +3545,7 @@
#pragma pipeloop(0)
#endif /* __SUNPRO_C */
for (i = 0; i < size - 7; i += 4, dp += 12, sa++) {
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 << 2) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 << 2) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 << 2) & 0x3FC));
@@ -3559,14 +3559,14 @@
t3 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 14) & 0x3FC));
t4 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 14) & 0x3FC));
t5 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 14) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[0] = t0;
dp[1] = t1;
dp[2] = t2;
dp[3] = t3;
dp[4] = t4;
dp[5] = t5;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 14) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 14) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 14) & 0x3FC));
@@ -3580,7 +3580,7 @@
t3 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 << 2) & 0x3FC));
t4 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 << 2) & 0x3FC));
t5 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 << 2) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
dp[6] = t0;
dp[7] = t1;
@@ -3590,7 +3590,7 @@
dp[11] = t5;
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 << 2) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 << 2) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 << 2) & 0x3FC));
@@ -3604,14 +3604,14 @@
t3 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 14) & 0x3FC));
t4 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 14) & 0x3FC));
t5 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 14) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[0] = t0;
dp[1] = t1;
dp[2] = t2;
dp[3] = t3;
dp[4] = t4;
dp[5] = t5;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 14) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 14) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 14) & 0x3FC));
@@ -3625,7 +3625,7 @@
t3 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 << 2) & 0x3FC));
t4 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 << 2) & 0x3FC));
t5 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 << 2) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[6] = t0;
dp[7] = t1;
dp[8] = t2;
@@ -3678,7 +3678,7 @@
#pragma pipeloop(0)
#endif /* __SUNPRO_C */
for (i = 0; i < size - 7; i += 4, dp += 16, sa++) {
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 << 2) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 << 2) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 << 2) & 0x3FC));
@@ -3688,12 +3688,12 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 22) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 22) & 0x3FC));
t3 = *(mlib_u32 *) ((mlib_u8 *) tab3 + ((s0 >> 22) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[0] = t0;
dp[1] = t1;
dp[2] = t2;
dp[3] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 6) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 6) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 6) & 0x3FC));
@@ -3703,12 +3703,12 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 14) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 14) & 0x3FC));
t3 = *(mlib_u32 *) ((mlib_u8 *) tab3 + ((s0 >> 14) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[4] = t0;
dp[5] = t1;
dp[6] = t2;
dp[7] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 14) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 14) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 14) & 0x3FC));
@@ -3718,12 +3718,12 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 6) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 6) & 0x3FC));
t3 = *(mlib_u32 *) ((mlib_u8 *) tab3 + ((s0 >> 6) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[8] = t0;
dp[9] = t1;
dp[10] = t2;
dp[11] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 22) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 22) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 22) & 0x3FC));
@@ -3733,7 +3733,7 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 << 2) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 << 2) & 0x3FC));
t3 = *(mlib_u32 *) ((mlib_u8 *) tab3 + ((s0 << 2) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
s0 = sa[0];
dp[12] = t0;
dp[13] = t1;
@@ -3741,7 +3741,7 @@
dp[15] = t3;
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 << 2) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 << 2) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 << 2) & 0x3FC));
@@ -3751,12 +3751,12 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 22) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 22) & 0x3FC));
t3 = *(mlib_u32 *) ((mlib_u8 *) tab3 + ((s0 >> 22) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[0] = t0;
dp[1] = t1;
dp[2] = t2;
dp[3] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 6) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 6) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 6) & 0x3FC));
@@ -3766,12 +3766,12 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 14) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 14) & 0x3FC));
t3 = *(mlib_u32 *) ((mlib_u8 *) tab3 + ((s0 >> 14) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[4] = t0;
dp[5] = t1;
dp[6] = t2;
dp[7] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 14) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 14) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 14) & 0x3FC));
@@ -3781,12 +3781,12 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 6) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 6) & 0x3FC));
t3 = *(mlib_u32 *) ((mlib_u8 *) tab3 + ((s0 >> 6) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[8] = t0;
dp[9] = t1;
dp[10] = t2;
dp[11] = t3;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
t0 = *(mlib_u32 *) ((mlib_u8 *) tab0 + ((s0 >> 22) & 0x3FC));
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 >> 22) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 >> 22) & 0x3FC));
@@ -3796,7 +3796,7 @@
t1 = *(mlib_u32 *) ((mlib_u8 *) tab1 + ((s0 << 2) & 0x3FC));
t2 = *(mlib_u32 *) ((mlib_u8 *) tab2 + ((s0 << 2) & 0x3FC));
t3 = *(mlib_u32 *) ((mlib_u8 *) tab3 + ((s0 << 2) & 0x3FC));
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
dp[12] = t0;
dp[13] = t1;
dp[14] = t2;
--- ./jdk/src/share/native/sun/awt/medialib/mlib_image.h Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/mlib_image.h Wed Nov 05 12:14:24 2014 -0800
@@ -27,9 +27,6 @@
#ifndef MLIB_IMAGE_H
#define MLIB_IMAGE_H
-#ifdef MACOSX
-#include <machine/endian.h>
-#endif
#include <mlib_types.h>
#include <mlib_status.h>
#include <mlib_sys.h>
--- ./jdk/src/share/native/sun/awt/medialib/mlib_sys.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/awt/medialib/mlib_sys.c Wed Nov 05 12:14:24 2014 -0800
@@ -29,7 +29,7 @@
#ifdef MACOSX
#include <unistd.h>
#include <sys/param.h>
-#else
+#elif !defined(_ALLBSD_SOURCE)
#include <malloc.h>
#endif
#include <mlib_types.h>
@@ -97,6 +97,9 @@
return (void *) malloc(size);
#elif defined(MACOSX)
return valloc(size);
+#elif defined(_ALLBSD_SOURCE)
+ void *ret;
+ return posix_memalign(&ret, 8, size) ? NULL : ret;
#else
return (void *) memalign(8, size);
#endif /* _MSC_VER */
--- ./jdk/src/share/native/sun/font/layout/LEStandalone.h Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/font/layout/LEStandalone.h Wed Nov 05 12:14:24 2014 -0800
@@ -136,7 +136,7 @@
#define U_CAPI extern "C"
#if !defined(U_IS_BIG_ENDIAN)
- #ifdef _LITTLE_ENDIAN
+ #ifdef VM_LITTLE_ENDIAN
#define U_IS_BIG_ENDIAN 0
#endif
#endif
--- ./jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/java2d/cmm/lcms/LCMS.c Wed Nov 05 12:14:24 2014 -0800
@@ -182,7 +182,7 @@
return 0L;
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
/* Reversing data packed into int for LE archs */
if (isInIntPacked) {
inFormatter ^= DOSWAP_SH(1);
--- ./jdk/src/share/native/sun/java2d/cmm/lcms/lcms2.h Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/java2d/cmm/lcms/lcms2.h Wed Nov 05 12:14:24 2014 -0800
@@ -202,7 +202,7 @@
// Try to detect big endian platforms. This list can be endless, so only some checks are performed over here.
// you can pass this toggle to the compiler by using -DCMS_USE_BIG_ENDIAN or something similar
-#if defined(_HOST_BIG_ENDIAN) || defined(__BIG_ENDIAN__) || defined(WORDS_BIGENDIAN)
+#if defined(_HOST_BIG_ENDIAN) || defined(__BIG_ENDIAN__) || defined(WORDS_BIGENDIAN) || defined(VM_BIG_ENDIAN)
# define CMS_USE_BIG_ENDIAN 1
#endif
--- ./jdk/src/share/native/sun/management/DiagnosticCommandImpl.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/share/native/sun/management/DiagnosticCommandImpl.c Wed Nov 05 12:14:24 2014 -0800
@@ -27,6 +27,7 @@
#include <jni.h>
#include "management.h"
#include "sun_management_DiagnosticCommandImpl.h"
+#include <stdlib.h>
JNIEXPORT void JNICALL Java_sun_management_DiagnosticCommandImpl_setNotificationEnabled
(JNIEnv *env, jobject dummy, jboolean enabled) {
--- ./jdk/src/solaris/back/util_md.h Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/back/util_md.h Wed Nov 05 12:14:24 2014 -0800
@@ -51,7 +51,7 @@
/* On little endian machines, convert java big endian numbers. */
-#if defined(_LITTLE_ENDIAN)
+#if defined(VM_LITTLE_ENDIAN)
#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 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/bin/ergo_i586.c Wed Nov 05 12:14:24 2014 -0800
@@ -106,7 +106,7 @@
#endif /* __solaris__ */
-#ifdef __linux__
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
/*
* A utility method for asking the CPU about itself.
@@ -197,7 +197,7 @@
(result == JNI_TRUE ? "true" : "false"));
return result;
}
-#endif /* __linux__ */
+#endif /* __linux__ || _ALLBSD_SOURCE */
/*
* Routines shared by solaris-i586 and linux-i586.
--- ./jdk/src/solaris/bin/java_md_solinux.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/bin/java_md_solinux.c Wed Nov 05 12:14:24 2014 -0800
@@ -306,9 +306,9 @@
if (llp == NULL && dmllp == NULL) {
return JNI_FALSE;
}
-#ifdef __linux
+#ifndef __solaris__
/*
- * On linux, if a binary is running as sgid or suid, glibc sets
+ * On linux and BSD, if a binary is running as sgid or suid, glibc/libc sets
* LD_LIBRARY_PATH to the empty string for security purposes. (In contrast,
* on Solaris the LD_LIBRARY_PATH variable for a privileged binary does not
* lose its settings; but the dynamic linker does apply more scrutiny to the
@@ -319,12 +319,18 @@
* libraries will be handled by the RPATH. In reality, this check is
* redundant, as the previous check for a non-null LD_LIBRARY_PATH will
* return back to the calling function forthwith, it is left here to safe
- * guard against any changes, in the glibc's existing security policy.
+ * guard against any changes, in the glibc/libc's existing security policy.
*/
+#ifndef _ALLBSD_SOURCE
if ((getgid() != getegid()) || (getuid() != geteuid())) {
return JNI_FALSE;
}
-#endif /* __linux */
+#else
+ if (issetugid()) {
+ return JNI_FALSE;
+ }
+#endif /* ! _ALLBSD_SOURCE */
+#endif /* ! __solaris__ */
/*
* Prevent recursions. Since LD_LIBRARY_PATH is the one which will be set by
@@ -919,8 +925,9 @@
* onwards the filename returned in DL_info structure from dladdr is
* an absolute pathname so technically realpath isn't required.
* On Linux we read the executable name from /proc/self/exe.
- * As a fallback, and for platforms other than Solaris and Linux,
- * we use FindExecName to compute the executable name.
+ * On FreeBSD we read the executable name from /proc/curproc/file.
+ * As a fallback, and for platforms other than Solaris, Linux, and
+ * FreeBSD, we use FindExecName to compute the executable name.
*/
const char*
SetExecname(char **argv)
@@ -947,9 +954,13 @@
}
}
}
-#elif defined(__linux__)
+#elif defined(__linux__) || defined(__FreeBSD__)
{
+#if defined(__FreeBSD__)
+ const char* self = "/proc/curproc/file";
+#else
const char* self = "/proc/self/exe";
+#endif
char buf[PATH_MAX+1];
int len = readlink(self, buf, PATH_MAX);
if (len >= 0) {
@@ -957,7 +968,7 @@
exec_path = JLI_StringDup(buf);
}
}
-#else /* !__solaris__ && !__linux__ */
+#else /* !__solaris__ && !__linux__ && !__FreeBSD__ */
{
/* Not implemented */
}
@@ -1063,13 +1074,13 @@
#define MAX_PID_STR_SZ 20
void SetJavaLauncherPlatformProps() {
- /* Linux only */
-#ifdef __linux__
+ /* Linux and BSD only */
+#ifndef __solaris__
const char *substr = "-Dsun.java.launcher.pid=";
char *pid_prop_str = (char *)JLI_MemAlloc(JLI_StrLen(substr) + MAX_PID_STR_SZ + 1);
sprintf(pid_prop_str, "%s%d", substr, getpid());
AddOption(pid_prop_str, NULL);
-#endif /* __linux__ */
+#endif /* ! __solaris__ */
}
int
--- ./jdk/src/solaris/bin/java_md_solinux.h Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/bin/java_md_solinux.h Wed Nov 05 12:14:24 2014 -0800
@@ -26,17 +26,26 @@
#ifndef JAVA_MD_SOLINUX_H
#define JAVA_MD_SOLINUX_H
-#ifdef HAVE_GETHRTIME
+#if defined(HAVE_GETHRTIME) || defined(__FreeBSD__)
/*
* Support for doing cheap, accurate interval timing.
*/
+#ifdef HAVE_GETHRTIME
#include <sys/time.h>
+#else /* __FreeBSD__ */
+#include <time.h>
+#define gethrtime() __extension__ ({ \
+ struct timespec tp; \
+ clock_gettime(CLOCK_MONOTONIC, &tp); \
+ (uint64_t)tp.tv_sec*1000000 + tp.tv_nsec/1000; \
+})
+#endif /* HAVE_GETHRTIME */
#define CounterGet() (gethrtime()/1000)
#define Counter2Micros(counts) (counts)
-#else /* ! HAVE_GETHRTIME */
+#else /* ! HAVE_GETHRTIME && ! __FreeBSD__ */
#define CounterGet() (0)
#define Counter2Micros(counts) (1)
-#endif /* HAVE_GETHRTIME */
+#endif /* HAVE_GETHRTIME || __FreeBSD__ */
/* pointer to environment */
extern char **environ;
@@ -48,6 +57,9 @@
#ifdef __solaris__
static const char *system_dir = "/usr/jdk";
static const char *user_dir = "/jdk";
+#elif defined(__FreeBSD__)
+static const char *system_dir = PACKAGE_PATH "/openjdk8";
+static const char *user_dir = "/java";
#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.bsd Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/classes/java/lang/UNIXProcess.java.bsd Wed Nov 05 12:14:24 2014 -0800
@@ -94,8 +94,9 @@
{
public LaunchMechanism run() {
String javahome = System.getProperty("java.home");
+ String osArch = System.getProperty("os.arch");
- helperpath = toCString(javahome + "/lib/jspawnhelper");
+ helperpath = toCString(javahome + "/lib/" + osArch + "/jspawnhelper");
String s = System.getProperty(
"jdk.lang.Process.launchMechanism", "posix_spawn");
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ ./jdk/src/solaris/classes/java/lang/UNIXProcess.java.macosx Wed Nov 05 12:14:24 2014 -0800
@@ -0,0 +1,408 @@
+/*
+ * Copyright (c) 1995, 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package java.lang;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.ByteArrayInputStream;
+import java.io.FileDescriptor;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.Arrays;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Executor;
+import java.util.concurrent.ThreadFactory;
+import java.util.concurrent.TimeUnit;
+import java.security.AccessController;
+import static java.security.AccessController.doPrivileged;
+import java.security.PrivilegedAction;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+
+/**
+ * java.lang.Process subclass in the UNIX environment.
+ *
+ * @author Mario Wolczko and Ross Knippel.
+ * @author Konstantin Kladko (ported to Bsd)
+ * @author Martin Buchholz
+ */
+final class UNIXProcess extends Process {
+ private static final sun.misc.JavaIOFileDescriptorAccess fdAccess
+ = sun.misc.SharedSecrets.getJavaIOFileDescriptorAccess();
+
+ private final int pid;
+ private int exitcode;
+ private boolean hasExited;
+
+ private /* final */ OutputStream stdin;
+ private /* final */ InputStream stdout;
+ private /* final */ InputStream stderr;
+
+ private static enum LaunchMechanism {
+ FORK(1),
+ POSIX_SPAWN(2);
+
+ private int value;
+ LaunchMechanism(int x) {value = x;}
+ };
+
+ /* On BSD, the default is to spawn */
+ private static final LaunchMechanism launchMechanism;
+ private static byte[] helperpath;
+
+ private static byte[] toCString(String s) {
+ if (s == null)
+ return null;
+ byte[] bytes = s.getBytes();
+ byte[] result = new byte[bytes.length + 1];
+ System.arraycopy(bytes, 0,
+ result, 0,
+ bytes.length);
+ result[result.length-1] = (byte)0;
+ return result;
+ }
+
+ static {
+ launchMechanism = AccessController.doPrivileged(
+ new PrivilegedAction<LaunchMechanism>()
+ {
+ public LaunchMechanism run() {
+ String javahome = System.getProperty("java.home");
+
+ helperpath = toCString(javahome + "/lib/jspawnhelper");
+ String s = System.getProperty(
+ "jdk.lang.Process.launchMechanism", "posix_spawn");
+
+ try {
+ return LaunchMechanism.valueOf(s.toUpperCase());
+ } catch (IllegalArgumentException e) {
+ throw new Error(s + " is not a supported " +
+ "process launch mechanism on this platform.");
+ }
+ }
+ });
+ }
+
+ /* this is for the reaping thread */
+ private native int waitForProcessExit(int pid);
+
+ /**
+ * Create a process. Depending on the mode flag, this is done by
+ * one of the following mechanisms.
+ * - fork(2) and exec(2)
+ * - posix_spawn(2)
+ *
+ * @param fds an array of three file descriptors.
+ * Indexes 0, 1, and 2 correspond to standard input,
+ * standard output and standard error, respectively. On
+ * input, a value of -1 means to create a pipe to connect
+ * child and parent processes. On output, a value which
+ * is not -1 is the parent pipe fd corresponding to the
+ * pipe which has been created. An element of this array
+ * is -1 on input if and only if it is <em>not</em> -1 on
+ * output.
+ * @return the pid of the subprocess
+ */
+ private native int forkAndExec(int mode, byte[] helperpath,
+ byte[] prog,
+ byte[] argBlock, int argc,
+ byte[] envBlock, int envc,
+ byte[] dir,
+ int[] fds,
+ boolean redirectErrorStream)
+ throws IOException;
+
+ /**
+ * The thread factory used to create "process reaper" daemon threads.
+ */
+ private static class ProcessReaperThreadFactory implements ThreadFactory {
+ private final static ThreadGroup group = getRootThreadGroup();
+
+ private static ThreadGroup getRootThreadGroup() {
+ return doPrivileged(new PrivilegedAction<ThreadGroup> () {
+ public ThreadGroup run() {
+ ThreadGroup root = Thread.currentThread().getThreadGroup();
+ while (root.getParent() != null)
+ root = root.getParent();
+ return root;
+ }});
+ }
+
+ public Thread newThread(Runnable grimReaper) {
+ // Our thread stack requirement is quite modest.
+ Thread t = new Thread(group, grimReaper, "process reaper", 32768);
+ t.setDaemon(true);
+ // A small attempt (probably futile) to avoid priority inversion
+ t.setPriority(Thread.MAX_PRIORITY);
+ return t;
+ }
+ }
+
+ /**
+ * The thread pool of "process reaper" daemon threads.
+ */
+ private static final Executor processReaperExecutor =
+ doPrivileged(new PrivilegedAction<Executor>() {
+ public Executor run() {
+ return Executors.newCachedThreadPool
+ (new ProcessReaperThreadFactory());
+ }});
+
+ UNIXProcess(final byte[] prog,
+ final byte[] argBlock, final int argc,
+ final byte[] envBlock, final int envc,
+ final byte[] dir,
+ final int[] fds,
+ final boolean redirectErrorStream)
+ throws IOException {
+
+ pid = forkAndExec(launchMechanism.value,
+ helperpath,
+ prog,
+ argBlock, argc,
+ envBlock, envc,
+ dir,
+ fds,
+ redirectErrorStream);
+
+ try {
+ doPrivileged(new PrivilegedExceptionAction<Void>() {
+ public Void run() throws IOException {
+ initStreams(fds);
+ return null;
+ }});
+ } catch (PrivilegedActionException ex) {
+ throw (IOException) ex.getException();
+ }
+ }
+
+ static FileDescriptor newFileDescriptor(int fd) {
+ FileDescriptor fileDescriptor = new FileDescriptor();
+ fdAccess.set(fileDescriptor, fd);
+ return fileDescriptor;
+ }
+
+ void initStreams(int[] fds) throws IOException {
+ stdin = (fds[0] == -1) ?
+ ProcessBuilder.NullOutputStream.INSTANCE :
+ new ProcessPipeOutputStream(fds[0]);
+
+ stdout = (fds[1] == -1) ?
+ ProcessBuilder.NullInputStream.INSTANCE :
+ new ProcessPipeInputStream(fds[1]);
+
+ stderr = (fds[2] == -1) ?
+ ProcessBuilder.NullInputStream.INSTANCE :
+ new ProcessPipeInputStream(fds[2]);
+
+ processReaperExecutor.execute(new Runnable() {
+ public void run() {
+ int exitcode = waitForProcessExit(pid);
+ UNIXProcess.this.processExited(exitcode);
+ }});
+ }
+
+ void processExited(int exitcode) {
+ synchronized (this) {
+ this.exitcode = exitcode;
+ hasExited = true;
+ notifyAll();
+ }
+
+ if (stdout instanceof ProcessPipeInputStream)
+ ((ProcessPipeInputStream) stdout).processExited();
+
+ if (stderr instanceof ProcessPipeInputStream)
+ ((ProcessPipeInputStream) stderr).processExited();
+
+ if (stdin instanceof ProcessPipeOutputStream)
+ ((ProcessPipeOutputStream) stdin).processExited();
+ }
+
+ public OutputStream getOutputStream() {
+ return stdin;
+ }
+
+ public InputStream getInputStream() {
+ return stdout;
+ }
+
+ public InputStream getErrorStream() {
+ return stderr;
+ }
+
+ public synchronized int waitFor() throws InterruptedException {
+ while (!hasExited) {
+ wait();
+ }
+ return exitcode;
+ }
+
+ @Override
+ public synchronized boolean waitFor(long timeout, TimeUnit unit)
+ throws InterruptedException
+ {
+ if (hasExited) return true;
+ if (timeout <= 0) return false;
+
+ long timeoutAsNanos = unit.toNanos(timeout);
+ long startTime = System.nanoTime();
+ long rem = timeoutAsNanos;
+
+ while (!hasExited && (rem > 0)) {
+ wait(Math.max(TimeUnit.NANOSECONDS.toMillis(rem), 1));
+ rem = timeoutAsNanos - (System.nanoTime() - startTime);
+ }
+ return hasExited;
+ }
+
+ public synchronized int exitValue() {
+ if (!hasExited) {
+ throw new IllegalThreadStateException("process hasn't exited");
+ }
+ return exitcode;
+ }
+
+ private static native void destroyProcess(int pid, boolean force);
+ private void destroy(boolean force) {
+ // There is a risk that pid will be recycled, causing us to
+ // kill the wrong process! So we only terminate processes
+ // that appear to still be running. Even with this check,
+ // there is an unavoidable race condition here, but the window
+ // is very small, and OSes try hard to not recycle pids too
+ // soon, so this is quite safe.
+ synchronized (this) {
+ if (!hasExited)
+ destroyProcess(pid, force);
+ }
+ try { stdin.close(); } catch (IOException ignored) {}
+ try { stdout.close(); } catch (IOException ignored) {}
+ try { stderr.close(); } catch (IOException ignored) {}
+ }
+
+ public void destroy() {
+ destroy(false);
+ }
+
+ @Override
+ public Process destroyForcibly() {
+ destroy(true);
+ return this;
+ }
+
+ @Override
+ public synchronized boolean isAlive() {
+ return !hasExited;
+ }
+
+ private static native void init();
+
+ static {
+ init();
+ }
+
+ /**
+ * A buffered input stream for a subprocess pipe file descriptor
+ * that allows the underlying file descriptor to be reclaimed when
+ * the process exits, via the processExited hook.
+ *
+ * This is tricky because we do not want the user-level InputStream to be
+ * closed until the user invokes close(), and we need to continue to be
+ * able to read any buffered data lingering in the OS pipe buffer.
+ */
+ static class ProcessPipeInputStream extends BufferedInputStream {
+ private final Object closeLock = new Object();
+
+ ProcessPipeInputStream(int fd) {
+ super(new FileInputStream(newFileDescriptor(fd)));
+ }
+ private static byte[] drainInputStream(InputStream in)
+ throws IOException {
+ int n = 0;
+ int j;
+ byte[] a = null;
+ while ((j = in.available()) > 0) {
+ a = (a == null) ? new byte[j] : Arrays.copyOf(a, n + j);
+ n += in.read(a, n, j);
+ }
+ return (a == null || n == a.length) ? a : Arrays.copyOf(a, n);
+ }
+
+ /** Called by the process reaper thread when the process exits. */
+ synchronized void processExited() {
+ synchronized (closeLock) {
+ try {
+ InputStream in = this.in;
+ // this stream is closed if and only if: in == null
+ if (in != null) {
+ byte[] stragglers = drainInputStream(in);
+ in.close();
+ this.in = (stragglers == null) ?
+ ProcessBuilder.NullInputStream.INSTANCE :
+ new ByteArrayInputStream(stragglers);
+ }
+ } catch (IOException ignored) {}
+ }
+ }
+
+ @Override
+ public void close() throws IOException {
+ // BufferedInputStream#close() is not synchronized unlike most other methods.
+ // Synchronizing helps avoid race with processExited().
+ synchronized (closeLock) {
+ super.close();
+ }
+ }
+ }
+
+ /**
+ * A buffered output stream for a subprocess pipe file descriptor
+ * that allows the underlying file descriptor to be reclaimed when
+ * the process exits, via the processExited hook.
+ */
+ static class ProcessPipeOutputStream extends BufferedOutputStream {
+ ProcessPipeOutputStream(int fd) {
+ super(new FileOutputStream(newFileDescriptor(fd)));
+ }
+
+ /** Called by the process reaper thread when the process exits. */
+ synchronized void processExited() {
+ OutputStream out = this.out;
+ if (out != null) {
+ try {
+ out.close();
+ } catch (IOException ignored) {
+ // We know of no reason to get an IOException, but if
+ // we do, there's nothing else to do but carry on.
+ }
+ this.out = ProcessBuilder.NullOutputStream.INSTANCE;
+ }
+ }
+ }
+}
--- ./jdk/src/solaris/classes/sun/awt/X11FontManager.java Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/classes/sun/awt/X11FontManager.java Wed Nov 05 12:14:24 2014 -0800
@@ -213,7 +213,7 @@
if (fontID != null) {
fileName = (String)fontNameMap.get(fontID);
/* On Linux check for the Lucida Oblique fonts */
- if (fileName == null && FontUtilities.isLinux && !isOpenJDK()) {
+ if (fileName == null && (FontUtilities.isLinux || FontUtilities.isBSD) && !isOpenJDK()) {
if (oblmap == null) {
initObliqueLucidaFontMap();
}
@@ -712,7 +712,7 @@
if (fontConfigDirs == null) {
return;
}
- if (FontUtilities.isLinux) {
+ if (FontUtilities.isLinux || FontUtilities.isBSD) {
fontConfigDirs.add(jreLibDirName+File.separator+"oblique-fonts");
}
fontdirs = (String[])fontConfigDirs.toArray(new String[0]);
@@ -740,7 +740,7 @@
*/
FontConfiguration mFontConfig = new MFontConfiguration(this);
if (FontUtilities.isOpenSolaris ||
- (FontUtilities.isLinux &&
+ ((FontUtilities.isLinux || FontUtilities.isBSD) &&
(!mFontConfig.foundOsSpecificFile() ||
!mFontConfig.fontFilesArePresent()) ||
(FontUtilities.isSolaris && !mFontConfig.fontFilesArePresent()))) {
--- ./jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/classes/sun/awt/fontconfigs/bsd.fontconfig.properties Wed Nov 05 12:14:24 2014 -0800
@@ -26,134 +26,134 @@
# Version
-# Uses Fedora Core 6 fonts and file paths.
+# Uses FreeBSD ports Tree fonts and file paths.
version=1
# Component Font Mappings
-dialog.plain.latin-1=DejaVu LGC Sans
+dialog.plain.latin-1=DejaVu Sans
dialog.plain.japanese-x0208=Sazanami Gothic
-dialog.plain.korean=Baekmuk Gulim
-dialog.plain.chinese-big5=AR PL ShanHeiSun Uni
-dialog.plain.chinese-gb18030=AR PL ShanHeiSun Uni
+dialog.plain.korean=NanumGothic
+dialog.plain.chinese-big5=AR PL UMing
+dialog.plain.chinese-gb18030=AR PL UMing
-dialog.bold.latin-1=DejaVu LGC Sans Bold
+dialog.bold.latin-1=DejaVu Sans Bold
dialog.bold.japanese-x0208=Sazanami Gothic
-dialog.bold.korean=Baekmuk Gulim
-dialog.bold.chinese-big5=AR PL ShanHeiSun Uni
-dialog.bold.chinese-gb18030=AR PL ShanHeiSun Uni
+dialog.bold.korean=NanumGothic Bold
+dialog.bold.chinese-big5=AR PL UMing
+dialog.bold.chinese-gb18030=AR PL UMing
-dialog.italic.latin-1=DejaVu LGC Sans Oblique
+dialog.italic.latin-1=DejaVu Sans Oblique
dialog.italic.japanese-x0208=Sazanami Gothic
-dialog.italic.korean=Baekmuk Gulim
-dialog.italic.chinese-big5=AR PL ShanHeiSun Uni
-dialog.italic.chinese-gb18030=AR PL ShanHeiSun Uni
+dialog.italic.korean=NanumGothic
+dialog.italic.chinese-big5=AR PL UMing
+dialog.italic.chinese-gb18030=AR PL UMing
-dialog.bolditalic.latin-1=DejaVu LGC Sans Bold Oblique
+dialog.bolditalic.latin-1=DejaVu Sans Bold Oblique
dialog.bolditalic.japanese-x0208=Sazanami Gothic
-dialog.bolditalic.korean=Baekmuk Gulim
-dialog.bolditalic.chinese-big5=AR PL ShanHeiSun Uni
-dialog.bolditalic.chinese-gb18030=AR PL ShanHeiSun Uni
+dialog.bolditalic.korean=NanumGothic Bold
+dialog.bolditalic.chinese-big5=AR PL UMing
+dialog.bolditalic.chinese-gb18030=AR PL UMing
-sansserif.plain.latin-1=DejaVu LGC Sans
+sansserif.plain.latin-1=DejaVu Sans
sansserif.plain.japanese-x0208=Sazanami Gothic
-sansserif.plain.korean=Baekmuk Gulim
-sansserif.plain.chinese-big5=AR PL ShanHeiSun Uni
-sansserif.plain.chinese-gb18030=AR PL ShanHeiSun Uni
+sansserif.plain.korean=NanumGothic
+sansserif.plain.chinese-big5=AR PL UMing
+sansserif.plain.chinese-gb18030=AR PL UMing
-sansserif.bold.latin-1=DejaVu LGC Sans Bold
+sansserif.bold.latin-1=DejaVu Sans Bold
sansserif.bold.japanese-x0208=Sazanami Gothic
-sansserif.bold.korean=Baekmuk Gulim
-sansserif.bold.chinese-big5=AR PL ShanHeiSun Uni
-sansserif.bold.chinese-gb18030=AR PL ShanHeiSun Uni
+sansserif.bold.korean=NanumGothic Bold
+sansserif.bold.chinese-big5=AR PL UMing
+sansserif.bold.chinese-gb18030=AR PL UMing
-sansserif.italic.latin-1=DejaVu LGC Sans Oblique
+sansserif.italic.latin-1=DejaVu Sans Oblique
sansserif.italic.japanese-x0208=Sazanami Gothic
-sansserif.italic.korean=Baekmuk Gulim
-sansserif.italic.chinese-big5=AR PL ShanHeiSun Uni
-sansserif.italic.chinese-gb18030=AR PL ShanHeiSun Uni
+sansserif.italic.korean=NanumGothic
+sansserif.italic.chinese-big5=AR PL UMing
+sansserif.italic.chinese-gb18030=AR PL UMing
-sansserif.bolditalic.latin-1=DejaVu LGC Sans Bold Oblique
+sansserif.bolditalic.latin-1=DejaVu Sans Bold Oblique
sansserif.bolditalic.japanese-x0208=Sazanami Gothic
-sansserif.bolditalic.korean=Baekmuk Gulim
-sansserif.bolditalic.chinese-big5=AR PL ShanHeiSun Uni
-sansserif.bolditalic.chinese-gb18030=AR PL ShanHeiSun Uni
+sansserif.bolditalic.korean=NanumGothic Bold
+sansserif.bolditalic.chinese-big5=AR PL UMing
+sansserif.bolditalic.chinese-gb18030=AR PL UMing
-serif.plain.latin-1=DejaVu LGC Serif
+serif.plain.latin-1=DejaVu Serif
serif.plain.japanese-x0208=Sazanami Mincho
-serif.plain.korean=Baekmuk Batang
-serif.plain.chinese-big5=AR PL ZenKai Uni
-serif.plain.chinese-gb18030=AR PL ZenKai Uni
+serif.plain.korean=NanumMyeongjo
+serif.plain.chinese-big5=AR PL UKai
+serif.plain.chinese-gb18030=AR PL UKai
-serif.bold.latin-1=DejaVu LGC Serif Bold
+serif.bold.latin-1=DejaVu Serif Bold
serif.bold.japanese-x0208=Sazanami Mincho
-serif.bold.korean=Baekmuk Batang
-serif.bold.chinese-big5=AR PL ZenKai Uni
-serif.bold.chinese-gb18030=AR PL ZenKai Uni
+serif.bold.korean=NanumMyeongjo Bold
+serif.bold.chinese-big5=AR PL UKai
+serif.bold.chinese-gb18030=AR PL UKai
-serif.italic.latin-1=DejaVu LGC Serif Oblique
+serif.italic.latin-1=DejaVu Serif Italic
serif.italic.japanese-x0208=Sazanami Mincho
-serif.italic.korean=Baekmuk Batang
-serif.italic.chinese-big5=AR PL ZenKai Uni
-serif.italic.chinese-gb18030=AR PL ZenKai Uni
+serif.italic.korean=NanumMyeongjo
+serif.italic.chinese-big5=AR PL UKai
+serif.italic.chinese-gb18030=AR PL UKai
-serif.bolditalic.latin-1=DejaVu LGC Serif Bold Oblique
+serif.bolditalic.latin-1=DejaVu Serif Bold Italic
serif.bolditalic.japanese-x0208=Sazanami Mincho
-serif.bolditalic.korean=Baekmuk Batang
-serif.bolditalic.chinese-big5=AR PL ZenKai Uni
-serif.bolditalic.chinese-gb18030=AR PL ZenKai Uni
+serif.bolditalic.korean=NanumMyeongjo Bold
+serif.bolditalic.chinese-big5=AR PL UKai
+serif.bolditalic.chinese-gb18030=AR PL UKai
-monospaced.plain.latin-1=DejaVu LGC Sans Mono
+monospaced.plain.latin-1=DejaVu Sans Mono
monospaced.plain.japanese-x0208=Sazanami Gothic
-monospaced.plain.korean=Baekmuk Gulim
-monospaced.plain.chinese-big5=AR PL ShanHeiSun Uni
-monospaced.plain.chinese-gb18030=AR PL ShanHeiSun Uni
+monospaced.plain.korean=NanumGothic
+monospaced.plain.chinese-big5=AR PL UMing
+monospaced.plain.chinese-gb18030=AR PL UMing
-monospaced.bold.latin-1=DejaVu LGC Sans Mono Bold
+monospaced.bold.latin-1=DejaVu Sans Mono Bold
monospaced.bold.japanese-x0208=Sazanami Gothic
-monospaced.bold.korean=Baekmuk Gulim
-monospaced.bold.chinese-big5=AR PL ShanHeiSun Uni
-monospaced.bold.chinese-gb18030=AR PL ShanHeiSun Uni
+monospaced.bold.korean=NanumGothic Bold
+monospaced.bold.chinese-big5=AR PL UMing
+monospaced.bold.chinese-gb18030=AR PL UMing
-monospaced.italic.latin-1=DejaVu LGC Sans Mono Oblique
+monospaced.italic.latin-1=DejaVu Sans Mono Oblique
monospaced.italic.japanese-x0208=Sazanami Gothic
-monospaced.italic.korean=Baekmuk Gulim
-monospaced.italic.chinese-big5=AR PL ShanHeiSun Uni
-monospaced.italic.chinese-gb18030=AR PL ShanHeiSun Uni
+monospaced.italic.korean=NanumGothic
+monospaced.italic.chinese-big5=AR PL UMing
+monospaced.italic.chinese-gb18030=AR PL UMing
-monospaced.bolditalic.latin-1=DejaVu LGC Sans Mono Bold Oblique
+monospaced.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique
monospaced.bolditalic.japanese-x0208=Sazanami Gothic
-monospaced.bolditalic.korean=Baekmuk Gulim
-monospaced.bolditalic.chinese-big5=AR PL ShanHeiSun Uni
-monospaced.bolditalic.chinese-gb18030=AR PL ShanHeiSun Uni
+monospaced.bolditalic.korean=NanumGothic Bold
+monospaced.bolditalic.chinese-big5=AR PL UMing
+monospaced.bolditalic.chinese-gb18030=AR PL UMing
-dialoginput.plain.latin-1=DejaVu LGC Sans Mono
+dialoginput.plain.latin-1=DejaVu Sans Mono
dialoginput.plain.japanese-x0208=Sazanami Gothic
-dialoginput.plain.korean=Baekmuk Gulim
-dialoginput.plain.chinese-big5=AR PL ShanHeiSun Uni
-dialoginput.plain.chinese-gb18030=AR PL ShanHeiSun Uni
+dialoginput.plain.korean=NanumGothic
+dialoginput.plain.chinese-big5=AR PL UMing
+dialoginput.plain.chinese-gb18030=AR PL UMing
-dialoginput.bold.latin-1=DejaVu LGC Sans Mono Bold
+dialoginput.bold.latin-1=DejaVu Sans Mono Bold
dialoginput.bold.japanese-x0208=Sazanami Gothic
-dialoginput.bold.korean=Baekmuk Gulim
-dialoginput.bold.chinese-big5=AR PL ShanHeiSun Uni
-dialoginput.bold.chinese-gb18030=AR PL ShanHeiSun Uni
+dialoginput.bold.korean=NanumGothic Bold
+dialoginput.bold.chinese-big5=AR PL UMing
+dialoginput.bold.chinese-gb18030=AR PL UMing
-dialoginput.italic.latin-1=DejaVu LGC Sans Mono Oblique
+dialoginput.italic.latin-1=DejaVu Sans Mono Oblique
dialoginput.italic.japanese-x0208=Sazanami Gothic
-dialoginput.italic.korean=Baekmuk Gulim
-dialoginput.italic.chinese-big5=AR PL ShanHeiSun Uni
-dialoginput.italic.chinese-gb18030=AR PL ShanHeiSun Uni
+dialoginput.italic.korean=NanumGothic
+dialoginput.italic.chinese-big5=AR PL UMing
+dialoginput.italic.chinese-gb18030=AR PL UMing
-dialoginput.bolditalic.latin-1=DejaVu LGC Sans Mono Bold Oblique
+dialoginput.bolditalic.latin-1=DejaVu Sans Mono Bold Oblique
dialoginput.bolditalic.japanese-x0208=Sazanami Gothic
-dialoginput.bolditalic.korean=Baekmuk Gulim
-dialoginput.bolditalic.chinese-big5=AR PL ShanHeiSun Uni
-dialoginput.bolditalic.chinese-gb18030=AR PL ShanHeiSun Uni
+dialoginput.bolditalic.korean=NanumGothic Bold
+dialoginput.bolditalic.chinese-big5=AR PL UMing
+dialoginput.bolditalic.chinese-gb18030=AR PL UMing
# Search Sequences
@@ -166,24 +166,27 @@
# Font File Names
-filename.DejaVu_LGC_Sans=/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf
-filename.DejaVu_LGC_Sans_Bold=/usr/share/fonts/dejavu-lgc/DejaVuLGCSans-Bold.ttf
-filename.DejaVu_LGC_Sans_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSans-Oblique.ttf
-filename.DejaVu_LGC_Sans_Bold_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSans-BoldOblique.ttf
+## FIXME: Should not hardcode /usr/local
+filename.DejaVu_Sans=/usr/local/lib/X11/fonts/dejavu/DejaVuSans.ttf
+filename.DejaVu_Sans_Bold=/usr/local/lib/X11/fonts/dejavu/DejaVuSans-Bold.ttf
+filename.DejaVu_Sans_Oblique=/usr/local/lib/X11/fonts/dejavu/DejaVuSans-Oblique.ttf
+filename.DejaVu_Sans_Bold_Oblique=/usr/local/lib/X11/fonts/dejavu/DejaVuSans-BoldOblique.ttf
-filename.DejaVu_LGC_Sans_Mono=/usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono.ttf
-filename.DejaVu_LGC_Sans_Mono_Bold=/usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono-Bold.ttf
-filename.DejaVu_LGC_Sans_Mono_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono-Oblique.ttf
-filename.DejaVu_LGC_Sans_Mono_Bold_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono-BoldOblique.ttf
+filename.DejaVu_Sans_Mono=/usr/local/lib/X11/fonts/dejavu/DejaVuSansMono.ttf
+filename.DejaVu_Sans_Mono_Bold=/usr/local/lib/X11/fonts/dejavu/DejaVuSansMono-Bold.ttf
+filename.DejaVu_Sans_Mono_Oblique=/usr/local/lib/X11/fonts/dejavu/DejaVuSansMono-Oblique.ttf
+filename.DejaVu_Sans_Mono_Bold_Oblique=/usr/local/lib/X11/fonts/dejavu/DejaVuSansMono-BoldOblique.ttf
-filename.DejaVu_LGC_Serif=/usr/share/fonts/dejavu-lgc/DejaVuLGCSerif.ttf
-filename.DejaVu_LGC_Serif_Bold=/usr/share/fonts/dejavu-lgc/DejaVuLGCSerif-Bold.ttf
-filename.DejaVu_LGC_Serif_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSerif-Oblique.ttf
-filename.DejaVu_LGC_Serif_Bold_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSerif-BoldOblique.ttf
+filename.DejaVu_Serif=/usr/local/lib/X11/fonts/dejavu/DejaVuSerif.ttf
+filename.DejaVu_Serif_Bold=/usr/local/lib/X11/fonts/dejavu/DejaVuSerif-Bold.ttf
+filename.DejaVu_Serif_Italic=/usr/local/lib/X11/fonts/dejavu/DejaVuSerif-Italic.ttf
+filename.DejaVu_Serif_Bold_Italic=/usr/local/lib/X11/fonts/dejavu/DejaVuSerif-BoldItalic.ttf
-filename.Sazanami_Gothic=/usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
-filename.Sazanami_Mincho=/usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf
-filename.AR_PL_ShanHeiSun_Uni=/usr/share/fonts/chinese/TrueType/uming.ttf
-filename.AR_PL_ZenKai_Uni=/usr/share/fonts/chinese/TrueType/ukai.ttf
-filename.Baekmuk_Gulim=/usr/share/fonts/korean/TrueType/gulim.ttf
-filename.Baekmuk_Batang=/usr/share/fonts/korean/TrueType/batang.ttf
+filename.Sazanami_Gothic=/usr/local/share/font-sazanami/sazanami-gothic.ttf
+filename.Sazanami_Mincho=/usr/local/share/font-sazanami/sazanami-mincho.ttf
+filename.AR_PL_ShanHeiSun_Uni=/usr/local/share/fonts/TrueType/uming.ttc
+filename.AR_PL_ZenKai_Uni=/usr/local/share/fonts/TrueType/ukai.ttc
+filename.NanumGothic=/usr/local/lib/X11/fonts/nanum-ttf/NanumGothic.ttf
+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 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/classes/sun/net/PortConfig.java Wed Nov 05 12:14:24 2014 -0800
@@ -52,7 +52,7 @@
} else if (os.startsWith("SunOS")) {
defaultLower = 32768;
defaultUpper = 65535;
- } else if (os.contains("OS X")) {
+ } else if (os.endsWith("BSD") || os.contains("OS X")) {
defaultLower = 49152;
defaultUpper = 65535;
} else if (os.startsWith("AIX")) {
--- ./jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java Wed Nov 05 12:14:24 2014 -0800
@@ -66,7 +66,7 @@
return createProvider("sun.nio.ch.SolarisAsynchronousChannelProvider");
if (osname.equals("Linux"))
return createProvider("sun.nio.ch.LinuxAsynchronousChannelProvider");
- if (osname.contains("OS X"))
+ if (osname.endsWith("BSD") || osname.contains("OS X"))
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 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java Wed Nov 05 12:14:24 2014 -0800
@@ -25,10 +25,14 @@
package sun.nio.fs;
+import java.nio.file.*;
+import java.nio.file.spi.FileTypeDetector;
import java.io.IOException;
+import java.security.AccessController;
+import sun.security.action.GetPropertyAction;
/**
- * Bsd implementation of FileSystemProvider
+ * BSD implementation of FileSystemProvider
*/
public class BsdFileSystemProvider extends UnixFileSystemProvider {
@@ -45,4 +49,16 @@
BsdFileStore getFileStore(UnixPath path) throws IOException {
return new BsdFileStore(path);
}
+
+ @Override
+ FileTypeDetector getFileTypeDetector() {
+ Path userMimeTypes = Paths.get(AccessController.doPrivileged(
+ new GetPropertyAction("user.home")), ".mime.types");
+ Path etcMimeTypes = Paths.get("/etc/mime.types");
+
+ return chain(new GnomeFileTypeDetector(),
+ new MimeTypesFileTypeDetector(userMimeTypes),
+ new MimeTypesFileTypeDetector(etcMimeTypes),
+ new MagicFileTypeDetector());
+ }
}
--- ./jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java Wed Nov 05 12:14:24 2014 -0800
@@ -61,6 +61,8 @@
return createProvider("sun.nio.fs.SolarisFileSystemProvider");
if (osname.equals("Linux"))
return createProvider("sun.nio.fs.LinuxFileSystemProvider");
+ if (osname.endsWith("BSD"))
+ return createProvider("sun.nio.fs.BsdFileSystemProvider");
if (osname.contains("OS X"))
return createProvider("sun.nio.fs.MacOSXFileSystemProvider");
if (osname.equals("AIX"))
--- ./jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/classes/sun/print/UnixPrintServiceLookup.java Wed Nov 05 12:14:24 2014 -0800
@@ -161,6 +161,7 @@
static boolean isBSD() {
return (osname.equals("Linux") ||
+ osname.endsWith("BSD") ||
osname.contains("OS X"));
}
@@ -175,12 +176,12 @@
static int cmdIndex = UNINITIALIZED;
String[] lpcFirstCom = {
- "/usr/sbin/lpc status | grep : | sed -ne '1,1 s/://p'",
+ "/usr/sbin/lpc status all | grep ':$' | sed -ne '1,1 s/://p'",
"/usr/sbin/lpc status | grep -E '^[ 0-9a-zA-Z_-]*@' | awk -F'@' '{print $1}'"
};
String[] lpcAllCom = {
- "/usr/sbin/lpc status all | grep : | sed -e 's/://'",
+ "/usr/sbin/lpc status all | grep ':$' | sed -e 's/://'",
"/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 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/classes/sun/tools/attach/BsdVirtualMachine.java Wed Nov 05 12:14:24 2014 -0800
@@ -266,7 +266,7 @@
try {
b = s.getBytes("UTF-8");
} catch (java.io.UnsupportedEncodingException x) {
- throw new InternalError();
+ throw new InternalError(x);
}
BsdVirtualMachine.write(fd, b, 0, b.length);
}
--- ./jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_PCM.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/com/sun/media/sound/PLATFORM_API_SolarisOS_PCM.c Wed Nov 05 12:14:24 2014 -0800
@@ -140,7 +140,7 @@
(float) ((int) sr->samp_rates[s]),
DAUDIO_PCM, /* encoding - let's only do PCM */
(bits[b] > 8)?TRUE:TRUE, /* isSigned */
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
FALSE /* little endian */
#else
(bits[b] > 8)?TRUE:FALSE /* big endian */
--- ./jdk/src/solaris/native/common/jni_util_md.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/common/jni_util_md.c Wed Nov 05 12:14:24 2014 -0800
@@ -28,6 +28,7 @@
#include "jni.h"
#include "jni_util.h"
#include "dlfcn.h"
+#include <string.h>
jstring nativeNewStringPlatform(JNIEnv *env, const char *str) {
return NULL;
--- ./jdk/src/solaris/native/java/lang/java_props_md.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/java/lang/java_props_md.c Wed Nov 05 12:14:24 2014 -0800
@@ -151,7 +151,7 @@
lc = setlocale(cat, NULL);
#endif
-#ifndef __linux__
+#if !defined(__linux__) && !defined(__FreeBSD__)
if (lc == NULL) {
return 0;
}
@@ -552,23 +552,11 @@
sprops.sun_jnu_encoding = sprops.encoding;
#endif
-#ifdef _ALLBSD_SOURCE
-#if BYTE_ORDER == _LITTLE_ENDIAN
- sprops.unicode_encoding = "UnicodeLittle";
- #else
- sprops.unicode_encoding = "UnicodeBig";
- #endif
-#else /* !_ALLBSD_SOURCE */
-#ifdef __linux__
-#if __BYTE_ORDER == __LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
sprops.unicode_encoding = "UnicodeLittle";
#else
sprops.unicode_encoding = "UnicodeBig";
#endif
-#else
- sprops.unicode_encoding = "UnicodeBig";
-#endif
-#endif /* _ALLBSD_SOURCE */
/* user properties */
{
--- ./jdk/src/solaris/native/java/net/Inet4AddressImpl.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/java/net/Inet4AddressImpl.c Wed Nov 05 12:14:24 2014 -0800
@@ -36,20 +36,13 @@
#include <stdlib.h>
#include <ctype.h>
-#ifdef _ALLBSD_SOURCE
-#include <unistd.h>
-#include <sys/param.h>
-#endif
-
#include "jvm.h"
#include "jni_util.h"
#include "net_util.h"
#include "java_net_Inet4AddressImpl.h"
-#if defined(__GLIBC__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 601104))
-#define HAS_GLIBC_GETHOSTBY_R 1
-#endif
+extern jobjectArray lookupIfLocalhost(JNIEnv *env, const char *hostname, jboolean includeV6);
static jclass ni_iacls;
static jclass ni_ia4cls;
@@ -74,268 +67,6 @@
return JNI_TRUE;
}
-
-#if defined(_ALLBSD_SOURCE) && !defined(HAS_GLIBC_GETHOSTBY_R)
-extern jobjectArray lookupIfLocalhost(JNIEnv *env, const char *hostname, jboolean includeV6);
-
-/* Use getaddrinfo(3), which is thread safe */
-/************************************************************************
- * Inet4AddressImpl
- */
-
-/*
- * Class: java_net_Inet4AddressImpl
- * Method: getLocalHostName
- * Signature: ()Ljava/lang/String;
- */
-JNIEXPORT jstring JNICALL
-Java_java_net_Inet4AddressImpl_getLocalHostName(JNIEnv *env, jobject this) {
- char hostname[NI_MAXHOST+1];
-
- hostname[0] = '\0';
- if (JVM_GetHostName(hostname, NI_MAXHOST)) {
- /* Something went wrong, maybe networking is not setup? */
- strcpy(hostname, "localhost");
- } else {
- struct addrinfo hints, *res;
- int error;
-
- memset(&hints, 0, sizeof(hints));
- hints.ai_flags = AI_CANONNAME;
- hints.ai_family = AF_UNSPEC;
-
- error = getaddrinfo(hostname, NULL, &hints, &res);
-
- if (error == 0) {
- /* host is known to name service */
- error = getnameinfo(res->ai_addr,
- res->ai_addrlen,
- hostname,
- NI_MAXHOST,
- NULL,
- 0,
- NI_NAMEREQD);
-
- /* if getnameinfo fails hostname is still the value
- from gethostname */
-
- freeaddrinfo(res);
- }
- }
- return (*env)->NewStringUTF(env, hostname);
-}
-
-/*
- * Find an internet address for a given hostname. Note that this
- * code only works for addresses of type INET. The translation
- * of %d.%d.%d.%d to an address (int) occurs in java now, so the
- * String "host" shouldn't *ever* be a %d.%d.%d.%d string
- *
- * Class: java_net_Inet4AddressImpl
- * Method: lookupAllHostAddr
- * Signature: (Ljava/lang/String;)[[B
- */
-
-JNIEXPORT jobjectArray JNICALL
-Java_java_net_Inet4AddressImpl_lookupAllHostAddr(JNIEnv *env, jobject this,
- jstring host) {
- const char *hostname;
- jobject name;
- jobjectArray ret = 0;
- int retLen = 0;
-
- int error=0;
- struct addrinfo hints, *res, *resNew = NULL;
-
- if (!initializeInetClasses(env))
- return NULL;
-
- if (IS_NULL(host)) {
- JNU_ThrowNullPointerException(env, "host is null");
- return 0;
- }
- hostname = JNU_GetStringPlatformChars(env, host, JNI_FALSE);
- CHECK_NULL_RETURN(hostname, NULL);
-
- memset(&hints, 0, sizeof(hints));
- hints.ai_flags = AI_CANONNAME;
- hints.ai_family = AF_INET;
-
- /*
- * Workaround for Solaris bug 4160367 - if a hostname contains a
- * white space then 0.0.0.0 is returned
- */
- if (isspace((unsigned char)hostname[0])) {
- JNU_ThrowByName(env, JNU_JAVANETPKG "UnknownHostException",
- (char *)hostname);
- JNU_ReleaseStringPlatformChars(env, host, hostname);
- return NULL;
- }
-
-#ifdef MACOSX
- /* If we're looking up the local machine, bypass DNS lookups and get
- * address from getifaddrs.
- */
- ret = lookupIfLocalhost(env, hostname, JNI_FALSE);
- if (ret != NULL || (*env)->ExceptionCheck(env)) {
- JNU_ReleaseStringPlatformChars(env, host, hostname);
- return ret;
- }
-#endif
-
- error = getaddrinfo(hostname, NULL, &hints, &res);
-
- if (error) {
- /* report error */
- ThrowUnknownHostExceptionWithGaiError(env, hostname, error);
- JNU_ReleaseStringPlatformChars(env, host, hostname);
- return NULL;
- } else {
- int i = 0;
- struct addrinfo *itr, *last = NULL, *iterator = res;
- while (iterator != NULL) {
- int skip = 0;
- itr = resNew;
-
- while (itr != NULL) {
- struct sockaddr_in *addr1, *addr2;
-
- addr1 = (struct sockaddr_in *)iterator->ai_addr;
- addr2 = (struct sockaddr_in *)itr->ai_addr;
- if (addr1->sin_addr.s_addr ==
- addr2->sin_addr.s_addr) {
- skip = 1;
- break;
- }
-
- itr = itr->ai_next;
- }
-
- if (!skip) {
- struct addrinfo *next
- = (struct addrinfo*) malloc(sizeof(struct addrinfo));
- if (!next) {
- JNU_ThrowOutOfMemoryError(env, "Native heap allocation failed");
- ret = NULL;
- goto cleanupAndReturn;
- }
- memcpy(next, iterator, sizeof(struct addrinfo));
- next->ai_next = NULL;
- if (resNew == NULL) {
- resNew = next;
- } else {
- last->ai_next = next;
- }
- last = next;
- i++;
- }
- iterator = iterator->ai_next;
- }
-
- retLen = i;
- iterator = resNew;
- i = 0;
-
- name = (*env)->NewStringUTF(env, hostname);
- if (IS_NULL(name)) {
- goto cleanupAndReturn;
- }
-
- ret = (*env)->NewObjectArray(env, retLen, ni_iacls, NULL);
- if (IS_NULL(ret)) {
- /* we may have memory to free at the end of this */
- goto cleanupAndReturn;
- }
-
- while (iterator != NULL) {
- /* We need 4 bytes to store ipv4 address; */
- int len = 4;
-
- jobject iaObj = (*env)->NewObject(env, ni_ia4cls, ni_ia4ctrID);
- if (IS_NULL(iaObj)) {
- /* we may have memory to free at the end of this */
- ret = NULL;
- goto cleanupAndReturn;
- }
- setInetAddress_addr(env, iaObj, ntohl(((struct sockaddr_in*)(iterator->ai_addr))->sin_addr.s_addr));
- setInetAddress_hostName(env, iaObj, name);
- (*env)->SetObjectArrayElement(env, ret, retLen - i -1, iaObj);
- i++;
- iterator = iterator->ai_next;
- }
- }
-
-cleanupAndReturn:
- {
- struct addrinfo *iterator, *tmp;
- iterator = resNew;
- while (iterator != NULL) {
- tmp = iterator;
- iterator = iterator->ai_next;
- free(tmp);
- }
- JNU_ReleaseStringPlatformChars(env, host, hostname);
- }
-
- freeaddrinfo(res);
-
- return ret;
-
-}
-
-/*
- * Class: java_net_Inet4AddressImpl
- * Method: getHostByAddr
- * Signature: (I)Ljava/lang/String;
- */
-JNIEXPORT jstring JNICALL
-Java_java_net_Inet4AddressImpl_getHostByAddr(JNIEnv *env, jobject this,
- jbyteArray addrArray) {
- jstring ret = NULL;
-
- char host[NI_MAXHOST+1];
- jfieldID fid;
- int error = 0;
- jint family;
- struct sockaddr *him ;
- int len = 0;
- jbyte caddr[4];
- jint addr;
-
- struct sockaddr_in him4;
- struct sockaddr *sa;
-
- /*
- * For IPv4 addresses construct a sockaddr_in structure.
- */
- (*env)->GetByteArrayRegion(env, addrArray, 0, 4, caddr);
- addr = ((caddr[0]<<24) & 0xff000000);
- addr |= ((caddr[1] <<16) & 0xff0000);
- addr |= ((caddr[2] <<8) & 0xff00);
- addr |= (caddr[3] & 0xff);
- memset((char *) &him4, 0, sizeof(him4));
- him4.sin_addr.s_addr = (uint32_t) htonl(addr);
- him4.sin_family = AF_INET;
- sa = (struct sockaddr *) &him4;
- len = sizeof(him4);
-
- error = getnameinfo(sa, len, host, NI_MAXHOST, NULL, 0,
- NI_NAMEREQD);
-
- if (!error) {
- ret = (*env)->NewStringUTF(env, host);
- }
-
- if (ret == NULL) {
- JNU_ThrowByName(env, JNU_JAVANETPKG "UnknownHostException", NULL);
- }
-
- return ret;
-
-}
-
-#else /* defined(_ALLBSD_SOURCE) && !defined(HAS_GLIBC_GETHOSTBY_R) */
-
/* the initial size of our hostent buffers */
#ifndef NI_MAXHOST
#define NI_MAXHOST 1025
@@ -435,6 +166,17 @@
}
#endif
+#ifdef _ALLBSD_SOURCE
+ /* If we're looking up the local machine, bypass DNS lookups and get
+ * address from getifaddrs.
+ */
+ ret = lookupIfLocalhost(env, hostname, JNI_FALSE);
+ if (ret != NULL || (*env)->ExceptionCheck(env)) {
+ JNU_ReleaseStringPlatformChars(env, host, hostname);
+ return ret;
+ }
+#endif
+
error = getaddrinfo(hostname, NULL, &hints, &res);
if (error) {
@@ -568,8 +310,6 @@
return ret;
}
-#endif /* _ALLBSD_SOURCE */
-
#define SET_NONBLOCKING(fd) { \
int flags = fcntl(fd, F_GETFL); \
flags |= O_NONBLOCK; \
--- ./jdk/src/solaris/native/java/net/Inet6AddressImpl.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/java/net/Inet6AddressImpl.c Wed Nov 05 12:14:24 2014 -0800
@@ -33,7 +33,7 @@
#include <strings.h>
#include <stdlib.h>
#include <ctype.h>
-#ifdef MACOSX
+#ifdef _ALLBSD_SOURCE
#include <ifaddrs.h>
#include <net/if.h>
#include <unistd.h> /* gethostname */
@@ -155,9 +155,9 @@
return JNI_TRUE;
}
-#ifdef MACOSX
+#ifdef _ALLBSD_SOURCE
/* also called from Inet4AddressImpl.c */
-__private_extern__ jobjectArray
+jobjectArray
lookupIfLocalhost(JNIEnv *env, const char *hostname, jboolean includeV6)
{
jobjectArray result = NULL;
@@ -307,7 +307,7 @@
hostname = JNU_GetStringPlatformChars(env, host, JNI_FALSE);
CHECK_NULL_RETURN(hostname, NULL);
-#ifdef MACOSX
+#ifdef _ALLBSD_SOURCE
/*
* If we're looking up the local machine, attempt to get the address
* from getifaddrs. This ensures we get an IPv6 address for the local
--- ./jdk/src/solaris/native/java/net/NetworkInterface.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/java/net/NetworkInterface.c Wed Nov 05 12:14:24 2014 -0800
@@ -67,14 +67,18 @@
#include <sys/param.h>
#include <sys/ioctl.h>
#include <sys/sockio.h>
-#if defined(__APPLE__)
+#if defined(__APPLE__) || defined(__FreeBSD__)
#include <net/ethernet.h>
#include <net/if_var.h>
+#elif defined(__OpenBSD__)
+#include <netinet/if_ether.h>
+#elif defined(__NetBSD__)
+#include <net/if_ether.h>
+#endif
#include <net/if_dl.h>
#include <netinet/in_var.h>
#include <ifaddrs.h>
#endif
-#endif
#include "jvm.h"
#include "jni_util.h"
--- ./jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c Wed Nov 05 12:14:24 2014 -0800
@@ -2184,7 +2184,7 @@
}
}
#endif
-#ifdef MACOSX
+#ifdef _ALLBSD_SOURCE
if (family == AF_INET6 && index == 0) {
index = getDefaultScopeID(env);
}
--- ./jdk/src/solaris/native/java/net/net_util_md.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/java/net/net_util_md.c Wed Nov 05 12:14:24 2014 -0800
@@ -87,7 +87,7 @@
void setDefaultScopeID(JNIEnv *env, struct sockaddr *him)
{
-#ifdef MACOSX
+#ifdef _ALLBSD_SOURCE
static jclass ni_class = NULL;
static jfieldID ni_defaultIndexID;
if (ni_class == NULL) {
--- ./jdk/src/solaris/native/java/net/net_util_md.h Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/java/net/net_util_md.h Wed Nov 05 12:14:24 2014 -0800
@@ -47,7 +47,7 @@
close subroutine does not return until the select call returns.
...
*/
-#if defined(__linux__) || defined(MACOSX) || defined (_AIX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined (_AIX)
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 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/java/util/TimeZone_md.c Wed Nov 05 12:14:24 2014 -0800
@@ -52,7 +52,11 @@
#if defined(__linux__) || defined(_ALLBSD_SOURCE)
+#ifdef __FreeBSD__
+static const char *ETC_TIMEZONE_FILE = "/var/db/zoneinfo";
+#else
static const char *ETC_TIMEZONE_FILE = "/etc/timezone";
+#endif
static const char *ZONEINFO_DIR = "/usr/share/zoneinfo";
static const char *DEFAULT_ZONEINFO_FILE = "/etc/localtime";
#else
@@ -126,7 +130,7 @@
return NULL;
}
-#if defined(_AIX) || defined(__linux__) || defined(MACOSX) || (defined(__solaris__) \
+#if defined(_AIX) || defined(__linux__) || defined(_ALLBSD_SOURCE) || (defined(__solaris__) \
&& (defined(_POSIX_PTHREAD_SEMANTICS) || defined(_LP64)))
while (readdir_r(dirp, entry, &dp) == 0 && dp != NULL) {
#else
@@ -214,7 +218,7 @@
return tz;
}
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
/*
* Performs Linux specific mapping and returns a zone ID
@@ -230,7 +234,7 @@
char *buf;
size_t size;
-#ifdef __linux__
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
/*
* Try reading the /etc/timezone file for Debian distros. There's
* no spec of the file format available. This parsing assumes that
@@ -254,7 +258,7 @@
return tz;
}
}
-#endif /* __linux__ */
+#endif /* __linux__ || __FreeBSD__ */
/*
* Next, try /etc/localtime to find the zone ID.
@@ -719,7 +723,7 @@
* Returns a GMT-offset-based zone ID. (e.g., "GMT-08:00")
*/
-#ifdef MACOSX
+#ifdef _ALLBSD_SOURCE
char *
getGMTOffsetID()
@@ -735,10 +739,10 @@
local_tm = localtime(&clock);
if (local_tm->tm_gmtoff >= 0) {
offset = (time_t) local_tm->tm_gmtoff;
- sign = "+";
+ sign = '+';
} else {
offset = (time_t) -local_tm->tm_gmtoff;
- sign = "-";
+ sign = '-';
}
sprintf(buf, (const char *)"GMT%c%02d:%02d",
sign, (int)(offset/3600), (int)((offset%3600)/60));
@@ -780,7 +784,7 @@
sign, (int)(offset/3600), (int)((offset%3600)/60));
return strdup(buf);
}
-#endif /* MACOSX */
+#endif /* _ALLBSD_SOURCE */
#ifdef _AIX
static char *
@@ -878,4 +882,3 @@
return javatz;
}
#endif
-
--- ./jdk/src/solaris/native/sun/awt/awt_Font.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/sun/awt/awt_Font.c Wed Nov 05 12:14:24 2014 -0800
@@ -255,7 +255,7 @@
if (strcmp(style, "regular") == 0) {
altstyle = "roman";
}
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
if (!strcmp(family, "lucidasans")) {
family = "lucida";
}
--- ./jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/sun/awt/awt_GraphicsEnv.c Wed Nov 05 12:14:24 2014 -0800
@@ -120,7 +120,7 @@
*/
#define MAXFRAMEBUFFERS 16
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
typedef struct {
int screen_number;
short x_org;
@@ -426,20 +426,15 @@
if (XQueryExtension(awt_display, "RENDER",
&major_opcode, &first_event, &first_error))
{
- xrenderLibHandle = dlopen("libXrender.so.1", RTLD_LAZY | RTLD_GLOBAL);
-
-#ifdef MACOSX
-#define XRENDER_LIB "/usr/X11/lib/libXrender.dylib"
-#else
-#define XRENDER_LIB "libXrender.so"
-#endif
+ xrenderLibHandle = dlopen(VERSIONED_JNI_LIB_NAME("Xrender", "1"),
+ RTLD_LAZY | RTLD_GLOBAL);
if (xrenderLibHandle == NULL) {
- xrenderLibHandle = dlopen(XRENDER_LIB,
+ xrenderLibHandle = dlopen(JNI_LIB_NAME("Xrender"),
RTLD_LAZY | RTLD_GLOBAL);
}
-#ifndef __linux__ /* SOLARIS */
+#if !defined(__linux__) && !defined(_ALLBSD_SOURCE) /* SOLARIS */
if (xrenderLibHandle == NULL) {
xrenderLibHandle = dlopen("/usr/sfw/lib/libXrender.so.1",
RTLD_LAZY | RTLD_GLOBAL);
@@ -583,7 +578,7 @@
}
#ifndef HEADLESS
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
static void xinerama_init_linux()
{
void* libHandle = NULL;
@@ -634,7 +629,7 @@
}
}
#endif
-#if !defined(__linux__) && !defined(MACOSX) /* Solaris */
+#if !defined(__linux__) && !defined(_ALLBSD_SOURCE) /* Solaris */
static void xinerama_init_solaris()
{
void* libHandle = NULL;
@@ -694,11 +689,11 @@
}
DTRACE_PRINTLN("Xinerama extension is available");
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
xinerama_init_linux();
#else /* Solaris */
xinerama_init_solaris();
-#endif /* __linux__ || MACOSX */
+#endif /* __linux__ || _ALLBSD_SOURCE */
}
#endif /* HEADLESS */
@@ -1592,7 +1587,7 @@
{
jobject point = NULL;
#ifndef HEADLESS /* return NULL in HEADLESS, Linux */
-#if !defined(__linux__) && !defined(MACOSX)
+#if !defined(__linux__) && !defined(_ALLBSD_SOURCE)
int x,y;
AWT_LOCK();
@@ -1605,7 +1600,7 @@
DTRACE_PRINTLN("unable to call XineramaSolarisCenterFunc: symbol is null");
}
AWT_FLUSH_UNLOCK();
-#endif /* __linux __ || MACOSX */
+#endif /* __linux __ || _ALLBSD_SOURCE */
#endif /* HEADLESS */
return point;
}
--- ./jdk/src/solaris/native/sun/awt/awt_InputMethod.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/sun/awt/awt_InputMethod.c Wed Nov 05 12:14:24 2014 -0800
@@ -52,7 +52,7 @@
XIMPreeditDrawCallbackStruct *);
static void PreeditCaretCallback(XIC, XPointer,
XIMPreeditCaretCallbackStruct *);
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
static void StatusStartCallback(XIC, XPointer, XPointer);
static void StatusDoneCallback(XIC, XPointer, XPointer);
static void StatusDrawCallback(XIC, XPointer,
@@ -66,7 +66,7 @@
#define PreeditDoneIndex 1
#define PreeditDrawIndex 2
#define PreeditCaretIndex 3
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
#define StatusStartIndex 4
#define StatusDoneIndex 5
#define StatusDrawIndex 6
@@ -84,14 +84,14 @@
(XIMProc)PreeditDoneCallback,
(XIMProc)PreeditDrawCallback,
(XIMProc)PreeditCaretCallback,
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
(XIMProc)StatusStartCallback,
(XIMProc)StatusDoneCallback,
(XIMProc)StatusDrawCallback,
#endif
};
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
#define MAX_STATUS_LEN 100
typedef struct {
Window w; /*status window id */
@@ -124,7 +124,7 @@
XIMCallback *callbacks; /* callback parameters */
jobject x11inputmethod; /* global ref to X11InputMethod instance */
/* associated with the XIC */
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
StatusWindow *statusWindow; /* our own status window */
#endif
char *lookup_buf; /* buffer used for XmbLookupString */
@@ -370,7 +370,7 @@
static void
freeX11InputMethodData(JNIEnv *env, X11InputMethodData *pX11IMData)
{
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
if (pX11IMData->statusWindow != NULL){
StatusWindow *sw = pX11IMData->statusWindow;
XFreeGC(awt_display, sw->lightGC);
@@ -473,7 +473,7 @@
pX11IMData = getX11InputMethodData(env, currentX11InputMethodInstance);
if (pX11IMData == NULL) {
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
return False;
#else
return result;
@@ -481,7 +481,7 @@
}
if ((ic = pX11IMData->current_ic) == (XIC)0){
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
return False;
#else
return result;
@@ -573,7 +573,7 @@
return result;
}
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
static StatusWindow *createStatusWindow(
Window parent) {
StatusWindow *statusWindow;
@@ -886,7 +886,7 @@
}
}
}
-#endif /* __linux__ || MACOSX */
+#endif /* __linux__ || _ALLBSD_SOURCE */
/*
* Creates two XICs, one for active clients and the other for passive
* clients. All information on those XICs are stored in the
@@ -930,7 +930,7 @@
return FALSE ;
}
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
on_the_spot_styles |= XIMStatusNothing;
/*kinput does not support XIMPreeditCallbacks and XIMStatusArea
@@ -943,9 +943,9 @@
break;
}
}
-#else /*! __linux__ && !MACOSX */
+#else /*! __linux__ && !_ALLBSD_SOURCE */
on_the_spot_styles |= XIMStatusNothing;
-#endif /* __linux__ || MACOSX */
+#endif /* __linux__ || _ALLBSD_SOURCE */
for (i = 0; i < im_styles->count_styles; i++) {
active_styles |= im_styles->supported_styles[i] & on_the_spot_styles;
@@ -993,7 +993,7 @@
NULL);
if (preedit == (XVaNestedList)NULL)
goto err;
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
/*always try XIMStatusCallbacks for active client...*/
{
status = (XVaNestedList)XVaCreateNestedList(0,
@@ -1015,7 +1015,7 @@
XFree((void *)status);
XFree((void *)preedit);
}
-#else /* !__linux__ && !MACOSX */
+#else /* !__linux__ && !_ALLBSD_SOURCE */
pX11IMData->ic_active = XCreateIC(X11im,
XNClientWindow, w,
XNFocusWindow, w,
@@ -1023,7 +1023,7 @@
XNPreeditAttributes, preedit,
NULL);
XFree((void *)preedit);
-#endif /* __linux__ || MACOSX */
+#endif /* __linux__ || _ALLBSD_SOURCE */
pX11IMData->ic_passive = XCreateIC(X11im,
XNClientWindow, w,
XNFocusWindow, w,
@@ -1189,7 +1189,7 @@
}
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
static void
StatusStartCallback(XIC ic, XPointer client_data, XPointer call_data)
{
@@ -1257,7 +1257,7 @@
finally:
AWT_UNLOCK();
}
-#endif /* __linux__ || MACOSX */
+#endif /* __linux__ || _ALLBSD_SOURCE */
static void CommitStringCallback(XIC ic, XPointer client_data, XPointer call_data) {
JNIEnv *env = GetJNIEnv();
@@ -1354,14 +1354,14 @@
/* Use IMInstantiate call back only on Linux, as there is a bug in Solaris
(4768335)
*/
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
registered = XRegisterIMInstantiateCallback(dpy, NULL, NULL,
NULL, (XIDProc)OpenXIMCallback, NULL);
if (!registered) {
/* directly call openXIM callback */
#endif
OpenXIMCallback(dpy, NULL, NULL);
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
}
#endif
@@ -1396,9 +1396,9 @@
globalRef = (*env)->NewGlobalRef(env, this);
pX11IMData->x11inputmethod = globalRef;
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
pX11IMData->statusWindow = NULL;
-#endif /* __linux__ || MACOSX */
+#endif /* __linux__ || _ALLBSD_SOURCE */
pX11IMData->lookup_buf = 0;
pX11IMData->lookup_buf_len = 0;
@@ -1448,14 +1448,14 @@
setXICFocus(pX11IMData->current_ic, req);
currentX11InputMethodInstance = pX11IMData->x11inputmethod;
currentFocusWindow = w;
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
if (active && pX11IMData->statusWindow && pX11IMData->statusWindow->on)
onoffStatusWindow(pX11IMData, w, True);
#endif
} else {
currentX11InputMethodInstance = NULL;
currentFocusWindow = 0;
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
onoffStatusWindow(pX11IMData, 0, False);
if (pX11IMData->current_ic != NULL)
#endif
@@ -1472,7 +1472,7 @@
Java_sun_awt_X11InputMethod_turnoffStatusWindow(JNIEnv *env,
jobject this)
{
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
X11InputMethodData *pX11IMData;
StatusWindow *statusWindow;
@@ -1640,7 +1640,7 @@
JNIEXPORT void JNICALL Java_sun_awt_X11_XInputMethod_adjustStatusWindow
(JNIEnv *env, jobject this, jlong window)
{
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
AWT_LOCK();
adjustStatusWindow(window);
AWT_UNLOCK();
--- ./jdk/src/solaris/native/sun/awt/awt_Robot.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/sun/awt/awt_Robot.c Wed Nov 05 12:14:24 2014 -0800
@@ -45,7 +45,7 @@
#include "wsutils.h"
#include "list.h"
#include "multiVis.h"
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
#include <sys/socket.h>
#endif
--- ./jdk/src/solaris/native/sun/awt/extutil.h Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/sun/awt/extutil.h Wed Nov 05 12:14:24 2014 -0800
@@ -58,7 +58,7 @@
*/
/* $XFree86: xc/include/extensions/extutil.h,v 1.5 2001/01/17 17:53:20 dawes Exp $ */
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
#ifndef _EXTUTIL_H_
#define _EXTUTIL_H_
@@ -248,4 +248,4 @@
char *proc(Display *dpy, int code, XExtCodes *codes, char *buf, int n)
#endif
-#endif /* __linux__ || MACOSX */
+#endif /* __linux__ || _ALLBSD_SOURCE */
--- ./jdk/src/solaris/native/sun/awt/fontpath.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/sun/awt/fontpath.c Wed Nov 05 12:14:24 2014 -0800
@@ -23,9 +23,9 @@
* questions.
*/
-#if defined(__linux__)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
#include <string.h>
-#endif /* __linux__ */
+#endif /* __linux__ || _ALLBSD_SOURCE */
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
@@ -113,7 +113,6 @@
OPENWINHOMELIB "locale/ar/X11/fonts/Type1",
NULL, /* terminates the list */
};
-
#elif defined( __linux__)
/* All the known interesting locations we have discovered on
* various flavors of Linux
@@ -140,6 +139,20 @@
"/usr/lpp/X11/lib/X11/fonts/TrueType", /* from X11.fnt.ucs.ttf */
NULL, /* terminates the list */
};
+#elif defined(_ALLBSD_SOURCE)
+static char *fullBSDFontPath[] = {
+ PACKAGE_PATH "/lib/X11/fonts/TrueType",
+ PACKAGE_PATH "/lib/X11/fonts/truetype",
+ PACKAGE_PATH "/lib/X11/fonts/TTF",
+ PACKAGE_PATH "/lib/X11/fonts/OTF",
+ PACKAGE_PATH "/share/fonts/TrueType",
+ PACKAGE_PATH "/share/fonts/truetype",
+ PACKAGE_PATH "/share/fonts/TTF",
+ PACKAGE_PATH "/share/fonts/OTF",
+ PACKAGE_PATH "/lib/X11/fonts/Type1",
+ PACKAGE_PATH "/share/fonts/Type1",
+ NULL, /* terminates the list */
+};
#endif
static char **getFontConfigLocations();
@@ -381,7 +394,7 @@
#endif /* !HEADLESS */
-#if defined(__linux__)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
/* from awt_LoadLibrary.c */
JNIEXPORT jboolean JNICALL AWTIsHeadless();
#endif
@@ -512,6 +525,8 @@
knowndirs = fullSolarisFontPath;
#elif defined(_AIX)
knowndirs = fullAixFontPath;
+#elif defined(_ALLBSD_SOURCE)
+ knowndirs = fullBSDFontPath;
#endif
/* REMIND: this code requires to be executed when the GraphicsEnvironment
* is already initialised. That is always true, but if it were not so,
@@ -519,8 +534,8 @@
* be initialised.
*/
#ifndef HEADLESS
-#if defined(__linux__)
- /* There's no headless build on linux ... */
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
+ /* There's no headless build on linux and BSD ... */
if (!AWTIsHeadless()) { /* .. so need to call a function to check */
#endif
/* Using the X11 font path to locate font files is now a fallback
@@ -535,7 +550,7 @@
x11dirs = getX11FontPath();
}
AWT_UNLOCK();
-#if defined(__linux__)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
}
#endif
#endif /* !HEADLESS */
@@ -1230,7 +1245,7 @@
*/
if (fontformat != NULL
&& (strcmp((char*)fontformat, "TrueType") != 0)
-#if defined(__linux__) || defined(_AIX)
+#if defined(__linux__) || defined(_AIX) || defined(_ALLBSD_SOURCE)
&& (strcmp((char*)fontformat, "Type 1") != 0)
#endif
) {
--- ./jdk/src/solaris/native/sun/java2d/j2d_md.h Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/sun/java2d/j2d_md.h Wed Nov 05 12:14:24 2014 -0800
@@ -28,11 +28,11 @@
#include <sys/types.h>
/*
- * Linux and MACOSX's version of <sys/types.h> does not define intptr_t
+ * Linux and BSD's version of <sys/types.h> does not define intptr_t
*/
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
#include <stdint.h>
-#endif /* __linux__ || MACOSX */
+#endif /* __linux__ || _ALLBSD_SOURCE */
typedef unsigned char jubyte;
typedef unsigned short jushort;
--- ./jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/sun/java2d/loops/mlib_ImageZoom_NN.c Wed Nov 05 12:14:24 2014 -0800
@@ -63,9 +63,6 @@
* MLIB_EDGE_SRC_PADDED
*/
-#ifdef MACOSX
-#include <machine/endian.h>
-#endif
#include <mlib_image.h>
#include <mlib_ImageZoom.h>
@@ -102,7 +99,7 @@
/***************************************************************/
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
static const mlib_u32 mlib_bit_mask4[16] = {
0x00000000u, 0xFF000000u, 0x00FF0000u, 0xFFFF0000u,
@@ -111,7 +108,7 @@
0x0000FFFFu, 0xFF00FFFFu, 0x00FFFFFFu, 0xFFFFFFFFu
};
-#else /* _LITTLE_ENDIAN */
+#else /* VM_LITTLE_ENDIAN */
static const mlib_u32 mlib_bit_mask4[16] = {
0x00000000u, 0x000000FFu, 0x0000FF00u, 0x0000FFFFu,
@@ -120,7 +117,7 @@
0xFFFF0000u, 0xFFFF00FFu, 0xFFFFFF00u, 0xFFFFFFFFu
};
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
/***************************************************************/
@@ -344,11 +341,11 @@
#ifdef _NO_LONGLONG
typedef struct {
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
mlib_u32 uint1, uint0;
-#else /* _LITTLE_ENDIAN */
+#else /* VM_LITTLE_ENDIAN */
mlib_u32 uint0, uint1;
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
} two_uint;
/***************************************************************/
@@ -511,11 +508,11 @@
DTYPE mask;
MASK(mask);
off *= 8;
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
LSHIFT(dd_old, da[0], 64 - off);
-#else /* _LITTLE_ENDIAN */
+#else /* VM_LITTLE_ENDIAN */
RSHIFT(dd_old, da[0], 64 - off);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
#ifdef __SUNPRO_C
#pragma pipeloop(0)
@@ -540,30 +537,30 @@
res = (res & 0xff) | (res >> 8);
dd = gray_mask[res];
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
/* *da++ = (dd_old >> (64 - off)) | (dd << off);*/
RSHIFT(dd_old, dd_old, 64 - off);
LSHIFT(dtmp, dd, off);
-#else /* _LITTLE_ENDIAN */
+#else /* VM_LITTLE_ENDIAN */
/* *da++ = (dd_old << (64 - off)) | (dd >> off);*/
LSHIFT(dd_old, dd_old, 64 - off);
RSHIFT(dtmp, dd, off);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
LOGIC(*da++, dd_old, dtmp, |);
dd_old = dd;
}
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
/* da[0] = (dd_old >> (64 - off)) | (da[0] & ((mlib_u64)((mlib_s64) -1) << off));*/
LSHIFT(dtmp, mask, off);
LOGIC(dtmp, da[0], dtmp, &);
RSHIFT(dtmp1, dd_old, 64 - off);
-#else /* _LITTLE_ENDIAN */
+#else /* VM_LITTLE_ENDIAN */
/* da[0] = (dd_old << (64 - off)) | (da[0] & ((mlib_u64)((mlib_s64) -1) >> off));*/
RSHIFT(dtmp, mask, off);
LOGIC(dtmp, da[0], dtmp, &);
LSHIFT(dtmp1, dd_old, 64 - off);
-#endif /* _LITTLE_ENDIAN */
+#endif /* VM_LITTLE_ENDIAN */
LOGIC(da[0], dtmp, dtmp1, |);
}
else { /* aligned */
--- ./jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/sun/java2d/loops/vis_FuncArray.c Wed Nov 05 12:14:24 2014 -0800
@@ -804,7 +804,7 @@
static int initialized;
static int usevis = JNI_TRUE;
-#if defined(__linux__) || defined(MACOSX)
+#if defined(__linux__) || defined(_ALLBSD_SOURCE)
# define ULTRA_CHIP "sparc64"
#else
# define ULTRA_CHIP "sun4u"
--- ./jdk/src/solaris/native/sun/management/OperatingSystemImpl.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/sun/management/OperatingSystemImpl.c Wed Nov 05 12:14:24 2014 -0800
@@ -56,6 +56,9 @@
#include <limits.h>
#include <stdlib.h>
#include <unistd.h>
+#ifdef __FreeBSD__
+#include <vm/vm_param.h>
+#endif
#if defined(_AIX)
#include <libperfstat.h>
@@ -168,6 +171,25 @@
throw_internal_error(env, "sysctlbyname failed");
}
return available ? (jlong)vmusage.xsu_avail : (jlong)vmusage.xsu_total;
+#elif defined(__FreeBSD__)
+ struct xswdev xsw;
+ size_t mibsize, size;
+ jlong npages;
+ int mib[16], n;
+
+ mibsize = sizeof(mib) / sizeof(mib[0]);
+ if (sysctlnametomib("vm.swap_info", mib, &mibsize) == -1)
+ return (0);
+ for (n = 0, npages = 0; ; n++) {
+ mib[mibsize] = n;
+ size = sizeof(xsw);
+ if (sysctl(mib, mibsize + 1, &xsw, &size, NULL, 0) == -1)
+ break;
+ npages += xsw.xsw_nblks;
+ if (available)
+ npages -= xsw.xsw_used;
+ }
+ return (npages * page_size);
#else /* _ALLBSD_SOURCE */
/*
* XXXBSD: there's no way available to get swap info in
@@ -243,11 +265,30 @@
throw_internal_error(env, "task_info failed");
}
return t_info.virtual_size;
+#elif defined(__FreeBSD__)
+ FILE *fp;
+ unsigned long end, start;
+ jlong total = 0;
+
+ if ((fp = fopen("/proc/curproc/map", "r")) == NULL) {
+ throw_internal_error(env, "Unable to open /proc/curproc/map");
+ return -1;
+ }
+
+ for (;;) {
+ // Ignore everything except start and end entries
+ if (fscanf(fp, "0x%lx 0x%lx %*[^\n]\n", &start, &end) != 2 || start > end)
+ break;
+ total += end - start;
+ }
+
+ fclose(fp);
+ return total;
#else /* _ALLBSD_SOURCE */
/*
- * XXXBSD: there's no way available to do it in FreeBSD, AFAIK.
+ * XXXBSD: there's no way available to do it in BSD, AFAIK.
*/
- // throw_internal_error(env, "Unimplemented in FreeBSD");
+ // throw_internal_error(env, "Unimplemented in BSD");
return (64 * MB);
#endif
}
@@ -324,11 +365,27 @@
return -1;
}
return (jlong)vm_stats.free_count * page_size;
+#elif defined(__FreeBSD__)
+ static const char *vm_stats[] = {
+ "vm.stats.vm.v_free_count",
+ "vm.stats.vm.v_cache_count",
+ /* "vm.stats.vm.v_inactive_count", */
+ NULL
+ };
+ size_t size;
+ jlong free_pages;
+ u_int i, npages;
+ for (i = 0, free_pages = 0, size = sizeof(npages); vm_stats[i] != NULL; i++) {
+ if (sysctlbyname(vm_stats[i], &npages, &size, NULL, 0) == -1)
+ return 0;
+ free_pages += npages;
+ }
+ return (free_pages * page_size);
#elif defined(_ALLBSD_SOURCE)
/*
- * XXBSDL no way to do it in FreeBSD
+ * XXBSDL no way to do it in BSD
*/
- // throw_internal_error(env, "unimplemented in FreeBSD")
+ // throw_internal_error(env, "unimplemented in BSD")
return (128 * MB);
#elif defined(_AIX)
perfstat_memory_total_t memory_info;
@@ -346,13 +403,19 @@
Java_sun_management_OperatingSystemImpl_getTotalPhysicalMemorySize
(JNIEnv *env, jobject mbean)
{
-#ifdef _ALLBSD_SOURCE
+#if defined(_ALLBSD_SOURCE) && !defined(_SC_PHYS_PAGES)
jlong result = 0;
int mib[2];
size_t rlen;
mib[0] = CTL_HW;
+#if defined (HW_MEMSIZE) // Apple
mib[1] = HW_MEMSIZE;
+#elif defined(HW_PHYSMEM) // Most of BSD
+ mib[1] = HW_PHYSMEM;
+#else
+ #error No ways to get physmem
+#endif
rlen = sizeof(result);
if (sysctl(mib, 2, &result, &rlen, NULL, 0) != 0) {
throw_internal_error(env, "sysctl failed");
@@ -372,6 +435,11 @@
}
+#ifdef _ALLBSD_SOURCE
+#define FD_DIR "/dev/fd"
+#else
+#define FD_DIR "/proc/self/fd"
+#endif
JNIEXPORT jlong JNICALL
Java_sun_management_OperatingSystemImpl_getOpenFileDescriptorCount
@@ -421,12 +489,6 @@
free(fds);
return nfiles;
-#elif defined(_ALLBSD_SOURCE)
- /*
- * XXXBSD: there's no way available to do it in FreeBSD, AFAIK.
- */
- // throw_internal_error(env, "Unimplemented in FreeBSD");
- return (100);
#else /* solaris/linux */
DIR *dirp;
struct dirent dbuf;
@@ -444,7 +506,7 @@
dirp = opendir(FD_DIR);
if (dirp == NULL) {
- throw_internal_error(env, "Unable to open directory /proc/self/fd");
+ throw_internal_error(env, "Unable to open directory " FD_DIR);
return -1;
}
--- ./jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h Wed Nov 05 12:14:24 2014 -0800
@@ -67,7 +67,7 @@
-#else /* __linux__ */
+#elif defined(__linux__)
#include <stdint.h>
#include <linux/types.h>
#include <sys/socket.h>
@@ -319,9 +319,20 @@
typedef int sctp_bindx_func(int sd, struct sockaddr *addrs, int addrcnt, int flags);
typedef int sctp_peeloff_func(int sock, sctp_assoc_t id);
+#elif defined(__FreeBSD__)
+
+#include <stdint.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/sctp.h>
+#include <netinet/sctp_peeloff.h>
+#include <netinet/sctp_uio.h>
+#include "jni.h"
#endif /* __linux__ */
+#ifndef __FreeBSD__
+
sctp_getladdrs_func* nio_sctp_getladdrs;
sctp_freeladdrs_func* nio_sctp_freeladdrs;
sctp_getpaddrs_func* nio_sctp_getpaddrs;
@@ -329,6 +340,17 @@
sctp_bindx_func* nio_sctp_bindx;
sctp_peeloff_func* nio_sctp_peeloff;
+#else
+
+#define nio_sctp_getladdrs sctp_getladdrs
+#define nio_sctp_freeladdrs sctp_freeladdrs
+#define nio_sctp_getpaddrs sctp_getpaddrs
+#define nio_sctp_freepaddrs sctp_freepaddrs
+#define nio_sctp_bindx sctp_bindx
+#define nio_sctp_peeloff sctp_peeloff
+
+#endif
+
jboolean loadSocketExtensionFuncs(JNIEnv* env);
#endif /* !SUN_NIO_CH_SCTP_H */
--- ./jdk/src/solaris/native/sun/nio/ch/sctp/SctpNet.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/sun/nio/ch/sctp/SctpNet.c Wed Nov 05 12:14:24 2014 -0800
@@ -58,6 +58,7 @@
*/
jboolean loadSocketExtensionFuncs
(JNIEnv* env) {
+#ifndef __FreeBSD__
if (dlopen(nativeSctpLib, RTLD_GLOBAL | RTLD_LAZY) == NULL) {
JNU_ThrowByName(env, "java/lang/UnsupportedOperationException",
dlerror());
@@ -105,6 +106,7 @@
dlerror());
return JNI_FALSE;
}
+#endif
funcsLoaded = JNI_TRUE;
return JNI_TRUE;
--- ./jdk/src/solaris/native/sun/nio/fs/MagicFileTypeDetector.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/sun/nio/fs/MagicFileTypeDetector.c Wed Nov 05 12:14:24 2014 -0800
@@ -31,6 +31,12 @@
#include <dlfcn.h>
#include <string.h>
+#ifdef __FreeBSD__
+#define MAGIC_MAJOR_VERSION "4"
+#else
+#define MAGIC_MAJOR_VERSION "1"
+#endif
+
#define MAGIC_MIME_TYPE 0x000010 /* Return the MIME type */
typedef struct magic_set magic_t;
@@ -54,7 +60,7 @@
{
magic_handle = dlopen("libmagic.so", RTLD_LAZY);
if (magic_handle == NULL) {
- magic_handle = dlopen("libmagic.so.1", RTLD_LAZY);
+ magic_handle = dlopen("libmagic.so." MAGIC_MAJOR_VERSION, RTLD_LAZY);
if (magic_handle == NULL) {
return JNI_FALSE;
}
--- ./jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c Wed Nov 05 12:14:24 2014 -0800
@@ -37,7 +37,9 @@
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/stat.h>
+#ifndef __FreeBSD__
#include <sys/syslimits.h>
+#endif
#include <sys/un.h>
#include <fcntl.h>
--- ./jdk/src/solaris/native/sun/xawt/XWindow.c Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/solaris/native/sun/xawt/XWindow.c Wed Nov 05 12:14:24 2014 -0800
@@ -886,7 +886,7 @@
{
KeySym originalKeysym = *keysym;
-#if !defined(__linux__) && !defined(MACOSX)
+#if !defined(__linux__) && !defined(_ALLBSD_SOURCE)
/* 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 Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/windows/native/com/sun/media/sound/PLATFORM_API_WinOS_DirectSound.cpp Wed Nov 05 12:14:24 2014 -0800
@@ -308,7 +308,7 @@
DAUDIO_PCM,
(bitsArray[bitIndex]==8)?FALSE:TRUE, /* signed */
(bitsArray[bitIndex]==8)?FALSE:
-#ifndef _LITTLE_ENDIAN
+#ifndef VM_LITTLE_ENDIAN
TRUE /* big endian */
#else
FALSE /* little endian */
@@ -860,7 +860,7 @@
return NULL;
}
if (sampleSizeInBits > 8 &&
-#ifdef _LITTLE_ENDIAN
+#ifdef VM_LITTLE_ENDIAN
isBigEndian
#else
!isBigEndian
--- ./jdk/src/windows/native/sun/windows/awt_Component.cpp Tue Sep 09 12:00:58 2014 -0700
+++ ./jdk/src/windows/native/sun/windows/awt_Component.cpp Wed Nov 05 12:14:24 2014 -0800
@@ -3960,7 +3960,6 @@
DASSERT(stringCls);
CHECK_NULL(stringCls);
clauseReading = env->NewObjectArray(cClause, stringCls, NULL);
- env->DeleteLocalRef(stringCls);
DASSERT(clauseReading);
CHECK_NULL(clauseReading);
for (int i=0; i<cClause; i++) env->SetObjectArrayElement(clauseReading, i, rgClauseReading[i]);
--- ./langtools/.hgtags Mon Sep 08 12:38:00 2014 -0700
+++ ./langtools/.hgtags Wed Nov 05 12:14:12 2014 -0800
@@ -329,3 +329,4 @@
a340d68b020585cad7aa6e38d1aafb19ad0e4e07 jdk8u25-b14
6e0c19cd42d7c4d307bea26840ee831cbd14e2fc jdk8u25-b15
7fa6fa7cc204de988e224c6f8f75e62128fa84cd jdk8u25-b16
+53ca196be1ae098466976c017b166d4ce180c36f jdk8u25-b17
--- ./nashorn/.hgtags Mon Sep 08 12:38:15 2014 -0700
+++ ./nashorn/.hgtags Wed Nov 05 12:14:13 2014 -0800
@@ -317,3 +317,4 @@
6a93467eaa36f732b84ecd463e046c4066fef40c jdk8u25-b14
71e8403a2f8279315419adf5f4e9d6b232b6835c jdk8u25-b15
1500138ce513600457be6bfa10979ecce6515aa6 jdk8u25-b16
+4b9cc65dd24d398c4f921c0beccfb8caeaaaf584 jdk8u25-b17