< prev index next >

test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach021/attach021Agent00.cpp

Print this page
rev 52432 : 8213501: Deploy ExceptionJniWrapper for a few tests
Summary:
Reviewed-by:

*** 25,34 **** --- 25,35 ---- #include <string.h> #include <jni.h> #include <jvmti.h> #include <aod.h> #include <jvmti_aod.h> + #include "ExceptionCheckingJniEnv.hpp" extern "C" { /* * Expected agent work scenario:
*** 85,112 **** * Can't use JNI functions from ObjectFree event handler, in this test target application calls * function nsk_aod_agentFinished */ } ! int registerNativeMethods(JNIEnv* jni) { jclass appClass; JNINativeMethod nativeMethods[] = { {(char*) "setTagFor", (char*) "(Ljava/lang/Object;)Z", (void*) Java_nsk_jvmti_AttachOnDemand_attach021_attach021Target_setTagFor}, {(char*) "shutdownAgent", (char*) "()V", (void*) Java_nsk_jvmti_AttachOnDemand_attach021_attach021Target_shutdownAgent}}; jint nativeMethodsNumber = 2; ! appClass = jni->FindClass(ATTACH021_TARGET_APP_CLASS_NAME); ! if (!NSK_JNI_VERIFY(jni, appClass != NULL)) { ! return NSK_FALSE; ! } ! ! if (!NSK_JNI_VERIFY(jni, ! (jni->RegisterNatives(appClass, nativeMethods, nativeMethodsNumber) == 0))) { ! return NSK_FALSE; ! } ! ! return NSK_TRUE; } #ifdef STATIC_BUILD JNIEXPORT jint JNI_OnLoad_attach021Agent00(JavaVM *jvm, char *options, void *reserved) { return JNI_VERSION_1_8; --- 86,105 ---- * Can't use JNI functions from ObjectFree event handler, in this test target application calls * function nsk_aod_agentFinished */ } ! void registerNativeMethods(JNIEnv* jni_env) { ! ExceptionCheckingJniEnvPtr jni(jni_env); jclass appClass; JNINativeMethod nativeMethods[] = { {(char*) "setTagFor", (char*) "(Ljava/lang/Object;)Z", (void*) Java_nsk_jvmti_AttachOnDemand_attach021_attach021Target_setTagFor}, {(char*) "shutdownAgent", (char*) "()V", (void*) Java_nsk_jvmti_AttachOnDemand_attach021_attach021Target_shutdownAgent}}; jint nativeMethodsNumber = 2; ! appClass = jni->FindClass(ATTACH021_TARGET_APP_CLASS_NAME, TRACE_JNI_CALL); ! jni->RegisterNatives(appClass, nativeMethods, nativeMethodsNumber, TRACE_JNI_CALL); } #ifdef STATIC_BUILD JNIEXPORT jint JNI_OnLoad_attach021Agent00(JavaVM *jvm, char *options, void *reserved) { return JNI_VERSION_1_8;
*** 136,148 **** jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved); if (!NSK_VERIFY(jvmti != NULL)) return JNI_ERR; ! if (!NSK_VERIFY(registerNativeMethods(jni))) { ! return JNI_ERR; ! } memset(&caps, 0, sizeof(caps)); caps.can_tag_objects = 1; caps.can_generate_object_free_events = 1; if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { --- 129,139 ---- jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved); if (!NSK_VERIFY(jvmti != NULL)) return JNI_ERR; ! registerNativeMethods(jni); memset(&caps, 0, sizeof(caps)); caps.can_tag_objects = 1; caps.can_generate_object_free_events = 1; if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
< prev index next >