492
493 /** Agent library initialization. */
494 #ifdef STATIC_BUILD
495 JNIEXPORT jint JNICALL Agent_OnLoad_em02t002(JavaVM *jvm, char *options, void *reserved) {
496 return Agent_Initialize(jvm, options, reserved);
497 }
498 JNIEXPORT jint JNICALL Agent_OnAttach_em02t002(JavaVM *jvm, char *options, void *reserved) {
499 return Agent_Initialize(jvm, options, reserved);
500 }
501 JNIEXPORT jint JNI_OnLoad_em02t002(JavaVM *jvm, char *options, void *reserved) {
502 return JNI_VERSION_1_8;
503 }
504 #endif
505 jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
506
507 if (!NSK_VERIFY(nsk_jvmti_parseOptions(options)))
508 return JNI_ERR;
509
510 timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
511
512 if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
513 return JNI_ERR;
514
515 if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
516 nsk_jvmti_setFailStatus();
517 return JNI_ERR;
518 }
519
520 {
521 jvmtiCapabilities caps;
522 memset(&caps, 0, sizeof(caps));
523
524 caps.can_generate_garbage_collection_events = 1;
525 if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)))
526 return JNI_ERR;
527 }
528
529 if (!setCallBacks(1)) {
530 return JNI_ERR;
531 }
532
|
492
493 /** Agent library initialization. */
494 #ifdef STATIC_BUILD
495 JNIEXPORT jint JNICALL Agent_OnLoad_em02t002(JavaVM *jvm, char *options, void *reserved) {
496 return Agent_Initialize(jvm, options, reserved);
497 }
498 JNIEXPORT jint JNICALL Agent_OnAttach_em02t002(JavaVM *jvm, char *options, void *reserved) {
499 return Agent_Initialize(jvm, options, reserved);
500 }
501 JNIEXPORT jint JNI_OnLoad_em02t002(JavaVM *jvm, char *options, void *reserved) {
502 return JNI_VERSION_1_8;
503 }
504 #endif
505 jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
506
507 if (!NSK_VERIFY(nsk_jvmti_parseOptions(options)))
508 return JNI_ERR;
509
510 timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
511
512 jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
513 if (!NSK_VERIFY(jvmti != NULL))
514 return JNI_ERR;
515
516 if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("_syncLock", &syncLock))) {
517 nsk_jvmti_setFailStatus();
518 return JNI_ERR;
519 }
520
521 {
522 jvmtiCapabilities caps;
523 memset(&caps, 0, sizeof(caps));
524
525 caps.can_generate_garbage_collection_events = 1;
526 if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps)))
527 return JNI_ERR;
528 }
529
530 if (!setCallBacks(1)) {
531 return JNI_ERR;
532 }
533
|