# HG changeset patch # User sla # Date 1401775834 0 # Node ID f644f1468780581cbc505626ea9d00d4375bea73 # Parent a103c376459ac0a342ae6755c5b7ecb6e21f5e52# Parent 7f1743e1a14e9982c931059ce93b2611867a56f6 Merge diff -r 7f1743e1a14e -r f644f1468780 make/aix/makefiles/mapfile-vers-debug --- a/make/aix/makefiles/mapfile-vers-debug Tue May 27 16:05:29 2014 -0700 +++ b/make/aix/makefiles/mapfile-vers-debug Tue Jun 03 06:10:34 2014 +0000 @@ -122,7 +122,7 @@ JVM_GetClassModifiers; JVM_GetClassName; JVM_GetClassNameUTF; - JVM_GetClassSignature; + JVM_GetClassSignature; JVM_GetClassSigners; JVM_GetClassTypeAnnotations; JVM_GetComponentType; @@ -163,6 +163,7 @@ JVM_GetStackTraceElement; JVM_GetSystemPackage; JVM_GetSystemPackages; + JVM_GetTemporaryDirectory; JVM_GetThreadStateNames; JVM_GetThreadStateValues; JVM_GetVersionInfo; diff -r 7f1743e1a14e -r f644f1468780 make/aix/makefiles/mapfile-vers-product --- a/make/aix/makefiles/mapfile-vers-product Tue May 27 16:05:29 2014 -0700 +++ b/make/aix/makefiles/mapfile-vers-product Tue Jun 03 06:10:34 2014 +0000 @@ -161,6 +161,7 @@ JVM_GetStackTraceElement; JVM_GetSystemPackage; JVM_GetSystemPackages; + JVM_GetTemporaryDirectory; JVM_GetThreadStateNames; JVM_GetThreadStateValues; JVM_GetVersionInfo; diff -r 7f1743e1a14e -r f644f1468780 make/bsd/makefiles/mapfile-vers-debug --- a/make/bsd/makefiles/mapfile-vers-debug Tue May 27 16:05:29 2014 -0700 +++ b/make/bsd/makefiles/mapfile-vers-debug Tue Jun 03 06:10:34 2014 +0000 @@ -161,6 +161,7 @@ _JVM_GetStackTraceElement _JVM_GetSystemPackage _JVM_GetSystemPackages + _JVM_GetTemporaryDirectory _JVM_GetThreadStateNames _JVM_GetThreadStateValues _JVM_GetVersionInfo diff -r 7f1743e1a14e -r f644f1468780 make/bsd/makefiles/mapfile-vers-product --- a/make/bsd/makefiles/mapfile-vers-product Tue May 27 16:05:29 2014 -0700 +++ b/make/bsd/makefiles/mapfile-vers-product Tue Jun 03 06:10:34 2014 +0000 @@ -161,6 +161,7 @@ _JVM_GetStackTraceElement _JVM_GetSystemPackage _JVM_GetSystemPackages + _JVM_GetTemporaryDirectory _JVM_GetThreadStateNames _JVM_GetThreadStateValues _JVM_GetVersionInfo diff -r 7f1743e1a14e -r f644f1468780 make/linux/makefiles/mapfile-vers-debug --- a/make/linux/makefiles/mapfile-vers-debug Tue May 27 16:05:29 2014 -0700 +++ b/make/linux/makefiles/mapfile-vers-debug Tue Jun 03 06:10:34 2014 +0000 @@ -122,7 +122,7 @@ JVM_GetClassModifiers; JVM_GetClassName; JVM_GetClassNameUTF; - JVM_GetClassSignature; + JVM_GetClassSignature; JVM_GetClassSigners; JVM_GetClassTypeAnnotations; JVM_GetComponentType; @@ -163,6 +163,7 @@ JVM_GetStackTraceElement; JVM_GetSystemPackage; JVM_GetSystemPackages; + JVM_GetTemporaryDirectory; JVM_GetThreadStateNames; JVM_GetThreadStateValues; JVM_GetVersionInfo; diff -r 7f1743e1a14e -r f644f1468780 make/linux/makefiles/mapfile-vers-product --- a/make/linux/makefiles/mapfile-vers-product Tue May 27 16:05:29 2014 -0700 +++ b/make/linux/makefiles/mapfile-vers-product Tue Jun 03 06:10:34 2014 +0000 @@ -163,6 +163,7 @@ JVM_GetStackTraceElement; JVM_GetSystemPackage; JVM_GetSystemPackages; + JVM_GetTemporaryDirectory; JVM_GetThreadStateNames; JVM_GetThreadStateValues; JVM_GetVersionInfo; diff -r 7f1743e1a14e -r f644f1468780 make/solaris/makefiles/mapfile-vers --- a/make/solaris/makefiles/mapfile-vers Tue May 27 16:05:29 2014 -0700 +++ b/make/solaris/makefiles/mapfile-vers Tue Jun 03 06:10:34 2014 +0000 @@ -163,6 +163,7 @@ JVM_GetStackTraceElement; JVM_GetSystemPackage; JVM_GetSystemPackages; + JVM_GetTemporaryDirectory; JVM_GetThreadStateNames; JVM_GetThreadStateValues; JVM_GetVersionInfo; diff -r 7f1743e1a14e -r f644f1468780 src/share/vm/prims/jvm.cpp --- a/src/share/vm/prims/jvm.cpp Tue May 27 16:05:29 2014 -0700 +++ b/src/share/vm/prims/jvm.cpp Tue Jun 03 06:10:34 2014 +0000 @@ -392,6 +392,23 @@ JVM_END +/* + * Return the temporary directory that the VM uses for the attach + * and perf data files. + * + * It is important that this directory is well-known and the + * same for all VM instances. It cannot be affected by configuration + * variables such as java.io.tmpdir. + */ +JVM_ENTRY(jstring, JVM_GetTemporaryDirectory(JNIEnv *env)) + JVMWrapper("JVM_GetTemporaryDirectory"); + HandleMark hm(THREAD); + const char* temp_dir = os::get_temp_directory(); + Handle h = java_lang_String::create_from_platform_dependent_str(temp_dir, CHECK_NULL); + return (jstring) JNIHandles::make_local(env, h()); +JVM_END + + // java.lang.Runtime ///////////////////////////////////////////////////////////////////////// extern volatile jint vm_created; diff -r 7f1743e1a14e -r f644f1468780 src/share/vm/prims/jvm.h --- a/src/share/vm/prims/jvm.h Tue May 27 16:05:29 2014 -0700 +++ b/src/share/vm/prims/jvm.h Tue Jun 03 06:10:34 2014 +0000 @@ -1485,6 +1485,9 @@ JNIEXPORT jobject JNICALL JVM_InitAgentProperties(JNIEnv *env, jobject agent_props); +JNIEXPORT jstring JNICALL +JVM_GetTemporaryDirectory(JNIEnv *env); + /* Generics reflection support. * * Returns information about the given class's EnclosingMethod