--- common/autoconf/build-performance.m4 +++ common/autoconf/build-performance.m4 @@ -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)" = xFreeBSD; then + # Looks like a FreeBSD system + NUM_CORES=`/sbin/sysctl -n kern.smp.cpus` + FOUND_CORES=yes elif test -n "$NUMBER_OF_PROCESSORS"; then # On windows, look in the env NUM_CORES=$NUMBER_OF_PROCESSORS @@ -76,6 +80,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)" = xFreeBSD; then + # Looks like a FreeBSD 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 +++ common/autoconf/libraries.m4 @@ -63,9 +63,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 @@ -554,7 +554,7 @@ fi if test "x${with_alsa}" != x; then - ALSA_LIBS="-L${with_alsa}/lib -lalsa" + ALSA_LIBS="-L${with_alsa}/lib" ALSA_CFLAGS="-I${with_alsa}/include" ALSA_FOUND=yes fi @@ -563,9 +563,14 @@ ALSA_FOUND=yes fi if test "x${with_alsa_lib}" != x; then - ALSA_LIBS="-L${with_alsa_lib} -lalsa" + ALSA_LIBS="-L${with_alsa_lib}" 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 BDEPS_CHECK_MODULE(ALSA, alsa, xxx, [ALSA_FOUND=yes], [ALSA_FOUND=no]) fi @@ -877,5 +882,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 +++ common/autoconf/platform.m4 @@ -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 --- common/autoconf/toolchain.m4 +++ common/autoconf/toolchain.m4 @@ -63,7 +63,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"]) @@ -458,7 +458,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 @@ -526,9 +526,11 @@ SET_SHARED_LIBRARY_NAME='-Xlinker -install_name -Xlinker @rpath/[$]1' SET_SHARED_LIBRARY_MAPFILE='' SET_SHARED_LIBRARY_ORIGIN='-Xlinker -rpath -Xlinker @loader_path/.' - SET_EXECUTABLE_ORIGIN="$SET_SHARED_LIBRARY_ORIGIN" 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" + fi else if test "x$OPENJDK_TARGET_OS" = xsolaris; then # If it is not gcc, then assume it is the Oracle Solaris Studio Compiler --- hotspot/make/bsd/makefiles/build_vm_def.sh +++ hotspot/make/bsd/makefiles/build_vm_def.sh @@ -1,12 +1,21 @@ #!/bin/sh # If we're cross compiling use that path for nm -if [ "$CROSS_COMPILE_ARCH" != "" ]; then +if [ "$CROSS_COMPILE_ARCH" != "" ]; then NM=$ALT_COMPILER_PATH/nm else NM=nm fi -$NM -Uj $* | awk ' - { if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 } - ' +case `uname` in + *BSD ) + $NM --defined-only $* | awk ' + { if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 ";" } + ' + ;; + Darwin ) + $NM -Uj $* | awk ' + { if ($3 ~ /^_ZTV/ || $3 ~ /^gHotSpotVM/) print "\t" $3 } + ' + ;; +esac --- hotspot/make/bsd/makefiles/defs.make +++ hotspot/make/bsd/makefiles/defs.make @@ -254,7 +254,7 @@ endif # BUILD_FLAVOR endif # JDK_6_OR_EARLIER -JDK_INCLUDE_SUBDIR=bsd +JDK_INCLUDE_SUBDIR=$(shell uname -s | ${TR} "[:upper:]" "[:lower:]") # Library suffix ifeq ($(OS_VENDOR),Darwin) --- hotspot/make/bsd/makefiles/gcc.make +++ hotspot/make/bsd/makefiles/gcc.make @@ -201,12 +201,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 --- hotspot/make/bsd/makefiles/launcher.make +++ hotspot/make/bsd/makefiles/launcher.make @@ -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 +++ hotspot/make/bsd/makefiles/mapfile-vers-debug @@ -24,238 +24,245 @@ # 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_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_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 + +SUNWprivate_1.1 { + global: + # 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_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_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 + jio_fprintf; + jio_printf; + jio_snprintf; + jio_vfprintf; + jio_vsnprintf; # This is for Forte Analyzer profiling support. - _AsyncGetCallTrace + AsyncGetCallTrace; # INSERT VTABLE SYMBOLS HERE + local: + *; +}; + --- hotspot/make/bsd/makefiles/mapfile-vers-product +++ hotspot/make/bsd/makefiles/mapfile-vers-product @@ -24,233 +24,239 @@ # 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_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_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 +SUNWprivate_1.1 { + global: + # 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_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_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; # This is for Forte Analyzer profiling support. - _AsyncGetCallTrace + AsyncGetCallTrace; # INSERT VTABLE SYMBOLS HERE + local: + *; +}; + --- hotspot/make/bsd/makefiles/rules.make +++ hotspot/make/bsd/makefiles/rules.make @@ -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 +++ hotspot/src/cpu/x86/vm/jni_x86.h @@ -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/templateTable_x86_64.cpp +++ hotspot/src/cpu/x86/vm/templateTable_x86_64.cpp @@ -107,10 +107,6 @@ return Address(rsp, Interpreter::expr_offset_in_bytes(2)); } -static inline Address at_tos_p3() { - return Address(rsp, Interpreter::expr_offset_in_bytes(3)); -} - // Condition conversion static Assembler::Condition j_not(TemplateTable::Condition cc) { switch (cc) { --- hotspot/src/cpu/x86/vm/x86_32.ad +++ hotspot/src/cpu/x86/vm/x86_32.ad @@ -1201,8 +1201,9 @@ if( dst_second_rc == rc_int && src_second_rc == rc_stack ) return impl_helper(cbuf,do_size,true ,ra_->reg2offset(src_second),dst_second,0x8B,"MOV ",size, st); - + assert(0," foo "); Unimplemented(); + return 0; } #ifndef PRODUCT --- hotspot/src/os/bsd/vm/decoder_bsd.cpp +++ hotspot/src/os/bsd/vm/decoder_bsd.cpp @@ -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 + +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/osThread_bsd.cpp +++ hotspot/src/os/bsd/vm/osThread_bsd.cpp @@ -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 +++ hotspot/src/os/bsd/vm/os_bsd.cpp @@ -102,6 +102,12 @@ # include # include +#if __FreeBSD_version > 900030 +# include +#else +# include +#endif + #if defined(__FreeBSD__) || defined(__NetBSD__) # include #endif @@ -434,8 +440,12 @@ #else ld_library_path = (char *) malloc(sizeof(REG_DIR) + sizeof("/lib/") + strlen(cpu_arch) + sizeof(DEFAULT_LIBPATH)); +#ifdef __FreeBSD__ + sprintf(ld_library_path, DEFAULT_LIBPATH ":/usr/local/lib"); +#else sprintf(ld_library_path, REG_DIR "/lib/%s:" DEFAULT_LIBPATH, cpu_arch); #endif +#endif /* * Get the user setting of LD_LIBRARY_PATH, and prepended it. It @@ -1148,7 +1158,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__ @@ -1158,11 +1174,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 @@ -1562,24 +1581,6 @@ return dlsym(handle, name); } - -static bool _print_ascii_file(const char* filename, outputStream* st) { - int fd = ::open(filename, O_RDONLY); - if (fd == -1) { - return false; - } - - char buf[32]; - int bytes; - while ((bytes = ::read(fd, buf, sizeof(buf))) > 0) { - st->print_raw(buf, bytes); - } - - ::close(fd); - - return true; -} - void os::print_dll_info(outputStream *st) { st->print_cr("Dynamic libraries:"); #ifdef RTLD_DI_LINKMAP @@ -1629,14 +1630,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); @@ -1659,11 +1660,6 @@ 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); - st->cr(); } // Taken from /usr/include/bits/siginfo.h Supposed to be architecture specific @@ -1943,7 +1939,7 @@ os_semaphore_t _semaphore; }; -Semaphore::Semaphore() : _semaphore(0) { +Semaphore::Semaphore() { SEM_INIT(_semaphore, 0); } @@ -2746,6 +2742,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; --- hotspot/src/os/bsd/vm/vmError_bsd.cpp +++ hotspot/src/os/bsd/vm/vmError_bsd.cpp @@ -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/code/relocInfo.hpp +++ hotspot/src/share/vm/code/relocInfo.hpp @@ -364,7 +364,7 @@ // "immediate" in the prefix header word itself. This optimization // is invisible outside this module.) - inline friend relocInfo prefix_relocInfo(int datalen = 0); + inline friend relocInfo prefix_relocInfo(int datalen); protected: // an immediate relocInfo optimizes a prefix with one 10-bit unsigned value @@ -459,7 +459,7 @@ return relocInfo(relocInfo::none, relocInfo::offset_limit() - relocInfo::offset_unit); } -inline relocInfo prefix_relocInfo(int datalen) { +inline relocInfo prefix_relocInfo(int datalen = 0) { assert(relocInfo::fits_into_immediate(datalen), "datalen in limits"); return relocInfo(relocInfo::data_prefix_tag, relocInfo::RAW_BITS, relocInfo::datalen_tag | datalen); } --- hotspot/src/share/vm/gc_implementation/shared/gcTraceSend.cpp +++ hotspot/src/share/vm/gc_implementation/shared/gcTraceSend.cpp @@ -110,7 +110,7 @@ if (e.should_commit()) { e.set_gcId(_shared_gc_info.id()); e.set_data(to_trace_struct(pf_info)); - e.set_thread(pf_info.thread()->thread_id()); + e.set_thread((uintptr_t) pf_info.thread()->thread_id()); e.commit(); } } --- hotspot/src/share/vm/opto/node.cpp +++ hotspot/src/share/vm/opto/node.cpp @@ -285,6 +285,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. @@ -468,6 +472,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/prims/jvmtiTagMap.cpp +++ hotspot/src/share/vm/prims/jvmtiTagMap.cpp @@ -2790,6 +2790,7 @@ return true; } +#ifdef ASSERT // verify that a static oop field is in range static inline bool verify_static_oop(InstanceKlass* ik, oop mirror, int offset) { @@ -2804,6 +2805,7 @@ return false; } } +#endif // #ifdef ASSERT // a class references its super class, interfaces, class loader, ... // and finally its static fields --- hotspot/src/share/vm/runtime/mutex.cpp +++ hotspot/src/share/vm/runtime/mutex.cpp @@ -280,16 +280,6 @@ return x & 0x7FFFFFFF ; } -static inline jint MarsagliaXOR (jint * const a) { - jint x = *a ; - if (x == 0) x = UNS(a)|1 ; - x ^= x << 6; - x ^= ((unsigned)x) >> 21; - x ^= x << 7 ; - *a = x ; - return x & 0x7FFFFFFF ; -} - static int Stall (int its) { static volatile jint rv = 1 ; volatile int OnFrame = 0 ; --- hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp +++ hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp @@ -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 --- jdk/make/CompileDemos.gmk +++ jdk/make/CompileDemos.gmk @@ -313,7 +313,7 @@ $(eval $(call SetupJVMTIDemo,heapViewer, agent_util)) $(eval $(call SetupJVMTIDemo,hprof, java_crw_demo, \ -I$(JDK_TOPDIR)/src/share/npt -I$(JDK_TOPDIR)/src/$(OPENJDK_TARGET_OS_API_DIR)/npt, C, \ - -ldl, ws2_32.lib winmm.lib, -lsocket -lnsl, -lpthread)) + $(LIBDL), ws2_32.lib winmm.lib, -lsocket -lnsl, -lpthread)) $(eval $(call SetupJVMTIDemo,minst, agent_util java_crw_demo)) $(eval $(call SetupJVMTIDemo,mtrace, agent_util java_crw_demo)) --- jdk/make/CompileJavaClasses.gmk +++ jdk/make/CompileJavaClasses.gmk @@ -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 @@ -217,9 +226,9 @@ # Exclude another implicitly not included file. EXFILES += sun/util/locale/AsciiUtil.java -ifeq (, $(filter $(OPENJDK_TARGET_OS), solaris macosx)) +ifeq (, $(filter $(OPENJDK_TARGET_OS), solaris bsd macosx)) # - # only solaris and macosx + # only solaris and BSD # EXFILES += sun/nio/fs/PollingWatchService.java endif @@ -259,21 +268,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 @@ -312,7 +326,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) \ $(JDK_OUTPUTDIR)/gensrc \ $(JDK_OUTPUTDIR)/gensrc_no_srczip \ $(CLOSED_SRC_DIRS),\ @@ -331,7 +345,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 +++ jdk/make/CompileLaunchers.gmk @@ -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 @@ -150,11 +150,13 @@ $2, \ CFLAGS_linux := -fPIC, \ CFLAGS_solaris := -KPIC -DHAVE_GETHRTIME, \ + CFLAGS_bsd := -fPIC, \ LDFLAGS := $(LDFLAGS_JDKEXE) \ $(ORIGIN_ARG) \ $$($1_LDFLAGS), \ LDFLAGS_macosx := $(call SET_SHARED_LIBRARY_NAME,$1), \ LDFLAGS_linux := -lpthread \ + LDFLAGS_bsd := -pthread \ $(call SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)$(SHARED_LIBRARY_SUFFIX)), \ LDFLAGS_solaris := $$($1_LDFLAGS_solaris) \ $(call SET_SHARED_LIBRARY_NAME,$(LIBRARY_PREFIX)$(SHARED_LIBRARY_SUFFIX)), \ @@ -165,6 +167,7 @@ $(JDK_OUTPUTDIR)/objs/libjava/java.lib advapi32.lib $5, \ LDFLAGS_SUFFIX_linux := -L$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/jli -ljli $(LIBDL) -lc, \ LDFLAGS_SUFFIX_solaris := -L$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/jli -ljli -lthread $(LIBDL) -lc, \ + LDFLAGS_SUFFIX_bsd := -L$(JDK_OUTPUTDIR)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/jli -ljli -lc, \ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/$1_objs$(OUTPUT_SUBDIR), \ OUTPUT_DIR := $$($1_OUTPUT_DIR_ARG)$(OUTPUT_SUBDIR), \ PROGRAM := $1, \ @@ -457,6 +460,7 @@ CFLAGS_linux := -fPIC, \ CFLAGS_solaris := -KPIC, \ CFLAGS_macosx := -fPIC, \ + CFLAGS_bsd := -fPIC, \ MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libunpack/mapfile-vers-unpack200, \ LDFLAGS := $(UNPACKEXE_ZIPOBJS), \ LDFLAGS_windows := $(CXXFLAGS_JDKEXE), \ @@ -465,6 +469,7 @@ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_linux := -lc, \ LDFLAGS_solaris := $(UNPACKEXE_LDFLAGS_solaris) -lc, \ + LDFLAGS_bsd := -lc, \ LDFLAGS_SUFFIX := $(LIBCXX), \ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/unpackexe$(OUTPUT_SUBDIR), \ OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs/unpackexe$(OUTPUT_SUBDIR), \ @@ -522,6 +527,10 @@ BUILD_JEXEC := 1 endif # OPENJDK_TARGET_OS +ifeq ($(OPENJDK_TARGET_OS), bsd) + BUILD_JEXEC := 1 +endif # OPENJDK_TARGET_OS + # # jdk/make/java/jexec/Makefile # @@ -554,6 +563,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, \ @@ -576,6 +586,9 @@ ifeq ($(OPENJDK_TARGET_OS), solaris) BUILD_LAUNCHERS += $(JAVA_RMI_CGI) endif +ifeq ($(OPENJDK_TARGET_OS), bsd) + BUILD_LAUNCHERS += $(JAVA_RMI_CGI) +endif # TODO: # On windows java-rmi.cgi shouldn't be bundled since Java 1.2, but has been built all @@ -601,11 +614,11 @@ LINK_JSPAWNHELPER_OBJECTS := $(JDK_OUTPUTDIR)/objs/libjava/childproc.o LINK_JSPAWNHELPER_FLAGS := -ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx solaris), ) +ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx solaris bsd), ) BUILD_JSPAWNHELPER := 1 endif -ifeq ($(OPENJDK_TARGET_OS), macosx) +ifneq ($(findstring $(OPENJDK_TARGET_OS), macosx bsd), ) BUILD_JSPAWNHELPER_DST_DIR := $(JDK_OUTPUTDIR)/lib endif --- jdk/make/CopyFiles.gmk +++ jdk/make/CopyFiles.gmk @@ -31,6 +31,8 @@ OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/win32 else ifeq ($(OPENJDK_TARGET_OS), macosx) OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/darwin +else ifeq ($(OPENJDK_TARGET_OS), bsd) + OPENJDK_TARGET_OS_INCLUDE = $(INCLUDEDIR)/$(shell uname -s | ${TR} "[:upper:]" "[:lower:]") 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 +++ jdk/make/Images.gmk @@ -237,8 +237,11 @@ ifeq ($(OPENJDK_TARGET_OS), linux) JDK_LIB_FILES += jexec endif +ifeq ($(OPENJDK_TARGET_OS), 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 @@ -393,6 +396,10 @@ MAN_SRC_DIR = $(MAN_SRC_BASEDIR)/bsd/doc MAN1_SUBDIR = man endif + ifeq ($(OPENJDK_TARGET_OS), bsd) + MAN_SRC_DIR := $(MAN_SRC_BASEDIR)/bsd/doc + MAN1_SUBDIR := man + endif $(JRE_IMAGE_DIR)/man/man1/%: $(MAN_SRC_DIR)/$(MAN1_SUBDIR)/% $(ECHO) $(LOG_INFO) Copying $(patsubst $(OUTPUT_ROOT)/%,%,$@) @@ -465,6 +472,16 @@ $(CD) $(@D) && $(RM) ja && $(LN) -s ja_JP.UTF-8 ja endif + ifeq ($(OPENJDK_TARGET_OS), bsd) + $(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)) \ @@ -497,6 +514,16 @@ $(JDK_IMAGE_DIR)/man/ja endif + ifeq ($(OPENJDK_TARGET_OS), bsd) + 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 ################################################################################ --- jdk/make/data/classlist/classlist.bsd +++ jdk/make/data/classlist/classlist.bsd @@ -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 +++ jdk/make/gendata/GendataFontConfig.gmk @@ -66,6 +66,13 @@ GENDATA_FONT_CONFIG_SRC_PREFIX := macosx. 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/lib/Awt2dLibraries.gmk +++ jdk/make/lib/Awt2dLibraries.gmk @@ -305,7 +305,7 @@ debug_trace.c \ debug_util.c -ifneq (, $(filter $(OPENJDK_TARGET_OS), solaris linux)) +ifneq (, $(filter $(OPENJDK_TARGET_OS), solaris linux bsd)) LIBAWT_FILES += awt_LoadLibrary.c initIDs.c img_colors.c endif @@ -473,6 +473,7 @@ LDFLAGS_solaris := -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) -R$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR), \ LDFLAGS_SUFFIX_linux := -ljvm $(LIBM) $(LIBDL) -ljava, \ LDFLAGS_SUFFIX_solaris := -ljvm $(LIBM) $(LIBDL) -ljava -lc, \ + LDFLAGS_SUFFIX_bsd := -ljvm $(LIBM) -ljava, \ LDFLAGS_SUFFIX_macosx := -lmlib_image -ljvm $(LIBM) \ -framework Cocoa \ -framework OpenGL \ @@ -550,6 +551,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 @@ -619,6 +630,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), \ @@ -681,6 +697,7 @@ LDFLAGS_SUFFIX_solaris := -lawt -ljava -ljvm -lc, \ LDFLAGS_SUFFIX_macosx := $(LIBM) -lawt -ljava -ljvm, \ LDFLAGS_SUFFIX_linux := -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" \ @@ -821,6 +838,7 @@ LDFLAGS_SUFFIX_solaris := -lawt -lawt_xawt -lc $(LIBM) $(LIBCXX) -ljava -ljvm, \ LDFLAGS_SUFFIX_macosx := -lawt $(LIBM) $(LIBCXX) -undefined dynamic_lookup \ -ljava -ljvm, \ + LDFLAGS_SUFFIX_bsd := -lawt $(LIBM) $(LIBCXX) -ljava -ljvm -lc, \ LDFLAGS_SUFFIX_windows := $(WIN_JAVA_LIB) advapi32.lib user32.lib gdi32.lib \ $(WIN_AWT_LIB), \ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ @@ -963,6 +981,7 @@ CFLAGS := $(CFLAGS_JDKLIB), \ CFLAGS_linux := $(HEADLESS_CFLAG), \ CFLAGS_macosx := -I$(JDK_TOPDIR)/src/solaris/native/sun/awt, \ + CFLAGS_bsd := $(HEADLESS_CFLAG), \ MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjawt/mapfile-vers, \ LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ @@ -971,6 +990,7 @@ LDFLAGS_SUFFIX_solaris := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX) -lXrender, \ LDFLAGS_SUFFIX_macosx := -Xlinker -rpath -Xlinker @loader_path $(JAWT_LIBS) \ -framework Cocoa $(LDFLAGS_JDKLIB_SUFFIX), \ + LDFLAGS_SUFFIX_bsd := $(JAWT_LIBS) $(LDFLAGS_JDKLIB_SUFFIX), \ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjawt, \ DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) @@ -1169,6 +1189,7 @@ REORDER := $(LIBAWT_HEADLESS_REORDER), \ LDFLAGS_SUFFIX_linux := -ljvm -lawt -lm $(LIBDL) -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))) --- jdk/make/lib/CoreLibraries.gmk +++ jdk/make/lib/CoreLibraries.gmk @@ -81,7 +81,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 @@ -202,6 +202,7 @@ -framework CoreFoundation \ -framework Foundation \ -framework Security -framework SystemConfiguration, \ + LDFLAGS_SUFFIX_bsd := $(BUILD_LIBFDLIBM), \ LDFLAGS_SUFFIX_windows := -export:winFileHandleOpen -export:handleLseek \ jvm.lib $(BUILD_LIBFDLIBM) $(WIN_VERIFY_LIB) \ shell32.lib delayimp.lib -DELAYLOAD:shell32.dll \ @@ -267,6 +268,7 @@ LDFLAGS_SUFFIX_linux := -ljvm -ljava $(LIBZ), \ LDFLAGS_SUFFIX_solaris := -ljvm -ljava $(LIBZ) -lc, \ LDFLAGS_SUFFIX_macosx := $(LIBZ) -ljava -ljvm, \ + LDFLAGS_SUFFIX_bsd := -ljvm -ljava $(LIBZ), \ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ RC_FLAGS := $(RC_FLAGS) \ -D "JDK_FNAME=zip.dll" \ @@ -412,9 +414,11 @@ LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ LDFLAGS_macosx := -framework Cocoa -framework Security -framework ApplicationServices, \ + LDFLAGS_bsd := $(call SET_SHARED_LIBRARY_ORIGIN,/..), \ LDFLAGS_SUFFIX_solaris := $(LIBZ) $(LIBDL) -lc, \ LDFLAGS_SUFFIX_linux := $(LIBZ) $(LIBDL) -lc -lpthread, \ LDFLAGS_SUFFIX_macosx := $(LIBZ), \ + LDFLAGS_SUFFIX_bsd := $(LIBZ) -pthread, \ LDFLAGS_SUFFIX_windows := \ -export:JLI_Launch \ -export:JLI_ManifestIterate \ @@ -479,6 +483,23 @@ $(call install-file) BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a +else ifeq ($(OPENJDK_TARGET_OS), bsd) + $(eval $(call SetupNativeCompilation,BUILD_LIBJLI_STATIC, \ + LIBRARY := jli_static, \ + OUTPUT_DIR := $(JDK_OUTPUTDIR)/objs, \ + SRC := $(BUILD_LIBJLI_SRC_DIRS), \ + INCLUDE_FILES := $(BUILD_LIBJLI_FILES), \ + LANG := C, \ + OPTIMIZATION := HIGH, \ + CFLAGS := $(CFLAGS_JDKLIB) $(LIBJLI_CFLAGS), \ + LDFLAGS := -nostdlib -r, \ + OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjli_static, \ + DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) + + $(JDK_OUTPUTDIR)/objs/libjli_static.a: $(BUILD_LIBJLI_STATIC) + $(call install-file) + + BUILD_LIBRARIES += $(JDK_OUTPUTDIR)/objs/libjli_static.a endif ########################################################################################## @@ -496,6 +517,7 @@ LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ LDFLAGS_macosx := -liconv, \ + LDFLAGS_bsd := -liconv, \ LDFLAGS_SUFFIX_windows := -export:nptInitialize -export:nptTerminate, \ LDFLAGS_SUFFIX_solaris := -lc, \ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ --- jdk/make/lib/NetworkingLibraries.gmk +++ jdk/make/lib/NetworkingLibraries.gmk @@ -46,6 +46,10 @@ LIBNET_EXCLUDE_FILES += bsd_close.c endif +ifneq ($(OPENJDK_TARGET_OS), bsd) + LIBNET_EXCLUDE_FILES += bsd_close.c +endif + ifeq ($(OPENJDK_TARGET_OS), windows) LIBNET_EXCLUDE_FILES += PlainSocketImpl.c PlainDatagramSocketImpl.c SdpSupport.c else @@ -69,6 +73,7 @@ LDFLAGS_SUFFIX_macosx := -ljvm -ljava, \ LDFLAGS_SUFFIX_solaris := -ljvm -ljava -lnsl -lsocket $(LIBDL) -lc, \ LDFLAGS_SUFFIX_linux := $(LIBDL) -ljvm -lpthread -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 +++ jdk/make/lib/NioLibraries.gmk @@ -77,9 +77,26 @@ UnixNativeDispatcher.c endif +ifeq ($(OPENJDK_TARGET_OS), bsd) + BUILD_LIBNIO_MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libnio/mapfile-$(OPENJDK_TARGET_OS) + 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_FILES += \ InheritedChannel.c \ NativeThread.c \ @@ -130,6 +147,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, \ @@ -176,6 +194,7 @@ LDFLAGS_SUFFIX_posix := -lnio -lnet, \ LDFLAGS_SUFFIX_solaris := -lsocket -ljava -ljvm -lc, \ LDFLAGS_SUFFIX_macosx := -ljava -ljvm, \ + LDFLAGS_SUFFIX_bsd := -pthread -ljava -ljvm, \ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libsctp, \ DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) --- jdk/make/lib/ServiceabilityLibraries.gmk +++ jdk/make/lib/ServiceabilityLibraries.gmk @@ -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 @@ -80,6 +80,7 @@ MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libdt_socket/mapfile-vers, \ LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ + LDFLAGS_SUFFIX_bsd := -pthread, \ LDFLAGS_SUFFIX_linux := -lpthread, \ LDFLAGS_SUFFIX_solaris := -lnsl -lsocket -lc, \ LDFLAGS_SUFFIX_windows := $(LDFLAGS_JDKLIB_SUFFIX) -export:jdwpTransport_OnLoad ws2_32.lib, \ @@ -249,10 +250,12 @@ $(LIBINSTRUMENT_LDFLAGS), \ LDFLAGS_linux := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \ LDFLAGS_solaris := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \ + LDFLAGS_bsd := $(call SET_SHARED_LIBRARY_ORIGIN,/jli), \ LDFLAGS_macosx := -Xlinker -all_load $(JDK_OUTPUTDIR)/objs/libjli_static.a \ -framework Cocoa -framework Security -framework ApplicationServices, \ LDFLAGS_SUFFIX := $(LIBINSTRUMENT_LDFLAGS_SUFFIX), \ LDFLAGS_SUFFIX_macosx := -liconv $(LIBZ), \ + LDFLAGS_SUFFIX_bsd := -liconv $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli, \ LDFLAGS_SUFFIX_solaris := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL) -lc, \ LDFLAGS_SUFFIX_linux := $(LIBZ) -L $(INSTALL_LIBRARIES_HERE)/jli -ljli $(LIBDL), \ VERSIONINFO_RESOURCE := $(JDK_TOPDIR)/src/windows/resource/version.rc, \ @@ -293,8 +296,12 @@ BUILD_LIBMANAGEMENT_EXCLUDES += MacosxOperatingSystem.c endif +ifneq ($(OPENJDK_TARGET_OS), bsd) + BUILD_LIBMANAGEMENT_EXCLUDES += BsdOperatingSystem.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 @@ -337,7 +344,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 +++ jdk/make/lib/SoundLibraries.gmk @@ -71,6 +71,11 @@ LIBJSOUND_CFLAGS += -DX_PLATFORM=X_LINUX endif # OPENJDK_TARGET_OS linux +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 \ @@ -188,12 +193,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/usr/local/include, \ MAPFILE := $(JDK_TOPDIR)/make/mapfiles/libjsoundalsa/mapfile-vers, \ LDFLAGS := $(LDFLAGS_JDKLIB) \ $(call SET_SHARED_LIBRARY_ORIGIN), \ + LDFLAGS_bsd := -L/usr/local/lib, \ LDFLAGS_SUFFIX := $(ALSA_LIBS) -ljava -ljvm, \ OBJECT_DIR := $(JDK_OUTPUTDIR)/objs/libjsoundalsa, \ DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES))) --- jdk/make/mapfiles/launchers/mapfile-x86 +++ jdk/make/mapfiles/launchers/mapfile-x86 @@ -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 +++ jdk/make/mapfiles/launchers/mapfile-x86_64 @@ -33,6 +33,7 @@ environ; # Public symbols and required by Java run time _environ; __environ_lock; + __progname; local: *; --- jdk/make/mapfiles/libattach/mapfile-bsd +++ jdk/make/mapfiles/libattach/mapfile-bsd @@ -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: + *; +}; --- jdk/make/mapfiles/libnio/mapfile-bsd +++ jdk/make/mapfiles/libnio/mapfile-bsd @@ -0,0 +1,189 @@ +# +# 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_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 +++ jdk/make/mapfiles/libunpack/mapfile-vers-unpack200 @@ -26,6 +26,9 @@ # Define library interface. SUNWprivate_1.1 { + global: + environ; + __progname; local: *; }; --- jdk/make/netbeans/common/bsd-sources.ent +++ jdk/make/netbeans/common/bsd-sources.ent @@ -0,0 +1,45 @@ + + + + + + + java + ${root}/src/bsd/classes + ${includes} + ${excludes} + US-ASCII + + + + ${root}/src/bsd/classes + --- jdk/make/netbeans/common/bsd-view.ent +++ jdk/make/netbeans/common/bsd-view.ent @@ -0,0 +1,39 @@ + + + + + + + ${root}/src/bsd/classes + ${includes} + ${excludes} + --- jdk/make/netbeans/j2se/nbproject/project.xml +++ jdk/make/netbeans/j2se/nbproject/project.xml @@ -34,6 +34,7 @@ + @@ -41,6 +42,7 @@ + @@ -60,6 +62,7 @@ &share-sources; + &bsd-sources; &macosx-sources; &unix-sources; &windows-sources; @@ -86,6 +89,7 @@ &share-view; + &bsd-view; &macosx-view; &unix-view; &windows-view; --- jdk/make/netbeans/common/java-data-native.ent +++ jdk/make/netbeans/common/java-data-native.ent @@ -34,6 +34,7 @@ ${root}/src/share/classes + ${root}/src/bsd/classes ${root}/src/macosx/classes ${root}/src/solaris/classes ${root}/src/windows/classes --- jdk/make/netbeans/common/make.xml +++ jdk/make/netbeans/common/make.xml @@ -32,16 +32,21 @@ --> - - + + - + + + + + + @@ -56,7 +61,7 @@ - + --- jdk/make/netbeans/world/nbproject/project.xml +++ jdk/make/netbeans/world/nbproject/project.xml @@ -34,12 +34,14 @@ + + @@ -58,6 +60,7 @@ &share-sources; + &bsd-sources; &macosx-sources; &unix-sources; &windows-sources; @@ -69,6 +72,7 @@ &share-view; + &bsd-view; &macosx-view; &unix-view; &windows-view; --- jdk/src/share/bin/jli_util.h +++ jdk/src/share/bin/jli_util.h @@ -82,7 +82,7 @@ #define _LARGFILE64_SOURCE #define JLI_Lseek lseek64 #endif -#ifdef MACOSX +#ifdef _ALLBSD_SOURCE #define JLI_Lseek lseek #endif #endif /* _WIN32 */ --- jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java +++ jdk/src/share/classes/sun/nio/cs/ext/ExtendedCharsets.java @@ -1298,7 +1298,7 @@ String osName = AccessController.doPrivileged( new GetPropertyAction("os.name")); if ("SunOS".equals(osName) || "Linux".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/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider +++ jdk/src/share/classes/sun/tools/attach/META-INF/services/com.sun.tools.attach.spi.AttachProvider @@ -31,3 +31,4 @@ #[windows]sun.tools.attach.WindowsAttachProvider #[linux]sun.tools.attach.LinuxAttachProvider #[macosx]sun.tools.attach.BsdAttachProvider +#[bsd]sun.tools.attach.BsdAttachProvider --- jdk/src/share/lib/security/java.security-bsd +++ jdk/src/share/lib/security/java.security-bsd @@ -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= +# +# 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== (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.= +# +# 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. +# +# 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. + + +# +# 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. + + +# +# 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/sun/awt/medialib/mlib_sys.c +++ jdk/src/share/native/sun/awt/medialib/mlib_sys.c @@ -26,7 +26,7 @@ #include #include -#ifdef MACOSX +#ifdef _ALLBSD_SOURCE #include #include #else @@ -92,7 +92,7 @@ * alignment. -- from stdlib.h of MS VC++5.0. */ return (void *) malloc(size); -#elif defined(MACOSX) +#elif defined(_ALLBSD_SOURCE) return valloc(size); #else return (void *) memalign(8, size); --- jdk/src/share/native/sun/management/DiagnosticCommandImpl.c +++ jdk/src/share/native/sun/management/DiagnosticCommandImpl.c @@ -26,6 +26,7 @@ #include #include "management.h" #include "sun_management_DiagnosticCommandImpl.h" +#include JNIEXPORT void JNICALL Java_sun_management_DiagnosticCommandImpl_setNotificationEnabled (JNIEnv *env, jobject dummy, jboolean enabled) { --- jdk/src/solaris/bin/ergo_i586.c +++ jdk/src/solaris/bin/ergo_i586.c @@ -106,7 +106,7 @@ #endif /* __solaris__ */ -#ifdef __linux__ +#if defined(__linux__) || defined(_ALLBSD_SOURCE) /* * A utility method for asking the CPU about itself. --- jdk/src/solaris/bin/java_md_solinux.c +++ jdk/src/solaris/bin/java_md_solinux.c @@ -928,9 +928,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) { @@ -938,7 +942,7 @@ exec_path = JLI_StringDup(buf); } } -#else /* !__solaris__ && !__linux__ */ +#else /* !__solaris__ && !__linux__ && !__FreeBSD__ */ { /* Not implemented */ } @@ -1000,7 +1004,7 @@ int ContinueInNewThread0(int (JNICALL *continuation)(void *), jlong stack_size, void * args) { int rslt; -#ifdef __linux__ +#ifndef __solaris__ pthread_t tid; pthread_attr_t attr; pthread_attr_init(&attr); @@ -1025,7 +1029,7 @@ } pthread_attr_destroy(&attr); -#else /* ! __linux__ */ +#else /* __solaris__ */ thread_t tid; long flags = 0; if (thr_create(NULL, stack_size, (void *(*)(void *))continuation, args, flags, &tid) == 0) { --- jdk/src/solaris/bin/java_md_solinux.h +++ jdk/src/solaris/bin/java_md_solinux.h @@ -54,10 +54,10 @@ #endif #include -#ifdef __linux__ -#include -#else +#ifdef __solaris__ #include +#else +#include #endif #define JVM_DLL "libjvm.so" --- jdk/src/solaris/classes/sun/net/PortConfig.java +++ jdk/src/solaris/classes/sun/net/PortConfig.java @@ -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 { --- jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java +++ jdk/src/solaris/classes/sun/nio/ch/DefaultAsynchronousChannelProvider.java @@ -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"); throw new InternalError("platform not recognized"); } --- jdk/src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java +++ jdk/src/solaris/classes/sun/nio/fs/BsdFileSystemProvider.java @@ -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 +++ jdk/src/solaris/classes/sun/nio/fs/DefaultFileSystemProvider.java @@ -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"); throw new AssertionError("Platform not recognized"); --- jdk/src/solaris/classes/sun/tools/attach/BsdVirtualMachine.java +++ jdk/src/solaris/classes/sun/tools/attach/BsdVirtualMachine.java @@ -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/common/jni_util_md.c +++ jdk/src/solaris/native/common/jni_util_md.c @@ -28,6 +28,7 @@ #include "jni.h" #include "jni_util.h" #include "dlfcn.h" +#include jstring nativeNewStringPlatform(JNIEnv *env, const char *str) { return NULL; --- jdk/src/solaris/native/java/net/Inet4AddressImpl.c +++ jdk/src/solaris/native/java/net/Inet4AddressImpl.c @@ -36,20 +36,13 @@ #include #include -#ifdef _ALLBSD_SOURCE -#include -#include -#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 +++ jdk/src/solaris/native/java/net/Inet6AddressImpl.c @@ -33,7 +33,7 @@ #include #include #include -#ifdef MACOSX +#ifdef _ALLBSD_SOURCE #include #include #include /* 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 +++ jdk/src/solaris/native/java/net/NetworkInterface.c @@ -60,14 +60,18 @@ #include #include #include -#if defined(__APPLE__) +#if defined(__APPLE__) || defined(__FreeBSD__) #include #include +#elif defined(__OpenBSD__) +#include +#elif defined(__NetBSD__) +#include +#endif #include #include #include #endif -#endif #include "jvm.h" #include "jni_util.h" --- jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c +++ jdk/src/solaris/native/java/net/PlainDatagramSocketImpl.c @@ -2176,7 +2176,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 +++ jdk/src/solaris/native/java/net/net_util_md.c @@ -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/util/TimeZone_md.c +++ jdk/src/solaris/native/java/util/TimeZone_md.c @@ -123,7 +123,7 @@ return NULL; } -#if defined(__linux__) || defined(MACOSX) || (defined(__solaris__) \ +#if defined(__linux__) || defined(_ALLBSD_SOURCE) || (defined(__solaris__) \ && (defined(_POSIX_PTHREAD_SEMANTICS) || defined(_LP64))) while (readdir_r(dirp, entry, &dp) == 0 && dp != NULL) { #else @@ -211,7 +211,7 @@ return tz; } -#if defined(__linux__) || defined(MACOSX) +#if defined(__linux__) || defined(_ALLBSD_SOURCE) /* * Performs Linux specific mapping and returns a zone ID @@ -677,7 +677,7 @@ * Returns a GMT-offset-based zone ID. (e.g., "GMT-08:00") */ -#ifdef MACOSX +#ifdef _ALLBSD_SOURCE char * getGMTOffsetID() @@ -693,10 +693,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)); --- jdk/src/solaris/native/sun/management/OperatingSystemImpl.c +++ jdk/src/solaris/native/sun/management/OperatingSystemImpl.c @@ -342,7 +342,13 @@ 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"); --- jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h +++ jdk/src/solaris/native/sun/nio/ch/sctp/Sctp.h @@ -67,7 +67,7 @@ -#else /* __linux__ */ +#elif defined(__linux__) #include #include #include @@ -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 +#include +#include +#include +#include +#include +#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 +++ jdk/src/solaris/native/sun/nio/ch/sctp/SctpNet.c @@ -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 +++ jdk/src/solaris/native/sun/nio/fs/MagicFileTypeDetector.c @@ -31,6 +31,12 @@ #include #include +#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 +++ jdk/src/solaris/native/sun/tools/attach/BsdVirtualMachine.c @@ -37,7 +37,9 @@ #include #include #include +#ifndef __FreeBSD__ #include +#endif #include #include --- make/Main.gmk +++ make/Main.gmk @@ -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 +++ make/common/MakeBase.gmk @@ -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 +++ make/common/NativeCompilation.gmk @@ -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)