512 return;
513 }
514
515 #ifdef STATIC_BUILD
516 JNIEXPORT jint JNICALL Agent_OnLoad_HeapFilter(JavaVM *jvm, char *options, void *reserved) {
517 return Agent_Initialize(jvm, options, reserved);
518 }
519 JNIEXPORT jint JNICALL Agent_OnAttach_HeapFilter(JavaVM *jvm, char *options, void *reserved) {
520 return Agent_Initialize(jvm, options, reserved);
521 }
522 JNIEXPORT jint JNI_OnLoad_HeapFilter(JavaVM *jvm, char *options, void *reserved) {
523 return JNI_VERSION_1_8;
524 }
525 #endif
526 jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
527 jvmtiEnv *jvmti;
528 jvmtiCapabilities caps;
529 jvmtiEventCallbacks event_callbacks;
530 const char *type;
531
532 if(!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL)) {
533 return JNI_ERR;
534 }
535
536 nsk_jvmti_parseOptions(options);
537
538 type = nsk_jvmti_findOptionValue("filter");
539 if(type != NULL) {
540 if(0 == strcmp(type, "JVMTI_HEAP_FILTER_TAGGED")) {
541 filter_type = JVMTI_HEAP_FILTER_TAGGED;
542 } else if(0 == strcmp(type, "JVMTI_HEAP_FILTER_UNTAGGED")) {
543 filter_type = JVMTI_HEAP_FILTER_UNTAGGED;
544 } else if(0 == strcmp(type, "JVMTI_HEAP_FILTER_CLASS_TAGGED")) {
545 filter_type = JVMTI_HEAP_FILTER_CLASS_TAGGED;
546 } else if(0 == strcmp(type, "JVMTI_HEAP_FILTER_CLASS_UNTAGGED")) {
547 filter_type = JVMTI_HEAP_FILTER_CLASS_UNTAGGED;
548 } else {
549 NSK_COMPLAIN1("unknown filter value '%s'.\n",type);
550 return JNI_ERR;
551 }
552 } else {
|
512 return;
513 }
514
515 #ifdef STATIC_BUILD
516 JNIEXPORT jint JNICALL Agent_OnLoad_HeapFilter(JavaVM *jvm, char *options, void *reserved) {
517 return Agent_Initialize(jvm, options, reserved);
518 }
519 JNIEXPORT jint JNICALL Agent_OnAttach_HeapFilter(JavaVM *jvm, char *options, void *reserved) {
520 return Agent_Initialize(jvm, options, reserved);
521 }
522 JNIEXPORT jint JNI_OnLoad_HeapFilter(JavaVM *jvm, char *options, void *reserved) {
523 return JNI_VERSION_1_8;
524 }
525 #endif
526 jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
527 jvmtiEnv *jvmti;
528 jvmtiCapabilities caps;
529 jvmtiEventCallbacks event_callbacks;
530 const char *type;
531
532 jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
533 if (!NSK_VERIFY(jvmti != NULL)) {
534 return JNI_ERR;
535 }
536
537 nsk_jvmti_parseOptions(options);
538
539 type = nsk_jvmti_findOptionValue("filter");
540 if(type != NULL) {
541 if(0 == strcmp(type, "JVMTI_HEAP_FILTER_TAGGED")) {
542 filter_type = JVMTI_HEAP_FILTER_TAGGED;
543 } else if(0 == strcmp(type, "JVMTI_HEAP_FILTER_UNTAGGED")) {
544 filter_type = JVMTI_HEAP_FILTER_UNTAGGED;
545 } else if(0 == strcmp(type, "JVMTI_HEAP_FILTER_CLASS_TAGGED")) {
546 filter_type = JVMTI_HEAP_FILTER_CLASS_TAGGED;
547 } else if(0 == strcmp(type, "JVMTI_HEAP_FILTER_CLASS_UNTAGGED")) {
548 filter_type = JVMTI_HEAP_FILTER_CLASS_UNTAGGED;
549 } else {
550 NSK_COMPLAIN1("unknown filter value '%s'.\n",type);
551 return JNI_ERR;
552 }
553 } else {
|