< prev index next >

src/hotspot/share/jvmci/jvmciCompilerToVM.cpp

Print this page

        

@@ -249,11 +249,11 @@
   }
   oop obj = *((oopDesc**) oop_address);
   if (obj != NULL) {
     oopDesc::verify(obj);
   }
-  return JNIHandles::make_local(obj);
+  return JNIHandles::make_local(THREAD, obj);
 C2V_END
 
 C2V_VMENTRY_NULL(jbyteArray, getBytecode, (JNIEnv* env, jobject, jobject jvmci_method))
   methodHandle method(THREAD, JVMCIENV->asMethod(jvmci_method));
 

@@ -1036,11 +1036,11 @@
   JavaCalls::call(&result, mh, &jca, CHECK_NULL);
 
   if (jap.return_type() == T_VOID) {
     return NULL;
   } else if (is_reference_type(jap.return_type())) {
-    return JNIHandles::make_local((oop) result.get_jobject());
+    return JNIHandles::make_local(THREAD, (oop) result.get_jobject());
   } else {
     jvalue *value = (jvalue *) result.get_value_addr();
     // Narrow the value down if required (Important on big endian machines)
     switch (jap.return_type()) {
       case T_BOOLEAN:

@@ -2312,11 +2312,11 @@
                               p2i((void*) entry));
     }
   }
 
   typeArrayOop info_oop = oopFactory::new_longArray(4, CHECK_0);
-  jlongArray info = (jlongArray) JNIHandles::make_local(info_oop);
+  jlongArray info = (jlongArray) JNIHandles::make_local(THREAD, info_oop);
   runtime->init_JavaVM_info(info, JVMCI_CHECK_0);
   return info;
 }
 
 C2V_VMENTRY_PREFIX(jboolean, isCurrentThreadAttached, (JNIEnv* env, jobject c2vm))

@@ -2563,11 +2563,11 @@
     JVMCI_THROW_MSG_NULL(IllegalArgumentException,
         err_msg("Field index %d out of bounds for %s", index, klass->external_name()));
   }
   fieldDescriptor fd(iklass, index);
   oop reflected = Reflection::new_field(&fd, CHECK_NULL);
-  return JNIHandles::make_local(env, reflected);
+  return JNIHandles::make_local(THREAD, reflected);
 }
 
 C2V_VMENTRY_NULL(jobjectArray, getFailedSpeculations, (JNIEnv* env, jobject, jlong failed_speculations_address, jobjectArray current))
   FailedSpeculation* head = *((FailedSpeculation**)(address) failed_speculations_address);
   int result_length = 0;
< prev index next >