191 if(!NSK_VERIFY(nsk_jvmti_resumeSync()))
192 return;
193 }
194
195 #ifdef STATIC_BUILD
196 JNIEXPORT jint JNICALL Agent_OnLoad_NonConcreteKlassFilter(JavaVM *jvm, char *options, void *reserved) {
197 return Agent_Initialize(jvm, options, reserved);
198 }
199 JNIEXPORT jint JNICALL Agent_OnAttach_NonConcreteKlassFilter(JavaVM *jvm, char *options, void *reserved) {
200 return Agent_Initialize(jvm, options, reserved);
201 }
202 JNIEXPORT jint JNI_OnLoad_NonConcreteKlassFilter(JavaVM *jvm, char *options, void *reserved) {
203 return JNI_VERSION_1_8;
204 }
205 #endif
206 jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
207 jvmtiEnv *jvmti;
208 jvmtiCapabilities caps;
209 jvmtiEventCallbacks event_callbacks;
210
211 if(!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL)) {
212 return JNI_ERR;
213 }
214
215 nsk_jvmti_parseOptions(options);
216
217 timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
218
219 memset(&caps, 0, sizeof(caps));
220 caps.can_tag_objects = 1;
221 caps.can_generate_object_free_events = 1;
222
223 if(!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
224 return JNI_ERR;
225 }
226
227 memset(&event_callbacks, 0, sizeof(jvmtiEventCallbacks));
228 if(!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&event_callbacks, sizeof(jvmtiEventCallbacks)))) {
229 return JNI_ERR;
230 }
231
|
191 if(!NSK_VERIFY(nsk_jvmti_resumeSync()))
192 return;
193 }
194
195 #ifdef STATIC_BUILD
196 JNIEXPORT jint JNICALL Agent_OnLoad_NonConcreteKlassFilter(JavaVM *jvm, char *options, void *reserved) {
197 return Agent_Initialize(jvm, options, reserved);
198 }
199 JNIEXPORT jint JNICALL Agent_OnAttach_NonConcreteKlassFilter(JavaVM *jvm, char *options, void *reserved) {
200 return Agent_Initialize(jvm, options, reserved);
201 }
202 JNIEXPORT jint JNI_OnLoad_NonConcreteKlassFilter(JavaVM *jvm, char *options, void *reserved) {
203 return JNI_VERSION_1_8;
204 }
205 #endif
206 jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
207 jvmtiEnv *jvmti;
208 jvmtiCapabilities caps;
209 jvmtiEventCallbacks event_callbacks;
210
211 jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
212 if(!NSK_VERIFY(jvmti != NULL)) {
213 return JNI_ERR;
214 }
215
216 nsk_jvmti_parseOptions(options);
217
218 timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
219
220 memset(&caps, 0, sizeof(caps));
221 caps.can_tag_objects = 1;
222 caps.can_generate_object_free_events = 1;
223
224 if(!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
225 return JNI_ERR;
226 }
227
228 memset(&event_callbacks, 0, sizeof(jvmtiEventCallbacks));
229 if(!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&event_callbacks, sizeof(jvmtiEventCallbacks)))) {
230 return JNI_ERR;
231 }
232
|