diff options
Diffstat (limited to 'test/904-object-allocation/tracking.cc')
-rw-r--r-- | test/904-object-allocation/tracking.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/test/904-object-allocation/tracking.cc b/test/904-object-allocation/tracking.cc index b22fc6c8c0..57bfed544e 100644 --- a/test/904-object-allocation/tracking.cc +++ b/test/904-object-allocation/tracking.cc @@ -58,10 +58,10 @@ static void JNICALL ObjectAllocated(jvmtiEnv* ti_env ATTRIBUTE_UNUSED, } extern "C" JNIEXPORT void JNICALL Java_Main_setupObjectAllocCallback( - JNIEnv* env ATTRIBUTE_UNUSED, jclass klass ATTRIBUTE_UNUSED) { + JNIEnv* env ATTRIBUTE_UNUSED, jclass klass ATTRIBUTE_UNUSED, jboolean enable) { jvmtiEventCallbacks callbacks; memset(&callbacks, 0, sizeof(jvmtiEventCallbacks)); - callbacks.VMObjectAlloc = ObjectAllocated; + callbacks.VMObjectAlloc = enable ? ObjectAllocated : nullptr; jvmtiError ret = jvmti_env->SetEventCallbacks(&callbacks, sizeof(callbacks)); if (ret != JVMTI_ERROR_NONE) { @@ -94,6 +94,7 @@ jint OnLoad(JavaVM* vm, printf("Unable to get jvmti env!\n"); return 1; } + jvmti_env->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_OBJECT_ALLOC, nullptr); return 0; } |