< prev index next >
src/hotspot/share/prims/jni.cpp
Print this page
@@ -342,12 +342,11 @@
if (log_is_enabled(Debug, class, resolve) && k != NULL) {
trace_class_resolution(k);
}
- cls = (jclass)JNIHandles::make_local(
- env, k->java_mirror());
+ cls = (jclass)JNIHandles::make_local(THREAD, k->java_mirror());
return cls;
JNI_END
@@ -499,11 +498,11 @@
if (m->is_initializer()) {
reflection_method = Reflection::new_constructor(m, CHECK_NULL);
} else {
reflection_method = Reflection::new_method(m, false, CHECK_NULL);
}
- ret = JNIHandles::make_local(env, reflection_method);
+ ret = JNIHandles::make_local(THREAD, reflection_method);
return ret;
JNI_END
DT_RETURN_MARK_DECL(GetSuperclass, jclass
, HOTSPOT_JNI_GETSUPERCLASS_RETURN(_ret_ref));
@@ -621,11 +620,11 @@
HOTSPOT_JNI_EXCEPTIONOCCURRED_ENTRY(env);
jni_check_async_exceptions(thread);
oop exception = thread->pending_exception();
- jthrowable ret = (jthrowable) JNIHandles::make_local(env, exception);
+ jthrowable ret = (jthrowable) JNIHandles::make_local(THREAD, exception);
HOTSPOT_JNI_EXCEPTIONOCCURRED_RETURN(ret);
return ret;
JNI_END
@@ -796,11 +795,11 @@
JNI_ENTRY(jobject, jni_NewLocalRef(JNIEnv *env, jobject ref))
JNIWrapper("NewLocalRef");
HOTSPOT_JNI_NEWLOCALREF_ENTRY(env, ref);
- jobject ret = JNIHandles::make_local(env, JNIHandles::resolve(ref));
+ jobject ret = JNIHandles::make_local(THREAD, JNIHandles::resolve(ref));
HOTSPOT_JNI_NEWLOCALREF_RETURN(ret);
return ret;
JNI_END
@@ -974,11 +973,11 @@
// Invoke the method. Result is returned as oop.
JavaCalls::call(result, method, &java_args, CHECK);
// Convert result
if (is_reference_type(result->get_type())) {
- result->set_jobject(JNIHandles::make_local(env, (oop) result->get_jobject()));
+ result->set_jobject(JNIHandles::make_local(THREAD, (oop) result->get_jobject()));
}
}
static void jni_invoke_nonstatic(JNIEnv *env, JavaValue* result, jobject receiver, JNICallType call_type, jmethodID method_id, JNI_ArgumentPusher *args, TRAPS) {
@@ -1036,11 +1035,11 @@
// Invoke the method. Result is returned as oop.
JavaCalls::call(result, method, &java_args, CHECK);
// Convert result
if (is_reference_type(result->get_type())) {
- result->set_jobject(JNIHandles::make_local(env, (oop) result->get_jobject()));
+ result->set_jobject(JNIHandles::make_local(THREAD, (oop) result->get_jobject()));
}
}
DT_RETURN_MARK_DECL(AllocObject, jobject
, HOTSPOT_JNI_ALLOCOBJECT_RETURN(_ret_ref));
@@ -1052,11 +1051,11 @@
jobject ret = NULL;
DT_RETURN_MARK(AllocObject, jobject, (const jobject&)ret);
instanceOop i = InstanceKlass::allocate_instance(JNIHandles::resolve_non_null(clazz), CHECK_NULL);
- ret = JNIHandles::make_local(env, i);
+ ret = JNIHandles::make_local(THREAD, i);
return ret;
JNI_END
DT_RETURN_MARK_DECL(NewObjectA, jobject
, HOTSPOT_JNI_NEWOBJECTA_RETURN(_ret_ref));
@@ -1068,11 +1067,11 @@
jobject obj = NULL;
DT_RETURN_MARK(NewObjectA, jobject, (const jobject)obj);
instanceOop i = InstanceKlass::allocate_instance(JNIHandles::resolve_non_null(clazz), CHECK_NULL);
- obj = JNIHandles::make_local(env, i);
+ obj = JNIHandles::make_local(THREAD, i);
JavaValue jvalue(T_VOID);
JNI_ArgumentPusherArray ap(methodID, args);
jni_invoke_nonstatic(env, &jvalue, obj, JNI_NONVIRTUAL, methodID, &ap, CHECK_NULL);
return obj;
JNI_END
@@ -1088,11 +1087,11 @@
jobject obj = NULL;
DT_RETURN_MARK(NewObjectV, jobject, (const jobject&)obj);
instanceOop i = InstanceKlass::allocate_instance(JNIHandles::resolve_non_null(clazz), CHECK_NULL);
- obj = JNIHandles::make_local(env, i);
+ obj = JNIHandles::make_local(THREAD, i);
JavaValue jvalue(T_VOID);
JNI_ArgumentPusherVaArg ap(methodID, args);
jni_invoke_nonstatic(env, &jvalue, obj, JNI_NONVIRTUAL, methodID, &ap, CHECK_NULL);
return obj;
JNI_END
@@ -1108,11 +1107,11 @@
jobject obj = NULL;
DT_RETURN_MARK(NewObject, jobject, (const jobject&)obj);
instanceOop i = InstanceKlass::allocate_instance(JNIHandles::resolve_non_null(clazz), CHECK_NULL);
- obj = JNIHandles::make_local(env, i);
+ obj = JNIHandles::make_local(THREAD, i);
va_list args;
va_start(args, methodID);
JavaValue jvalue(T_VOID);
JNI_ArgumentPusherVaArg ap(methodID, args);
jni_invoke_nonstatic(env, &jvalue, obj, JNI_NONVIRTUAL, methodID, &ap, CHECK_NULL);
@@ -1126,11 +1125,11 @@
HOTSPOT_JNI_GETOBJECTCLASS_ENTRY(env, obj);
Klass* k = JNIHandles::resolve_non_null(obj)->klass();
jclass ret =
- (jclass) JNIHandles::make_local(env, k->java_mirror());
+ (jclass) JNIHandles::make_local(THREAD, k->java_mirror());
HOTSPOT_JNI_GETOBJECTCLASS_RETURN(ret);
return ret;
JNI_END
@@ -1908,11 +1907,11 @@
// jni_GetField_probe() assumes that is okay to create handles.
if (JvmtiExport::should_post_field_access()) {
o = JvmtiExport::jni_GetField_probe(thread, obj, o, k, fieldID, false);
}
oop loaded_obj = HeapAccess<ON_UNKNOWN_OOP_REF>::oop_load_at(o, offset);
- jobject ret = JNIHandles::make_local(env, loaded_obj);
+ jobject ret = JNIHandles::make_local(THREAD, loaded_obj);
HOTSPOT_JNI_GETOBJECTFIELD_RETURN(ret);
return ret;
JNI_END
@@ -2088,11 +2087,11 @@
int offset = jfieldIDWorkaround::from_instance_jfieldID(k, fieldID);
found = InstanceKlass::cast(k)->find_field_from_offset(offset, false, &fd);
}
assert(found, "bad fieldID passed into jni_ToReflectedField");
oop reflected = Reflection::new_field(&fd, CHECK_NULL);
- ret = JNIHandles::make_local(env, reflected);
+ ret = JNIHandles::make_local(THREAD, reflected);
return ret;
JNI_END
//
@@ -2275,11 +2274,11 @@
JNIWrapper("NewString");
HOTSPOT_JNI_NEWSTRING_ENTRY(env, (uint16_t *) unicodeChars, len);
jstring ret = NULL;
DT_RETURN_MARK(NewString, jstring, (const jstring&)ret);
oop string=java_lang_String::create_oop_from_unicode((jchar*) unicodeChars, len, CHECK_NULL);
- ret = (jstring) JNIHandles::make_local(env, string);
+ ret = (jstring) JNIHandles::make_local(THREAD, string);
return ret;
JNI_END
JNI_ENTRY_NO_PRESERVE(jsize, jni_GetStringLength(JNIEnv *env, jstring string))
@@ -2351,11 +2350,11 @@
HOTSPOT_JNI_NEWSTRINGUTF_ENTRY(env, (char *) bytes);
jstring ret;
DT_RETURN_MARK(NewStringUTF, jstring, (const jstring&)ret);
oop result = java_lang_String::create_oop_from_str((char*) bytes, CHECK_NULL);
- ret = (jstring) JNIHandles::make_local(env, result);
+ ret = (jstring) JNIHandles::make_local(THREAD, result);
return ret;
JNI_END
JNI_ENTRY(jsize, jni_GetStringUTFLength(JNIEnv *env, jstring string))
@@ -2431,11 +2430,11 @@
if (initial_value != NULL) { // array already initialized with NULL
for (int index = 0; index < length; index++) {
result->obj_at_put(index, initial_value);
}
}
- ret = (jobjectArray) JNIHandles::make_local(env, result);
+ ret = (jobjectArray) JNIHandles::make_local(THREAD, result);
return ret;
JNI_END
DT_RETURN_MARK_DECL(GetObjectArrayElement, jobject
, HOTSPOT_JNI_GETOBJECTARRAYELEMENT_RETURN(_ret_ref));
@@ -2445,11 +2444,11 @@
HOTSPOT_JNI_GETOBJECTARRAYELEMENT_ENTRY(env, array, index);
jobject ret = NULL;
DT_RETURN_MARK(GetObjectArrayElement, jobject, (const jobject&)ret);
objArrayOop a = objArrayOop(JNIHandles::resolve_non_null(array));
if (a->is_within_bounds(index)) {
- ret = JNIHandles::make_local(env, a->obj_at(index));
+ ret = JNIHandles::make_local(THREAD, a->obj_at(index));
return ret;
} else {
ResourceMark rm(THREAD);
stringStream ss;
ss.print("Index %d out of bounds for length %d", index, a->length());
@@ -2505,11 +2504,11 @@
EntryProbe; \
Return ret = NULL;\
DT_RETURN_MARK(New##Result##Array, Return, (const Return&)ret);\
\
oop obj= oopFactory::Allocator(len, CHECK_NULL); \
- ret = (Return) JNIHandles::make_local(env, obj); \
+ ret = (Return) JNIHandles::make_local(THREAD, obj); \
return ret;\
JNI_END
DEFINE_NEWSCALARARRAY(jbooleanArray, new_boolArray, Boolean,
HOTSPOT_JNI_NEWBOOLEANARRAY_ENTRY(env, len),
< prev index next >