Mercurial > hg > truffle
diff src/share/vm/graal/graalVMEntries.cpp @ 3667:e755289380e3
Removed a safepoint possibility in the code installer when creating CiVirtualObject objects.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Fri, 18 Nov 2011 13:07:25 +0100 |
parents | 8c46cdb684d4 |
children | 53636e2c9d03 |
line wrap: on
line diff
--- a/src/share/vm/graal/graalVMEntries.cpp Thu Nov 17 19:11:55 2011 +0100 +++ b/src/share/vm/graal/graalVMEntries.cpp Fri Nov 18 13:07:25 2011 +0100 @@ -925,13 +925,14 @@ // public long installMethod(HotSpotTargetMethod targetMethod, boolean installCode); JNIEXPORT jlong JNICALL Java_com_oracle_graal_hotspot_VMEntries_installMethod(JNIEnv *jniEnv, jobject, jobject targetMethod, jboolean install_code) { VM_ENTRY_MARK; + Handle targetMethodHandle = JNIHandles::resolve(targetMethod); nmethod* nm = NULL; ciEnv* current_env = JavaThread::current()->env(); JavaThread::current()->set_env(NULL); Arena arena; ciEnv env(&arena); ResourceMark rm; - CodeInstaller installer(JNIHandles::resolve(targetMethod), nm, install_code != 0); + CodeInstaller installer(targetMethodHandle, nm, install_code != 0); JavaThread::current()->set_env(current_env); return (jlong) nm; } @@ -939,13 +940,14 @@ // public HotSpotProxy installStub(HotSpotTargetMethod targetMethod, String name); JNIEXPORT jlong JNICALL Java_com_oracle_graal_hotspot_VMEntries_installStub(JNIEnv *jniEnv, jobject, jobject targetMethod) { VM_ENTRY_MARK; + Handle targetMethodHandle = JNIHandles::resolve(targetMethod); jlong id; ciEnv* current_env = JavaThread::current()->env(); JavaThread::current()->set_env(NULL); Arena arena; ciEnv env(&arena); ResourceMark rm; - CodeInstaller installer(JNIHandles::resolve(targetMethod), id); + CodeInstaller installer(targetMethodHandle, id); JavaThread::current()->set_env(current_env); return id; }