< prev index next >

test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/FollowReferences/followref002/followref002.cpp

Print this page
rev 52185 : [mq]: refactor

*** 117,138 **** return NSK_TRUE; count--; tag++; ! if (!NSK_JNI_VERIFY(jni, (obj = ! NSK_CPP_STUB3(GetObjectField, jni, firstObject, firstField)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } objectDescList[count].tag = objTag; if (reachable) { objectDescList[count].exp_found++; } ! if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, obj, objTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld object=0x%p\n", (long)objTag, (void*)obj); fflush(0); if (!getAndTagChainObjects(jvmti, jni, obj, --- 117,137 ---- return NSK_TRUE; count--; tag++; ! if (!NSK_JNI_VERIFY(jni, (obj = jni->GetObjectField(firstObject, firstField)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } objectDescList[count].tag = objTag; if (reachable) { objectDescList[count].exp_found++; } ! if (!NSK_JVMTI_VERIFY(jvmti->SetTag(obj, objTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld object=0x%p\n", (long)objTag, (void*)obj); fflush(0); if (!getAndTagChainObjects(jvmti, jni, obj,
*** 145,155 **** tag, reachable)) { return NSK_FALSE; } ! NSK_TRACE(NSK_CPP_STUB2(DeleteLocalRef, jni, obj)); return NSK_TRUE; } /* getAndTagChainObjects */ /** Obtain all tested objects from debugee class and tag them recursively. */ static int getAndTagTestedObjects( --- 144,154 ---- tag, reachable)) { return NSK_FALSE; } ! NSK_TRACE(jni->DeleteLocalRef(obj)); return NSK_TRUE; } /* getAndTagChainObjects */ /** Obtain all tested objects from debugee class and tag them recursively. */ static int getAndTagTestedObjects(
*** 172,183 **** /* root object + reachable and unreachable object chains */ *objectsCount = 1 + 2 * chainLength; printf("Allocate memory for objects list: %d objects\n", *objectsCount); fflush(0); ! if (!NSK_JVMTI_VERIFY( ! NSK_CPP_STUB3(Allocate, jvmti, (*objectsCount * sizeof(ObjectDesc)), (unsigned char**)objectDescList))) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... allocated array: 0x%p\n", (void*)objectDescList); --- 171,181 ---- /* root object + reachable and unreachable object chains */ *objectsCount = 1 + 2 * chainLength; printf("Allocate memory for objects list: %d objects\n", *objectsCount); fflush(0); ! if (!NSK_JVMTI_VERIFY(jvmti->Allocate((*objectsCount * sizeof(ObjectDesc)), (unsigned char**)objectDescList))) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... allocated array: 0x%p\n", (void*)objectDescList);
*** 194,301 **** } (*objectDescList)[0].exp_class_tag = rootClassTag; printf("Find debugee class: %s\n", DEBUGEE_CLASS_NAME); fflush(0); ! if (!NSK_JNI_VERIFY(jni, (debugeeClass = ! NSK_CPP_STUB2(FindClass, jni, DEBUGEE_CLASS_NAME)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... found class: 0x%p\n", (void*)debugeeClass); printf("Find root object class: %s\n", ROOT_OBJECT_CLASS_NAME); fflush(0); ! if (!NSK_JNI_VERIFY(jni, (rootObjectClass = ! NSK_CPP_STUB2(FindClass, jni, ROOT_OBJECT_CLASS_NAME)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... found class: 0x%p\n", (void*)rootObjectClass); ! if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, rootObjectClass, rootClassTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld rootClass=0x%p\n", (long)rootClassTag, (void*)rootObjectClass); printf("Find chain object class: %s\n", CHAIN_OBJECT_CLASS_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (chainObjectClass = ! NSK_CPP_STUB2(FindClass, jni, CHAIN_OBJECT_CLASS_NAME)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... found class: 0x%p\n", (void*)chainObjectClass); ! if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, chainObjectClass, chainClassTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld chainClass=0x%p\n", (long)chainClassTag, (void*)chainObjectClass); printf("Find static field in debugee class: %s\n", OBJECT_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (objectField = ! NSK_CPP_STUB4(GetStaticFieldID, jni, debugeeClass, ! OBJECT_FIELD_NAME, ROOT_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... got fieldID: 0x%p\n", (void*)objectField); printf("Find instance field in root object class: %s\n", REACHABLE_CHAIN_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (reachableChainField = ! NSK_CPP_STUB4(GetFieldID, jni, rootObjectClass, ! REACHABLE_CHAIN_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... got fieldID: 0x%p\n", (void*)reachableChainField); printf("Find instance field in root object class: %s\n", UNREACHABLE_CHAIN_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (unreachableChainField = ! NSK_CPP_STUB4(GetFieldID, jni, rootObjectClass, ! UNREACHABLE_CHAIN_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... got fieldID: 0x%p\n", (void*)unreachableChainField); printf("Find instance field in chain object class: %s\n", TAIL_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (tailField = ! NSK_CPP_STUB4(GetFieldID, jni, chainObjectClass, ! TAIL_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... got fieldID: 0x%p\n", (void*)tailField); printf("Get root object from static field: %s\n", OBJECT_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (*rootObject = ! NSK_CPP_STUB3(GetStaticObjectField, jni, debugeeClass, ! objectField)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... got object: 0x%p\n", (void*)*rootObject); fflush(0); ! if (!NSK_JNI_VERIFY(jni, (*rootObject = ! NSK_CPP_STUB2(NewGlobalRef, jni, *rootObject)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... global ref: 0x%p\n", (void*)*rootObject); printf("Obtain and tag chain objects:\n"); printf(" root tested object:\n"); fflush(0); ! if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetTag, jvmti, *rootObject, rootObjectTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld object=0x%p\n", (long)rootObjectTag, (void*)*rootObject); (*objectDescList)[0].tag = rootObjectTag; --- 192,291 ---- } (*objectDescList)[0].exp_class_tag = rootClassTag; printf("Find debugee class: %s\n", DEBUGEE_CLASS_NAME); fflush(0); ! if (!NSK_JNI_VERIFY(jni, (debugeeClass = jni->FindClass(DEBUGEE_CLASS_NAME)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... found class: 0x%p\n", (void*)debugeeClass); printf("Find root object class: %s\n", ROOT_OBJECT_CLASS_NAME); fflush(0); ! if (!NSK_JNI_VERIFY(jni, (rootObjectClass = jni->FindClass(ROOT_OBJECT_CLASS_NAME)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... found class: 0x%p\n", (void*)rootObjectClass); ! if (!NSK_JVMTI_VERIFY(jvmti->SetTag(rootObjectClass, rootClassTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld rootClass=0x%p\n", (long)rootClassTag, (void*)rootObjectClass); printf("Find chain object class: %s\n", CHAIN_OBJECT_CLASS_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (chainObjectClass = ! jni->FindClass(CHAIN_OBJECT_CLASS_NAME)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... found class: 0x%p\n", (void*)chainObjectClass); ! if (!NSK_JVMTI_VERIFY(jvmti->SetTag(chainObjectClass, chainClassTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld chainClass=0x%p\n", (long)chainClassTag, (void*)chainObjectClass); printf("Find static field in debugee class: %s\n", OBJECT_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (objectField = ! jni->GetStaticFieldID(debugeeClass, OBJECT_FIELD_NAME, ROOT_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... got fieldID: 0x%p\n", (void*)objectField); printf("Find instance field in root object class: %s\n", REACHABLE_CHAIN_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (reachableChainField = ! jni->GetFieldID(rootObjectClass, REACHABLE_CHAIN_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... got fieldID: 0x%p\n", (void*)reachableChainField); printf("Find instance field in root object class: %s\n", UNREACHABLE_CHAIN_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (unreachableChainField = ! jni->GetFieldID(rootObjectClass, UNREACHABLE_CHAIN_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... got fieldID: 0x%p\n", (void*)unreachableChainField); printf("Find instance field in chain object class: %s\n", TAIL_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (tailField = ! jni->GetFieldID(chainObjectClass, TAIL_FIELD_NAME, CHAIN_OBJECT_CLASS_SIG)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... got fieldID: 0x%p\n", (void*)tailField); printf("Get root object from static field: %s\n", OBJECT_FIELD_NAME); fflush(0); if (!NSK_JNI_VERIFY(jni, (*rootObject = ! jni->GetStaticObjectField(debugeeClass, objectField)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... got object: 0x%p\n", (void*)*rootObject); fflush(0); ! if (!NSK_JNI_VERIFY(jni, (*rootObject = jni->NewGlobalRef(*rootObject)) != NULL)) { nsk_jvmti_setFailStatus(); return NSK_FALSE; } printf(" ... global ref: 0x%p\n", (void*)*rootObject); printf("Obtain and tag chain objects:\n"); printf(" root tested object:\n"); fflush(0); ! if (!NSK_JVMTI_VERIFY(jvmti->SetTag(*rootObject, rootObjectTag))) { nsk_jvmti_setFailStatus(); } printf(" tag=%-5ld object=0x%p\n", (long)rootObjectTag, (void*)*rootObject); (*objectDescList)[0].tag = rootObjectTag;
*** 404,420 **** /** Release references to the tested objects and free allocated memory. */ static int releaseTestedObjects(jvmtiEnv* jvmti, JNIEnv* jni, int chainLength, ObjectDesc* objectDescList, jobject rootObject) { if (rootObject != NULL) { printf("Release object reference to root tested object: 0x%p\n", rootObject); ! NSK_TRACE(NSK_CPP_STUB2(DeleteGlobalRef, jni, rootObject)); } if (objectDescList != NULL) { printf("Deallocate objects list: 0x%p\n", (void*)objectDescList); ! if (!NSK_JVMTI_VERIFY( ! NSK_CPP_STUB2(Deallocate, jvmti, (unsigned char*)objectDescList))) { nsk_jvmti_setFailStatus(); } } fflush(0); --- 394,409 ---- /** Release references to the tested objects and free allocated memory. */ static int releaseTestedObjects(jvmtiEnv* jvmti, JNIEnv* jni, int chainLength, ObjectDesc* objectDescList, jobject rootObject) { if (rootObject != NULL) { printf("Release object reference to root tested object: 0x%p\n", rootObject); ! NSK_TRACE(jni->DeleteGlobalRef(rootObject)); } if (objectDescList != NULL) { printf("Deallocate objects list: 0x%p\n", (void*)objectDescList); ! if (!NSK_JVMTI_VERIFY(jvmti->Deallocate((unsigned char*)objectDescList))) { nsk_jvmti_setFailStatus(); } } fflush(0);
*** 643,660 **** printf("\n\n>>> Start 1-st iteration for root tested object: 0x%p\n", rootObject); fflush(0); { jint heap_filter = JVMTI_HEAP_FILTER_UNTAGGED | JVMTI_HEAP_FILTER_CLASS_UNTAGGED; ! if (!NSK_JVMTI_VERIFY( ! NSK_CPP_STUB6(FollowReferences, jvmti, ! heap_filter, (jclass) NULL, /* class */ rootObject, /* initial_object */ &heapCallbacks, ! (const void *) &fakeUserData))) ! { nsk_jvmti_setFailStatus(); return; } } --- 632,646 ---- printf("\n\n>>> Start 1-st iteration for root tested object: 0x%p\n", rootObject); fflush(0); { jint heap_filter = JVMTI_HEAP_FILTER_UNTAGGED | JVMTI_HEAP_FILTER_CLASS_UNTAGGED; ! if (!NSK_JVMTI_VERIFY(jvmti->FollowReferences(heap_filter, (jclass) NULL, /* class */ rootObject, /* initial_object */ &heapCallbacks, ! (const void *) &fakeUserData))) { nsk_jvmti_setFailStatus(); return; } }
*** 679,696 **** fflush(0); { /* This time everythig is filtered out */ jint heap_filter = JVMTI_HEAP_FILTER_UNTAGGED | JVMTI_HEAP_FILTER_CLASS_UNTAGGED | JVMTI_HEAP_FILTER_TAGGED | JVMTI_HEAP_FILTER_CLASS_TAGGED; ! if (!NSK_JVMTI_VERIFY( ! NSK_CPP_STUB6(FollowReferences, jvmti, ! heap_filter, (jclass) NULL, /* class */ rootObject, /* initial_object */ &heapCallbacks, ! (const void *) &fakeUserData))) ! { nsk_jvmti_setFailStatus(); return; } } --- 665,679 ---- fflush(0); { /* This time everythig is filtered out */ jint heap_filter = JVMTI_HEAP_FILTER_UNTAGGED | JVMTI_HEAP_FILTER_CLASS_UNTAGGED | JVMTI_HEAP_FILTER_TAGGED | JVMTI_HEAP_FILTER_CLASS_TAGGED; ! if (!NSK_JVMTI_VERIFY(jvmti->FollowReferences(heap_filter, (jclass) NULL, /* class */ rootObject, /* initial_object */ &heapCallbacks, ! (const void *) &fakeUserData))) { nsk_jvmti_setFailStatus(); return; } }
*** 749,759 **** { jvmtiCapabilities caps; memset(&caps, 0, sizeof(caps)); caps.can_tag_objects = 1; ! if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(AddCapabilities, jvmti, &caps))) { return JNI_ERR; } } /* Setting Heap Callbacks */ --- 732,742 ---- { jvmtiCapabilities caps; memset(&caps, 0, sizeof(caps)); caps.can_tag_objects = 1; ! if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) { return JNI_ERR; } } /* Setting Heap Callbacks */
< prev index next >