< prev index next >

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

Print this page
rev 52233 : 8212884: Remove the assignments in ifs for vmTestbase/[a-s]
Summary:
Reviewed-by:


  77     if (tag != TAG_VALUE) {
  78         success = 0;
  79         NSK_COMPLAIN2("%s: unexpected tag value, expected is  %ld\n", agentName, TAG_VALUE);
  80     } else {
  81         success = 1;
  82     }
  83 
  84     /*
  85      * Can't use JNI functions from ObjectFree event handler, in this test target application calls
  86      * function nsk_aod_agentFinished
  87      */
  88 }
  89 
  90 int registerNativeMethods(JNIEnv* jni) {
  91     jclass appClass;
  92     JNINativeMethod nativeMethods[] = {
  93             {(char*) "setTagFor", (char*) "(Ljava/lang/Object;)Z", (void*) Java_nsk_jvmti_AttachOnDemand_attach021_attach021Target_setTagFor},
  94             {(char*) "shutdownAgent", (char*) "()V", (void*) Java_nsk_jvmti_AttachOnDemand_attach021_attach021Target_shutdownAgent}};
  95     jint nativeMethodsNumber = 2;
  96 
  97     if (!NSK_JNI_VERIFY(jni, (appClass =
  98         jni->FindClass(ATTACH021_TARGET_APP_CLASS_NAME)) != NULL)) {
  99         return NSK_FALSE;
 100     }
 101 
 102     if (!NSK_JNI_VERIFY(jni,
 103             (jni->RegisterNatives(appClass, nativeMethods, nativeMethodsNumber) == 0))) {
 104         return NSK_FALSE;
 105     }
 106 
 107     return NSK_TRUE;
 108 }
 109 
 110 #ifdef STATIC_BUILD
 111 JNIEXPORT jint JNI_OnLoad_attach021Agent00(JavaVM *jvm, char *options, void *reserved) {
 112     return JNI_VERSION_1_8;
 113 }
 114 #endif
 115 
 116 JNIEXPORT jint JNICALL
 117 #ifdef STATIC_BUILD
 118 Agent_OnAttach_attach021Agent00(JavaVM *vm, char *optionsString, void *reserved)
 119 #else
 120 Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved)
 121 #endif
 122 {
 123     jvmtiEventCallbacks eventCallbacks;
 124     jvmtiCapabilities caps;
 125     JNIEnv* jni;
 126 
 127     if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))

 128         return JNI_ERR;
 129 
 130     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 131 
 132     if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)

 133         return JNI_ERR;
 134 
 135     if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))

 136         return JNI_ERR;
 137 
 138     if (!NSK_VERIFY(registerNativeMethods(jni))) {
 139         return JNI_ERR;
 140     }
 141 
 142     memset(&caps, 0, sizeof(caps));
 143     caps.can_tag_objects = 1;
 144     caps.can_generate_object_free_events = 1;
 145     if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
 146         return JNI_ERR;
 147     }
 148 
 149     memset(&eventCallbacks,0, sizeof(eventCallbacks));
 150     eventCallbacks.ObjectFree = objectFreeHandler;
 151     if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
 152         return JNI_ERR;
 153     }
 154 
 155     if (!(nsk_jvmti_aod_enableEvent(jvmti, JVMTI_EVENT_OBJECT_FREE))) {


  77     if (tag != TAG_VALUE) {
  78         success = 0;
  79         NSK_COMPLAIN2("%s: unexpected tag value, expected is  %ld\n", agentName, TAG_VALUE);
  80     } else {
  81         success = 1;
  82     }
  83 
  84     /*
  85      * Can't use JNI functions from ObjectFree event handler, in this test target application calls
  86      * function nsk_aod_agentFinished
  87      */
  88 }
  89 
  90 int registerNativeMethods(JNIEnv* jni) {
  91     jclass appClass;
  92     JNINativeMethod nativeMethods[] = {
  93             {(char*) "setTagFor", (char*) "(Ljava/lang/Object;)Z", (void*) Java_nsk_jvmti_AttachOnDemand_attach021_attach021Target_setTagFor},
  94             {(char*) "shutdownAgent", (char*) "()V", (void*) Java_nsk_jvmti_AttachOnDemand_attach021_attach021Target_shutdownAgent}};
  95     jint nativeMethodsNumber = 2;
  96 
  97     appClass = jni->FindClass(ATTACH021_TARGET_APP_CLASS_NAME);
  98     if (!NSK_JNI_VERIFY(jni, appClass != NULL)) {
  99         return NSK_FALSE;
 100     }
 101 
 102     if (!NSK_JNI_VERIFY(jni,
 103             (jni->RegisterNatives(appClass, nativeMethods, nativeMethodsNumber) == 0))) {
 104         return NSK_FALSE;
 105     }
 106 
 107     return NSK_TRUE;
 108 }
 109 
 110 #ifdef STATIC_BUILD
 111 JNIEXPORT jint JNI_OnLoad_attach021Agent00(JavaVM *jvm, char *options, void *reserved) {
 112     return JNI_VERSION_1_8;
 113 }
 114 #endif
 115 
 116 JNIEXPORT jint JNICALL
 117 #ifdef STATIC_BUILD
 118 Agent_OnAttach_attach021Agent00(JavaVM *vm, char *optionsString, void *reserved)
 119 #else
 120 Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved)
 121 #endif
 122 {
 123     jvmtiEventCallbacks eventCallbacks;
 124     jvmtiCapabilities caps;
 125     JNIEnv* jni;
 126 
 127     options = (Options*) nsk_aod_createOptions(optionsString);
 128     if (!NSK_VERIFY(options != NULL))
 129         return JNI_ERR;
 130 
 131     agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
 132 
 133     jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
 134     if (jni == NULL)
 135         return JNI_ERR;
 136 
 137     jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
 138     if (!NSK_VERIFY(jvmti != NULL))
 139         return JNI_ERR;
 140 
 141     if (!NSK_VERIFY(registerNativeMethods(jni))) {
 142         return JNI_ERR;
 143     }
 144 
 145     memset(&caps, 0, sizeof(caps));
 146     caps.can_tag_objects = 1;
 147     caps.can_generate_object_free_events = 1;
 148     if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
 149         return JNI_ERR;
 150     }
 151 
 152     memset(&eventCallbacks,0, sizeof(eventCallbacks));
 153     eventCallbacks.ObjectFree = objectFreeHandler;
 154     if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
 155         return JNI_ERR;
 156     }
 157 
 158     if (!(nsk_jvmti_aod_enableEvent(jvmti, JVMTI_EVENT_OBJECT_FREE))) {
< prev index next >