# HG changeset patch # User Bernhard Urban # Date 1409689184 -7200 # Node ID 3482684330eee12961a3aa72e11163daabdca170 # Parent ffddcdca8e742ae441028701314dc1d506a8cbdf cherry-pick: 8041980: (hotspot) sun/jvmstat/monitor/MonitoredVm/CR6672135.java failing on all platforms Reviewed-by: mgronlun, kamg Contributed-by: sla diff -r ffddcdca8e74 -r 3482684330ee make/bsd/makefiles/mapfile-vers-debug --- a/make/bsd/makefiles/mapfile-vers-debug Tue Sep 02 14:47:10 2014 +0200 +++ b/make/bsd/makefiles/mapfile-vers-debug Tue Sep 02 22:19:44 2014 +0200 @@ -161,6 +161,7 @@ _JVM_GetStackTraceElement _JVM_GetSystemPackage _JVM_GetSystemPackages + _JVM_GetTemporaryDirectory _JVM_GetThreadStateNames _JVM_GetThreadStateValues _JVM_GetVersionInfo diff -r ffddcdca8e74 -r 3482684330ee make/bsd/makefiles/mapfile-vers-product --- a/make/bsd/makefiles/mapfile-vers-product Tue Sep 02 14:47:10 2014 +0200 +++ b/make/bsd/makefiles/mapfile-vers-product Tue Sep 02 22:19:44 2014 +0200 @@ -161,6 +161,7 @@ _JVM_GetStackTraceElement _JVM_GetSystemPackage _JVM_GetSystemPackages + _JVM_GetTemporaryDirectory _JVM_GetThreadStateNames _JVM_GetThreadStateValues _JVM_GetVersionInfo diff -r ffddcdca8e74 -r 3482684330ee make/linux/makefiles/mapfile-vers-debug --- a/make/linux/makefiles/mapfile-vers-debug Tue Sep 02 14:47:10 2014 +0200 +++ b/make/linux/makefiles/mapfile-vers-debug Tue Sep 02 22:19:44 2014 +0200 @@ -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 ffddcdca8e74 -r 3482684330ee make/linux/makefiles/mapfile-vers-product --- a/make/linux/makefiles/mapfile-vers-product Tue Sep 02 14:47:10 2014 +0200 +++ b/make/linux/makefiles/mapfile-vers-product Tue Sep 02 22:19:44 2014 +0200 @@ -163,6 +163,7 @@ JVM_GetStackTraceElement; JVM_GetSystemPackage; JVM_GetSystemPackages; + JVM_GetTemporaryDirectory; JVM_GetThreadStateNames; JVM_GetThreadStateValues; JVM_GetVersionInfo; diff -r ffddcdca8e74 -r 3482684330ee make/solaris/makefiles/mapfile-vers --- a/make/solaris/makefiles/mapfile-vers Tue Sep 02 14:47:10 2014 +0200 +++ b/make/solaris/makefiles/mapfile-vers Tue Sep 02 22:19:44 2014 +0200 @@ -163,6 +163,7 @@ JVM_GetStackTraceElement; JVM_GetSystemPackage; JVM_GetSystemPackages; + JVM_GetTemporaryDirectory; JVM_GetThreadStateNames; JVM_GetThreadStateValues; JVM_GetVersionInfo; diff -r ffddcdca8e74 -r 3482684330ee src/share/vm/prims/jvm.cpp --- a/src/share/vm/prims/jvm.cpp Tue Sep 02 14:47:10 2014 +0200 +++ b/src/share/vm/prims/jvm.cpp Tue Sep 02 22:19:44 2014 +0200 @@ -391,6 +391,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 ffddcdca8e74 -r 3482684330ee src/share/vm/prims/jvm.h --- a/src/share/vm/prims/jvm.h Tue Sep 02 14:47:10 2014 +0200 +++ b/src/share/vm/prims/jvm.h Tue Sep 02 22:19:44 2014 +0200 @@ -1482,6 +1482,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