Merge
This commit is contained in:
commit
a18ce1f7d5
jdk
make
src
demo/share/jvmti
agent_util
compiledMethodLoad
gctest
heapTracker
heapViewer
minst
mtrace
versionCheck
waiters
java.base
macosx/native
share
classes
java/nio
jdk/internal/misc
sun
native
libjava
libjimage
libnet
libnio
libverify
libzip
unix/native/libjava
java.desktop
macosx/native
libawt_lwawt/awt
libjawt
libosxapp
libosxui
share/native
libfontmanager
libjavajpeg
libjsound
liblcms
libmlib_image
libsplashscreen
unix/native
libawt/awt
libawt_headless/awt
libawt_xawt/xawt
libjawt
libjsound
windows/native
java.instrument/share/native/libinstrument
java.management/share/native/libmanagement
java.prefs
macosx/native/libprefs
unix/native/libprefs
windows/native/libprefs
java.security.jgss
macosx/native/libosxkrb5
share/native/libj2gss
windows/native/libw2k_lsa_auth
java.smartcardio/share/native/libj2pcsc
jdk.attach
linux/native/libattach
macosx/native/libattach
solaris/native/libattach
windows/native/libattach
jdk.crypto.ec/share/native/libsunec
jdk.crypto.mscapi/windows/native/libsunmscapi
jdk.crypto.pkcs11/share/native/libj2pkcs11
jdk.crypto.ucrypto/solaris/native/libj2ucrypto
jdk.deploy.osx/macosx/native
jdk.jdwp.agent/share/native/libjdwp
jdk.management/share/native/libmanagement_ext
jdk.pack200/share/native
jdk.sctp/unix/native/libsctp
jdk.security.auth
test
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -45,8 +45,16 @@ endif
|
||||
#
|
||||
# Import hotspot
|
||||
#
|
||||
|
||||
# Don't import jsig library for static builds
|
||||
ifneq ($(STATIC_BUILD), true)
|
||||
JSIG_IMPORT = jsig.*
|
||||
else
|
||||
JSIG_IMPORT =
|
||||
endif
|
||||
|
||||
HOTSPOT_BASE_IMPORT_FILES := \
|
||||
$(addprefix $(LIBRARY_PREFIX), jvm.* jsig.* jvm_db.* jvm_dtrace.*) \
|
||||
$(addprefix $(LIBRARY_PREFIX), jvm.* $(JSIG_IMPORT) jvm_db.* jvm_dtrace.*) \
|
||||
Xusage.txt \
|
||||
#
|
||||
|
||||
@ -79,32 +87,34 @@ SA_TARGETS := $(COPY_HOTSPOT_SA)
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
JSIG_DEBUGINFO := $(strip $(wildcard $(HOTSPOT_DIST)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig$(SHARED_LIBRARY_SUFFIX).dSYM) \
|
||||
$(wildcard $(HOTSPOT_DIST)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.diz) )
|
||||
else
|
||||
JSIG_DEBUGINFO := $(strip $(wildcard $(HOTSPOT_DIST)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.debuginfo) \
|
||||
$(wildcard $(HOTSPOT_DIST)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.diz) )
|
||||
endif
|
||||
ifneq ($(STATIC_BUILD), true)
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
JSIG_DEBUGINFO := $(strip $(wildcard $(HOTSPOT_DIST)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig$(SHARED_LIBRARY_SUFFIX).dSYM) \
|
||||
$(wildcard $(HOTSPOT_DIST)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.diz) )
|
||||
else
|
||||
JSIG_DEBUGINFO := $(strip $(wildcard $(HOTSPOT_DIST)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.debuginfo) \
|
||||
$(wildcard $(HOTSPOT_DIST)/lib$(OPENJDK_TARGET_CPU_LIBDIR)/libjsig.diz) )
|
||||
endif
|
||||
|
||||
ifneq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(JVM_VARIANT_SERVER), true)
|
||||
BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/server/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
|
||||
ifneq (, $(JSIG_DEBUGINFO))
|
||||
BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/server/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
|
||||
ifneq ($(OPENJDK_TARGET_OS), windows)
|
||||
ifeq ($(JVM_VARIANT_SERVER), true)
|
||||
BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/server/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
|
||||
ifneq (, $(JSIG_DEBUGINFO))
|
||||
BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/server/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
ifeq ($(JVM_VARIANT_CLIENT), true)
|
||||
BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/client/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
|
||||
ifneq (, $(JSIG_DEBUGINFO))
|
||||
BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/client/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
|
||||
ifeq ($(JVM_VARIANT_CLIENT), true)
|
||||
BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/client/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
|
||||
ifneq (, $(JSIG_DEBUGINFO))
|
||||
BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/client/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(JVM_VARIANT_MINIMAL1), true)
|
||||
BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/minimal/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
|
||||
ifneq (,$(JSIG_DEBUGINFO))
|
||||
BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/minimal/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
|
||||
ifneq ($(OPENJDK_TARGET_OS), macosx)
|
||||
ifeq ($(JVM_VARIANT_MINIMAL1), true)
|
||||
BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/minimal/$(LIBRARY_PREFIX)jsig$(SHARED_LIBRARY_SUFFIX)
|
||||
ifneq (,$(JSIG_DEBUGINFO))
|
||||
BASE_TARGETS += $(BASE_INSTALL_LIBRARIES_HERE)/minimal/$(foreach I,$(JSIG_DEBUGINFO),$(notdir $I))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
@ -106,10 +106,30 @@ define SetupLauncher
|
||||
endif
|
||||
endif
|
||||
|
||||
$1_LDFLAGS += -Wl,-all_load $(SUPPORT_OUTPUTDIR)/native/java.base/libjli_static.a \
|
||||
-framework Cocoa -framework Security -framework ApplicationServices \
|
||||
-sectcreate __TEXT __info_plist $(MACOSX_PLIST_DIR)/$$($1_PLIST_FILE)
|
||||
$1_LDFLAGS_SUFFIX += -pthread
|
||||
ifeq ($(STATIC_BUILD), true)
|
||||
$1_LDFLAGS += -Wl,-all_load \
|
||||
$(shell $(FIND) $(SUPPORT_OUTPUTDIR)/modules_libs/java.base -name "*.a") \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs/jdk.jdwp.agent/libdt_socket.a \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs/jdk.jdwp.agent/libjdwp.a \
|
||||
$(SUPPORT_OUTPUTDIR)/native/java.base/$(LIBRARY_PREFIX)fdlibm$(STATIC_LIBRARY_SUFFIX) \
|
||||
-framework CoreFoundation \
|
||||
-framework Foundation \
|
||||
-framework SystemConfiguration \
|
||||
-framework Cocoa -framework Security \
|
||||
-framework ApplicationServices \
|
||||
-lstdc++ -liconv \
|
||||
-sectcreate __TEXT __info_plist \
|
||||
$(MACOSX_PLIST_DIR)/$$($1_PLIST_FILE) \
|
||||
-exported_symbols_list \
|
||||
$(SUPPORT_OUTPUTDIR)/build-static/exported.symbols
|
||||
else
|
||||
$1_LDFLAGS += -Wl,-all_load $(SUPPORT_OUTPUTDIR)/native/java.base/libjli_static.a \
|
||||
-framework Cocoa -framework Security -framework ApplicationServices \
|
||||
-sectcreate __TEXT __info_plist $(MACOSX_PLIST_DIR)/$$($1_PLIST_FILE)
|
||||
$1_LDFLAGS_SUFFIX += -pthread
|
||||
endif
|
||||
|
||||
|
||||
endif
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
|
@ -436,10 +436,14 @@ else ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
$(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static.a: $(BUILD_LIBJLI_STATIC)
|
||||
ifeq ($(STATIC_BUILD), true)
|
||||
TARGETS += $(BUILD_LIBJLI_STATIC)
|
||||
else
|
||||
$(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static.a: $(BUILD_LIBJLI_STATIC)
|
||||
$(call install-file)
|
||||
|
||||
TARGETS += $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static.a
|
||||
TARGETS += $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libjli_static.a
|
||||
endif
|
||||
|
||||
else ifeq ($(OPENJDK_TARGET_OS), aix)
|
||||
# AIX also requires a static libjli because the compiler doesn't support '-rpath'
|
||||
|
@ -1,5 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
#
|
||||
# This code is free software; you can redistribute it and/or modify it
|
||||
@ -33,3 +33,29 @@ include CoreLibraries.gmk
|
||||
include NetworkingLibraries.gmk
|
||||
include NioLibraries.gmk
|
||||
include SecurityLibraries.gmk
|
||||
|
||||
ifeq ($(STATIC_BUILD), true)
|
||||
JAVA_BASE_EXPORT_SYMBOLS_SRC := \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/jli/$(LIBRARY_PREFIX)jli.symbols \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/$(LIBRARY_PREFIX)java.symbols \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/$(LIBRARY_PREFIX)net.symbols \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/$(LIBRARY_PREFIX)nio.symbols \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/$(LIBRARY_PREFIX)verify.symbols \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/$(LIBRARY_PREFIX)zip.symbols \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/$(LIBRARY_PREFIX)jimage.symbols \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs/java.base/server/$(LIBRARY_PREFIX)jvm.symbols \
|
||||
#
|
||||
|
||||
JAVA_BASE_EXPORT_SYMBOL_FILE := $(SUPPORT_OUTPUTDIR)/modules_libs/java.base/java.base.symbols
|
||||
|
||||
$(JAVA_BASE_EXPORT_SYMBOL_FILE): $(JAVA_BASE_EXPORT_SYMBOLS_SRC)
|
||||
$(ECHO) $(LOG_INFO) "Generating java.base.symbols file"
|
||||
$(CAT) $^ > $@
|
||||
|
||||
# The individual symbol files is generated when the respective lib is built
|
||||
$(JAVA_BASE_EXPORT_SYMBOLS_SRC): $(BUILD_LIBJLI) $(BUILD_LIBJAVA) \
|
||||
$(BUILD_LIBNET) $(BUILD_LIBNIO) $(BUILD_LIBVERIFY) $(BUILD_LIBZIP) \
|
||||
$(BUILD_LIBJIMAGE)
|
||||
|
||||
TARGETS += $(JAVA_BASE_EXPORT_SYMBOL_FILE)
|
||||
endif
|
||||
|
@ -100,3 +100,23 @@ $(BUILD_LIBJDWP): $(call FindLib, java.base, java)
|
||||
TARGETS += $(BUILD_LIBJDWP)
|
||||
|
||||
################################################################################
|
||||
|
||||
ifeq ($(STATIC_BUILD), true)
|
||||
JDK_JDWP_AGENT_EXPORT_SYMBOLS_SRC := \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs/jdk.jdwp.agent/$(LIBRARY_PREFIX)dt_socket.symbols \
|
||||
$(SUPPORT_OUTPUTDIR)/modules_libs/jdk.jdwp.agent/$(LIBRARY_PREFIX)jdwp.symbols
|
||||
|
||||
JDK_JDWP_AGENT_EXPORT_SYMBOL_FILE := $(SUPPORT_OUTPUTDIR)/modules_libs/jdk.jdwp.agent/jdk.jdwp.agent.symbols
|
||||
|
||||
$(JDK_JDWP_AGENT_EXPORT_SYMBOL_FILE): $(JDK_JDWP_AGENT_EXPORT_SYMBOLS_SRC)
|
||||
$(ECHO) $(LOG_INFO) "Generating jdk.jdwp.agent symbols file"
|
||||
$(CAT) $^ > $@
|
||||
|
||||
# The individual symbol files is generated when the respective lib is built
|
||||
$(JDK_JDWP_AGENT_EXPORT_SYMBOLS_SRC): $(BUILD_LIBDT_SOCKET) $(BUILD_LIBJDWP)
|
||||
|
||||
TARGETS += $(JDK_JDWP_AGENT_EXPORT_SYMBOL_FILE)
|
||||
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
|
@ -26,38 +26,42 @@
|
||||
include LibCommon.gmk
|
||||
|
||||
ifeq ($(OPENJDK_TARGET_OS), macosx)
|
||||
# JavaNativeFoundation framework not supported in static builds
|
||||
ifneq ($(STATIC_BUILD), true)
|
||||
|
||||
################################################################################
|
||||
|
||||
LIBOSXSECURITY_DIRS := $(JDK_TOPDIR)/src/java.base/macosx/native/libosxsecurity
|
||||
LIBOSXSECURITY_CFLAGS := -I$(LIBOSXSECURITY_DIRS) \
|
||||
$(LIBJAVA_HEADER_FLAGS) \
|
||||
-I$(SUPPORT_OUTPUTDIR)/headers/java.base \
|
||||
LIBOSXSECURITY_DIRS := $(JDK_TOPDIR)/src/java.base/macosx/native/libosxsecurity
|
||||
LIBOSXSECURITY_CFLAGS := -I$(LIBOSXSECURITY_DIRS) \
|
||||
$(LIBJAVA_HEADER_FLAGS) \
|
||||
-I$(SUPPORT_OUTPUTDIR)/headers/java.base \
|
||||
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBOSXSECURITY, \
|
||||
LIBRARY := osxsecurity, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(LIBOSXSECURITY_DIRS), \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
$(LIBOSXSECURITY_CFLAGS), \
|
||||
DISABLED_WARNINGS_clang := deprecated-declarations, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
-L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_macosx := \
|
||||
-fobjc-link-runtime \
|
||||
-framework JavaNativeFoundation \
|
||||
-framework CoreServices \
|
||||
-framework Security \
|
||||
$(LDFLAGS_JDKLIB_SUFFIX), \
|
||||
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libosxsecurity, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
$(eval $(call SetupNativeCompilation,BUILD_LIBOSXSECURITY, \
|
||||
LIBRARY := osxsecurity, \
|
||||
OUTPUT_DIR := $(INSTALL_LIBRARIES_HERE), \
|
||||
SRC := $(LIBOSXSECURITY_DIRS), \
|
||||
OPTIMIZATION := LOW, \
|
||||
CFLAGS := $(CFLAGS_JDKLIB) \
|
||||
$(LIBOSXSECURITY_CFLAGS), \
|
||||
DISABLED_WARNINGS_clang := deprecated-declarations, \
|
||||
LDFLAGS := $(LDFLAGS_JDKLIB) \
|
||||
-L$(SUPPORT_OUTPUTDIR)/modules_libs/java.base \
|
||||
$(call SET_SHARED_LIBRARY_ORIGIN), \
|
||||
LDFLAGS_SUFFIX_macosx := \
|
||||
-fobjc-link-runtime \
|
||||
-framework JavaNativeFoundation \
|
||||
-framework CoreServices \
|
||||
-framework Security \
|
||||
$(LDFLAGS_JDKLIB_SUFFIX), \
|
||||
OBJECT_DIR := $(SUPPORT_OUTPUTDIR)/native/$(MODULE)/libosxsecurity, \
|
||||
DEBUG_SYMBOLS := $(DEBUG_ALL_BINARIES)))
|
||||
|
||||
$(BUILD_LIBOSXSECURITY): $(BUILD_LIBJAVA)
|
||||
$(BUILD_LIBOSXSECURITY): $(BUILD_LIBJAVA)
|
||||
|
||||
TARGETS += $(BUILD_LIBOSXSECURITY)
|
||||
TARGETS += $(BUILD_LIBOSXSECURITY)
|
||||
|
||||
################################################################################
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
|
@ -75,6 +75,7 @@ SUNWprivate_1.1 {
|
||||
Java_sun_nio_ch_IOUtil_makePipe;
|
||||
Java_sun_nio_ch_IOUtil_randomBytes;
|
||||
Java_sun_nio_ch_IOUtil_setfdVal;
|
||||
Java_sun_nio_ch_IOUtil_iovMax;
|
||||
Java_sun_nio_ch_KQueue_kqueue;
|
||||
Java_sun_nio_ch_KQueue_keventRegister;
|
||||
Java_sun_nio_ch_KQueue_keventPoll;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -65,6 +65,51 @@ void deallocate(jvmtiEnv *jvmti, void *ptr);
|
||||
void *allocate(jvmtiEnv *jvmti, jint len);
|
||||
void add_demo_jar_to_bootclasspath(jvmtiEnv *jvmti, char *demo_name);
|
||||
|
||||
#ifdef STATIC_BUILD
|
||||
/* Macros for handling declaration of static/dynamic
|
||||
* Agent library Load/Attach/Unload functions
|
||||
*
|
||||
* DEF_Agent_OnLoad, DEF_Agent_OnAttach or DEF_Agent_OnUnload
|
||||
* generate the appropriate entrypoint names based on static
|
||||
* versus dynamic builds.
|
||||
*
|
||||
* STATIC_BUILD must be defined to build static versions of these libraries.
|
||||
* LIBRARY_NAME must be set to the name of the library for static builds.
|
||||
*/
|
||||
#define ADD_LIB_NAME3(name, lib) name ## lib
|
||||
#define ADD_LIB_NAME2(name, lib) ADD_LIB_NAME3(name, lib)
|
||||
#define ADD_LIB_NAME(entry) ADD_LIB_NAME2(entry, LIBRARY_NAME)
|
||||
|
||||
#define DEF_Agent_OnLoad \
|
||||
ADD_LIB_NAME(Agent_OnLoad_)(JavaVM *vm, char *options, void *reserved) \
|
||||
{ \
|
||||
jint JNICALL ADD_LIB_NAME(Agent_OnLoad_dynamic_)(JavaVM *vm, char *options, void *reserved); \
|
||||
return ADD_LIB_NAME(Agent_OnLoad_dynamic_)(vm, options, reserved); \
|
||||
} \
|
||||
jint JNICALL ADD_LIB_NAME(Agent_OnLoad_dynamic_)
|
||||
|
||||
#define DEF_Agent_OnAttach \
|
||||
ADD_LIB_NAME(Agent_OnAttach_)(JavaVM *vm, char *options, void *reserved) \
|
||||
{ \
|
||||
jint JNICALL ADD_LIB_NAME(Agent_OnAttach_dynamic_)(JavaVM *vm, char *options, void *reserved); \
|
||||
return ADD_LIB_NAME(Agent_OnAttach_dynamic_)(vm, options, reserved); \
|
||||
} \
|
||||
jint JNICALL ADD_LIB_NAME(Agent_OnAttach_dynamic_)
|
||||
|
||||
#define DEF_Agent_OnUnload \
|
||||
ADD_LIB_NAME(Agent_OnUnload_)(JavaVM *vm) \
|
||||
{ \
|
||||
void JNICALL ADD_LIB_NAME(Agent_OnUnload_dynamic_)(JavaVM *vm); \
|
||||
ADD_LIB_NAME(Agent_OnUnload_dynamic_)(vm); \
|
||||
} \
|
||||
void JNICALL ADD_LIB_NAME(Agent_OnUnload_dynamic_)
|
||||
|
||||
#else
|
||||
#define DEF_Agent_OnLoad Agent_OnLoad
|
||||
#define DEF_Agent_OnAttach Agent_OnAttach
|
||||
#define DEF_Agent_OnUnload Agent_OnUnload
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* __cplusplus */
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2010, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -225,7 +225,7 @@ compiled_method_load(jvmtiEnv *jvmti, jmethodID method, jint code_size,
|
||||
* event here.
|
||||
*/
|
||||
JNIEXPORT jint JNICALL
|
||||
Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
DEF_Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
{
|
||||
jint rc;
|
||||
jvmtiError err;
|
||||
@ -272,6 +272,6 @@ Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
|
||||
/* Agent_OnUnload() is called last */
|
||||
JNIEXPORT void JNICALL
|
||||
Agent_OnUnload(JavaVM *vm)
|
||||
DEF_Agent_OnUnload(JavaVM *vm)
|
||||
{
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -148,7 +148,7 @@ gc_finish(jvmtiEnv* jvmti_env)
|
||||
|
||||
/* Agent_OnLoad() is called first, we prepare for a VM_INIT event here. */
|
||||
JNIEXPORT jint JNICALL
|
||||
Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
DEF_Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
{
|
||||
jint rc;
|
||||
jvmtiError err;
|
||||
@ -193,6 +193,6 @@ Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
|
||||
/* Agent_OnUnload() is called last */
|
||||
JNIEXPORT void JNICALL
|
||||
Agent_OnUnload(JavaVM *vm)
|
||||
DEF_Agent_OnUnload(JavaVM *vm)
|
||||
{
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -894,7 +894,7 @@ parse_agent_options(char *options)
|
||||
* loaded. This is the first code executed.
|
||||
*/
|
||||
JNIEXPORT jint JNICALL
|
||||
Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
DEF_Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
{
|
||||
static GlobalAgentData data;
|
||||
jvmtiEnv *jvmti;
|
||||
@ -1010,7 +1010,7 @@ Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
* unloaded. This is the last code executed.
|
||||
*/
|
||||
JNIEXPORT void JNICALL
|
||||
Agent_OnUnload(JavaVM *vm)
|
||||
DEF_Agent_OnUnload(JavaVM *vm)
|
||||
{
|
||||
/* Skip any cleanup, VM is about to die anyway */
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -64,9 +64,4 @@
|
||||
|
||||
#include "agent_util.h"
|
||||
|
||||
/* Agent library externals to export. */
|
||||
|
||||
JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *vm, char *options, void *reserved);
|
||||
JNIEXPORT void JNICALL Agent_OnUnload(JavaVM *vm);
|
||||
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -235,7 +235,7 @@ vmDeath(jvmtiEnv *jvmti, JNIEnv *env)
|
||||
|
||||
/* Agent_OnLoad() is called first, we prepare for a VM_INIT event here. */
|
||||
JNIEXPORT jint JNICALL
|
||||
Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
DEF_Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
{
|
||||
jint rc;
|
||||
jvmtiError err;
|
||||
@ -283,6 +283,6 @@ Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
|
||||
/* Agent_OnUnload() is called last */
|
||||
JNIEXPORT void JNICALL
|
||||
Agent_OnUnload(JavaVM *vm)
|
||||
DEF_Agent_OnUnload(JavaVM *vm)
|
||||
{
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -373,7 +373,7 @@ parse_agent_options(char *options)
|
||||
* loaded. This is the first code executed.
|
||||
*/
|
||||
JNIEXPORT jint JNICALL
|
||||
Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
DEF_Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
{
|
||||
static GlobalAgentData data;
|
||||
jvmtiEnv *jvmti;
|
||||
@ -467,7 +467,7 @@ Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
* unloaded. This is the last code executed.
|
||||
*/
|
||||
JNIEXPORT void JNICALL
|
||||
Agent_OnUnload(JavaVM *vm)
|
||||
DEF_Agent_OnUnload(JavaVM *vm)
|
||||
{
|
||||
/* Make sure all malloc/calloc/strdup space is freed */
|
||||
if ( gdata->include != NULL ) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2006, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -64,9 +64,4 @@
|
||||
|
||||
#include "agent_util.h"
|
||||
|
||||
/* Agent library externals to export. */
|
||||
|
||||
JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *vm, char *options, void *reserved);
|
||||
JNIEXPORT void JNICALL Agent_OnUnload(JavaVM *vm);
|
||||
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -697,7 +697,7 @@ parse_agent_options(char *options)
|
||||
* loaded. This is the first code executed.
|
||||
*/
|
||||
JNIEXPORT jint JNICALL
|
||||
Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
DEF_Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
{
|
||||
static GlobalAgentData data;
|
||||
jvmtiEnv *jvmti;
|
||||
@ -795,7 +795,7 @@ Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
* unloaded. This is the last code executed.
|
||||
*/
|
||||
JNIEXPORT void JNICALL
|
||||
Agent_OnUnload(JavaVM *vm)
|
||||
DEF_Agent_OnUnload(JavaVM *vm)
|
||||
{
|
||||
/* Make sure all malloc/calloc/strdup space is freed */
|
||||
if ( gdata->include != NULL ) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -64,9 +64,4 @@
|
||||
|
||||
#include "agent_util.h"
|
||||
|
||||
/* Agent library externals to export. */
|
||||
|
||||
JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *vm, char *options, void *reserved);
|
||||
JNIEXPORT void JNICALL Agent_OnUnload(JavaVM *vm);
|
||||
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -89,7 +89,7 @@ vm_init(jvmtiEnv *jvmti, JNIEnv *env, jthread thread)
|
||||
|
||||
/* Agent_OnLoad() is called first, we prepare for a VM_INIT event here. */
|
||||
JNIEXPORT jint JNICALL
|
||||
Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
DEF_Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
{
|
||||
jint rc;
|
||||
jvmtiError err;
|
||||
@ -116,6 +116,6 @@ Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
|
||||
/* Agent_OnUnload() is called last */
|
||||
JNIEXPORT void JNICALL
|
||||
Agent_OnUnload(JavaVM *vm)
|
||||
DEF_Agent_OnUnload(JavaVM *vm)
|
||||
{
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -37,6 +37,10 @@
|
||||
* this sample code.
|
||||
*/
|
||||
|
||||
#ifdef STATIC_BUILD
|
||||
#define Monitor WaiterMonitor
|
||||
#endif
|
||||
|
||||
|
||||
/* C++ Monitor class */
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -37,6 +37,9 @@
|
||||
* this sample code.
|
||||
*/
|
||||
|
||||
#ifdef STATIC_BUILD
|
||||
#define Thread WaiterThread
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
@ -243,7 +243,7 @@ extern "C" {
|
||||
|
||||
/* Agent_OnLoad() is called first, we prepare for a VM_INIT event here. */
|
||||
JNIEXPORT jint JNICALL
|
||||
Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
DEF_Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
{
|
||||
jvmtiEnv *jvmti;
|
||||
jint rc;
|
||||
@ -288,7 +288,7 @@ extern "C" {
|
||||
|
||||
/* Agent_OnUnload() is called last */
|
||||
JNIEXPORT void JNICALL
|
||||
Agent_OnUnload(JavaVM *vm)
|
||||
DEF_Agent_OnUnload(JavaVM *vm)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -35,13 +35,15 @@
|
||||
|
||||
#include "java_props_macosx.h"
|
||||
|
||||
|
||||
// need dlopen/dlsym trick to avoid pulling in JavaRuntimeSupport before libjava.dylib is loaded
|
||||
static void *getJRSFramework() {
|
||||
static void *jrsFwk = NULL;
|
||||
#ifndef STATIC_BUILD
|
||||
// JavaRuntimeSupport doesn't support static Java runtimes
|
||||
if (jrsFwk == NULL) {
|
||||
jrsFwk = dlopen("/System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/JavaRuntimeSupport", RTLD_LAZY | RTLD_LOCAL);
|
||||
}
|
||||
#endif
|
||||
return jrsFwk;
|
||||
}
|
||||
|
||||
|
@ -245,6 +245,8 @@ static InvocationFunctions *GetExportedJNIFunctions() {
|
||||
return sExportedJNIFunctions = fxns;
|
||||
}
|
||||
|
||||
#ifndef STATIC_BUILD
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNI_GetDefaultJavaVMInitArgs(void *args) {
|
||||
InvocationFunctions *ifn = GetExportedJNIFunctions();
|
||||
@ -265,6 +267,7 @@ JNI_GetCreatedJavaVMs(JavaVM **vmBuf, jsize bufLen, jsize *nVMs) {
|
||||
if (ifn == NULL) return JNI_ERR;
|
||||
return ifn->GetCreatedJavaVMs(vmBuf, bufLen, nVMs);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Allow JLI-aware launchers to specify a client/server preference
|
||||
@ -303,7 +306,12 @@ static void *apple_main (void *arg)
|
||||
objc_registerThreadWithCollector();
|
||||
|
||||
if (main_fptr == NULL) {
|
||||
#ifdef STATIC_BUILD
|
||||
extern int main(int argc, char **argv);
|
||||
main_fptr = &main;
|
||||
#else
|
||||
main_fptr = (int (*)())dlsym(RTLD_DEFAULT, "main");
|
||||
#endif
|
||||
if (main_fptr == NULL) {
|
||||
JLI_ReportErrorMessageSys("error locating main entrypoint\n");
|
||||
exit(1);
|
||||
@ -588,6 +596,9 @@ GetJVMPath(const char *jrepath, const char *jvmtype,
|
||||
|
||||
JLI_TraceLauncher("Does `%s' exist ... ", jvmpath);
|
||||
|
||||
#ifdef STATIC_BUILD
|
||||
return JNI_TRUE;
|
||||
#else
|
||||
if (stat(jvmpath, &s) == 0) {
|
||||
JLI_TraceLauncher("yes.\n");
|
||||
return JNI_TRUE;
|
||||
@ -595,6 +606,7 @@ GetJVMPath(const char *jrepath, const char *jvmtype,
|
||||
JLI_TraceLauncher("no.\n");
|
||||
return JNI_FALSE;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@ -607,10 +619,18 @@ GetJREPath(char *path, jint pathsize, const char * arch, jboolean speculative)
|
||||
|
||||
if (GetApplicationHome(path, pathsize)) {
|
||||
/* Is JRE co-located with the application? */
|
||||
#ifdef STATIC_BUILD
|
||||
char jvm_cfg[MAXPATHLEN];
|
||||
JLI_Snprintf(jvm_cfg, sizeof(jvm_cfg), "%s/lib/jvm.cfg", path);
|
||||
if (access(jvm_cfg, F_OK) == 0) {
|
||||
return JNI_TRUE;
|
||||
}
|
||||
#else
|
||||
JLI_Snprintf(libjava, sizeof(libjava), "%s/lib/" JAVA_DLL, path);
|
||||
if (access(libjava, F_OK) == 0) {
|
||||
return JNI_TRUE;
|
||||
}
|
||||
#endif
|
||||
/* ensure storage for path + /jre + NULL */
|
||||
if ((JLI_StrLen(path) + 4 + 1) > (size_t) pathsize) {
|
||||
JLI_TraceLauncher("Insufficient space to store JRE path\n");
|
||||
@ -629,6 +649,24 @@ GetJREPath(char *path, jint pathsize, const char * arch, jboolean speculative)
|
||||
Dl_info selfInfo;
|
||||
dladdr(&GetJREPath, &selfInfo);
|
||||
|
||||
#ifdef STATIC_BUILD
|
||||
char jvm_cfg[MAXPATHLEN];
|
||||
char *p = NULL;
|
||||
strncpy(jvm_cfg, selfInfo.dli_fname, MAXPATHLEN);
|
||||
p = strrchr(jvm_cfg, '/'); *p = '\0';
|
||||
p = strrchr(jvm_cfg, '/');
|
||||
if (strcmp(p, "/.") == 0) {
|
||||
*p = '\0';
|
||||
p = strrchr(jvm_cfg, '/'); *p = '\0';
|
||||
}
|
||||
else *p = '\0';
|
||||
strncpy(path, jvm_cfg, pathsize);
|
||||
strncat(jvm_cfg, "/lib/jvm.cfg", MAXPATHLEN);
|
||||
if (access(jvm_cfg, F_OK) == 0) {
|
||||
return JNI_TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
char *realPathToSelf = realpath(selfInfo.dli_fname, path);
|
||||
if (realPathToSelf != path) {
|
||||
return JNI_FALSE;
|
||||
@ -664,7 +702,11 @@ LoadJavaVM(const char *jvmpath, InvocationFunctions *ifn)
|
||||
|
||||
JLI_TraceLauncher("JVM path is %s\n", jvmpath);
|
||||
|
||||
#ifndef STATIC_BUILD
|
||||
libjvm = dlopen(jvmpath, RTLD_NOW + RTLD_GLOBAL);
|
||||
#else
|
||||
libjvm = dlopen(NULL, RTLD_FIRST);
|
||||
#endif
|
||||
if (libjvm == NULL) {
|
||||
JLI_ReportErrorMessage(DLL_ERROR1, __LINE__);
|
||||
JLI_ReportErrorMessage(DLL_ERROR2, jvmpath, dlerror());
|
||||
@ -714,9 +756,14 @@ SetExecname(char **argv)
|
||||
char* exec_path = NULL;
|
||||
{
|
||||
Dl_info dlinfo;
|
||||
int (*fptr)();
|
||||
|
||||
#ifdef STATIC_BUILD
|
||||
void *fptr;
|
||||
fptr = (void *)&SetExecname;
|
||||
#else
|
||||
int (*fptr)();
|
||||
fptr = (int (*)())dlsym(RTLD_DEFAULT, "main");
|
||||
#endif
|
||||
if (fptr == NULL) {
|
||||
JLI_ReportErrorMessage(DLL_ERROR3, dlerror());
|
||||
return JNI_FALSE;
|
||||
|
@ -32,7 +32,7 @@ import java.util.concurrent.atomic.LongAdder;
|
||||
import jdk.internal.misc.JavaNioAccess;
|
||||
import jdk.internal.misc.JavaLangRefAccess;
|
||||
import jdk.internal.misc.SharedSecrets;
|
||||
import sun.misc.Unsafe;
|
||||
import jdk.internal.misc.Unsafe;
|
||||
import sun.misc.VM;
|
||||
|
||||
/**
|
||||
|
@ -29,7 +29,7 @@ package java.nio;
|
||||
|
||||
import java.io.FileDescriptor;
|
||||
import sun.misc.Cleaner;
|
||||
import sun.misc.Unsafe;
|
||||
import jdk.internal.misc.Unsafe;
|
||||
import sun.misc.VM;
|
||||
import sun.nio.ch.DirectBuffer;
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
|
||||
package java.nio;
|
||||
|
||||
import sun.misc.Unsafe;
|
||||
import jdk.internal.misc.Unsafe;
|
||||
|
||||
/**
|
||||
#if[rw]
|
||||
|
1391
jdk/src/java.base/share/classes/jdk/internal/misc/Unsafe.java
Normal file
1391
jdk/src/java.base/share/classes/jdk/internal/misc/Unsafe.java
Normal file
File diff suppressed because it is too large
Load Diff
@ -1036,355 +1036,8 @@ public final class Unsafe {
|
||||
throw new IllegalAccessError();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Returns true if the native byte ordering of this
|
||||
* platform is big-endian, false if it is little-endian.
|
||||
*/
|
||||
public final boolean isBigEndian() { return BE; }
|
||||
|
||||
/**
|
||||
* @return Returns true if this platform is capable of performing
|
||||
* accesses at addresses which are not aligned for the type of the
|
||||
* primitive type being accessed, false otherwise.
|
||||
*/
|
||||
public final boolean unalignedAccess() { return unalignedAccess; }
|
||||
|
||||
/**
|
||||
* Fetches a value at some byte offset into a given Java object.
|
||||
* More specifically, fetches a value within the given object
|
||||
* <code>o</code> at the given offset, or (if <code>o</code> is
|
||||
* null) from the memory address whose numerical value is the
|
||||
* given offset. <p>
|
||||
*
|
||||
* The specification of this method is the same as {@link
|
||||
* #getLong(Object, long)} except that the offset does not need to
|
||||
* have been obtained from {@link #objectFieldOffset} on the
|
||||
* {@link java.lang.reflect.Field} of some Java field. The value
|
||||
* in memory is raw data, and need not correspond to any Java
|
||||
* variable. Unless <code>o</code> is null, the value accessed
|
||||
* must be entirely within the allocated object. The endianness
|
||||
* of the value in memory is the endianness of the native platform.
|
||||
*
|
||||
* <p> The read will be atomic with respect to the largest power
|
||||
* of two that divides the GCD of the offset and the storage size.
|
||||
* For example, getLongUnaligned will make atomic reads of 2-, 4-,
|
||||
* or 8-byte storage units if the offset is zero mod 2, 4, or 8,
|
||||
* respectively. There are no other guarantees of atomicity.
|
||||
* <p>
|
||||
* 8-byte atomicity is only guaranteed on platforms on which
|
||||
* support atomic accesses to longs.
|
||||
*
|
||||
* @param o Java heap object in which the value resides, if any, else
|
||||
* null
|
||||
* @param offset The offset in bytes from the start of the object
|
||||
* @return the value fetched from the indicated object
|
||||
* @throws RuntimeException No defined exceptions are thrown, not even
|
||||
* {@link NullPointerException}
|
||||
* @since 1.9
|
||||
*/
|
||||
@HotSpotIntrinsicCandidate
|
||||
public final long getLongUnaligned(Object o, long offset) {
|
||||
if ((offset & 7) == 0) {
|
||||
return getLong(o, offset);
|
||||
} else if ((offset & 3) == 0) {
|
||||
return makeLong(getInt(o, offset),
|
||||
getInt(o, offset + 4));
|
||||
} else if ((offset & 1) == 0) {
|
||||
return makeLong(getShort(o, offset),
|
||||
getShort(o, offset + 2),
|
||||
getShort(o, offset + 4),
|
||||
getShort(o, offset + 6));
|
||||
} else {
|
||||
return makeLong(getByte(o, offset),
|
||||
getByte(o, offset + 1),
|
||||
getByte(o, offset + 2),
|
||||
getByte(o, offset + 3),
|
||||
getByte(o, offset + 4),
|
||||
getByte(o, offset + 5),
|
||||
getByte(o, offset + 6),
|
||||
getByte(o, offset + 7));
|
||||
}
|
||||
}
|
||||
/**
|
||||
* As {@link #getLongUnaligned(Object, long)} but with an
|
||||
* additional argument which specifies the endianness of the value
|
||||
* as stored in memory.
|
||||
*
|
||||
* @param o Java heap object in which the variable resides
|
||||
* @param offset The offset in bytes from the start of the object
|
||||
* @param bigEndian The endianness of the value
|
||||
* @return the value fetched from the indicated object
|
||||
* @since 1.9
|
||||
*/
|
||||
public final long getLongUnaligned(Object o, long offset, boolean bigEndian) {
|
||||
return convEndian(bigEndian, getLongUnaligned(o, offset));
|
||||
}
|
||||
|
||||
/** @see #getLongUnaligned(Object, long) */
|
||||
@HotSpotIntrinsicCandidate
|
||||
public final int getIntUnaligned(Object o, long offset) {
|
||||
if ((offset & 3) == 0) {
|
||||
return getInt(o, offset);
|
||||
} else if ((offset & 1) == 0) {
|
||||
return makeInt(getShort(o, offset),
|
||||
getShort(o, offset + 2));
|
||||
} else {
|
||||
return makeInt(getByte(o, offset),
|
||||
getByte(o, offset + 1),
|
||||
getByte(o, offset + 2),
|
||||
getByte(o, offset + 3));
|
||||
}
|
||||
}
|
||||
/** @see #getLongUnaligned(Object, long, boolean) */
|
||||
public final int getIntUnaligned(Object o, long offset, boolean bigEndian) {
|
||||
return convEndian(bigEndian, getIntUnaligned(o, offset));
|
||||
}
|
||||
|
||||
/** @see #getLongUnaligned(Object, long) */
|
||||
@HotSpotIntrinsicCandidate
|
||||
public final short getShortUnaligned(Object o, long offset) {
|
||||
if ((offset & 1) == 0) {
|
||||
return getShort(o, offset);
|
||||
} else {
|
||||
return makeShort(getByte(o, offset),
|
||||
getByte(o, offset + 1));
|
||||
}
|
||||
}
|
||||
/** @see #getLongUnaligned(Object, long, boolean) */
|
||||
public final short getShortUnaligned(Object o, long offset, boolean bigEndian) {
|
||||
return convEndian(bigEndian, getShortUnaligned(o, offset));
|
||||
}
|
||||
|
||||
/** @see #getLongUnaligned(Object, long) */
|
||||
@HotSpotIntrinsicCandidate
|
||||
public final char getCharUnaligned(Object o, long offset) {
|
||||
return (char)getShortUnaligned(o, offset);
|
||||
}
|
||||
|
||||
/** @see #getLongUnaligned(Object, long, boolean) */
|
||||
public final char getCharUnaligned(Object o, long offset, boolean bigEndian) {
|
||||
return convEndian(bigEndian, getCharUnaligned(o, offset));
|
||||
}
|
||||
|
||||
/**
|
||||
* Stores a value at some byte offset into a given Java object.
|
||||
* <p>
|
||||
* The specification of this method is the same as {@link
|
||||
* #getLong(Object, long)} except that the offset does not need to
|
||||
* have been obtained from {@link #objectFieldOffset} on the
|
||||
* {@link java.lang.reflect.Field} of some Java field. The value
|
||||
* in memory is raw data, and need not correspond to any Java
|
||||
* variable. The endianness of the value in memory is the
|
||||
* endianness of the native platform.
|
||||
* <p>
|
||||
* The write will be atomic with respect to the largest power of
|
||||
* two that divides the GCD of the offset and the storage size.
|
||||
* For example, putLongUnaligned will make atomic writes of 2-, 4-,
|
||||
* or 8-byte storage units if the offset is zero mod 2, 4, or 8,
|
||||
* respectively. There are no other guarantees of atomicity.
|
||||
* <p>
|
||||
* 8-byte atomicity is only guaranteed on platforms on which
|
||||
* support atomic accesses to longs.
|
||||
*
|
||||
* @param o Java heap object in which the value resides, if any, else
|
||||
* null
|
||||
* @param offset The offset in bytes from the start of the object
|
||||
* @param x the value to store
|
||||
* @throws RuntimeException No defined exceptions are thrown, not even
|
||||
* {@link NullPointerException}
|
||||
* @since 1.9
|
||||
*/
|
||||
@HotSpotIntrinsicCandidate
|
||||
public final void putLongUnaligned(Object o, long offset, long x) {
|
||||
if ((offset & 7) == 0) {
|
||||
putLong(o, offset, x);
|
||||
} else if ((offset & 3) == 0) {
|
||||
putLongParts(o, offset,
|
||||
(int)(x >> 0),
|
||||
(int)(x >>> 32));
|
||||
} else if ((offset & 1) == 0) {
|
||||
putLongParts(o, offset,
|
||||
(short)(x >>> 0),
|
||||
(short)(x >>> 16),
|
||||
(short)(x >>> 32),
|
||||
(short)(x >>> 48));
|
||||
} else {
|
||||
putLongParts(o, offset,
|
||||
(byte)(x >>> 0),
|
||||
(byte)(x >>> 8),
|
||||
(byte)(x >>> 16),
|
||||
(byte)(x >>> 24),
|
||||
(byte)(x >>> 32),
|
||||
(byte)(x >>> 40),
|
||||
(byte)(x >>> 48),
|
||||
(byte)(x >>> 56));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* As {@link #putLongUnaligned(Object, long, long)} but with an additional
|
||||
* argument which specifies the endianness of the value as stored in memory.
|
||||
* @param o Java heap object in which the value resides
|
||||
* @param offset The offset in bytes from the start of the object
|
||||
* @param x the value to store
|
||||
* @param bigEndian The endianness of the value
|
||||
* @throws RuntimeException No defined exceptions are thrown, not even
|
||||
* {@link NullPointerException}
|
||||
* @since 1.9
|
||||
*/
|
||||
public final void putLongUnaligned(Object o, long offset, long x, boolean bigEndian) {
|
||||
putLongUnaligned(o, offset, convEndian(bigEndian, x));
|
||||
}
|
||||
|
||||
/** @see #putLongUnaligned(Object, long, long) */
|
||||
@HotSpotIntrinsicCandidate
|
||||
public final void putIntUnaligned(Object o, long offset, int x) {
|
||||
if ((offset & 3) == 0) {
|
||||
putInt(o, offset, x);
|
||||
} else if ((offset & 1) == 0) {
|
||||
putIntParts(o, offset,
|
||||
(short)(x >> 0),
|
||||
(short)(x >>> 16));
|
||||
} else {
|
||||
putIntParts(o, offset,
|
||||
(byte)(x >>> 0),
|
||||
(byte)(x >>> 8),
|
||||
(byte)(x >>> 16),
|
||||
(byte)(x >>> 24));
|
||||
}
|
||||
}
|
||||
/** @see #putLongUnaligned(Object, long, long, boolean) */
|
||||
public final void putIntUnaligned(Object o, long offset, int x, boolean bigEndian) {
|
||||
putIntUnaligned(o, offset, convEndian(bigEndian, x));
|
||||
}
|
||||
|
||||
/** @see #putLongUnaligned(Object, long, long) */
|
||||
@HotSpotIntrinsicCandidate
|
||||
public final void putShortUnaligned(Object o, long offset, short x) {
|
||||
if ((offset & 1) == 0) {
|
||||
putShort(o, offset, x);
|
||||
} else {
|
||||
putShortParts(o, offset,
|
||||
(byte)(x >>> 0),
|
||||
(byte)(x >>> 8));
|
||||
}
|
||||
}
|
||||
/** @see #putLongUnaligned(Object, long, long, boolean) */
|
||||
public final void putShortUnaligned(Object o, long offset, short x, boolean bigEndian) {
|
||||
putShortUnaligned(o, offset, convEndian(bigEndian, x));
|
||||
}
|
||||
|
||||
/** @see #putLongUnaligned(Object, long, long) */
|
||||
@HotSpotIntrinsicCandidate
|
||||
public final void putCharUnaligned(Object o, long offset, char x) {
|
||||
putShortUnaligned(o, offset, (short)x);
|
||||
}
|
||||
/** @see #putLongUnaligned(Object, long, long, boolean) */
|
||||
public final void putCharUnaligned(Object o, long offset, char x, boolean bigEndian) {
|
||||
putCharUnaligned(o, offset, convEndian(bigEndian, x));
|
||||
}
|
||||
|
||||
// JVM interface methods
|
||||
private native boolean unalignedAccess0();
|
||||
private native boolean isBigEndian0();
|
||||
|
||||
// BE is true iff the native endianness of this platform is big.
|
||||
private static final boolean BE = theUnsafe.isBigEndian0();
|
||||
|
||||
// unalignedAccess is true iff this platform can perform unaligned accesses.
|
||||
private static final boolean unalignedAccess = theUnsafe.unalignedAccess0();
|
||||
|
||||
private static int pickPos(int top, int pos) { return BE ? top - pos : pos; }
|
||||
|
||||
// These methods construct integers from bytes. The byte ordering
|
||||
// is the native endianness of this platform.
|
||||
private static long makeLong(byte i0, byte i1, byte i2, byte i3, byte i4, byte i5, byte i6, byte i7) {
|
||||
return ((toUnsignedLong(i0) << pickPos(56, 0))
|
||||
| (toUnsignedLong(i1) << pickPos(56, 8))
|
||||
| (toUnsignedLong(i2) << pickPos(56, 16))
|
||||
| (toUnsignedLong(i3) << pickPos(56, 24))
|
||||
| (toUnsignedLong(i4) << pickPos(56, 32))
|
||||
| (toUnsignedLong(i5) << pickPos(56, 40))
|
||||
| (toUnsignedLong(i6) << pickPos(56, 48))
|
||||
| (toUnsignedLong(i7) << pickPos(56, 56)));
|
||||
}
|
||||
private static long makeLong(short i0, short i1, short i2, short i3) {
|
||||
return ((toUnsignedLong(i0) << pickPos(48, 0))
|
||||
| (toUnsignedLong(i1) << pickPos(48, 16))
|
||||
| (toUnsignedLong(i2) << pickPos(48, 32))
|
||||
| (toUnsignedLong(i3) << pickPos(48, 48)));
|
||||
}
|
||||
private static long makeLong(int i0, int i1) {
|
||||
return (toUnsignedLong(i0) << pickPos(32, 0))
|
||||
| (toUnsignedLong(i1) << pickPos(32, 32));
|
||||
}
|
||||
private static int makeInt(short i0, short i1) {
|
||||
return (toUnsignedInt(i0) << pickPos(16, 0))
|
||||
| (toUnsignedInt(i1) << pickPos(16, 16));
|
||||
}
|
||||
private static int makeInt(byte i0, byte i1, byte i2, byte i3) {
|
||||
return ((toUnsignedInt(i0) << pickPos(24, 0))
|
||||
| (toUnsignedInt(i1) << pickPos(24, 8))
|
||||
| (toUnsignedInt(i2) << pickPos(24, 16))
|
||||
| (toUnsignedInt(i3) << pickPos(24, 24)));
|
||||
}
|
||||
private static short makeShort(byte i0, byte i1) {
|
||||
return (short)((toUnsignedInt(i0) << pickPos(8, 0))
|
||||
| (toUnsignedInt(i1) << pickPos(8, 8)));
|
||||
}
|
||||
|
||||
private static byte pick(byte le, byte be) { return BE ? be : le; }
|
||||
private static short pick(short le, short be) { return BE ? be : le; }
|
||||
private static int pick(int le, int be) { return BE ? be : le; }
|
||||
|
||||
// These methods write integers to memory from smaller parts
|
||||
// provided by their caller. The ordering in which these parts
|
||||
// are written is the native endianness of this platform.
|
||||
private void putLongParts(Object o, long offset, byte i0, byte i1, byte i2, byte i3, byte i4, byte i5, byte i6, byte i7) {
|
||||
putByte(o, offset + 0, pick(i0, i7));
|
||||
putByte(o, offset + 1, pick(i1, i6));
|
||||
putByte(o, offset + 2, pick(i2, i5));
|
||||
putByte(o, offset + 3, pick(i3, i4));
|
||||
putByte(o, offset + 4, pick(i4, i3));
|
||||
putByte(o, offset + 5, pick(i5, i2));
|
||||
putByte(o, offset + 6, pick(i6, i1));
|
||||
putByte(o, offset + 7, pick(i7, i0));
|
||||
}
|
||||
private void putLongParts(Object o, long offset, short i0, short i1, short i2, short i3) {
|
||||
putShort(o, offset + 0, pick(i0, i3));
|
||||
putShort(o, offset + 2, pick(i1, i2));
|
||||
putShort(o, offset + 4, pick(i2, i1));
|
||||
putShort(o, offset + 6, pick(i3, i0));
|
||||
}
|
||||
private void putLongParts(Object o, long offset, int i0, int i1) {
|
||||
putInt(o, offset + 0, pick(i0, i1));
|
||||
putInt(o, offset + 4, pick(i1, i0));
|
||||
}
|
||||
private void putIntParts(Object o, long offset, short i0, short i1) {
|
||||
putShort(o, offset + 0, pick(i0, i1));
|
||||
putShort(o, offset + 2, pick(i1, i0));
|
||||
}
|
||||
private void putIntParts(Object o, long offset, byte i0, byte i1, byte i2, byte i3) {
|
||||
putByte(o, offset + 0, pick(i0, i3));
|
||||
putByte(o, offset + 1, pick(i1, i2));
|
||||
putByte(o, offset + 2, pick(i2, i1));
|
||||
putByte(o, offset + 3, pick(i3, i0));
|
||||
}
|
||||
private void putShortParts(Object o, long offset, byte i0, byte i1) {
|
||||
putByte(o, offset + 0, pick(i0, i1));
|
||||
putByte(o, offset + 1, pick(i1, i0));
|
||||
}
|
||||
|
||||
// Zero-extend an integer
|
||||
private static int toUnsignedInt(byte n) { return n & 0xff; }
|
||||
private static int toUnsignedInt(short n) { return n & 0xffff; }
|
||||
private static long toUnsignedLong(byte n) { return n & 0xffl; }
|
||||
private static long toUnsignedLong(short n) { return n & 0xffffl; }
|
||||
private static long toUnsignedLong(int n) { return n & 0xffffffffl; }
|
||||
|
||||
// Maybe byte-reverse an integer
|
||||
private static char convEndian(boolean big, char n) { return big == BE ? n : Character.reverseBytes(n); }
|
||||
private static short convEndian(boolean big, short n) { return big == BE ? n : Short.reverseBytes(n) ; }
|
||||
private static int convEndian(boolean big, int n) { return big == BE ? n : Integer.reverseBytes(n) ; }
|
||||
private static long convEndian(boolean big, long n) { return big == BE ? n : Long.reverseBytes(n) ; }
|
||||
}
|
||||
|
@ -30,7 +30,7 @@ import static java.lang.Long.reverseBytes;
|
||||
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
import sun.misc.Unsafe;
|
||||
import jdk.internal.misc.Unsafe;
|
||||
|
||||
/**
|
||||
* Optimized methods for converting between byte[] and int[]/long[], both for
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -24,10 +24,11 @@
|
||||
*/
|
||||
|
||||
#include "jni.h"
|
||||
#include "jni_util.h"
|
||||
#include "jvm.h"
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
DEF_JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
{
|
||||
jint vm_version = JVM_GetInterfaceVersion();
|
||||
if (vm_version != JVM_INTERFACE_VERSION) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -27,6 +27,7 @@
|
||||
|
||||
#include "jni.h"
|
||||
|
||||
#ifndef STATIC_BUILD
|
||||
|
||||
/* This is a temporary solution until we figure out how to let native
|
||||
* libraries use jio_* without linking with the VM.
|
||||
@ -63,3 +64,6 @@ jio_fprintf(FILE *fp, const char *fmt, ...)
|
||||
|
||||
return len;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -389,6 +389,117 @@ void buildJniFunctionName(const char *sym, const char *cname,
|
||||
|
||||
extern size_t getLastErrorString(char *buf, size_t len);
|
||||
extern int getErrorString(int err, char *buf, size_t len);
|
||||
|
||||
#ifdef STATIC_BUILD
|
||||
/* Macros for handling declaration of static/dynamic
|
||||
* JNI library Load/Unload functions
|
||||
*
|
||||
* Use DEF_JNI_On{Un}Load when you want a static and non-static entry points.
|
||||
* Use DEF_STATIC_JNI_On{Un}Load when you only want a static one.
|
||||
*
|
||||
* LIBRARY_NAME must be set to the name of the library
|
||||
*/
|
||||
|
||||
/* These three macros are needed to get proper concatenation of
|
||||
* the LIBRARY_NAME
|
||||
*
|
||||
* NOTE: LIBRARY_NAME must be set for static builds.
|
||||
*/
|
||||
#define ADD_LIB_NAME3(name, lib) name ## lib
|
||||
#define ADD_LIB_NAME2(name, lib) ADD_LIB_NAME3(name, lib)
|
||||
#define ADD_LIB_NAME(entry) ADD_LIB_NAME2(entry, LIBRARY_NAME)
|
||||
|
||||
#define DEF_JNI_OnLoad \
|
||||
ADD_LIB_NAME(JNI_OnLoad_)(JavaVM *vm, void *reserved) \
|
||||
{ \
|
||||
jint JNICALL ADD_LIB_NAME(JNI_OnLoad_dynamic_)(JavaVM *vm, void *reserved); \
|
||||
ADD_LIB_NAME(JNI_OnLoad_dynamic_)(vm, reserved); \
|
||||
return JNI_VERSION_1_8; \
|
||||
} \
|
||||
jint JNICALL ADD_LIB_NAME(JNI_OnLoad_dynamic_)
|
||||
|
||||
#define DEF_STATIC_JNI_OnLoad \
|
||||
JNIEXPORT jint JNICALL ADD_LIB_NAME(JNI_OnLoad_)(JavaVM *vm, void *reserved) { \
|
||||
return JNI_VERSION_1_8; \
|
||||
}
|
||||
|
||||
#define DEF_JNI_OnUnload \
|
||||
ADD_LIB_NAME(JNI_OnUnload_)(JavaVM *vm, void *reserved) \
|
||||
{ \
|
||||
void JNICALL ADD_LIB_NAME(JNI_OnUnload_dynamic_)(JavaVM *vm, void *reserved); \
|
||||
ADD_LIB_NAME(JNI_OnUnload_dynamic_)(vm, reserved); \
|
||||
} \
|
||||
void JNICALL ADD_LIB_NAME(JNI_OnUnload_dynamic_)
|
||||
|
||||
#define DEF_STATIC_JNI_OnUnload \
|
||||
ADD_LIB_NAME(JNI_OnUnload_)
|
||||
|
||||
#else
|
||||
|
||||
#define DEF_JNI_OnLoad JNI_OnLoad
|
||||
#define DEF_STATIC_JNI_OnLoad
|
||||
#define DEF_JNI_OnUnload JNI_OnUnload
|
||||
#define DEF_STATIC_JNI_OnUnload
|
||||
#endif
|
||||
|
||||
#ifdef STATIC_BUILD
|
||||
/* Macros for handling declaration of static/dynamic
|
||||
* Agent library Load/Attach/Unload functions
|
||||
*
|
||||
* Use DEF_Agent_OnLoad, DEF_Agent_OnAttach or DEF_Agent_OnUnload
|
||||
* when you want both static and non-static entry points.
|
||||
* Use DEF_STATIC_Agent_OnLoad, DEF_STATIC_Agent_OnAttach or
|
||||
* DEF_STATIC_Agent_OnUnload when you only want a static one.
|
||||
*
|
||||
* LIBRARY_NAME must be set to the name of the library for static builds.
|
||||
*/
|
||||
|
||||
#define DEF_Agent_OnLoad \
|
||||
ADD_LIB_NAME(Agent_OnLoad_)(JavaVM *vm, char *options, void *reserved) \
|
||||
{ \
|
||||
jint JNICALL ADD_LIB_NAME(Agent_OnLoad_dynamic_)(JavaVM *vm, char *options, void *reserved); \
|
||||
return ADD_LIB_NAME(Agent_OnLoad_dynamic_)(vm, options, reserved); \
|
||||
} \
|
||||
jint JNICALL ADD_LIB_NAME(Agent_OnLoad_dynamic_)
|
||||
|
||||
#define DEF_STATIC_Agent_OnLoad \
|
||||
JNIEXPORT jint JNICALL ADD_LIB_NAME(Agent_OnLoad_)(JavaVM *vm, char *options, void *reserved) { \
|
||||
return JNI_FALSE; \
|
||||
}
|
||||
|
||||
#define DEF_Agent_OnAttach \
|
||||
ADD_LIB_NAME(Agent_OnAttach_)(JavaVM *vm, char *options, void *reserved) \
|
||||
{ \
|
||||
jint JNICALL ADD_LIB_NAME(Agent_OnAttach_dynamic_)(JavaVM *vm, char *options, void *reserved); \
|
||||
return ADD_LIB_NAME(Agent_OnAttach_dynamic_)(vm, options, reserved); \
|
||||
} \
|
||||
jint JNICALL ADD_LIB_NAME(Agent_OnAttach_dynamic_)
|
||||
|
||||
#define DEF_STATIC_Agent_OnAttach \
|
||||
JNIEXPORT jint JNICALL ADD_LIB_NAME(Agent_OnLoad_)(JavaVM *vm, char *options, void *reserved) { \
|
||||
return JNI_FALSE; \
|
||||
}
|
||||
|
||||
#define DEF_Agent_OnUnload \
|
||||
ADD_LIB_NAME(Agent_OnUnload_)(JavaVM *vm) \
|
||||
{ \
|
||||
void JNICALL ADD_LIB_NAME(Agent_OnUnload_dynamic_)(JavaVM *vm); \
|
||||
ADD_LIB_NAME(Agent_OnUnload_dynamic_)(vm); \
|
||||
} \
|
||||
void JNICALL ADD_LIB_NAME(Agent_OnUnload_dynamic_)
|
||||
|
||||
#define DEF_STATIC_Agent_OnUnload \
|
||||
ADD_LIB_NAME(Agent_OnUnload_)
|
||||
|
||||
#else
|
||||
#define DEF_Agent_OnLoad Agent_OnLoad
|
||||
#define DEF_Agent_OnAttach Agent_OnAttach
|
||||
#define DEF_Agent_OnUnload Agent_OnUnload
|
||||
#define DEF_STATIC_Agent_OnLoad
|
||||
#define DEF_STATIC_Agent_OnAttach
|
||||
#define DEF_STATIC_Agent_OnUnload
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif /* __cplusplus */
|
||||
|
@ -236,7 +236,7 @@ static unsigned int JIMAGE_AttributeOffsetsLength(JNIEnv *env, jlong id) {
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
DEF_JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
JNIEnv *env;
|
||||
|
||||
if (vm->GetEnv((void**) &env, JNI_VERSION_1_2) != JNI_OK) {
|
||||
@ -594,6 +594,6 @@ JNIEXPORT jstring JNICALL Java_jdk_internal_jimage_ImageNativeSubstrate_JIMAGE_1
|
||||
return module;
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *vm, void *reserved) {
|
||||
JNIEXPORT void JNICALL DEF_JNI_OnUnload(JavaVM *vm, void *reserved) {
|
||||
ImageDecompressor::image_decompressor_close();
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -38,7 +38,7 @@ JNIEXPORT jint JNICALL ipv6_available()
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
DEF_JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
{
|
||||
JNIEnv *env;
|
||||
jclass iCls;
|
||||
|
@ -28,7 +28,7 @@
|
||||
#include "jni_util.h"
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
DEF_JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
{
|
||||
JNIEnv *env;
|
||||
|
||||
|
@ -86,6 +86,7 @@
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "jni.h"
|
||||
#include "jni_util.h"
|
||||
#include "jvm.h"
|
||||
#include "classfile_constants.h"
|
||||
#include "opcodes.in_out"
|
||||
@ -481,6 +482,11 @@ static void print_formatted_fieldname(context_type *context, int index);
|
||||
static void print_formatted_methodname(context_type *context, int index);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
void initialize_class_hash(context_type *context)
|
||||
{
|
||||
hash_table_type *class_hash = &(context->class_hash);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -55,6 +55,12 @@ static jfieldID jzfileID;
|
||||
static int OPEN_READ = java_util_zip_ZipFile_OPEN_READ;
|
||||
static int OPEN_DELETE = java_util_zip_ZipFile_OPEN_DELETE;
|
||||
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_java_util_zip_ZipFile_initIDs(JNIEnv *env, jclass cls)
|
||||
{
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -65,11 +65,19 @@
|
||||
#define jlong_zero_init ((jlong) 0L)
|
||||
|
||||
#ifdef _LP64
|
||||
#define jlong_to_ptr(a) ((void*)(a))
|
||||
#define ptr_to_jlong(a) ((jlong)(a))
|
||||
#ifndef jlong_to_ptr
|
||||
#define jlong_to_ptr(a) ((void*)(a))
|
||||
#endif
|
||||
#ifndef ptr_to_jlong
|
||||
#define ptr_to_jlong(a) ((jlong)(a))
|
||||
#endif
|
||||
#else
|
||||
#define jlong_to_ptr(a) ((void*)(int)(a))
|
||||
#define ptr_to_jlong(a) ((jlong)(int)(a))
|
||||
#ifndef jlong_to_ptr
|
||||
#define jlong_to_ptr(a) ((void*)(int)(a))
|
||||
#endif
|
||||
#ifndef ptr_to_jlong
|
||||
#define ptr_to_jlong(a) ((jlong)(int)(a))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define jint_to_jlong(a) ((jlong)(a))
|
||||
|
@ -740,7 +740,7 @@ Java_sun_lwawt_macosx_LWCToolkit_initAppkit
|
||||
JNF_COCOA_EXIT(env)
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
JNIEXPORT jint JNICALL DEF_JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
OSXAPP_SetJavaVM(vm);
|
||||
|
||||
// We need to let Foundation know that this is a multithreaded application, if it isn't already.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -24,11 +24,17 @@
|
||||
*/
|
||||
|
||||
#import <jawt.h>
|
||||
#import "jni_util.h"
|
||||
|
||||
#import <jawt_md.h>
|
||||
|
||||
#import "awt_DrawingSurface.h"
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
/*
|
||||
* Get the AWT native structure.
|
||||
* This function returns JNI_FALSE if an error occurs.
|
||||
|
@ -23,6 +23,12 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Must include this before JavaNativeFoundation.h to get jni.h from build
|
||||
*/
|
||||
#include "jni.h"
|
||||
#include "jni_util.h"
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import <JavaNativeFoundation/JavaNativeFoundation.h>
|
||||
|
||||
|
@ -33,6 +33,10 @@
|
||||
#import "QueuingApplicationDelegate.h"
|
||||
#import "AWTIconData.h"
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
static BOOL sUsingDefaultNIB = YES;
|
||||
static NSString *SHARED_FRAMEWORK_BUNDLE = @"/System/Library/Frameworks/JavaVM.framework";
|
||||
@ -432,10 +436,10 @@ AWT_ASSERT_APPKIT_THREAD;
|
||||
@end
|
||||
|
||||
|
||||
void OSXAPP_SetApplicationDelegate(id <NSApplicationDelegate> delegate)
|
||||
void OSXAPP_SetApplicationDelegate(id <NSApplicationDelegate> newdelegate)
|
||||
{
|
||||
AWT_ASSERT_APPKIT_THREAD;
|
||||
applicationDelegate = delegate;
|
||||
applicationDelegate = newdelegate;
|
||||
|
||||
if (NSApp != nil) {
|
||||
[NSApp setDelegate: applicationDelegate];
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -23,6 +23,10 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
// Must include this before JavaNativeFoundation.h to get jni.h from build
|
||||
#include "jni.h"
|
||||
#include "jni_util.h"
|
||||
|
||||
#import <JavaNativeFoundation/JavaNativeFoundation.h>
|
||||
|
||||
/*
|
||||
@ -30,6 +34,7 @@
|
||||
* <rdar://4984599> AWT's JNI_OnLoad called multiple times
|
||||
* Please remove when <rdar://5121166> has been resolved.
|
||||
*/
|
||||
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
JNIEXPORT jint JNICALL DEF_JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
{
|
||||
return JNI_VERSION_1_4;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -37,6 +37,10 @@
|
||||
static void *theNullScalerContext = NULL;
|
||||
extern void AccelGlyphCache_RemoveAllCellInfos(GlyphInfo *glyph);
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_sun_font_NullFontScaler_getNullScalerContext
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1995, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1995, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -67,7 +67,7 @@ static jmethodID InputStream_availableID;
|
||||
JavaVM *jvm;
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
DEF_JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
{
|
||||
jvm = vm;
|
||||
return JNI_VERSION_1_2;
|
||||
|
@ -28,6 +28,10 @@
|
||||
// Platform.java includes
|
||||
#include "com_sun_media_sound_Platform.h"
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
/*
|
||||
* Class: com_sun_media_sound_Platform
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -24,6 +24,7 @@
|
||||
*/
|
||||
|
||||
#include <jni.h>
|
||||
#include "jni_util.h"
|
||||
#include "SoundDefs.h"
|
||||
#include "Configure.h" // put flags for debug msgs etc. here
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2007, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -134,7 +134,7 @@ void errorHandler(cmsContext ContextID, cmsUInt32Number errorCode,
|
||||
JNU_ThrowByName(env, "java/awt/color/CMMException", errMsg);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved) {
|
||||
JNIEXPORT jint JNICALL DEF_JNI_OnLoad(JavaVM *jvm, void *reserved) {
|
||||
javaVM = jvm;
|
||||
|
||||
cmsSetLogErrorHandler(errorHandler);
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -26,6 +26,14 @@
|
||||
|
||||
#include "mlib_image.h"
|
||||
|
||||
#include <jni.h>
|
||||
#include "jni_util.h"
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
/***************************************************************/
|
||||
typedef union {
|
||||
mlib_d64 db;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -30,7 +30,7 @@
|
||||
#include <sizecalc.h>
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNI_OnLoad(JavaVM * vm, void *reserved)
|
||||
DEF_JNI_OnLoad(JavaVM * vm, void *reserved)
|
||||
{
|
||||
return JNI_VERSION_1_2;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -178,7 +178,7 @@ AWT_OnLoad(JavaVM *vm, void *reserved)
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
DEF_JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
{
|
||||
return AWT_OnLoad(vm, reserved);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -31,14 +31,17 @@
|
||||
extern JavaVM *jvm;
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
DEF_JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
{
|
||||
jvm = vm;
|
||||
return JNI_VERSION_1_2;
|
||||
}
|
||||
|
||||
#ifndef STATIC_BUILD
|
||||
// The same function exists in libawt.a::awt_LoadLibrary.c
|
||||
JNIEXPORT jboolean JNICALL AWTIsHeadless() {
|
||||
return JNI_TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -151,7 +151,7 @@ JNIEXPORT jlong JNICALL Java_sun_awt_X11_XToolkit_getDefaultScreenData
|
||||
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
DEF_JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
{
|
||||
jvm = vm;
|
||||
return JNI_VERSION_1_2;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -24,9 +24,15 @@
|
||||
*/
|
||||
|
||||
#include <jawt.h>
|
||||
#include "jni_util.h"
|
||||
|
||||
#include "awt_DrawingSurface.h"
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
/*
|
||||
* Get the AWT native structure. This function returns JNI_FALSE if
|
||||
* an error occurs.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -44,6 +44,11 @@ static int alsa_inited = 0;
|
||||
static int alsa_enumerate_pcm_subdevices = FALSE; // default: no
|
||||
static int alsa_enumerate_midi_subdevices = FALSE; // default: no
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
void initAlsaSupport() {
|
||||
char* enumerate;
|
||||
if (!alsa_inited) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1996, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -91,7 +91,7 @@ extern void DWMResetCompositionEnabled();
|
||||
JavaVM *jvm = NULL;
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
DEF_JNI_OnLoad(JavaVM *vm, void *reserved)
|
||||
{
|
||||
TRY;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1999, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -25,10 +25,16 @@
|
||||
|
||||
#define _JNI_IMPLEMENTATION_
|
||||
#include <jawt.h>
|
||||
#include "jni_util.h"
|
||||
|
||||
#include "awt.h"
|
||||
#include "awt_DrawingSurface.h"
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
/*
|
||||
* Get the AWT native structure. This function returns JNI_FALSE if
|
||||
* an error occurs.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -49,6 +49,11 @@
|
||||
* Native methods
|
||||
*/
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
/*
|
||||
* Class: sun_instrument_InstrumentationImpl
|
||||
* Method: isModifiableClass0
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2008, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -141,7 +141,7 @@ convertCapabilityAtrributes(const jarAttribute* attributes, JPLISAgent* agent) {
|
||||
* to create boot class path segments to append to the boot class path.
|
||||
*/
|
||||
JNIEXPORT jint JNICALL
|
||||
Agent_OnLoad(JavaVM *vm, char *tail, void * reserved) {
|
||||
DEF_Agent_OnLoad(JavaVM *vm, char *tail, void * reserved) {
|
||||
JPLISInitializationError initerror = JPLIS_INIT_ERROR_NONE;
|
||||
jint result = JNI_OK;
|
||||
JPLISAgent * agent = NULL;
|
||||
@ -290,7 +290,7 @@ Agent_OnLoad(JavaVM *vm, char *tail, void * reserved) {
|
||||
* the JPLIS library.
|
||||
*/
|
||||
JNIEXPORT jint JNICALL
|
||||
Agent_OnAttach(JavaVM* vm, char *args, void * reserved) {
|
||||
DEF_Agent_OnAttach(JavaVM* vm, char *args, void * reserved) {
|
||||
JPLISInitializationError initerror = JPLIS_INIT_ERROR_NONE;
|
||||
jint result = JNI_OK;
|
||||
JPLISAgent * agent = NULL;
|
||||
@ -435,7 +435,7 @@ Agent_OnAttach(JavaVM* vm, char *args, void * reserved) {
|
||||
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Agent_OnUnload(JavaVM *vm) {
|
||||
DEF_Agent_OnUnload(JavaVM *vm) {
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2004, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -23,6 +23,10 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
#ifdef STATIC_BUILD
|
||||
#define getAttribute JarGetAttribute
|
||||
#endif
|
||||
|
||||
typedef struct _jarAttribute {
|
||||
char* name;
|
||||
char* value;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2007, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -32,6 +32,13 @@
|
||||
|
||||
#include <jni.h>
|
||||
#include <jvmti.h>
|
||||
#include "jni_util.h"
|
||||
|
||||
#ifdef STATIC_BUILD
|
||||
#define allocate instAllocate
|
||||
#define deallocate instDeallocate
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -25,6 +25,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <jni.h>
|
||||
#include "jni_util.h"
|
||||
#include "jvm.h"
|
||||
#include "management.h"
|
||||
|
||||
@ -35,7 +36,7 @@ JavaVM* jvm = NULL;
|
||||
jint jmm_version = 0;
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
DEF_JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
JNIEnv* env;
|
||||
|
||||
jvm = vm;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2011, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -64,6 +64,11 @@
|
||||
#include "jlong.h"
|
||||
#include "jvm.h"
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
|
||||
// Throw an OutOfMemoryError with the given message.
|
||||
static void throwOutOfMemoryError(JNIEnv *env, const char *msg)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -35,6 +35,11 @@
|
||||
#include <utime.h>
|
||||
#include "jni_util.h"
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_java_util_prefs_FileSystemPreferences_chmod(JNIEnv *env,
|
||||
jclass thisclass, jstring java_fname, jint permission) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -31,6 +31,12 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
JNIEXPORT jintArray JNICALL Java_java_util_prefs_WindowsPreferences_WindowsRegOpenKey
|
||||
(JNIEnv* env, jclass this_class, jint hKey, jbyteArray lpSubKey, jint securityMask) {
|
||||
HKEY handle;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -28,6 +28,8 @@
|
||||
#import <string.h>
|
||||
#import <time.h>
|
||||
|
||||
#include "jni_util.h"
|
||||
|
||||
/*
|
||||
* Based largely on klist.c,
|
||||
*
|
||||
@ -92,7 +94,7 @@ static jclass FindClass(JNIEnv *env, char *className)
|
||||
* Class: sun_security_krb5_KrbCreds
|
||||
* Method: JNI_OnLoad
|
||||
*/
|
||||
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
|
||||
JNIEXPORT jint JNICALL DEF_JNI_OnLoad(JavaVM *jvm, void *reserved)
|
||||
{
|
||||
JNIEnv *env;
|
||||
|
||||
@ -191,7 +193,7 @@ JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved)
|
||||
* Class: sun_security_jgss_KrbCreds
|
||||
* Method: JNI_OnUnload
|
||||
*/
|
||||
JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *jvm, void *reserved)
|
||||
JNIEXPORT void JNICALL DEF_JNI_OnUnload(JavaVM *jvm, void *reserved)
|
||||
{
|
||||
JNIEnv *env;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -27,6 +27,7 @@
|
||||
#include "NativeFunc.h"
|
||||
#include "jlong.h"
|
||||
#include <jni.h>
|
||||
#include "jni_util.h"
|
||||
|
||||
const int JAVA_DUPLICATE_TOKEN_CODE = 19; /* DUPLICATE_TOKEN */
|
||||
const int JAVA_OLD_TOKEN_CODE = 20; /* OLD_TOKEN */
|
||||
@ -94,7 +95,7 @@ jfieldID FID_NativeGSSContext_actualMech;
|
||||
int JGSS_DEBUG;
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNI_OnLoad(JavaVM *jvm, void *reserved) {
|
||||
DEF_JNI_OnLoad(JavaVM *jvm, void *reserved) {
|
||||
JNIEnv *env;
|
||||
jclass cls;
|
||||
|
||||
@ -363,7 +364,7 @@ JNI_OnLoad(JavaVM *jvm, void *reserved) {
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
JNI_OnUnload(JavaVM *jvm, void *reserved) {
|
||||
DEF_JNI_OnUnload(JavaVM *jvm, void *reserved) {
|
||||
JNIEnv *env;
|
||||
|
||||
if ((*jvm)->GetEnv(jvm, (void **)&env, JNI_VERSION_1_2)) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -54,9 +54,6 @@ extern "C" {
|
||||
extern jstring getMinorMessage(JNIEnv *, jobject, OM_uint32);
|
||||
extern int sameMech(gss_OID, gss_OID);
|
||||
|
||||
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *, void *);
|
||||
JNIEXPORT void JNICALL JNI_OnUnload(JavaVM *, void *);
|
||||
|
||||
extern int JGSS_DEBUG;
|
||||
|
||||
extern jclass CLS_Object;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -42,6 +42,7 @@
|
||||
#include <lmcons.h>
|
||||
#include <lmapibuf.h>
|
||||
#include <jni.h>
|
||||
#include "jni_util.h"
|
||||
#include <winsock.h>
|
||||
|
||||
#undef LSA_SUCCESS
|
||||
@ -107,7 +108,7 @@ jobject BuildKerberosTime(JNIEnv *env, PLARGE_INTEGER kerbtime);
|
||||
* Method: JNI_OnLoad
|
||||
*/
|
||||
|
||||
JNIEXPORT jint JNICALL JNI_OnLoad(
|
||||
JNIEXPORT jint JNICALL DEF_JNI_OnLoad(
|
||||
JavaVM *jvm,
|
||||
void *reserved) {
|
||||
|
||||
@ -329,7 +330,7 @@ JNIEXPORT jint JNICALL JNI_OnLoad(
|
||||
* Method: JNI_OnUnload
|
||||
*/
|
||||
|
||||
JNIEXPORT void JNICALL JNI_OnUnload(
|
||||
JNIEXPORT void JNICALL DEF_JNI_OnUnload(
|
||||
JavaVM *jvm,
|
||||
void *reserved) {
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -55,6 +55,8 @@
|
||||
|
||||
#include "pcsc_md.h"
|
||||
|
||||
#include "jni_util.h"
|
||||
|
||||
#define MAX_STACK_BUFFER_SIZE 8192
|
||||
|
||||
// make the buffers larger than what should be necessary, just in case
|
||||
@ -101,7 +103,7 @@ jboolean handleRV(JNIEnv* env, LONG code) {
|
||||
}
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
JNIEXPORT jint JNICALL DEF_JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
return JNI_VERSION_1_4;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -49,6 +49,11 @@
|
||||
} while((_result == -1) && (errno == EINTR)); \
|
||||
} while(0)
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
/*
|
||||
* Defines a callback that is invoked for each process
|
||||
*/
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -50,6 +50,11 @@
|
||||
} while((_result == -1) && (errno == EINTR)); \
|
||||
} while(0)
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
/*
|
||||
* Class: sun_tools_attach_VirtualMachineImpl
|
||||
* Method: socket
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -45,6 +45,11 @@
|
||||
} while((_result == -1) && (errno == EINTR)); \
|
||||
} while(0)
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
/*
|
||||
* Class: sun_tools_attach_VirtualMachineImpl
|
||||
* Method: open
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -87,6 +87,10 @@ typedef struct {
|
||||
#define ERR_OPEN_JVM_FAIL 200
|
||||
#define ERR_GET_ENQUEUE_FUNC_FAIL 201
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
/*
|
||||
* Code copied to target process
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -24,6 +24,7 @@
|
||||
*/
|
||||
|
||||
#include <jni.h>
|
||||
#include "jni_util.h"
|
||||
#include "impl/ecc_impl.h"
|
||||
|
||||
#define ILLEGAL_STATE_EXCEPTION "java/lang/IllegalStateException"
|
||||
@ -35,6 +36,11 @@
|
||||
|
||||
extern "C" {
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
/*
|
||||
* Throws an arbitrary Java exception.
|
||||
*/
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -29,6 +29,7 @@
|
||||
//
|
||||
|
||||
#include <jni.h>
|
||||
#include "jni_util.h"
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <windows.h>
|
||||
@ -50,6 +51,11 @@
|
||||
|
||||
extern "C" {
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
/*
|
||||
* Throws an arbitrary Java exception.
|
||||
* The exception message is a Windows system error message.
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
*/
|
||||
|
||||
/* Copyright (c) 2002 Graz University of Technology. All rights reserved.
|
||||
@ -73,7 +73,7 @@ jclass jLongClass;
|
||||
|
||||
JavaVM* jvm = NULL;
|
||||
|
||||
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
JNIEXPORT jint JNICALL DEF_JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
jvm = vm;
|
||||
return JNI_VERSION_1_4;
|
||||
}
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include <string.h>
|
||||
#include <strings.h>
|
||||
#include <jni.h>
|
||||
#include "jni_util.h"
|
||||
#include <libsoftcrypto.h>
|
||||
#include "nativeCrypto.h"
|
||||
#include "nativeFunc.h"
|
||||
@ -59,7 +60,7 @@ void throwOutOfMemoryError(JNIEnv *env, const char *msg)
|
||||
(*env)->DeleteLocalRef(env, jExClass);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
JNIEXPORT jint JNICALL DEF_JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
return JNI_VERSION_1_4;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -26,6 +26,10 @@
|
||||
#import "apple_applescript_AppleScriptEngine.h"
|
||||
#import "apple_applescript_AppleScriptEngineFactory.h"
|
||||
|
||||
// Must include this before JavaNativeFoundation.h to get jni.h from build
|
||||
#include "jni.h"
|
||||
#include "jni_util.h"
|
||||
|
||||
#import <JavaNativeFoundation/JavaNativeFoundation.h>
|
||||
|
||||
#import "NS_Java_ConversionUtils.h"
|
||||
@ -33,6 +37,10 @@
|
||||
|
||||
//#define DEBUG 1
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
/*
|
||||
* Class: apple_applescript_AppleScriptEngineFactory
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -23,11 +23,21 @@
|
||||
* questions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Must include this before JavaNativeFoundation.h to get jni.h from build
|
||||
*/
|
||||
#include "jni.h"
|
||||
#include "jni_util.h"
|
||||
|
||||
#import "com_apple_concurrent_LibDispatchNative.h"
|
||||
|
||||
#import <dispatch/dispatch.h>
|
||||
#import <JavaNativeFoundation/JavaNativeFoundation.h>
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
/*
|
||||
* Class: com_apple_concurrent_LibDispatchNative
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -194,7 +194,7 @@ compatible_versions(jint major_runtime, jint minor_runtime,
|
||||
* Returning JNI_ERR will cause the java_g VM to core dump, be careful.
|
||||
*/
|
||||
JNIEXPORT jint JNICALL
|
||||
Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
DEF_Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
{
|
||||
jvmtiError error;
|
||||
jvmtiCapabilities needed_capabilities;
|
||||
@ -380,7 +380,7 @@ Agent_OnLoad(JavaVM *vm, char *options, void *reserved)
|
||||
}
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Agent_OnUnload(JavaVM *vm)
|
||||
DEF_Agent_OnUnload(JavaVM *vm)
|
||||
{
|
||||
|
||||
gdata->isLoaded = JNI_FALSE;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2005, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -39,7 +39,4 @@ void debugInit_reset(JNIEnv *env);
|
||||
void debugInit_exit(jvmtiError, const char *);
|
||||
void forceExit(int);
|
||||
|
||||
JNIEXPORT jint JNICALL Agent_OnLoad(JavaVM *, char *, void *);
|
||||
JNIEXPORT void JNICALL Agent_OnUnload(JavaVM *);
|
||||
|
||||
#endif
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -101,9 +101,10 @@ findTransportOnLoad(void *handle)
|
||||
static void *
|
||||
loadTransportLibrary(const char *libdir, const char *name)
|
||||
{
|
||||
char buf[MAXPATHLEN*2+100];
|
||||
#ifndef STATIC_BUILD
|
||||
void *handle;
|
||||
char libname[MAXPATHLEN+2];
|
||||
char buf[MAXPATHLEN*2+100];
|
||||
const char *plibdir;
|
||||
|
||||
/* Convert libdir from UTF-8 to platform encoding */
|
||||
@ -125,6 +126,9 @@ loadTransportLibrary(const char *libdir, const char *name)
|
||||
/* dlopen (unix) / LoadLibrary (windows) the transport library */
|
||||
handle = dbgsysLoadLibrary(libname, buf, sizeof(buf));
|
||||
return handle;
|
||||
#else
|
||||
return (dbgsysLoadLibrary(NULL, buf, sizeof(buf)));
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 1998, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -277,18 +277,6 @@ typedef struct ObjectBatch {
|
||||
*/
|
||||
#define MOD_SYNTHETIC 0xf0000000 /* not in source code */
|
||||
|
||||
/*
|
||||
* jlong conversion macros
|
||||
*/
|
||||
#define jlong_zero ((jlong) 0)
|
||||
#define jlong_one ((jlong) 1)
|
||||
|
||||
#define jlong_to_ptr(a) ((void*)(intptr_t)(a))
|
||||
#define ptr_to_jlong(a) ((jlong)(intptr_t)(a))
|
||||
#define jint_to_jlong(a) ((jlong)(a))
|
||||
#define jlong_to_jint(a) ((jint)(a))
|
||||
|
||||
|
||||
/*
|
||||
* util funcs
|
||||
*/
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -33,6 +33,7 @@
|
||||
#include <jni.h>
|
||||
#include <jvm.h>
|
||||
#include <jvmti.h>
|
||||
#include "jni_util.h"
|
||||
|
||||
#include "log_messages.h"
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <jni.h>
|
||||
#include "jni_util.h"
|
||||
#include "jvm.h"
|
||||
#include "management_ext.h"
|
||||
|
||||
@ -35,7 +36,7 @@ JavaVM* jvm = NULL;
|
||||
jint jmm_version = 0;
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
DEF_JNI_OnLoad(JavaVM *vm, void *reserved) {
|
||||
JNIEnv* env;
|
||||
|
||||
jvm = vm;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2001, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -77,6 +77,8 @@ void mkdirs(int oklen, char* path) {
|
||||
|
||||
|
||||
#ifndef PRODUCT
|
||||
#ifndef STATIC_BUILD
|
||||
// use the definition in libjvm when building statically
|
||||
void breakpoint() { } // hook for debugger
|
||||
int assert_failed(const char* p) {
|
||||
char message[1<<12];
|
||||
@ -87,6 +89,7 @@ int assert_failed(const char* p) {
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
void unpack_abort(const char* msg, unpacker* u) {
|
||||
if (msg == null) msg = "corrupt pack file or internal error";
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2003, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -95,6 +95,11 @@ static char* dbg = null;
|
||||
} while (JNI_FALSE)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
static jlong read_input_via_jni(unpacker* self,
|
||||
void* buf, jlong minlen, jlong maxlen);
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -43,7 +43,7 @@ static jmethodID isaCtrID = 0;
|
||||
static const char* nativeSctpLib = "libsctp.so.1";
|
||||
static jboolean funcsLoaded = JNI_FALSE;
|
||||
|
||||
JNIEXPORT jint JNICALL JNI_OnLoad
|
||||
JNIEXPORT jint JNICALL DEF_JNI_OnLoad
|
||||
(JavaVM *vm, void *reserved) {
|
||||
return JNI_VERSION_1_2;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -28,6 +28,7 @@
|
||||
#endif
|
||||
|
||||
#include <jni.h>
|
||||
#include "jni_util.h"
|
||||
#include "com_sun_security_auth_module_UnixSystem.h"
|
||||
#include <stdio.h>
|
||||
#include <pwd.h>
|
||||
@ -36,6 +37,11 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
JNIEXPORT void JNICALL
|
||||
Java_com_sun_security_auth_module_UnixSystem_getUnixInfo
|
||||
(JNIEnv *env, jobject obj) {
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -24,6 +24,7 @@
|
||||
*/
|
||||
|
||||
#include <jni.h>
|
||||
#include "jni_util.h"
|
||||
#include "com_sun_security_auth_module_NTSystem.h"
|
||||
|
||||
#include <windows.h>
|
||||
@ -49,6 +50,11 @@ static void throwIllegalArgumentException(JNIEnv *env, const char *msg) {
|
||||
(*env)->ThrowNew(env, clazz, msg);
|
||||
}
|
||||
|
||||
/*
|
||||
* Declare library specific JNI_Onload entry if static build
|
||||
*/
|
||||
DEF_STATIC_JNI_OnLoad
|
||||
|
||||
JNIEXPORT jlong JNICALL
|
||||
Java_com_sun_security_auth_module_NTSystem_getImpersonationToken0
|
||||
(JNIEnv *env, jobject obj) {
|
||||
|
@ -366,6 +366,18 @@ com/sun/jdi/GetLocalVariables4Test.sh windows-all
|
||||
# 8062512
|
||||
java/util/spi/ResourceBundleControlProvider/UserDefaultControlTest.java generic-all
|
||||
|
||||
# 8076458
|
||||
java/util/stream/test/org/openjdk/tests/java/util/stream/FlatMapOpTest.java generic-all
|
||||
|
||||
# 8130337
|
||||
java/util/stream/test/org/openjdk/tests/java/util/stream/IntPrimitiveOpsTests.java generic-all
|
||||
|
||||
# 8080165, 8085982
|
||||
java/util/Arrays/ParallelPrefix.java generic-all
|
||||
|
||||
# 8079538
|
||||
java/util/BitSet/BitSetStreamTest.java generic-all
|
||||
|
||||
############################################################################
|
||||
|
||||
# jdk_instrument
|
||||
|
Loading…
x
Reference in New Issue
Block a user