src/share/vm/prims/jni.cpp
Print this page
rev 5733 : 8030812: Change the solaris DTrace implementation to use USDT2 instead of USDT1
Reviewed-by:
*** 431,442 ****
JNI_ENTRY(jclass, jni_FindClass(JNIEnv *env, const char *name))
JNIWrapper("FindClass");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, FindClass__entry, env, name);
#else /* USDT2 */
! HOTSPOT_JNI_FINDCLASS_ENTRY(
! env, (char *)name);
#endif /* USDT2 */
jclass result = NULL;
DT_RETURN_MARK(FindClass, jclass, (const jclass&)result);
--- 431,441 ----
JNI_ENTRY(jclass, jni_FindClass(JNIEnv *env, const char *name))
JNIWrapper("FindClass");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, FindClass__entry, env, name);
#else /* USDT2 */
! HOTSPOT_JNI_FINDCLASS_ENTRY(env, (char *)name);
#endif /* USDT2 */
jclass result = NULL;
DT_RETURN_MARK(FindClass, jclass, (const jclass&)result);
*** 509,520 ****
JNI_ENTRY(jmethodID, jni_FromReflectedMethod(JNIEnv *env, jobject method))
JNIWrapper("FromReflectedMethod");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, FromReflectedMethod__entry, env, method);
#else /* USDT2 */
! HOTSPOT_JNI_FROMREFLECTEDMETHOD_ENTRY(
! env, method);
#endif /* USDT2 */
jmethodID ret = NULL;
DT_RETURN_MARK(FromReflectedMethod, jmethodID, (const jmethodID&)ret);
// method is a handle to a java.lang.reflect.Method object
--- 508,518 ----
JNI_ENTRY(jmethodID, jni_FromReflectedMethod(JNIEnv *env, jobject method))
JNIWrapper("FromReflectedMethod");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, FromReflectedMethod__entry, env, method);
#else /* USDT2 */
! HOTSPOT_JNI_FROMREFLECTEDMETHOD_ENTRY(env, method);
#endif /* USDT2 */
jmethodID ret = NULL;
DT_RETURN_MARK(FromReflectedMethod, jmethodID, (const jmethodID&)ret);
// method is a handle to a java.lang.reflect.Method object
*** 550,561 ****
JNI_ENTRY(jfieldID, jni_FromReflectedField(JNIEnv *env, jobject field))
JNIWrapper("FromReflectedField");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, FromReflectedField__entry, env, field);
#else /* USDT2 */
! HOTSPOT_JNI_FROMREFLECTEDFIELD_ENTRY(
! env, field);
#endif /* USDT2 */
jfieldID ret = NULL;
DT_RETURN_MARK(FromReflectedField, jfieldID, (const jfieldID&)ret);
// field is a handle to a java.lang.reflect.Field object
--- 548,558 ----
JNI_ENTRY(jfieldID, jni_FromReflectedField(JNIEnv *env, jobject field))
JNIWrapper("FromReflectedField");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, FromReflectedField__entry, env, field);
#else /* USDT2 */
! HOTSPOT_JNI_FROMREFLECTEDFIELD_ENTRY(env, field);
#endif /* USDT2 */
jfieldID ret = NULL;
DT_RETURN_MARK(FromReflectedField, jfieldID, (const jfieldID&)ret);
// field is a handle to a java.lang.reflect.Field object
*** 599,610 ****
JNI_ENTRY(jobject, jni_ToReflectedMethod(JNIEnv *env, jclass cls, jmethodID method_id, jboolean isStatic))
JNIWrapper("ToReflectedMethod");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, ToReflectedMethod__entry, env, cls, method_id, isStatic);
#else /* USDT2 */
! HOTSPOT_JNI_TOREFLECTEDMETHOD_ENTRY(
! env, cls, (uintptr_t) method_id, isStatic);
#endif /* USDT2 */
jobject ret = NULL;
DT_RETURN_MARK(ToReflectedMethod, jobject, (const jobject&)ret);
methodHandle m (THREAD, Method::resolve_jmethod_id(method_id));
--- 596,606 ----
JNI_ENTRY(jobject, jni_ToReflectedMethod(JNIEnv *env, jclass cls, jmethodID method_id, jboolean isStatic))
JNIWrapper("ToReflectedMethod");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, ToReflectedMethod__entry, env, cls, method_id, isStatic);
#else /* USDT2 */
! HOTSPOT_JNI_TOREFLECTEDMETHOD_ENTRY(env, cls, (uintptr_t) method_id, isStatic);
#endif /* USDT2 */
jobject ret = NULL;
DT_RETURN_MARK(ToReflectedMethod, jobject, (const jobject&)ret);
methodHandle m (THREAD, Method::resolve_jmethod_id(method_id));
*** 629,640 ****
JNI_ENTRY(jclass, jni_GetSuperclass(JNIEnv *env, jclass sub))
JNIWrapper("GetSuperclass");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetSuperclass__entry, env, sub);
#else /* USDT2 */
! HOTSPOT_JNI_GETSUPERCLASS_ENTRY(
! env, sub);
#endif /* USDT2 */
jclass obj = NULL;
DT_RETURN_MARK(GetSuperclass, jclass, (const jclass&)obj);
oop mirror = JNIHandles::resolve_non_null(sub);
--- 625,635 ----
JNI_ENTRY(jclass, jni_GetSuperclass(JNIEnv *env, jclass sub))
JNIWrapper("GetSuperclass");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetSuperclass__entry, env, sub);
#else /* USDT2 */
! HOTSPOT_JNI_GETSUPERCLASS_ENTRY(env, sub);
#endif /* USDT2 */
jclass obj = NULL;
DT_RETURN_MARK(GetSuperclass, jclass, (const jclass&)obj);
oop mirror = JNIHandles::resolve_non_null(sub);
*** 663,685 ****
JNI_QUICK_ENTRY(jboolean, jni_IsAssignableFrom(JNIEnv *env, jclass sub, jclass super))
JNIWrapper("IsSubclassOf");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, IsAssignableFrom__entry, env, sub, super);
#else /* USDT2 */
! HOTSPOT_JNI_ISASSIGNABLEFROM_ENTRY(
! env, sub, super);
#endif /* USDT2 */
oop sub_mirror = JNIHandles::resolve_non_null(sub);
oop super_mirror = JNIHandles::resolve_non_null(super);
if (java_lang_Class::is_primitive(sub_mirror) ||
java_lang_Class::is_primitive(super_mirror)) {
jboolean ret = (sub_mirror == super_mirror);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, IsAssignableFrom__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_ISASSIGNABLEFROM_RETURN(
! ret);
#endif /* USDT2 */
return ret;
}
Klass* sub_klass = java_lang_Class::as_Klass(sub_mirror);
Klass* super_klass = java_lang_Class::as_Klass(super_mirror);
--- 658,678 ----
JNI_QUICK_ENTRY(jboolean, jni_IsAssignableFrom(JNIEnv *env, jclass sub, jclass super))
JNIWrapper("IsSubclassOf");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, IsAssignableFrom__entry, env, sub, super);
#else /* USDT2 */
! HOTSPOT_JNI_ISASSIGNABLEFROM_ENTRY(env, sub, super);
#endif /* USDT2 */
oop sub_mirror = JNIHandles::resolve_non_null(sub);
oop super_mirror = JNIHandles::resolve_non_null(super);
if (java_lang_Class::is_primitive(sub_mirror) ||
java_lang_Class::is_primitive(super_mirror)) {
jboolean ret = (sub_mirror == super_mirror);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, IsAssignableFrom__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_ISASSIGNABLEFROM_RETURN(ret);
#endif /* USDT2 */
return ret;
}
Klass* sub_klass = java_lang_Class::as_Klass(sub_mirror);
Klass* super_klass = java_lang_Class::as_Klass(super_mirror);
*** 687,698 ****
jboolean ret = sub_klass->is_subtype_of(super_klass) ?
JNI_TRUE : JNI_FALSE;
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, IsAssignableFrom__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_ISASSIGNABLEFROM_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
#ifndef USDT2
--- 680,690 ----
jboolean ret = sub_klass->is_subtype_of(super_klass) ?
JNI_TRUE : JNI_FALSE;
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, IsAssignableFrom__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_ISASSIGNABLEFROM_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
#ifndef USDT2
*** 705,716 ****
JNI_ENTRY(jint, jni_Throw(JNIEnv *env, jthrowable obj))
JNIWrapper("Throw");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, Throw__entry, env, obj);
#else /* USDT2 */
! HOTSPOT_JNI_THROW_ENTRY(
! env, obj);
#endif /* USDT2 */
jint ret = JNI_OK;
DT_RETURN_MARK(Throw, jint, (const jint&)ret);
THROW_OOP_(JNIHandles::resolve(obj), JNI_OK);
--- 697,707 ----
JNI_ENTRY(jint, jni_Throw(JNIEnv *env, jthrowable obj))
JNIWrapper("Throw");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, Throw__entry, env, obj);
#else /* USDT2 */
! HOTSPOT_JNI_THROW_ENTRY(env, obj);
#endif /* USDT2 */
jint ret = JNI_OK;
DT_RETURN_MARK(Throw, jint, (const jint&)ret);
THROW_OOP_(JNIHandles::resolve(obj), JNI_OK);
*** 727,738 ****
JNI_ENTRY(jint, jni_ThrowNew(JNIEnv *env, jclass clazz, const char *message))
JNIWrapper("ThrowNew");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, ThrowNew__entry, env, clazz, message);
#else /* USDT2 */
! HOTSPOT_JNI_THROWNEW_ENTRY(
! env, clazz, (char *) message);
#endif /* USDT2 */
jint ret = JNI_OK;
DT_RETURN_MARK(ThrowNew, jint, (const jint&)ret);
InstanceKlass* k = InstanceKlass::cast(java_lang_Class::as_Klass(JNIHandles::resolve_non_null(clazz)));
--- 718,728 ----
JNI_ENTRY(jint, jni_ThrowNew(JNIEnv *env, jclass clazz, const char *message))
JNIWrapper("ThrowNew");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, ThrowNew__entry, env, clazz, message);
#else /* USDT2 */
! HOTSPOT_JNI_THROWNEW_ENTRY(env, clazz, (char *) message);
#endif /* USDT2 */
jint ret = JNI_OK;
DT_RETURN_MARK(ThrowNew, jint, (const jint&)ret);
InstanceKlass* k = InstanceKlass::cast(java_lang_Class::as_Klass(JNIHandles::resolve_non_null(clazz)));
*** 761,793 ****
JNI_ENTRY_NO_PRESERVE(jthrowable, jni_ExceptionOccurred(JNIEnv *env))
JNIWrapper("ExceptionOccurred");
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, ExceptionOccurred__entry, env);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONOCCURRED_ENTRY(
! env);
#endif /* USDT2 */
jni_check_async_exceptions(thread);
oop exception = thread->pending_exception();
jthrowable ret = (jthrowable) JNIHandles::make_local(env, exception);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, ExceptionOccurred__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONOCCURRED_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_ENTRY_NO_PRESERVE(void, jni_ExceptionDescribe(JNIEnv *env))
JNIWrapper("ExceptionDescribe");
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, ExceptionDescribe__entry, env);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONDESCRIBE_ENTRY(
! env);
#endif /* USDT2 */
if (thread->has_pending_exception()) {
Handle ex(thread, thread->pending_exception());
thread->clear_pending_exception();
if (ex->is_a(SystemDictionary::ThreadDeath_klass())) {
--- 751,780 ----
JNI_ENTRY_NO_PRESERVE(jthrowable, jni_ExceptionOccurred(JNIEnv *env))
JNIWrapper("ExceptionOccurred");
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, ExceptionOccurred__entry, env);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONOCCURRED_ENTRY(env);
#endif /* USDT2 */
jni_check_async_exceptions(thread);
oop exception = thread->pending_exception();
jthrowable ret = (jthrowable) JNIHandles::make_local(env, exception);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, ExceptionOccurred__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONOCCURRED_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_ENTRY_NO_PRESERVE(void, jni_ExceptionDescribe(JNIEnv *env))
JNIWrapper("ExceptionDescribe");
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, ExceptionDescribe__entry, env);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONDESCRIBE_ENTRY(env);
#endif /* USDT2 */
if (thread->has_pending_exception()) {
Handle ex(thread, thread->pending_exception());
thread->clear_pending_exception();
if (ex->is_a(SystemDictionary::ThreadDeath_klass())) {
*** 823,845 ****
}
}
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, ExceptionDescribe__return);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONDESCRIBE_RETURN(
! );
#endif /* USDT2 */
JNI_END
JNI_QUICK_ENTRY(void, jni_ExceptionClear(JNIEnv *env))
JNIWrapper("ExceptionClear");
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, ExceptionClear__entry, env);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONCLEAR_ENTRY(
! env);
#endif /* USDT2 */
// The jni code might be using this API to clear java thrown exception.
// So just mark jvmti thread exception state as exception caught.
JvmtiThreadState *state = JavaThread::current()->jvmti_thread_state();
--- 810,830 ----
}
}
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, ExceptionDescribe__return);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONDESCRIBE_RETURN();
#endif /* USDT2 */
JNI_END
JNI_QUICK_ENTRY(void, jni_ExceptionClear(JNIEnv *env))
JNIWrapper("ExceptionClear");
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, ExceptionClear__entry, env);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONCLEAR_ENTRY(env);
#endif /* USDT2 */
// The jni code might be using this API to clear java thrown exception.
// So just mark jvmti thread exception state as exception caught.
JvmtiThreadState *state = JavaThread::current()->jvmti_thread_state();
*** 848,870 ****
}
thread->clear_pending_exception();
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, ExceptionClear__return);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONCLEAR_RETURN(
! );
#endif /* USDT2 */
JNI_END
JNI_ENTRY(void, jni_FatalError(JNIEnv *env, const char *msg))
JNIWrapper("FatalError");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, FatalError__entry, env, msg);
#else /* USDT2 */
! HOTSPOT_JNI_FATALERROR_ENTRY(
! env, (char *) msg);
#endif /* USDT2 */
tty->print_cr("FATAL ERROR in native method: %s", msg);
thread->print_stack();
os::abort(); // Dump core and abort
JNI_END
--- 833,853 ----
}
thread->clear_pending_exception();
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, ExceptionClear__return);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONCLEAR_RETURN();
#endif /* USDT2 */
JNI_END
JNI_ENTRY(void, jni_FatalError(JNIEnv *env, const char *msg))
JNIWrapper("FatalError");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, FatalError__entry, env, msg);
#else /* USDT2 */
! HOTSPOT_JNI_FATALERROR_ENTRY(env, (char *) msg);
#endif /* USDT2 */
tty->print_cr("FATAL ERROR in native method: %s", msg);
thread->print_stack();
os::abort(); // Dump core and abort
JNI_END
*** 873,892 ****
JNI_ENTRY(jint, jni_PushLocalFrame(JNIEnv *env, jint capacity))
JNIWrapper("PushLocalFrame");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, PushLocalFrame__entry, env, capacity);
#else /* USDT2 */
! HOTSPOT_JNI_PUSHLOCALFRAME_ENTRY(
! env, capacity);
#endif /* USDT2 */
//%note jni_11
if (capacity < 0 || capacity > MAX_REASONABLE_LOCAL_CAPACITY) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, PushLocalFrame__return, JNI_ERR);
#else /* USDT2 */
! HOTSPOT_JNI_PUSHLOCALFRAME_RETURN(
! (uint32_t)JNI_ERR);
#endif /* USDT2 */
return JNI_ERR;
}
JNIHandleBlock* old_handles = thread->active_handles();
JNIHandleBlock* new_handles = JNIHandleBlock::allocate_block(thread);
--- 856,873 ----
JNI_ENTRY(jint, jni_PushLocalFrame(JNIEnv *env, jint capacity))
JNIWrapper("PushLocalFrame");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, PushLocalFrame__entry, env, capacity);
#else /* USDT2 */
! HOTSPOT_JNI_PUSHLOCALFRAME_ENTRY(env, capacity);
#endif /* USDT2 */
//%note jni_11
if (capacity < 0 || capacity > MAX_REASONABLE_LOCAL_CAPACITY) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, PushLocalFrame__return, JNI_ERR);
#else /* USDT2 */
! HOTSPOT_JNI_PUSHLOCALFRAME_RETURN((uint32_t)JNI_ERR);
#endif /* USDT2 */
return JNI_ERR;
}
JNIHandleBlock* old_handles = thread->active_handles();
JNIHandleBlock* new_handles = JNIHandleBlock::allocate_block(thread);
*** 895,918 ****
thread->set_active_handles(new_handles);
jint ret = JNI_OK;
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, PushLocalFrame__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_PUSHLOCALFRAME_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_ENTRY(jobject, jni_PopLocalFrame(JNIEnv *env, jobject result))
JNIWrapper("PopLocalFrame");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, PopLocalFrame__entry, env, result);
#else /* USDT2 */
! HOTSPOT_JNI_POPLOCALFRAME_ENTRY(
! env, result);
#endif /* USDT2 */
//%note jni_11
Handle result_handle(thread, JNIHandles::resolve(result));
JNIHandleBlock* old_handles = thread->active_handles();
JNIHandleBlock* new_handles = old_handles->pop_frame_link();
--- 876,897 ----
thread->set_active_handles(new_handles);
jint ret = JNI_OK;
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, PushLocalFrame__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_PUSHLOCALFRAME_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_ENTRY(jobject, jni_PopLocalFrame(JNIEnv *env, jobject result))
JNIWrapper("PopLocalFrame");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, PopLocalFrame__entry, env, result);
#else /* USDT2 */
! HOTSPOT_JNI_POPLOCALFRAME_ENTRY(env, result);
#endif /* USDT2 */
//%note jni_11
Handle result_handle(thread, JNIHandles::resolve(result));
JNIHandleBlock* old_handles = thread->active_handles();
JNIHandleBlock* new_handles = old_handles->pop_frame_link();
*** 927,1067 ****
result = JNIHandles::make_local(thread, result_handle());
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, PopLocalFrame__return, result);
#else /* USDT2 */
! HOTSPOT_JNI_POPLOCALFRAME_RETURN(
! result);
#endif /* USDT2 */
return result;
JNI_END
JNI_ENTRY(jobject, jni_NewGlobalRef(JNIEnv *env, jobject ref))
JNIWrapper("NewGlobalRef");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, NewGlobalRef__entry, env, ref);
#else /* USDT2 */
! HOTSPOT_JNI_NEWGLOBALREF_ENTRY(
! env, ref);
#endif /* USDT2 */
Handle ref_handle(thread, JNIHandles::resolve(ref));
jobject ret = JNIHandles::make_global(ref_handle);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, NewGlobalRef__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_NEWGLOBALREF_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
// Must be JNI_ENTRY (with HandleMark)
JNI_ENTRY_NO_PRESERVE(void, jni_DeleteGlobalRef(JNIEnv *env, jobject ref))
JNIWrapper("DeleteGlobalRef");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, DeleteGlobalRef__entry, env, ref);
#else /* USDT2 */
! HOTSPOT_JNI_DELETEGLOBALREF_ENTRY(
! env, ref);
#endif /* USDT2 */
JNIHandles::destroy_global(ref);
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, DeleteGlobalRef__return);
#else /* USDT2 */
! HOTSPOT_JNI_DELETEGLOBALREF_RETURN(
! );
#endif /* USDT2 */
JNI_END
JNI_QUICK_ENTRY(void, jni_DeleteLocalRef(JNIEnv *env, jobject obj))
JNIWrapper("DeleteLocalRef");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, DeleteLocalRef__entry, env, obj);
#else /* USDT2 */
! HOTSPOT_JNI_DELETELOCALREF_ENTRY(
! env, obj);
#endif /* USDT2 */
JNIHandles::destroy_local(obj);
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, DeleteLocalRef__return);
#else /* USDT2 */
! HOTSPOT_JNI_DELETELOCALREF_RETURN(
! );
#endif /* USDT2 */
JNI_END
JNI_QUICK_ENTRY(jboolean, jni_IsSameObject(JNIEnv *env, jobject r1, jobject r2))
JNIWrapper("IsSameObject");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, IsSameObject__entry, env, r1, r2);
#else /* USDT2 */
! HOTSPOT_JNI_ISSAMEOBJECT_ENTRY(
! env, r1, r2);
#endif /* USDT2 */
oop a = JNIHandles::resolve(r1);
oop b = JNIHandles::resolve(r2);
jboolean ret = (a == b) ? JNI_TRUE : JNI_FALSE;
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, IsSameObject__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_ISSAMEOBJECT_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_ENTRY(jobject, jni_NewLocalRef(JNIEnv *env, jobject ref))
JNIWrapper("NewLocalRef");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, NewLocalRef__entry, env, ref);
#else /* USDT2 */
! HOTSPOT_JNI_NEWLOCALREF_ENTRY(
! env, ref);
#endif /* USDT2 */
jobject ret = JNIHandles::make_local(env, JNIHandles::resolve(ref));
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, NewLocalRef__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_NEWLOCALREF_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_LEAF(jint, jni_EnsureLocalCapacity(JNIEnv *env, jint capacity))
JNIWrapper("EnsureLocalCapacity");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, EnsureLocalCapacity__entry, env, capacity);
#else /* USDT2 */
! HOTSPOT_JNI_ENSURELOCALCAPACITY_ENTRY(
! env, capacity);
#endif /* USDT2 */
jint ret;
if (capacity >= 0 && capacity <= MAX_REASONABLE_LOCAL_CAPACITY) {
ret = JNI_OK;
} else {
ret = JNI_ERR;
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, EnsureLocalCapacity__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_ENSURELOCALCAPACITY_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
// Return the Handle Type
JNI_LEAF(jobjectRefType, jni_GetObjectRefType(JNIEnv *env, jobject obj))
JNIWrapper("GetObjectRefType");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetObjectRefType__entry, env, obj);
#else /* USDT2 */
! HOTSPOT_JNI_GETOBJECTREFTYPE_ENTRY(
! env, obj);
#endif /* USDT2 */
jobjectRefType ret;
if (JNIHandles::is_local_handle(thread, obj) ||
JNIHandles::is_frame_handle(thread, obj))
ret = JNILocalRefType;
--- 906,1032 ----
result = JNIHandles::make_local(thread, result_handle());
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, PopLocalFrame__return, result);
#else /* USDT2 */
! HOTSPOT_JNI_POPLOCALFRAME_RETURN(result);
#endif /* USDT2 */
return result;
JNI_END
JNI_ENTRY(jobject, jni_NewGlobalRef(JNIEnv *env, jobject ref))
JNIWrapper("NewGlobalRef");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, NewGlobalRef__entry, env, ref);
#else /* USDT2 */
! HOTSPOT_JNI_NEWGLOBALREF_ENTRY(env, ref);
#endif /* USDT2 */
Handle ref_handle(thread, JNIHandles::resolve(ref));
jobject ret = JNIHandles::make_global(ref_handle);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, NewGlobalRef__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_NEWGLOBALREF_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
// Must be JNI_ENTRY (with HandleMark)
JNI_ENTRY_NO_PRESERVE(void, jni_DeleteGlobalRef(JNIEnv *env, jobject ref))
JNIWrapper("DeleteGlobalRef");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, DeleteGlobalRef__entry, env, ref);
#else /* USDT2 */
! HOTSPOT_JNI_DELETEGLOBALREF_ENTRY(env, ref);
#endif /* USDT2 */
JNIHandles::destroy_global(ref);
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, DeleteGlobalRef__return);
#else /* USDT2 */
! HOTSPOT_JNI_DELETEGLOBALREF_RETURN();
#endif /* USDT2 */
JNI_END
JNI_QUICK_ENTRY(void, jni_DeleteLocalRef(JNIEnv *env, jobject obj))
JNIWrapper("DeleteLocalRef");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, DeleteLocalRef__entry, env, obj);
#else /* USDT2 */
! HOTSPOT_JNI_DELETELOCALREF_ENTRY(env, obj);
#endif /* USDT2 */
JNIHandles::destroy_local(obj);
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, DeleteLocalRef__return);
#else /* USDT2 */
! HOTSPOT_JNI_DELETELOCALREF_RETURN();
#endif /* USDT2 */
JNI_END
JNI_QUICK_ENTRY(jboolean, jni_IsSameObject(JNIEnv *env, jobject r1, jobject r2))
JNIWrapper("IsSameObject");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, IsSameObject__entry, env, r1, r2);
#else /* USDT2 */
! HOTSPOT_JNI_ISSAMEOBJECT_ENTRY(env, r1, r2);
#endif /* USDT2 */
oop a = JNIHandles::resolve(r1);
oop b = JNIHandles::resolve(r2);
jboolean ret = (a == b) ? JNI_TRUE : JNI_FALSE;
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, IsSameObject__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_ISSAMEOBJECT_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_ENTRY(jobject, jni_NewLocalRef(JNIEnv *env, jobject ref))
JNIWrapper("NewLocalRef");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, NewLocalRef__entry, env, ref);
#else /* USDT2 */
! HOTSPOT_JNI_NEWLOCALREF_ENTRY(env, ref);
#endif /* USDT2 */
jobject ret = JNIHandles::make_local(env, JNIHandles::resolve(ref));
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, NewLocalRef__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_NEWLOCALREF_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_LEAF(jint, jni_EnsureLocalCapacity(JNIEnv *env, jint capacity))
JNIWrapper("EnsureLocalCapacity");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, EnsureLocalCapacity__entry, env, capacity);
#else /* USDT2 */
! HOTSPOT_JNI_ENSURELOCALCAPACITY_ENTRY(env, capacity);
#endif /* USDT2 */
jint ret;
if (capacity >= 0 && capacity <= MAX_REASONABLE_LOCAL_CAPACITY) {
ret = JNI_OK;
} else {
ret = JNI_ERR;
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, EnsureLocalCapacity__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_ENSURELOCALCAPACITY_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
// Return the Handle Type
JNI_LEAF(jobjectRefType, jni_GetObjectRefType(JNIEnv *env, jobject obj))
JNIWrapper("GetObjectRefType");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetObjectRefType__entry, env, obj);
#else /* USDT2 */
! HOTSPOT_JNI_GETOBJECTREFTYPE_ENTRY(env, obj);
#endif /* USDT2 */
jobjectRefType ret;
if (JNIHandles::is_local_handle(thread, obj) ||
JNIHandles::is_frame_handle(thread, obj))
ret = JNILocalRefType;
*** 1072,1083 ****
else
ret = JNIInvalidRefType;
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetObjectRefType__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETOBJECTREFTYPE_RETURN(
! (void *) ret);
#endif /* USDT2 */
return ret;
JNI_END
--- 1037,1047 ----
else
ret = JNIInvalidRefType;
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetObjectRefType__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETOBJECTREFTYPE_RETURN((void *) ret);
#endif /* USDT2 */
return ret;
JNI_END
*** 1408,1419 ****
JNIWrapper("AllocObject");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, AllocObject__entry, env, clazz);
#else /* USDT2 */
! HOTSPOT_JNI_ALLOCOBJECT_ENTRY(
! env, clazz);
#endif /* USDT2 */
jobject ret = NULL;
DT_RETURN_MARK(AllocObject, jobject, (const jobject&)ret);
instanceOop i = alloc_object(clazz, CHECK_NULL);
--- 1372,1382 ----
JNIWrapper("AllocObject");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, AllocObject__entry, env, clazz);
#else /* USDT2 */
! HOTSPOT_JNI_ALLOCOBJECT_ENTRY(env, clazz);
#endif /* USDT2 */
jobject ret = NULL;
DT_RETURN_MARK(AllocObject, jobject, (const jobject&)ret);
instanceOop i = alloc_object(clazz, CHECK_NULL);
*** 1431,1442 ****
JNI_ENTRY(jobject, jni_NewObjectA(JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args))
JNIWrapper("NewObjectA");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, NewObjectA__entry, env, clazz, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_NEWOBJECTA_ENTRY(
! env, clazz, (uintptr_t) methodID);
#endif /* USDT2 */
jobject obj = NULL;
DT_RETURN_MARK(NewObjectA, jobject, (const jobject)obj);
instanceOop i = alloc_object(clazz, CHECK_NULL);
--- 1394,1404 ----
JNI_ENTRY(jobject, jni_NewObjectA(JNIEnv *env, jclass clazz, jmethodID methodID, const jvalue *args))
JNIWrapper("NewObjectA");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, NewObjectA__entry, env, clazz, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_NEWOBJECTA_ENTRY(env, clazz, (uintptr_t) methodID);
#endif /* USDT2 */
jobject obj = NULL;
DT_RETURN_MARK(NewObjectA, jobject, (const jobject)obj);
instanceOop i = alloc_object(clazz, CHECK_NULL);
*** 1457,1468 ****
JNI_ENTRY(jobject, jni_NewObjectV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args))
JNIWrapper("NewObjectV");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, NewObjectV__entry, env, clazz, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_NEWOBJECTV_ENTRY(
! env, clazz, (uintptr_t) methodID);
#endif /* USDT2 */
jobject obj = NULL;
DT_RETURN_MARK(NewObjectV, jobject, (const jobject&)obj);
instanceOop i = alloc_object(clazz, CHECK_NULL);
--- 1419,1429 ----
JNI_ENTRY(jobject, jni_NewObjectV(JNIEnv *env, jclass clazz, jmethodID methodID, va_list args))
JNIWrapper("NewObjectV");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, NewObjectV__entry, env, clazz, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_NEWOBJECTV_ENTRY(env, clazz, (uintptr_t) methodID);
#endif /* USDT2 */
jobject obj = NULL;
DT_RETURN_MARK(NewObjectV, jobject, (const jobject&)obj);
instanceOop i = alloc_object(clazz, CHECK_NULL);
*** 1483,1494 ****
JNI_ENTRY(jobject, jni_NewObject(JNIEnv *env, jclass clazz, jmethodID methodID, ...))
JNIWrapper("NewObject");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, NewObject__entry, env, clazz, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_NEWOBJECT_ENTRY(
! env, clazz, (uintptr_t) methodID);
#endif /* USDT2 */
jobject obj = NULL;
DT_RETURN_MARK(NewObject, jobject, (const jobject&)obj);
instanceOop i = alloc_object(clazz, CHECK_NULL);
--- 1444,1454 ----
JNI_ENTRY(jobject, jni_NewObject(JNIEnv *env, jclass clazz, jmethodID methodID, ...))
JNIWrapper("NewObject");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, NewObject__entry, env, clazz, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_NEWOBJECT_ENTRY(env, clazz, (uintptr_t) methodID);
#endif /* USDT2 */
jobject obj = NULL;
DT_RETURN_MARK(NewObject, jobject, (const jobject&)obj);
instanceOop i = alloc_object(clazz, CHECK_NULL);
*** 1506,1537 ****
JNI_ENTRY(jclass, jni_GetObjectClass(JNIEnv *env, jobject obj))
JNIWrapper("GetObjectClass");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetObjectClass__entry, env, obj);
#else /* USDT2 */
! HOTSPOT_JNI_GETOBJECTCLASS_ENTRY(
! env, obj);
#endif /* USDT2 */
Klass* k = JNIHandles::resolve_non_null(obj)->klass();
jclass ret =
(jclass) JNIHandles::make_local(env, k->java_mirror());
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetObjectClass__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETOBJECTCLASS_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_QUICK_ENTRY(jboolean, jni_IsInstanceOf(JNIEnv *env, jobject obj, jclass clazz))
JNIWrapper("IsInstanceOf");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, IsInstanceOf__entry, env, obj, clazz);
#else /* USDT2 */
! HOTSPOT_JNI_ISINSTANCEOF_ENTRY(
! env, obj, clazz);
#endif /* USDT2 */
jboolean ret = JNI_TRUE;
if (obj != NULL) {
ret = JNI_FALSE;
Klass* k = java_lang_Class::as_Klass(
--- 1466,1494 ----
JNI_ENTRY(jclass, jni_GetObjectClass(JNIEnv *env, jobject obj))
JNIWrapper("GetObjectClass");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetObjectClass__entry, env, obj);
#else /* USDT2 */
! HOTSPOT_JNI_GETOBJECTCLASS_ENTRY(env, obj);
#endif /* USDT2 */
Klass* k = JNIHandles::resolve_non_null(obj)->klass();
jclass ret =
(jclass) JNIHandles::make_local(env, k->java_mirror());
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetObjectClass__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETOBJECTCLASS_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_QUICK_ENTRY(jboolean, jni_IsInstanceOf(JNIEnv *env, jobject obj, jclass clazz))
JNIWrapper("IsInstanceOf");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, IsInstanceOf__entry, env, obj, clazz);
#else /* USDT2 */
! HOTSPOT_JNI_ISINSTANCEOF_ENTRY(env, obj, clazz);
#endif /* USDT2 */
jboolean ret = JNI_TRUE;
if (obj != NULL) {
ret = JNI_FALSE;
Klass* k = java_lang_Class::as_Klass(
*** 1541,1552 ****
}
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, IsInstanceOf__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_ISINSTANCEOF_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
--- 1498,1508 ----
}
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, IsInstanceOf__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_ISINSTANCEOF_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
*** 1606,1624 ****
const char *name, const char *sig))
JNIWrapper("GetMethodID");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, GetMethodID__entry, env, clazz, name, sig);
#else /* USDT2 */
! HOTSPOT_JNI_GETMETHODID_ENTRY(
! env, clazz, (char *) name, (char *) sig);
#endif /* USDT2 */
jmethodID ret = get_method_id(env, clazz, name, sig, false, thread);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetMethodID__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETMETHODID_RETURN(
! (uintptr_t) ret);
#endif /* USDT2 */
return ret;
JNI_END
--- 1562,1578 ----
const char *name, const char *sig))
JNIWrapper("GetMethodID");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, GetMethodID__entry, env, clazz, name, sig);
#else /* USDT2 */
! HOTSPOT_JNI_GETMETHODID_ENTRY(env, clazz, (char *) name, (char *) sig);
#endif /* USDT2 */
jmethodID ret = get_method_id(env, clazz, name, sig, false, thread);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetMethodID__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETMETHODID_RETURN((uintptr_t) ret);
#endif /* USDT2 */
return ret;
JNI_END
*** 1626,1644 ****
const char *name, const char *sig))
JNIWrapper("GetStaticMethodID");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, GetStaticMethodID__entry, env, clazz, name, sig);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTATICMETHODID_ENTRY(
! env, (char *) clazz, (char *) name, (char *)sig);
#endif /* USDT2 */
jmethodID ret = get_method_id(env, clazz, name, sig, true, thread);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetStaticMethodID__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTATICMETHODID_RETURN(
! (uintptr_t) ret);
#endif /* USDT2 */
return ret;
JNI_END
--- 1580,1596 ----
const char *name, const char *sig))
JNIWrapper("GetStaticMethodID");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, GetStaticMethodID__entry, env, clazz, name, sig);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTATICMETHODID_ENTRY(env, (char *) clazz, (char *) name, (char *)sig);
#endif /* USDT2 */
jmethodID ret = get_method_id(env, clazz, name, sig, true, thread);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetStaticMethodID__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTATICMETHODID_RETURN((uintptr_t) ret);
#endif /* USDT2 */
return ret;
JNI_END
*** 1894,1905 ****
JNI_ENTRY(void, jni_CallVoidMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...))
JNIWrapper("CallVoidMethod");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, CallVoidMethod__entry, env, obj, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_CALLVOIDMETHOD_ENTRY(
! env, obj, (uintptr_t) methodID);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(CallVoidMethod);
va_list args;
va_start(args, methodID);
--- 1846,1856 ----
JNI_ENTRY(void, jni_CallVoidMethod(JNIEnv *env, jobject obj, jmethodID methodID, ...))
JNIWrapper("CallVoidMethod");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, CallVoidMethod__entry, env, obj, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_CALLVOIDMETHOD_ENTRY(env, obj, (uintptr_t) methodID);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(CallVoidMethod);
va_list args;
va_start(args, methodID);
*** 1913,1924 ****
JNI_ENTRY(void, jni_CallVoidMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list args))
JNIWrapper("CallVoidMethodV");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, CallVoidMethodV__entry, env, obj, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_CALLVOIDMETHODV_ENTRY(
! env, obj, (uintptr_t) methodID);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(CallVoidMethodV);
JavaValue jvalue(T_VOID);
JNI_ArgumentPusherVaArg ap(methodID, args);
--- 1864,1874 ----
JNI_ENTRY(void, jni_CallVoidMethodV(JNIEnv *env, jobject obj, jmethodID methodID, va_list args))
JNIWrapper("CallVoidMethodV");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, CallVoidMethodV__entry, env, obj, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_CALLVOIDMETHODV_ENTRY(env, obj, (uintptr_t) methodID);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(CallVoidMethodV);
JavaValue jvalue(T_VOID);
JNI_ArgumentPusherVaArg ap(methodID, args);
*** 1929,1940 ****
JNI_ENTRY(void, jni_CallVoidMethodA(JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args))
JNIWrapper("CallVoidMethodA");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, CallVoidMethodA__entry, env, obj, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_CALLVOIDMETHODA_ENTRY(
! env, obj, (uintptr_t) methodID);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(CallVoidMethodA);
JavaValue jvalue(T_VOID);
JNI_ArgumentPusherArray ap(methodID, args);
--- 1879,1889 ----
JNI_ENTRY(void, jni_CallVoidMethodA(JNIEnv *env, jobject obj, jmethodID methodID, const jvalue *args))
JNIWrapper("CallVoidMethodA");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, CallVoidMethodA__entry, env, obj, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_CALLVOIDMETHODA_ENTRY(env, obj, (uintptr_t) methodID);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(CallVoidMethodA);
JavaValue jvalue(T_VOID);
JNI_ArgumentPusherArray ap(methodID, args);
*** 2192,2203 ****
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, CallNonvirtualVoidMethod__entry,
env, obj, cls, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_CALLNONVIRTUALVOIDMETHOD_ENTRY(
! env, obj, cls, (uintptr_t) methodID);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(CallNonvirtualVoidMethod);
va_list args;
va_start(args, methodID);
--- 2141,2151 ----
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, CallNonvirtualVoidMethod__entry,
env, obj, cls, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_CALLNONVIRTUALVOIDMETHOD_ENTRY(env, obj, cls, (uintptr_t) methodID);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(CallNonvirtualVoidMethod);
va_list args;
va_start(args, methodID);
*** 2494,2505 ****
JNI_ENTRY(void, jni_CallStaticVoidMethod(JNIEnv *env, jclass cls, jmethodID methodID, ...))
JNIWrapper("CallStaticVoidMethod");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, CallStaticVoidMethod__entry, env, cls, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_CALLSTATICVOIDMETHOD_ENTRY(
! env, cls, (uintptr_t) methodID);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(CallStaticVoidMethod);
va_list args;
va_start(args, methodID);
--- 2442,2452 ----
JNI_ENTRY(void, jni_CallStaticVoidMethod(JNIEnv *env, jclass cls, jmethodID methodID, ...))
JNIWrapper("CallStaticVoidMethod");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, CallStaticVoidMethod__entry, env, cls, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_CALLSTATICVOIDMETHOD_ENTRY(env, cls, (uintptr_t) methodID);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(CallStaticVoidMethod);
va_list args;
va_start(args, methodID);
*** 2513,2524 ****
JNI_ENTRY(void, jni_CallStaticVoidMethodV(JNIEnv *env, jclass cls, jmethodID methodID, va_list args))
JNIWrapper("CallStaticVoidMethodV");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, CallStaticVoidMethodV__entry, env, cls, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_CALLSTATICVOIDMETHODV_ENTRY(
! env, cls, (uintptr_t) methodID);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(CallStaticVoidMethodV);
JavaValue jvalue(T_VOID);
JNI_ArgumentPusherVaArg ap(methodID, args);
--- 2460,2470 ----
JNI_ENTRY(void, jni_CallStaticVoidMethodV(JNIEnv *env, jclass cls, jmethodID methodID, va_list args))
JNIWrapper("CallStaticVoidMethodV");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, CallStaticVoidMethodV__entry, env, cls, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_CALLSTATICVOIDMETHODV_ENTRY(env, cls, (uintptr_t) methodID);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(CallStaticVoidMethodV);
JavaValue jvalue(T_VOID);
JNI_ArgumentPusherVaArg ap(methodID, args);
*** 2529,2540 ****
JNI_ENTRY(void, jni_CallStaticVoidMethodA(JNIEnv *env, jclass cls, jmethodID methodID, const jvalue *args))
JNIWrapper("CallStaticVoidMethodA");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, CallStaticVoidMethodA__entry, env, cls, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_CALLSTATICVOIDMETHODA_ENTRY(
! env, cls, (uintptr_t) methodID);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(CallStaticVoidMethodA);
JavaValue jvalue(T_VOID);
JNI_ArgumentPusherArray ap(methodID, args);
--- 2475,2485 ----
JNI_ENTRY(void, jni_CallStaticVoidMethodA(JNIEnv *env, jclass cls, jmethodID methodID, const jvalue *args))
JNIWrapper("CallStaticVoidMethodA");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, CallStaticVoidMethodA__entry, env, cls, methodID);
#else /* USDT2 */
! HOTSPOT_JNI_CALLSTATICVOIDMETHODA_ENTRY(env, cls, (uintptr_t) methodID);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(CallStaticVoidMethodA);
JavaValue jvalue(T_VOID);
JNI_ArgumentPusherArray ap(methodID, args);
*** 2558,2569 ****
const char *name, const char *sig))
JNIWrapper("GetFieldID");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, GetFieldID__entry, env, clazz, name, sig);
#else /* USDT2 */
! HOTSPOT_JNI_GETFIELDID_ENTRY(
! env, clazz, (char *) name, (char *) sig);
#endif /* USDT2 */
jfieldID ret = 0;
DT_RETURN_MARK(GetFieldID, jfieldID, (const jfieldID&)ret);
// The class should have been loaded (we have an instance of the class
--- 2503,2513 ----
const char *name, const char *sig))
JNIWrapper("GetFieldID");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, GetFieldID__entry, env, clazz, name, sig);
#else /* USDT2 */
! HOTSPOT_JNI_GETFIELDID_ENTRY(env, clazz, (char *) name, (char *) sig);
#endif /* USDT2 */
jfieldID ret = 0;
DT_RETURN_MARK(GetFieldID, jfieldID, (const jfieldID&)ret);
// The class should have been loaded (we have an instance of the class
*** 2595,2606 ****
JNI_ENTRY(jobject, jni_GetObjectField(JNIEnv *env, jobject obj, jfieldID fieldID))
JNIWrapper("GetObjectField");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetObjectField__entry, env, obj, fieldID);
#else /* USDT2 */
! HOTSPOT_JNI_GETOBJECTFIELD_ENTRY(
! env, obj, (uintptr_t) fieldID);
#endif /* USDT2 */
oop o = JNIHandles::resolve_non_null(obj);
Klass* k = o->klass();
int offset = jfieldIDWorkaround::from_instance_jfieldID(k, fieldID);
// Keep JVMTI addition small and only check enabled flag here.
--- 2539,2549 ----
JNI_ENTRY(jobject, jni_GetObjectField(JNIEnv *env, jobject obj, jfieldID fieldID))
JNIWrapper("GetObjectField");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetObjectField__entry, env, obj, fieldID);
#else /* USDT2 */
! HOTSPOT_JNI_GETOBJECTFIELD_ENTRY(env, obj, (uintptr_t) fieldID);
#endif /* USDT2 */
oop o = JNIHandles::resolve_non_null(obj);
Klass* k = o->klass();
int offset = jfieldIDWorkaround::from_instance_jfieldID(k, fieldID);
// Keep JVMTI addition small and only check enabled flag here.
*** 2630,2641 ****
}
#endif // INCLUDE_ALL_GCS
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetObjectField__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETOBJECTFIELD_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
--- 2573,2583 ----
}
#endif // INCLUDE_ALL_GCS
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetObjectField__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETOBJECTFIELD_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
*** 2756,2767 ****
JNI_QUICK_ENTRY(void, jni_SetObjectField(JNIEnv *env, jobject obj, jfieldID fieldID, jobject value))
JNIWrapper("SetObjectField");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, SetObjectField__entry, env, obj, fieldID, value);
#else /* USDT2 */
! HOTSPOT_JNI_SETOBJECTFIELD_ENTRY(
! env, obj, (uintptr_t) fieldID, value);
#endif /* USDT2 */
oop o = JNIHandles::resolve_non_null(obj);
Klass* k = o->klass();
int offset = jfieldIDWorkaround::from_instance_jfieldID(k, fieldID);
// Keep JVMTI addition small and only check enabled flag here.
--- 2698,2708 ----
JNI_QUICK_ENTRY(void, jni_SetObjectField(JNIEnv *env, jobject obj, jfieldID fieldID, jobject value))
JNIWrapper("SetObjectField");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, SetObjectField__entry, env, obj, fieldID, value);
#else /* USDT2 */
! HOTSPOT_JNI_SETOBJECTFIELD_ENTRY(env, obj, (uintptr_t) fieldID, value);
#endif /* USDT2 */
oop o = JNIHandles::resolve_non_null(obj);
Klass* k = o->klass();
int offset = jfieldIDWorkaround::from_instance_jfieldID(k, fieldID);
// Keep JVMTI addition small and only check enabled flag here.
*** 2774,2785 ****
}
o->obj_field_put(offset, JNIHandles::resolve(value));
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, SetObjectField__return);
#else /* USDT2 */
! HOTSPOT_JNI_SETOBJECTFIELD_RETURN(
! );
#endif /* USDT2 */
JNI_END
#ifndef USDT2
#define DEFINE_SETFIELD(Argument,Fieldname,Result,SigType,unionType) \
--- 2715,2725 ----
}
o->obj_field_put(offset, JNIHandles::resolve(value));
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, SetObjectField__return);
#else /* USDT2 */
! HOTSPOT_JNI_SETOBJECTFIELD_RETURN();
#endif /* USDT2 */
JNI_END
#ifndef USDT2
#define DEFINE_SETFIELD(Argument,Fieldname,Result,SigType,unionType) \
*** 2878,2889 ****
JNIWrapper("ToReflectedField");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, ToReflectedField__entry,
env, cls, fieldID, isStatic);
#else /* USDT2 */
! HOTSPOT_JNI_TOREFLECTEDFIELD_ENTRY(
! env, cls, (uintptr_t) fieldID, isStatic);
#endif /* USDT2 */
jobject ret = NULL;
DT_RETURN_MARK(ToReflectedField, jobject, (const jobject&)ret);
fieldDescriptor fd;
--- 2818,2828 ----
JNIWrapper("ToReflectedField");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, ToReflectedField__entry,
env, cls, fieldID, isStatic);
#else /* USDT2 */
! HOTSPOT_JNI_TOREFLECTEDFIELD_ENTRY(env, cls, (uintptr_t) fieldID, isStatic);
#endif /* USDT2 */
jobject ret = NULL;
DT_RETURN_MARK(ToReflectedField, jobject, (const jobject&)ret);
fieldDescriptor fd;
*** 2923,2934 ****
const char *name, const char *sig))
JNIWrapper("GetStaticFieldID");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, GetStaticFieldID__entry, env, clazz, name, sig);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTATICFIELDID_ENTRY(
! env, clazz, (char *) name, (char *) sig);
#endif /* USDT2 */
jfieldID ret = NULL;
DT_RETURN_MARK(GetStaticFieldID, jfieldID, (const jfieldID&)ret);
// The class should have been loaded (we have an instance of the class
--- 2862,2872 ----
const char *name, const char *sig))
JNIWrapper("GetStaticFieldID");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, GetStaticFieldID__entry, env, clazz, name, sig);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTATICFIELDID_ENTRY(env, clazz, (char *) name, (char *) sig);
#endif /* USDT2 */
jfieldID ret = NULL;
DT_RETURN_MARK(GetStaticFieldID, jfieldID, (const jfieldID&)ret);
// The class should have been loaded (we have an instance of the class
*** 2964,2975 ****
JNI_ENTRY(jobject, jni_GetStaticObjectField(JNIEnv *env, jclass clazz, jfieldID fieldID))
JNIWrapper("GetStaticObjectField");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetStaticObjectField__entry, env, clazz, fieldID);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTATICOBJECTFIELD_ENTRY(
! env, clazz, (uintptr_t) fieldID);
#endif /* USDT2 */
#if INCLUDE_JNI_CHECK
DEBUG_ONLY(Klass* param_k = jniCheck::validate_class(thread, clazz);)
#endif // INCLUDE_JNI_CHECK
JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fieldID);
--- 2902,2912 ----
JNI_ENTRY(jobject, jni_GetStaticObjectField(JNIEnv *env, jclass clazz, jfieldID fieldID))
JNIWrapper("GetStaticObjectField");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetStaticObjectField__entry, env, clazz, fieldID);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTATICOBJECTFIELD_ENTRY(env, clazz, (uintptr_t) fieldID);
#endif /* USDT2 */
#if INCLUDE_JNI_CHECK
DEBUG_ONLY(Klass* param_k = jniCheck::validate_class(thread, clazz);)
#endif // INCLUDE_JNI_CHECK
JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fieldID);
*** 2981,2992 ****
}
jobject ret = JNIHandles::make_local(id->holder()->java_mirror()->obj_field(id->offset()));
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetStaticObjectField__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTATICOBJECTFIELD_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
#ifndef USDT2
--- 2918,2928 ----
}
jobject ret = JNIHandles::make_local(id->holder()->java_mirror()->obj_field(id->offset()));
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetStaticObjectField__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTATICOBJECTFIELD_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
#ifndef USDT2
*** 3067,3078 ****
JNI_ENTRY(void, jni_SetStaticObjectField(JNIEnv *env, jclass clazz, jfieldID fieldID, jobject value))
JNIWrapper("SetStaticObjectField");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, SetStaticObjectField__entry, env, clazz, fieldID, value);
#else /* USDT2 */
! HOTSPOT_JNI_SETSTATICOBJECTFIELD_ENTRY(
! env, clazz, (uintptr_t) fieldID, value);
#endif /* USDT2 */
JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fieldID);
assert(id->is_static_field_id(), "invalid static field id");
// Keep JVMTI addition small and only check enabled flag here.
// jni_SetField_probe() assumes that is okay to create handles.
--- 3003,3013 ----
JNI_ENTRY(void, jni_SetStaticObjectField(JNIEnv *env, jclass clazz, jfieldID fieldID, jobject value))
JNIWrapper("SetStaticObjectField");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, SetStaticObjectField__entry, env, clazz, fieldID, value);
#else /* USDT2 */
! HOTSPOT_JNI_SETSTATICOBJECTFIELD_ENTRY(env, clazz, (uintptr_t) fieldID, value);
#endif /* USDT2 */
JNIid* id = jfieldIDWorkaround::from_static_jfieldID(fieldID);
assert(id->is_static_field_id(), "invalid static field id");
// Keep JVMTI addition small and only check enabled flag here.
// jni_SetField_probe() assumes that is okay to create handles.
*** 3083,3094 ****
}
id->holder()->java_mirror()->obj_field_put(id->offset(), JNIHandles::resolve(value));
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, SetStaticObjectField__return);
#else /* USDT2 */
! HOTSPOT_JNI_SETSTATICOBJECTFIELD_RETURN(
! );
#endif /* USDT2 */
JNI_END
#ifndef USDT2
--- 3018,3028 ----
}
id->holder()->java_mirror()->obj_field_put(id->offset(), JNIHandles::resolve(value));
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, SetStaticObjectField__return);
#else /* USDT2 */
! HOTSPOT_JNI_SETSTATICOBJECTFIELD_RETURN();
#endif /* USDT2 */
JNI_END
#ifndef USDT2
*** 3187,3198 ****
JNI_ENTRY(jstring, jni_NewString(JNIEnv *env, const jchar *unicodeChars, jsize len))
JNIWrapper("NewString");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, NewString__entry, env, unicodeChars, len);
#else /* USDT2 */
! HOTSPOT_JNI_NEWSTRING_ENTRY(
! env, (uint16_t *) unicodeChars, len);
#endif /* USDT2 */
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);
--- 3121,3131 ----
JNI_ENTRY(jstring, jni_NewString(JNIEnv *env, const jchar *unicodeChars, jsize len))
JNIWrapper("NewString");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, NewString__entry, env, unicodeChars, len);
#else /* USDT2 */
! HOTSPOT_JNI_NEWSTRING_ENTRY(env, (uint16_t *) unicodeChars, len);
#endif /* USDT2 */
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);
*** 3203,3225 ****
JNI_QUICK_ENTRY(jsize, jni_GetStringLength(JNIEnv *env, jstring string))
JNIWrapper("GetStringLength");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetStringLength__entry, env, string);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGLENGTH_ENTRY(
! env, string);
#endif /* USDT2 */
jsize ret = 0;
oop s = JNIHandles::resolve_non_null(string);
if (java_lang_String::value(s) != NULL) {
ret = java_lang_String::length(s);
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetStringLength__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGLENGTH_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
--- 3136,3156 ----
JNI_QUICK_ENTRY(jsize, jni_GetStringLength(JNIEnv *env, jstring string))
JNIWrapper("GetStringLength");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetStringLength__entry, env, string);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGLENGTH_ENTRY(env, string);
#endif /* USDT2 */
jsize ret = 0;
oop s = JNIHandles::resolve_non_null(string);
if (java_lang_String::value(s) != NULL) {
ret = java_lang_String::length(s);
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetStringLength__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGLENGTH_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
*** 3227,3238 ****
JNIEnv *env, jstring string, jboolean *isCopy))
JNIWrapper("GetStringChars");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetStringChars__entry, env, string, isCopy);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGCHARS_ENTRY(
! env, string, (uintptr_t *) isCopy);
#endif /* USDT2 */
jchar* buf = NULL;
oop s = JNIHandles::resolve_non_null(string);
typeArrayOop s_value = java_lang_String::value(s);
if (s_value != NULL) {
--- 3158,3168 ----
JNIEnv *env, jstring string, jboolean *isCopy))
JNIWrapper("GetStringChars");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetStringChars__entry, env, string, isCopy);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGCHARS_ENTRY(env, string, (uintptr_t *) isCopy);
#endif /* USDT2 */
jchar* buf = NULL;
oop s = JNIHandles::resolve_non_null(string);
typeArrayOop s_value = java_lang_String::value(s);
if (s_value != NULL) {
*** 3252,3287 ****
}
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetStringChars__return, buf);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGCHARS_RETURN(
! buf);
#endif /* USDT2 */
return buf;
JNI_END
JNI_QUICK_ENTRY(void, jni_ReleaseStringChars(JNIEnv *env, jstring str, const jchar *chars))
JNIWrapper("ReleaseStringChars");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, ReleaseStringChars__entry, env, str, chars);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASESTRINGCHARS_ENTRY(
! env, str, (uint16_t *) chars);
#endif /* USDT2 */
//%note jni_6
if (chars != NULL) {
// Since String objects are supposed to be immutable, don't copy any
// new data back. A bad user will have to go after the char array.
FreeHeap((void*) chars);
}
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, ReleaseStringChars__return);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASESTRINGCHARS_RETURN(
! );
#endif /* USDT2 */
JNI_END
// UTF Interface
--- 3182,3214 ----
}
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetStringChars__return, buf);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGCHARS_RETURN(buf);
#endif /* USDT2 */
return buf;
JNI_END
JNI_QUICK_ENTRY(void, jni_ReleaseStringChars(JNIEnv *env, jstring str, const jchar *chars))
JNIWrapper("ReleaseStringChars");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, ReleaseStringChars__entry, env, str, chars);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASESTRINGCHARS_ENTRY(env, str, (uint16_t *) chars);
#endif /* USDT2 */
//%note jni_6
if (chars != NULL) {
// Since String objects are supposed to be immutable, don't copy any
// new data back. A bad user will have to go after the char array.
FreeHeap((void*) chars);
}
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, ReleaseStringChars__return);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASESTRINGCHARS_RETURN();
#endif /* USDT2 */
JNI_END
// UTF Interface
*** 3296,3307 ****
JNI_ENTRY(jstring, jni_NewStringUTF(JNIEnv *env, const char *bytes))
JNIWrapper("NewStringUTF");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, NewStringUTF__entry, env, bytes);
#else /* USDT2 */
! HOTSPOT_JNI_NEWSTRINGUTF_ENTRY(
! env, (char *) bytes);
#endif /* USDT2 */
jstring ret;
DT_RETURN_MARK(NewStringUTF, jstring, (const jstring&)ret);
oop result = java_lang_String::create_oop_from_str((char*) bytes, CHECK_NULL);
--- 3223,3233 ----
JNI_ENTRY(jstring, jni_NewStringUTF(JNIEnv *env, const char *bytes))
JNIWrapper("NewStringUTF");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, NewStringUTF__entry, env, bytes);
#else /* USDT2 */
! HOTSPOT_JNI_NEWSTRINGUTF_ENTRY(env, (char *) bytes);
#endif /* USDT2 */
jstring ret;
DT_RETURN_MARK(NewStringUTF, jstring, (const jstring&)ret);
oop result = java_lang_String::create_oop_from_str((char*) bytes, CHECK_NULL);
*** 3313,3347 ****
JNI_ENTRY(jsize, jni_GetStringUTFLength(JNIEnv *env, jstring string))
JNIWrapper("GetStringUTFLength");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetStringUTFLength__entry, env, string);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGUTFLENGTH_ENTRY(
! env, string);
#endif /* USDT2 */
jsize ret = 0;
oop java_string = JNIHandles::resolve_non_null(string);
if (java_lang_String::value(java_string) != NULL) {
ret = java_lang_String::utf8_length(java_string);
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetStringUTFLength__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGUTFLENGTH_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_ENTRY(const char*, jni_GetStringUTFChars(JNIEnv *env, jstring string, jboolean *isCopy))
JNIWrapper("GetStringUTFChars");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetStringUTFChars__entry, env, string, isCopy);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGUTFCHARS_ENTRY(
! env, string, (uintptr_t *) isCopy);
#endif /* USDT2 */
char* result = NULL;
oop java_string = JNIHandles::resolve_non_null(string);
if (java_lang_String::value(java_string) != NULL) {
size_t length = java_lang_String::utf8_length(java_string);
--- 3239,3270 ----
JNI_ENTRY(jsize, jni_GetStringUTFLength(JNIEnv *env, jstring string))
JNIWrapper("GetStringUTFLength");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetStringUTFLength__entry, env, string);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGUTFLENGTH_ENTRY(env, string);
#endif /* USDT2 */
jsize ret = 0;
oop java_string = JNIHandles::resolve_non_null(string);
if (java_lang_String::value(java_string) != NULL) {
ret = java_lang_String::utf8_length(java_string);
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetStringUTFLength__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGUTFLENGTH_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_ENTRY(const char*, jni_GetStringUTFChars(JNIEnv *env, jstring string, jboolean *isCopy))
JNIWrapper("GetStringUTFChars");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetStringUTFChars__entry, env, string, isCopy);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGUTFCHARS_ENTRY(env, string, (uintptr_t *) isCopy);
#endif /* USDT2 */
char* result = NULL;
oop java_string = JNIHandles::resolve_non_null(string);
if (java_lang_String::value(java_string) != NULL) {
size_t length = java_lang_String::utf8_length(java_string);
*** 3355,3407 ****
}
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetStringUTFChars__return, result);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGUTFCHARS_RETURN(
! result);
#endif /* USDT2 */
return result;
JNI_END
JNI_LEAF(void, jni_ReleaseStringUTFChars(JNIEnv *env, jstring str, const char *chars))
JNIWrapper("ReleaseStringUTFChars");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, ReleaseStringUTFChars__entry, env, str, chars);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASESTRINGUTFCHARS_ENTRY(
! env, str, (char *) chars);
#endif /* USDT2 */
if (chars != NULL) {
FreeHeap((char*) chars);
}
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, ReleaseStringUTFChars__return);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASESTRINGUTFCHARS_RETURN(
! );
#endif /* USDT2 */
JNI_END
JNI_QUICK_ENTRY(jsize, jni_GetArrayLength(JNIEnv *env, jarray array))
JNIWrapper("GetArrayLength");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetArrayLength__entry, env, array);
#else /* USDT2 */
! HOTSPOT_JNI_GETARRAYLENGTH_ENTRY(
! env, array);
#endif /* USDT2 */
arrayOop a = arrayOop(JNIHandles::resolve_non_null(array));
assert(a->is_array(), "must be array");
jsize ret = a->length();
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetArrayLength__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETARRAYLENGTH_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
--- 3278,3325 ----
}
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetStringUTFChars__return, result);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGUTFCHARS_RETURN(result);
#endif /* USDT2 */
return result;
JNI_END
JNI_LEAF(void, jni_ReleaseStringUTFChars(JNIEnv *env, jstring str, const char *chars))
JNIWrapper("ReleaseStringUTFChars");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, ReleaseStringUTFChars__entry, env, str, chars);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASESTRINGUTFCHARS_ENTRY(env, str, (char *) chars);
#endif /* USDT2 */
if (chars != NULL) {
FreeHeap((char*) chars);
}
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, ReleaseStringUTFChars__return);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASESTRINGUTFCHARS_RETURN();
#endif /* USDT2 */
JNI_END
JNI_QUICK_ENTRY(jsize, jni_GetArrayLength(JNIEnv *env, jarray array))
JNIWrapper("GetArrayLength");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetArrayLength__entry, env, array);
#else /* USDT2 */
! HOTSPOT_JNI_GETARRAYLENGTH_ENTRY(env, array);
#endif /* USDT2 */
arrayOop a = arrayOop(JNIHandles::resolve_non_null(array));
assert(a->is_array(), "must be array");
jsize ret = a->length();
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetArrayLength__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETARRAYLENGTH_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
*** 3419,3430 ****
JNI_ENTRY(jobjectArray, jni_NewObjectArray(JNIEnv *env, jsize length, jclass elementClass, jobject initialElement))
JNIWrapper("NewObjectArray");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, NewObjectArray__entry, env, length, elementClass, initialElement);
#else /* USDT2 */
! HOTSPOT_JNI_NEWOBJECTARRAY_ENTRY(
! env, length, elementClass, initialElement);
#endif /* USDT2 */
jobjectArray ret = NULL;
DT_RETURN_MARK(NewObjectArray, jobjectArray, (const jobjectArray&)ret);
KlassHandle ek(THREAD, java_lang_Class::as_Klass(JNIHandles::resolve_non_null(elementClass)));
Klass* ako = ek()->array_klass(CHECK_NULL);
--- 3337,3347 ----
JNI_ENTRY(jobjectArray, jni_NewObjectArray(JNIEnv *env, jsize length, jclass elementClass, jobject initialElement))
JNIWrapper("NewObjectArray");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, NewObjectArray__entry, env, length, elementClass, initialElement);
#else /* USDT2 */
! HOTSPOT_JNI_NEWOBJECTARRAY_ENTRY(env, length, elementClass, initialElement);
#endif /* USDT2 */
jobjectArray ret = NULL;
DT_RETURN_MARK(NewObjectArray, jobjectArray, (const jobjectArray&)ret);
KlassHandle ek(THREAD, java_lang_Class::as_Klass(JNIHandles::resolve_non_null(elementClass)));
Klass* ako = ek()->array_klass(CHECK_NULL);
*** 3451,3462 ****
JNI_ENTRY(jobject, jni_GetObjectArrayElement(JNIEnv *env, jobjectArray array, jsize index))
JNIWrapper("GetObjectArrayElement");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetObjectArrayElement__entry, env, array, index);
#else /* USDT2 */
! HOTSPOT_JNI_GETOBJECTARRAYELEMENT_ENTRY(
! env, array, index);
#endif /* USDT2 */
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)) {
--- 3368,3378 ----
JNI_ENTRY(jobject, jni_GetObjectArrayElement(JNIEnv *env, jobjectArray array, jsize index))
JNIWrapper("GetObjectArrayElement");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetObjectArrayElement__entry, env, array, index);
#else /* USDT2 */
! HOTSPOT_JNI_GETOBJECTARRAYELEMENT_ENTRY(env, array, index);
#endif /* USDT2 */
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)) {
*** 3479,3490 ****
JNI_ENTRY(void, jni_SetObjectArrayElement(JNIEnv *env, jobjectArray array, jsize index, jobject value))
JNIWrapper("SetObjectArrayElement");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, SetObjectArrayElement__entry, env, array, index, value);
#else /* USDT2 */
! HOTSPOT_JNI_SETOBJECTARRAYELEMENT_ENTRY(
! env, array, index, value);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(SetObjectArrayElement);
objArrayOop a = objArrayOop(JNIHandles::resolve_non_null(array));
oop v = JNIHandles::resolve(value);
--- 3395,3405 ----
JNI_ENTRY(void, jni_SetObjectArrayElement(JNIEnv *env, jobjectArray array, jsize index, jobject value))
JNIWrapper("SetObjectArrayElement");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, SetObjectArrayElement__entry, env, array, index, value);
#else /* USDT2 */
! HOTSPOT_JNI_SETOBJECTARRAYELEMENT_ENTRY(env, array, index, value);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(SetObjectArrayElement);
objArrayOop a = objArrayOop(JNIHandles::resolve_non_null(array));
oop v = JNIHandles::resolve(value);
*** 4032,4043 ****
jint nMethods))
JNIWrapper("RegisterNatives");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, RegisterNatives__entry, env, clazz, methods, nMethods);
#else /* USDT2 */
! HOTSPOT_JNI_REGISTERNATIVES_ENTRY(
! env, clazz, (void *) methods, nMethods);
#endif /* USDT2 */
jint ret = 0;
DT_RETURN_MARK(RegisterNatives, jint, (const jint&)ret);
KlassHandle h_k(thread, java_lang_Class::as_Klass(JNIHandles::resolve_non_null(clazz)));
--- 3947,3957 ----
jint nMethods))
JNIWrapper("RegisterNatives");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, RegisterNatives__entry, env, clazz, methods, nMethods);
#else /* USDT2 */
! HOTSPOT_JNI_REGISTERNATIVES_ENTRY(env, clazz, (void *) methods, nMethods);
#endif /* USDT2 */
jint ret = 0;
DT_RETURN_MARK(RegisterNatives, jint, (const jint&)ret);
KlassHandle h_k(thread, java_lang_Class::as_Klass(JNIHandles::resolve_non_null(clazz)));
*** 4075,4086 ****
JNI_ENTRY(jint, jni_UnregisterNatives(JNIEnv *env, jclass clazz))
JNIWrapper("UnregisterNatives");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, UnregisterNatives__entry, env, clazz);
#else /* USDT2 */
! HOTSPOT_JNI_UNREGISTERNATIVES_ENTRY(
! env, clazz);
#endif /* USDT2 */
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(clazz));
//%note jni_2
if (k->oop_is_instance()) {
for (int index = 0; index < InstanceKlass::cast(k)->methods()->length(); index++) {
--- 3989,3999 ----
JNI_ENTRY(jint, jni_UnregisterNatives(JNIEnv *env, jclass clazz))
JNIWrapper("UnregisterNatives");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, UnregisterNatives__entry, env, clazz);
#else /* USDT2 */
! HOTSPOT_JNI_UNREGISTERNATIVES_ENTRY(env, clazz);
#endif /* USDT2 */
Klass* k = java_lang_Class::as_Klass(JNIHandles::resolve_non_null(clazz));
//%note jni_2
if (k->oop_is_instance()) {
for (int index = 0; index < InstanceKlass::cast(k)->methods()->length(); index++) {
*** 4092,4103 ****
}
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, UnregisterNatives__return, 0);
#else /* USDT2 */
! HOTSPOT_JNI_UNREGISTERNATIVES_RETURN(
! 0);
#endif /* USDT2 */
return 0;
JNI_END
//
--- 4005,4015 ----
}
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, UnregisterNatives__return, 0);
#else /* USDT2 */
! HOTSPOT_JNI_UNREGISTERNATIVES_RETURN(0);
#endif /* USDT2 */
return 0;
JNI_END
//
*** 4113,4124 ****
JNI_ENTRY(jint, jni_MonitorEnter(JNIEnv *env, jobject jobj))
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, MonitorEnter__entry, env, jobj);
#else /* USDT2 */
! HOTSPOT_JNI_MONITORENTER_ENTRY(
! env, jobj);
#endif /* USDT2 */
jint ret = JNI_ERR;
DT_RETURN_MARK(MonitorEnter, jint, (const jint&)ret);
// If the object is null, we can't do anything with it
--- 4025,4035 ----
JNI_ENTRY(jint, jni_MonitorEnter(JNIEnv *env, jobject jobj))
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, MonitorEnter__entry, env, jobj);
#else /* USDT2 */
! HOTSPOT_JNI_MONITORENTER_ENTRY(env, jobj);
#endif /* USDT2 */
jint ret = JNI_ERR;
DT_RETURN_MARK(MonitorEnter, jint, (const jint&)ret);
// If the object is null, we can't do anything with it
*** 4141,4152 ****
JNI_ENTRY(jint, jni_MonitorExit(JNIEnv *env, jobject jobj))
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, MonitorExit__entry, env, jobj);
#else /* USDT2 */
! HOTSPOT_JNI_MONITOREXIT_ENTRY(
! env, jobj);
#endif /* USDT2 */
jint ret = JNI_ERR;
DT_RETURN_MARK(MonitorExit, jint, (const jint&)ret);
// Don't do anything with a null object
--- 4052,4062 ----
JNI_ENTRY(jint, jni_MonitorExit(JNIEnv *env, jobject jobj))
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, MonitorExit__entry, env, jobj);
#else /* USDT2 */
! HOTSPOT_JNI_MONITOREXIT_ENTRY(env, jobj);
#endif /* USDT2 */
jint ret = JNI_ERR;
DT_RETURN_MARK(MonitorExit, jint, (const jint&)ret);
// Don't do anything with a null object
*** 4175,4186 ****
JNI_ENTRY(void, jni_GetStringRegion(JNIEnv *env, jstring string, jsize start, jsize len, jchar *buf))
JNIWrapper("GetStringRegion");
#ifndef USDT2
DTRACE_PROBE5(hotspot_jni, GetStringRegion__entry, env, string, start, len, buf);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGREGION_ENTRY(
! env, string, start, len, buf);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(GetStringRegion);
oop s = JNIHandles::resolve_non_null(string);
int s_len = java_lang_String::length(s);
if (start < 0 || len < 0 || start + len > s_len) {
--- 4085,4095 ----
JNI_ENTRY(void, jni_GetStringRegion(JNIEnv *env, jstring string, jsize start, jsize len, jchar *buf))
JNIWrapper("GetStringRegion");
#ifndef USDT2
DTRACE_PROBE5(hotspot_jni, GetStringRegion__entry, env, string, start, len, buf);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGREGION_ENTRY(env, string, start, len, buf);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(GetStringRegion);
oop s = JNIHandles::resolve_non_null(string);
int s_len = java_lang_String::length(s);
if (start < 0 || len < 0 || start + len > s_len) {
*** 4204,4215 ****
JNI_ENTRY(void, jni_GetStringUTFRegion(JNIEnv *env, jstring string, jsize start, jsize len, char *buf))
JNIWrapper("GetStringUTFRegion");
#ifndef USDT2
DTRACE_PROBE5(hotspot_jni, GetStringUTFRegion__entry, env, string, start, len, buf);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGUTFREGION_ENTRY(
! env, string, start, len, buf);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(GetStringUTFRegion);
oop s = JNIHandles::resolve_non_null(string);
int s_len = java_lang_String::length(s);
if (start < 0 || len < 0 || start + len > s_len) {
--- 4113,4123 ----
JNI_ENTRY(void, jni_GetStringUTFRegion(JNIEnv *env, jstring string, jsize start, jsize len, char *buf))
JNIWrapper("GetStringUTFRegion");
#ifndef USDT2
DTRACE_PROBE5(hotspot_jni, GetStringUTFRegion__entry, env, string, start, len, buf);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGUTFREGION_ENTRY(env, string, start, len, buf);
#endif /* USDT2 */
DT_VOID_RETURN_MARK(GetStringUTFRegion);
oop s = JNIHandles::resolve_non_null(string);
int s_len = java_lang_String::length(s);
if (start < 0 || len < 0 || start + len > s_len) {
*** 4235,4246 ****
JNI_ENTRY(void*, jni_GetPrimitiveArrayCritical(JNIEnv *env, jarray array, jboolean *isCopy))
JNIWrapper("GetPrimitiveArrayCritical");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetPrimitiveArrayCritical__entry, env, array, isCopy);
#else /* USDT2 */
! HOTSPOT_JNI_GETPRIMITIVEARRAYCRITICAL_ENTRY(
! env, array, (uintptr_t *) isCopy);
#endif /* USDT2 */
GC_locker::lock_critical(thread);
if (isCopy != NULL) {
*isCopy = JNI_FALSE;
}
--- 4143,4153 ----
JNI_ENTRY(void*, jni_GetPrimitiveArrayCritical(JNIEnv *env, jarray array, jboolean *isCopy))
JNIWrapper("GetPrimitiveArrayCritical");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetPrimitiveArrayCritical__entry, env, array, isCopy);
#else /* USDT2 */
! HOTSPOT_JNI_GETPRIMITIVEARRAYCRITICAL_ENTRY(env, array, (uintptr_t *) isCopy);
#endif /* USDT2 */
GC_locker::lock_critical(thread);
if (isCopy != NULL) {
*isCopy = JNI_FALSE;
}
*** 4254,4296 ****
}
void* ret = arrayOop(a)->base(type);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetPrimitiveArrayCritical__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETPRIMITIVEARRAYCRITICAL_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_ENTRY(void, jni_ReleasePrimitiveArrayCritical(JNIEnv *env, jarray array, void *carray, jint mode))
JNIWrapper("ReleasePrimitiveArrayCritical");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, ReleasePrimitiveArrayCritical__entry, env, array, carray, mode);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASEPRIMITIVEARRAYCRITICAL_ENTRY(
! env, array, carray, mode);
#endif /* USDT2 */
// The array, carray and mode arguments are ignored
GC_locker::unlock_critical(thread);
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, ReleasePrimitiveArrayCritical__return);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASEPRIMITIVEARRAYCRITICAL_RETURN(
! );
#endif /* USDT2 */
JNI_END
JNI_ENTRY(const jchar*, jni_GetStringCritical(JNIEnv *env, jstring string, jboolean *isCopy))
JNIWrapper("GetStringCritical");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetStringCritical__entry, env, string, isCopy);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGCRITICAL_ENTRY(
! env, string, (uintptr_t *) isCopy);
#endif /* USDT2 */
GC_locker::lock_critical(thread);
if (isCopy != NULL) {
*isCopy = JNI_FALSE;
}
--- 4161,4199 ----
}
void* ret = arrayOop(a)->base(type);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetPrimitiveArrayCritical__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETPRIMITIVEARRAYCRITICAL_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_ENTRY(void, jni_ReleasePrimitiveArrayCritical(JNIEnv *env, jarray array, void *carray, jint mode))
JNIWrapper("ReleasePrimitiveArrayCritical");
#ifndef USDT2
DTRACE_PROBE4(hotspot_jni, ReleasePrimitiveArrayCritical__entry, env, array, carray, mode);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASEPRIMITIVEARRAYCRITICAL_ENTRY(env, array, carray, mode);
#endif /* USDT2 */
// The array, carray and mode arguments are ignored
GC_locker::unlock_critical(thread);
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, ReleasePrimitiveArrayCritical__return);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASEPRIMITIVEARRAYCRITICAL_RETURN();
#endif /* USDT2 */
JNI_END
JNI_ENTRY(const jchar*, jni_GetStringCritical(JNIEnv *env, jstring string, jboolean *isCopy))
JNIWrapper("GetStringCritical");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetStringCritical__entry, env, string, isCopy);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGCRITICAL_ENTRY(env, string, (uintptr_t *) isCopy);
#endif /* USDT2 */
GC_locker::lock_critical(thread);
if (isCopy != NULL) {
*isCopy = JNI_FALSE;
}
*** 4305,4393 ****
ret = (jchar*) s_value->base(T_CHAR);
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetStringCritical__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGCRITICAL_RETURN(
! (uint16_t *) ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_ENTRY(void, jni_ReleaseStringCritical(JNIEnv *env, jstring str, const jchar *chars))
JNIWrapper("ReleaseStringCritical");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, ReleaseStringCritical__entry, env, str, chars);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASESTRINGCRITICAL_ENTRY(
! env, str, (uint16_t *) chars);
#endif /* USDT2 */
// The str and chars arguments are ignored
GC_locker::unlock_critical(thread);
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, ReleaseStringCritical__return);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASESTRINGCRITICAL_RETURN(
! );
#endif /* USDT2 */
JNI_END
JNI_ENTRY(jweak, jni_NewWeakGlobalRef(JNIEnv *env, jobject ref))
JNIWrapper("jni_NewWeakGlobalRef");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, NewWeakGlobalRef__entry, env, ref);
#else /* USDT2 */
! HOTSPOT_JNI_NEWWEAKGLOBALREF_ENTRY(
! env, ref);
#endif /* USDT2 */
Handle ref_handle(thread, JNIHandles::resolve(ref));
jweak ret = JNIHandles::make_weak_global(ref_handle);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, NewWeakGlobalRef__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_NEWWEAKGLOBALREF_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
// Must be JNI_ENTRY (with HandleMark)
JNI_ENTRY(void, jni_DeleteWeakGlobalRef(JNIEnv *env, jweak ref))
JNIWrapper("jni_DeleteWeakGlobalRef");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, DeleteWeakGlobalRef__entry, env, ref);
#else /* USDT2 */
! HOTSPOT_JNI_DELETEWEAKGLOBALREF_ENTRY(
! env, ref);
#endif /* USDT2 */
JNIHandles::destroy_weak_global(ref);
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, DeleteWeakGlobalRef__return);
#else /* USDT2 */
! HOTSPOT_JNI_DELETEWEAKGLOBALREF_RETURN(
! );
#endif /* USDT2 */
JNI_END
JNI_QUICK_ENTRY(jboolean, jni_ExceptionCheck(JNIEnv *env))
JNIWrapper("jni_ExceptionCheck");
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, ExceptionCheck__entry, env);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONCHECK_ENTRY(
! env);
#endif /* USDT2 */
jni_check_async_exceptions(thread);
jboolean ret = (thread->has_pending_exception()) ? JNI_TRUE : JNI_FALSE;
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, ExceptionCheck__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONCHECK_RETURN(
! ret);
#endif /* USDT2 */
return ret;
JNI_END
--- 4208,4287 ----
ret = (jchar*) s_value->base(T_CHAR);
}
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetStringCritical__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_GETSTRINGCRITICAL_RETURN((uint16_t *) ret);
#endif /* USDT2 */
return ret;
JNI_END
JNI_ENTRY(void, jni_ReleaseStringCritical(JNIEnv *env, jstring str, const jchar *chars))
JNIWrapper("ReleaseStringCritical");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, ReleaseStringCritical__entry, env, str, chars);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASESTRINGCRITICAL_ENTRY(env, str, (uint16_t *) chars);
#endif /* USDT2 */
// The str and chars arguments are ignored
GC_locker::unlock_critical(thread);
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, ReleaseStringCritical__return);
#else /* USDT2 */
! HOTSPOT_JNI_RELEASESTRINGCRITICAL_RETURN();
#endif /* USDT2 */
JNI_END
JNI_ENTRY(jweak, jni_NewWeakGlobalRef(JNIEnv *env, jobject ref))
JNIWrapper("jni_NewWeakGlobalRef");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, NewWeakGlobalRef__entry, env, ref);
#else /* USDT2 */
! HOTSPOT_JNI_NEWWEAKGLOBALREF_ENTRY(env, ref);
#endif /* USDT2 */
Handle ref_handle(thread, JNIHandles::resolve(ref));
jweak ret = JNIHandles::make_weak_global(ref_handle);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, NewWeakGlobalRef__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_NEWWEAKGLOBALREF_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
// Must be JNI_ENTRY (with HandleMark)
JNI_ENTRY(void, jni_DeleteWeakGlobalRef(JNIEnv *env, jweak ref))
JNIWrapper("jni_DeleteWeakGlobalRef");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, DeleteWeakGlobalRef__entry, env, ref);
#else /* USDT2 */
! HOTSPOT_JNI_DELETEWEAKGLOBALREF_ENTRY(env, ref);
#endif /* USDT2 */
JNIHandles::destroy_weak_global(ref);
#ifndef USDT2
DTRACE_PROBE(hotspot_jni, DeleteWeakGlobalRef__return);
#else /* USDT2 */
! HOTSPOT_JNI_DELETEWEAKGLOBALREF_RETURN();
#endif /* USDT2 */
JNI_END
JNI_QUICK_ENTRY(jboolean, jni_ExceptionCheck(JNIEnv *env))
JNIWrapper("jni_ExceptionCheck");
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, ExceptionCheck__entry, env);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONCHECK_ENTRY(env);
#endif /* USDT2 */
jni_check_async_exceptions(thread);
jboolean ret = (thread->has_pending_exception()) ? JNI_TRUE : JNI_FALSE;
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, ExceptionCheck__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_EXCEPTIONCHECK_RETURN(ret);
#endif /* USDT2 */
return ret;
JNI_END
*** 4479,4499 ****
JNIWrapper("jni_NewDirectByteBuffer");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, NewDirectByteBuffer__entry, env, address, capacity);
#else /* USDT2 */
! HOTSPOT_JNI_NEWDIRECTBYTEBUFFER_ENTRY(
! env, address, capacity);
#endif /* USDT2 */
if (!directBufferSupportInitializeEnded) {
if (!initializeDirectBufferSupport(env, thread)) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, NewDirectByteBuffer__return, NULL);
#else /* USDT2 */
! HOTSPOT_JNI_NEWDIRECTBYTEBUFFER_RETURN(
! NULL);
#endif /* USDT2 */
return NULL;
}
}
--- 4373,4391 ----
JNIWrapper("jni_NewDirectByteBuffer");
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, NewDirectByteBuffer__entry, env, address, capacity);
#else /* USDT2 */
! HOTSPOT_JNI_NEWDIRECTBYTEBUFFER_ENTRY(env, address, capacity);
#endif /* USDT2 */
if (!directBufferSupportInitializeEnded) {
if (!initializeDirectBufferSupport(env, thread)) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, NewDirectByteBuffer__return, NULL);
#else /* USDT2 */
! HOTSPOT_JNI_NEWDIRECTBYTEBUFFER_RETURN(NULL);
#endif /* USDT2 */
return NULL;
}
}
*** 4504,4515 ****
jint cap = (jint) capacity;
jobject ret = env->NewObject(directByteBufferClass, directByteBufferConstructor, addr, cap);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, NewDirectByteBuffer__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_NEWDIRECTBYTEBUFFER_RETURN(
! ret);
#endif /* USDT2 */
return ret;
}
#ifndef USDT2
--- 4396,4406 ----
jint cap = (jint) capacity;
jobject ret = env->NewObject(directByteBufferClass, directByteBufferConstructor, addr, cap);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, NewDirectByteBuffer__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_NEWDIRECTBYTEBUFFER_RETURN(ret);
#endif /* USDT2 */
return ret;
}
#ifndef USDT2
*** 4526,4537 ****
JNIWrapper("jni_GetDirectBufferAddress");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetDirectBufferAddress__entry, env, buf);
#else /* USDT2 */
! HOTSPOT_JNI_GETDIRECTBUFFERADDRESS_ENTRY(
! env, buf);
#endif /* USDT2 */
void* ret = NULL;
DT_RETURN_MARK(GetDirectBufferAddress, void*, (const void*&)ret);
if (!directBufferSupportInitializeEnded) {
--- 4417,4427 ----
JNIWrapper("jni_GetDirectBufferAddress");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetDirectBufferAddress__entry, env, buf);
#else /* USDT2 */
! HOTSPOT_JNI_GETDIRECTBUFFERADDRESS_ENTRY(env, buf);
#endif /* USDT2 */
void* ret = NULL;
DT_RETURN_MARK(GetDirectBufferAddress, void*, (const void*&)ret);
if (!directBufferSupportInitializeEnded) {
*** 4562,4573 ****
JNIWrapper("jni_GetDirectBufferCapacity");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetDirectBufferCapacity__entry, env, buf);
#else /* USDT2 */
! HOTSPOT_JNI_GETDIRECTBUFFERCAPACITY_ENTRY(
! env, buf);
#endif /* USDT2 */
jlong ret = -1;
DT_RETURN_MARK(GetDirectBufferCapacity, jlong, (const jlong&)ret);
if (!directBufferSupportInitializeEnded) {
--- 4452,4462 ----
JNIWrapper("jni_GetDirectBufferCapacity");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetDirectBufferCapacity__entry, env, buf);
#else /* USDT2 */
! HOTSPOT_JNI_GETDIRECTBUFFERCAPACITY_ENTRY(env, buf);
#endif /* USDT2 */
jlong ret = -1;
DT_RETURN_MARK(GetDirectBufferCapacity, jlong, (const jlong&)ret);
if (!directBufferSupportInitializeEnded) {
*** 4594,4611 ****
JNI_LEAF(jint, jni_GetVersion(JNIEnv *env))
JNIWrapper("GetVersion");
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetVersion__entry, env);
#else /* USDT2 */
! HOTSPOT_JNI_GETVERSION_ENTRY(
! env);
#endif /* USDT2 */
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetVersion__return, CurrentVersion);
#else /* USDT2 */
! HOTSPOT_JNI_GETVERSION_RETURN(
! CurrentVersion);
#endif /* USDT2 */
return CurrentVersion;
JNI_END
extern struct JavaVM_ main_vm;
--- 4483,4498 ----
JNI_LEAF(jint, jni_GetVersion(JNIEnv *env))
JNIWrapper("GetVersion");
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetVersion__entry, env);
#else /* USDT2 */
! HOTSPOT_JNI_GETVERSION_ENTRY(env);
#endif /* USDT2 */
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetVersion__return, CurrentVersion);
#else /* USDT2 */
! HOTSPOT_JNI_GETVERSION_RETURN(CurrentVersion);
#endif /* USDT2 */
return CurrentVersion;
JNI_END
extern struct JavaVM_ main_vm;
*** 4613,4631 ****
JNI_LEAF(jint, jni_GetJavaVM(JNIEnv *env, JavaVM **vm))
JNIWrapper("jni_GetJavaVM");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetJavaVM__entry, env, vm);
#else /* USDT2 */
! HOTSPOT_JNI_GETJAVAVM_ENTRY(
! env, (void **) vm);
#endif /* USDT2 */
*vm = (JavaVM *)(&main_vm);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetJavaVM__return, JNI_OK);
#else /* USDT2 */
! HOTSPOT_JNI_GETJAVAVM_RETURN(
! JNI_OK);
#endif /* USDT2 */
return JNI_OK;
JNI_END
// Structure containing all jni functions
--- 4500,4516 ----
JNI_LEAF(jint, jni_GetJavaVM(JNIEnv *env, JavaVM **vm))
JNIWrapper("jni_GetJavaVM");
#ifndef USDT2
DTRACE_PROBE2(hotspot_jni, GetJavaVM__entry, env, vm);
#else /* USDT2 */
! HOTSPOT_JNI_GETJAVAVM_ENTRY(env, (void **) vm);
#endif /* USDT2 */
*vm = (JavaVM *)(&main_vm);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, GetJavaVM__return, JNI_OK);
#else /* USDT2 */
! HOTSPOT_JNI_GETJAVAVM_RETURN(JNI_OK);
#endif /* USDT2 */
return JNI_OK;
JNI_END
// Structure containing all jni functions
*** 5012,5023 ****
_JNI_IMPORT_OR_EXPORT_ jint JNICALL JNI_GetDefaultJavaVMInitArgs(void *args_) {
#ifndef USDT2
HS_DTRACE_PROBE1(hotspot_jni, GetDefaultJavaVMInitArgs__entry, args_);
#else /* USDT2 */
! HOTSPOT_JNI_GETDEFAULTJAVAVMINITARGS_ENTRY(
! args_);
#endif /* USDT2 */
JDK1_1InitArgs *args = (JDK1_1InitArgs *)args_;
jint ret = JNI_ERR;
DT_RETURN_MARK(GetDefaultJavaVMInitArgs, jint, (const jint&)ret);
--- 4897,4907 ----
_JNI_IMPORT_OR_EXPORT_ jint JNICALL JNI_GetDefaultJavaVMInitArgs(void *args_) {
#ifndef USDT2
HS_DTRACE_PROBE1(hotspot_jni, GetDefaultJavaVMInitArgs__entry, args_);
#else /* USDT2 */
! HOTSPOT_JNI_GETDEFAULTJAVAVMINITARGS_ENTRY(args_);
#endif /* USDT2 */
JDK1_1InitArgs *args = (JDK1_1InitArgs *)args_;
jint ret = JNI_ERR;
DT_RETURN_MARK(GetDefaultJavaVMInitArgs, jint, (const jint&)ret);
*** 5106,5117 ****
_JNI_IMPORT_OR_EXPORT_ jint JNICALL JNI_CreateJavaVM(JavaVM **vm, void **penv, void *args) {
#ifndef USDT2
HS_DTRACE_PROBE3(hotspot_jni, CreateJavaVM__entry, vm, penv, args);
#else /* USDT2 */
! HOTSPOT_JNI_CREATEJAVAVM_ENTRY(
! (void **) vm, penv, args);
#endif /* USDT2 */
jint result = JNI_ERR;
DT_RETURN_MARK(CreateJavaVM, jint, (const jint&)result);
--- 4990,5000 ----
_JNI_IMPORT_OR_EXPORT_ jint JNICALL JNI_CreateJavaVM(JavaVM **vm, void **penv, void *args) {
#ifndef USDT2
HS_DTRACE_PROBE3(hotspot_jni, CreateJavaVM__entry, vm, penv, args);
#else /* USDT2 */
! HOTSPOT_JNI_CREATEJAVAVM_ENTRY((void **) vm, penv, args);
#endif /* USDT2 */
jint result = JNI_ERR;
DT_RETURN_MARK(CreateJavaVM, jint, (const jint&)result);
*** 5229,5252 ****
// JNIWrapper("GetCreatedJavaVMs");
#ifndef USDT2
HS_DTRACE_PROBE3(hotspot_jni, GetCreatedJavaVMs__entry, \
vm_buf, bufLen, numVMs);
#else /* USDT2 */
! HOTSPOT_JNI_GETCREATEDJAVAVMS_ENTRY(
! (void **) vm_buf, bufLen, (uintptr_t *) numVMs);
#endif /* USDT2 */
if (vm_created) {
if (numVMs != NULL) *numVMs = 1;
if (bufLen > 0) *vm_buf = (JavaVM *)(&main_vm);
} else {
if (numVMs != NULL) *numVMs = 0;
}
#ifndef USDT2
HS_DTRACE_PROBE1(hotspot_jni, GetCreatedJavaVMs__return, JNI_OK);
#else /* USDT2 */
! HOTSPOT_JNI_GETCREATEDJAVAVMS_RETURN(
! JNI_OK);
#endif /* USDT2 */
return JNI_OK;
}
extern "C" {
--- 5112,5133 ----
// JNIWrapper("GetCreatedJavaVMs");
#ifndef USDT2
HS_DTRACE_PROBE3(hotspot_jni, GetCreatedJavaVMs__entry, \
vm_buf, bufLen, numVMs);
#else /* USDT2 */
! HOTSPOT_JNI_GETCREATEDJAVAVMS_ENTRY((void **) vm_buf, bufLen, (uintptr_t *) numVMs);
#endif /* USDT2 */
if (vm_created) {
if (numVMs != NULL) *numVMs = 1;
if (bufLen > 0) *vm_buf = (JavaVM *)(&main_vm);
} else {
if (numVMs != NULL) *numVMs = 0;
}
#ifndef USDT2
HS_DTRACE_PROBE1(hotspot_jni, GetCreatedJavaVMs__return, JNI_OK);
#else /* USDT2 */
! HOTSPOT_JNI_GETCREATEDJAVAVMS_RETURN(JNI_OK);
#endif /* USDT2 */
return JNI_OK;
}
extern "C" {
*** 5260,5271 ****
jint JNICALL jni_DestroyJavaVM(JavaVM *vm) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, DestroyJavaVM__entry, vm);
#else /* USDT2 */
! HOTSPOT_JNI_DESTROYJAVAVM_ENTRY(
! vm);
#endif /* USDT2 */
jint res = JNI_ERR;
DT_RETURN_MARK(DestroyJavaVM, jint, (const jint&)res);
if (!vm_created) {
--- 5141,5151 ----
jint JNICALL jni_DestroyJavaVM(JavaVM *vm) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, DestroyJavaVM__entry, vm);
#else /* USDT2 */
! HOTSPOT_JNI_DESTROYJAVAVM_ENTRY(vm);
#endif /* USDT2 */
jint res = JNI_ERR;
DT_RETURN_MARK(DestroyJavaVM, jint, (const jint&)res);
if (!vm_created) {
*** 5417,5480 ****
jint JNICALL jni_AttachCurrentThread(JavaVM *vm, void **penv, void *_args) {
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, AttachCurrentThread__entry, vm, penv, _args);
#else /* USDT2 */
! HOTSPOT_JNI_ATTACHCURRENTTHREAD_ENTRY(
! vm, penv, _args);
#endif /* USDT2 */
if (!vm_created) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, AttachCurrentThread__return, JNI_ERR);
#else /* USDT2 */
! HOTSPOT_JNI_ATTACHCURRENTTHREAD_RETURN(
! (uint32_t) JNI_ERR);
#endif /* USDT2 */
return JNI_ERR;
}
JNIWrapper("AttachCurrentThread");
jint ret = attach_current_thread(vm, penv, _args, false);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, AttachCurrentThread__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_ATTACHCURRENTTHREAD_RETURN(
! ret);
#endif /* USDT2 */
return ret;
}
jint JNICALL jni_DetachCurrentThread(JavaVM *vm) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, DetachCurrentThread__entry, vm);
#else /* USDT2 */
! HOTSPOT_JNI_DETACHCURRENTTHREAD_ENTRY(
! vm);
#endif /* USDT2 */
VM_Exit::block_if_vm_exited();
JNIWrapper("DetachCurrentThread");
// If the thread has been deattacted the operations is a no-op
if (ThreadLocalStorage::thread() == NULL) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, DetachCurrentThread__return, JNI_OK);
#else /* USDT2 */
! HOTSPOT_JNI_DETACHCURRENTTHREAD_RETURN(
! JNI_OK);
#endif /* USDT2 */
return JNI_OK;
}
JavaThread* thread = JavaThread::current();
if (thread->has_last_Java_frame()) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, DetachCurrentThread__return, JNI_ERR);
#else /* USDT2 */
! HOTSPOT_JNI_DETACHCURRENTTHREAD_RETURN(
! (uint32_t) JNI_ERR);
#endif /* USDT2 */
// Can't detach a thread that's running java, that can't work.
return JNI_ERR;
}
--- 5297,5354 ----
jint JNICALL jni_AttachCurrentThread(JavaVM *vm, void **penv, void *_args) {
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, AttachCurrentThread__entry, vm, penv, _args);
#else /* USDT2 */
! HOTSPOT_JNI_ATTACHCURRENTTHREAD_ENTRY(vm, penv, _args);
#endif /* USDT2 */
if (!vm_created) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, AttachCurrentThread__return, JNI_ERR);
#else /* USDT2 */
! HOTSPOT_JNI_ATTACHCURRENTTHREAD_RETURN((uint32_t) JNI_ERR);
#endif /* USDT2 */
return JNI_ERR;
}
JNIWrapper("AttachCurrentThread");
jint ret = attach_current_thread(vm, penv, _args, false);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, AttachCurrentThread__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_ATTACHCURRENTTHREAD_RETURN(ret);
#endif /* USDT2 */
return ret;
}
jint JNICALL jni_DetachCurrentThread(JavaVM *vm) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, DetachCurrentThread__entry, vm);
#else /* USDT2 */
! HOTSPOT_JNI_DETACHCURRENTTHREAD_ENTRY(vm);
#endif /* USDT2 */
VM_Exit::block_if_vm_exited();
JNIWrapper("DetachCurrentThread");
// If the thread has been deattacted the operations is a no-op
if (ThreadLocalStorage::thread() == NULL) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, DetachCurrentThread__return, JNI_OK);
#else /* USDT2 */
! HOTSPOT_JNI_DETACHCURRENTTHREAD_RETURN(JNI_OK);
#endif /* USDT2 */
return JNI_OK;
}
JavaThread* thread = JavaThread::current();
if (thread->has_last_Java_frame()) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, DetachCurrentThread__return, JNI_ERR);
#else /* USDT2 */
! HOTSPOT_JNI_DETACHCURRENTTHREAD_RETURN((uint32_t) JNI_ERR);
#endif /* USDT2 */
// Can't detach a thread that's running java, that can't work.
return JNI_ERR;
}
*** 5495,5506 ****
delete thread;
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, DetachCurrentThread__return, JNI_OK);
#else /* USDT2 */
! HOTSPOT_JNI_DETACHCURRENTTHREAD_RETURN(
! JNI_OK);
#endif /* USDT2 */
return JNI_OK;
}
#ifndef USDT2
--- 5369,5379 ----
delete thread;
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, DetachCurrentThread__return, JNI_OK);
#else /* USDT2 */
! HOTSPOT_JNI_DETACHCURRENTTHREAD_RETURN(JNI_OK);
#endif /* USDT2 */
return JNI_OK;
}
#ifndef USDT2
*** 5512,5523 ****
jint JNICALL jni_GetEnv(JavaVM *vm, void **penv, jint version) {
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetEnv__entry, vm, penv, version);
#else /* USDT2 */
! HOTSPOT_JNI_GETENV_ENTRY(
! vm, penv, version);
#endif /* USDT2 */
jint ret = JNI_ERR;
DT_RETURN_MARK(GetEnv, jint, (const jint&)ret);
if (!vm_created) {
--- 5385,5395 ----
jint JNICALL jni_GetEnv(JavaVM *vm, void **penv, jint version) {
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, GetEnv__entry, vm, penv, version);
#else /* USDT2 */
! HOTSPOT_JNI_GETENV_ENTRY(vm, penv, version);
#endif /* USDT2 */
jint ret = JNI_ERR;
DT_RETURN_MARK(GetEnv, jint, (const jint&)ret);
if (!vm_created) {
*** 5571,5600 ****
jint JNICALL jni_AttachCurrentThreadAsDaemon(JavaVM *vm, void **penv, void *_args) {
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, AttachCurrentThreadAsDaemon__entry, vm, penv, _args);
#else /* USDT2 */
! HOTSPOT_JNI_ATTACHCURRENTTHREADASDAEMON_ENTRY(
! vm, penv, _args);
#endif /* USDT2 */
if (!vm_created) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, AttachCurrentThreadAsDaemon__return, JNI_ERR);
#else /* USDT2 */
! HOTSPOT_JNI_ATTACHCURRENTTHREADASDAEMON_RETURN(
! (uint32_t) JNI_ERR);
#endif /* USDT2 */
return JNI_ERR;
}
JNIWrapper("AttachCurrentThreadAsDaemon");
jint ret = attach_current_thread(vm, penv, _args, true);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, AttachCurrentThreadAsDaemon__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_ATTACHCURRENTTHREADASDAEMON_RETURN(
! ret);
#endif /* USDT2 */
return ret;
}
--- 5443,5469 ----
jint JNICALL jni_AttachCurrentThreadAsDaemon(JavaVM *vm, void **penv, void *_args) {
#ifndef USDT2
DTRACE_PROBE3(hotspot_jni, AttachCurrentThreadAsDaemon__entry, vm, penv, _args);
#else /* USDT2 */
! HOTSPOT_JNI_ATTACHCURRENTTHREADASDAEMON_ENTRY(vm, penv, _args);
#endif /* USDT2 */
if (!vm_created) {
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, AttachCurrentThreadAsDaemon__return, JNI_ERR);
#else /* USDT2 */
! HOTSPOT_JNI_ATTACHCURRENTTHREADASDAEMON_RETURN((uint32_t) JNI_ERR);
#endif /* USDT2 */
return JNI_ERR;
}
JNIWrapper("AttachCurrentThreadAsDaemon");
jint ret = attach_current_thread(vm, penv, _args, true);
#ifndef USDT2
DTRACE_PROBE1(hotspot_jni, AttachCurrentThreadAsDaemon__return, ret);
#else /* USDT2 */
! HOTSPOT_JNI_ATTACHCURRENTTHREADASDAEMON_RETURN(ret);
#endif /* USDT2 */
return ret;
}