96 jvmtiEventCallbacks eventCallbacks;
97 jvmtiCapabilities caps;
98 jvmtiEnv* jvmti = NULL;
99 JNIEnv* jni = NULL;
100 Options* options;
101 const char* agentName;
102
103 if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
104 return JNI_ERR;
105
106 agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
107
108 if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
109 return NSK_FALSE;
110
111 if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
112 return JNI_ERR;
113
114 memset(&caps, 0, sizeof(caps));
115 caps.can_redefine_classes = 1;
116 if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)) ) {
117 return JNI_ERR;
118 }
119
120 memset(&eventCallbacks,0, sizeof(eventCallbacks));
121 eventCallbacks.ClassLoad = classLoadHandler;
122 if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks))) ) {
123 return JNI_ERR;
124 }
125
126 if (!(nsk_jvmti_aod_enableEvent(jvmti, JVMTI_EVENT_CLASS_LOAD))) {
127 return JNI_ERR;
128 }
129
130 if (!NSK_VERIFY(nsk_jvmti_aod_addMultiagentsOptions(jvmti, options))) {
131 return JNI_ERR;
132 }
133
134 NSK_DISPLAY1("%s: initialization was done\n", agentName);
135
136 if (!NSK_VERIFY(nsk_aod_agentLoaded(jni, agentName)))
137 return JNI_ERR;
138
139 return JNI_OK;
140 }
141
142 }
|
96 jvmtiEventCallbacks eventCallbacks;
97 jvmtiCapabilities caps;
98 jvmtiEnv* jvmti = NULL;
99 JNIEnv* jni = NULL;
100 Options* options;
101 const char* agentName;
102
103 if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
104 return JNI_ERR;
105
106 agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
107
108 if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
109 return NSK_FALSE;
110
111 if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
112 return JNI_ERR;
113
114 memset(&caps, 0, sizeof(caps));
115 caps.can_redefine_classes = 1;
116 if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
117 return JNI_ERR;
118 }
119
120 memset(&eventCallbacks,0, sizeof(eventCallbacks));
121 eventCallbacks.ClassLoad = classLoadHandler;
122 if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
123 return JNI_ERR;
124 }
125
126 if (!(nsk_jvmti_aod_enableEvent(jvmti, JVMTI_EVENT_CLASS_LOAD))) {
127 return JNI_ERR;
128 }
129
130 if (!NSK_VERIFY(nsk_jvmti_aod_addMultiagentsOptions(jvmti, options))) {
131 return JNI_ERR;
132 }
133
134 NSK_DISPLAY1("%s: initialization was done\n", agentName);
135
136 if (!NSK_VERIFY(nsk_aod_agentLoaded(jni, agentName)))
137 return JNI_ERR;
138
139 return JNI_OK;
140 }
141
142 }
|