< prev index next >

test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/StackTrace/JvmtiTest/JvmtiTest.cpp

Print this page
rev 51722 : 8210700: Clean up JNI_ENV_ARG and factorize the macros for vmTestbase/jvmti/unit tests
Summary:
Reviewed-by:

*** 28,58 **** #include <stdio.h> #include <string.h> #include "jvmti.h" #include "agent_common.h" - #ifdef __cplusplus extern "C" { - #endif - - #ifndef JNI_ENV_ARG - - #ifdef __cplusplus - #define JNI_ENV_ARG(x, y) y - #define JNI_ENV_ARG1(x) - #define JNI_ENV_PTR(x) x - #else - #define JNI_ENV_ARG(x,y) x, y - #define JNI_ENV_ARG1(x) x - #define JNI_ENV_PTR(x) (*x) - #endif - - #endif - - #define JVMTI_ENV_ARG JNI_ENV_ARG - #define JVMTI_ENV_ARG1 JNI_ENV_ARG1 - #define JVMTI_ENV_PTR JNI_ENV_PTR #define JVMTI_ERROR_CHECK(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); return res;} #define JVMTI_ERROR_CHECK_EXPECTED_ERROR(str,res,err) if ( res != err) { printf(str); printf("unexpected error %d\n",res); return res;} #define JVMTI_ERROR_CHECK_VOID(str,res) if ( res != JVMTI_ERROR_NONE) { printf(str); printf("%d\n",res); iGlobalStatus = 2; } --- 28,38 ----
*** 105,127 **** if (strstr(options, "printdump")) { printdump = 1; } } ! res = JNI_ENV_PTR(jvm)-> ! GetEnv(JNI_ENV_ARG(jvm, (void **) &jvmti), JVMTI_VERSION_1_1); if (res < 0) { printf("Wrong result of a valid call to GetEnv!\n"); return JNI_ERR; } /* Add capabilities */ ! res = JVMTI_ENV_PTR(jvmti)->GetPotentialCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps)); JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res); ! res = JVMTI_ENV_PTR(jvmti)->AddCapabilities(JVMTI_ENV_ARG(jvmti, &jvmti_caps)); JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res); return JNI_OK; } --- 85,106 ---- if (strstr(options, "printdump")) { printdump = 1; } } ! res = jvm->GetEnv((void **) &jvmti, JVMTI_VERSION_1_1); if (res < 0) { printf("Wrong result of a valid call to GetEnv!\n"); return JNI_ERR; } /* Add capabilities */ ! res = jvmti->GetPotentialCapabilities(&jvmti_caps); JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res); ! res = jvmti->AddCapabilities(&jvmti_caps); JVMTI_ERROR_CHECK("GetPotentialCapabilities returned error", res); return JNI_OK; }
*** 137,147 **** jvmtiError ret; char sz[128]; sprintf(sz, "Rawmonitor-%d",i); debug_printf("jvmti create raw monitor \n"); ! ret = JVMTI_ENV_PTR(jvmti)->CreateRawMonitor(JVMTI_ENV_ARG(jvmti, sz), &jraw_monitor[i]); if (ret != JVMTI_ERROR_NONE) { printf("Error: ForceGarbageCollection %d \n", ret); iGlobalStatus = 2; } --- 116,126 ---- jvmtiError ret; char sz[128]; sprintf(sz, "Rawmonitor-%d",i); debug_printf("jvmti create raw monitor \n"); ! ret = jvmti->CreateRawMonitor(sz, &jraw_monitor[i]); if (ret != JVMTI_ERROR_NONE) { printf("Error: ForceGarbageCollection %d \n", ret); iGlobalStatus = 2; }
*** 150,160 **** JNIEXPORT void JNICALL Java_nsk_jvmti_unit_StackTrace_JvmtiTest_RawMonitorEnter(JNIEnv * env, jclass cls, jint i) { jvmtiError ret; debug_printf("jvmti Raw monitor enter \n"); ! ret = JVMTI_ENV_PTR(jvmti)->RawMonitorEnter(JVMTI_ENV_ARG(jvmti, jraw_monitor[i])); if (ret != JVMTI_ERROR_NONE) { printf("Error: Raw monitor enter %d \n", ret); iGlobalStatus = 2; } --- 129,139 ---- JNIEXPORT void JNICALL Java_nsk_jvmti_unit_StackTrace_JvmtiTest_RawMonitorEnter(JNIEnv * env, jclass cls, jint i) { jvmtiError ret; debug_printf("jvmti Raw monitor enter \n"); ! ret = jvmti->RawMonitorEnter(jraw_monitor[i]); if (ret != JVMTI_ERROR_NONE) { printf("Error: Raw monitor enter %d \n", ret); iGlobalStatus = 2; }
*** 163,173 **** JNIEXPORT void JNICALL Java_nsk_jvmti_unit_StackTrace_JvmtiTest_RawMonitorExit(JNIEnv * env, jclass cls, jint i) { jvmtiError ret; debug_printf("jvmti raw monitor exit \n"); ! ret = JVMTI_ENV_PTR(jvmti)->RawMonitorExit(JVMTI_ENV_ARG(jvmti, jraw_monitor[i])); if (ret != JVMTI_ERROR_NONE) { printf("Error: RawMonitorExit %d \n", ret); iGlobalStatus = 2; } --- 142,152 ---- JNIEXPORT void JNICALL Java_nsk_jvmti_unit_StackTrace_JvmtiTest_RawMonitorExit(JNIEnv * env, jclass cls, jint i) { jvmtiError ret; debug_printf("jvmti raw monitor exit \n"); ! ret = jvmti->RawMonitorExit(jraw_monitor[i]); if (ret != JVMTI_ERROR_NONE) { printf("Error: RawMonitorExit %d \n", ret); iGlobalStatus = 2; }
*** 176,186 **** JNIEXPORT void JNICALL Java_nsk_jvmti_unit_StackTrace_JvmtiTest_RawMonitorWait(JNIEnv * env, jclass cls, jint i) { jvmtiError ret; debug_printf("jvmti RawMonitorWait \n"); ! ret = JVMTI_ENV_PTR(jvmti)->RawMonitorWait(JVMTI_ENV_ARG(jvmti, jraw_monitor[i]), -1); if (ret != JVMTI_ERROR_NONE) { printf("Error: RawMonitorWait %d \n", ret); iGlobalStatus = 2; } --- 155,165 ---- JNIEXPORT void JNICALL Java_nsk_jvmti_unit_StackTrace_JvmtiTest_RawMonitorWait(JNIEnv * env, jclass cls, jint i) { jvmtiError ret; debug_printf("jvmti RawMonitorWait \n"); ! ret = jvmti->RawMonitorWait(jraw_monitor[i], -1); if (ret != JVMTI_ERROR_NONE) { printf("Error: RawMonitorWait %d \n", ret); iGlobalStatus = 2; }
*** 189,199 **** JNIEXPORT void JNICALL Java_nsk_jvmti_unit_StackTrace_JvmtiTest_RawMonitorNotify(JNIEnv * env, jclass cls, jint i) { jvmtiError ret; debug_printf("jvmti RawMonitorNotify \n"); ! ret = JVMTI_ENV_PTR(jvmti)->RawMonitorNotifyAll(JVMTI_ENV_ARG(jvmti, jraw_monitor[i])); if (ret != JVMTI_ERROR_NONE) { printf("Error: RawMonitorNotify %d \n", ret); iGlobalStatus = 2; } --- 168,178 ---- JNIEXPORT void JNICALL Java_nsk_jvmti_unit_StackTrace_JvmtiTest_RawMonitorNotify(JNIEnv * env, jclass cls, jint i) { jvmtiError ret; debug_printf("jvmti RawMonitorNotify \n"); ! ret = jvmti->RawMonitorNotifyAll(jraw_monitor[i]); if (ret != JVMTI_ERROR_NONE) { printf("Error: RawMonitorNotify %d \n", ret); iGlobalStatus = 2; }
*** 203,213 **** Java_nsk_jvmti_unit_StackTrace_JvmtiTest_GetFrameCount(JNIEnv * env, jclass cls, jobject thr) { jvmtiError ret; jint count; debug_printf("jvmti GetFrameCount \n"); ! ret = JVMTI_ENV_PTR(jvmti)->GetFrameCount(JVMTI_ENV_ARG(jvmti, (jthread)thr), &count); if (ret != JVMTI_ERROR_NONE) { printf("Error: GetFrameCount returned %d \n", ret); iGlobalStatus = 2; } return count; --- 182,192 ---- Java_nsk_jvmti_unit_StackTrace_JvmtiTest_GetFrameCount(JNIEnv * env, jclass cls, jobject thr) { jvmtiError ret; jint count; debug_printf("jvmti GetFrameCount \n"); ! ret = jvmti->GetFrameCount((jthread) thr, &count); if (ret != JVMTI_ERROR_NONE) { printf("Error: GetFrameCount returned %d \n", ret); iGlobalStatus = 2; } return count;
*** 228,265 **** int j; debug_printf("jvmti GetStackTrace \n"); ! ret = JVMTI_ENV_PTR(jvmti)->Allocate(JVMTI_ENV_ARG(jvmti, sizeof(jvmtiFrameInfo) * max_count), (unsigned char**)&stack_buffer); if (ret != JVMTI_ERROR_NONE) { printf("Error: Allocate failed with %d \n", ret); iGlobalStatus = 2; } ! ret = JVMTI_ENV_PTR(jvmti)->Allocate(JVMTI_ENV_ARG(jvmti, sizeof(jvmtiFrameInfo) * max_count), (unsigned char**)&compare_buffer); if (ret != JVMTI_ERROR_NONE) { printf("Error: Allocate failed with %d \n", ret); iGlobalStatus = 2; } ! ret = JVMTI_ENV_PTR(jvmti)->SuspendThread(JVMTI_ENV_ARG(jvmti, thr)); if (ret != JVMTI_ERROR_NONE) { printf("Error: SuspendThread failed with %d \n", ret); iGlobalStatus = 2; } ! ret = JVMTI_ENV_PTR(jvmti)->GetStackTrace(JVMTI_ENV_ARG(jvmti, thr), 0, max_count , stack_buffer, &count); if (ret != JVMTI_ERROR_NONE) { printf("Error: GetStackTrace %d \n", ret); iGlobalStatus = 2; } for (i = 1; i < count; ++i) { jint res_count = 48343; ! ret = JVMTI_ENV_PTR(jvmti)->GetStackTrace(JVMTI_ENV_ARG(jvmti, thr), i, max_count , compare_buffer, &res_count); if (ret != JVMTI_ERROR_NONE) { printf("Error: GetStackTrace2 %d \n", ret); iGlobalStatus = 2; } if (res_count != count - i) { --- 207,244 ---- int j; debug_printf("jvmti GetStackTrace \n"); ! ret = jvmti->Allocate(sizeof(jvmtiFrameInfo) * max_count, (unsigned char**)&stack_buffer); if (ret != JVMTI_ERROR_NONE) { printf("Error: Allocate failed with %d \n", ret); iGlobalStatus = 2; } ! ret = jvmti->Allocate(sizeof(jvmtiFrameInfo) * max_count, (unsigned char**)&compare_buffer); if (ret != JVMTI_ERROR_NONE) { printf("Error: Allocate failed with %d \n", ret); iGlobalStatus = 2; } ! ret = jvmti->SuspendThread(thr); if (ret != JVMTI_ERROR_NONE) { printf("Error: SuspendThread failed with %d \n", ret); iGlobalStatus = 2; } ! ret = jvmti->GetStackTrace(thr, 0, max_count , stack_buffer, &count); if (ret != JVMTI_ERROR_NONE) { printf("Error: GetStackTrace %d \n", ret); iGlobalStatus = 2; } for (i = 1; i < count; ++i) { jint res_count = 48343; ! ret = jvmti->GetStackTrace(thr, i, max_count , compare_buffer, &res_count); if (ret != JVMTI_ERROR_NONE) { printf("Error: GetStackTrace2 %d \n", ret); iGlobalStatus = 2; } if (res_count != count - i) {
*** 274,284 **** } } for (i = 1; i < count; ++i) { jint res_count = 48343; ! ret = JVMTI_ENV_PTR(jvmti)->GetStackTrace(JVMTI_ENV_ARG(jvmti, thr), -i, max_count , compare_buffer, &res_count); if (ret != JVMTI_ERROR_NONE) { printf("Error: GetStackTrace2 %d \n", ret); iGlobalStatus = 2; } if (res_count != i) { --- 253,263 ---- } } for (i = 1; i < count; ++i) { jint res_count = 48343; ! ret = jvmti->GetStackTrace(thr, -i, max_count , compare_buffer, &res_count); if (ret != JVMTI_ERROR_NONE) { printf("Error: GetStackTrace2 %d \n", ret); iGlobalStatus = 2; } if (res_count != i) {
*** 294,327 **** } debug_printf("Count = %d\n", count); ! ret = JVMTI_ENV_PTR(jvmti)->ResumeThread(JVMTI_ENV_ARG(jvmti, thr)); if (ret != JVMTI_ERROR_NONE) { printf("Error: ResumeThread failed with %d \n", ret); iGlobalStatus = 2; } debug_printf(" Java Stack trace ---\n"); for (i = 0; i < count; i++) { ! ret = JVMTI_ENV_PTR(jvmti)->GetMethodDeclaringClass(JVMTI_ENV_ARG(jvmti, stack_buffer[i].method), &klass); if (ret != JVMTI_ERROR_NONE) { printf("Error: GetMethodDeclaringClass %d \n", ret); iGlobalStatus = 2; return; } ! ret = JVMTI_ENV_PTR(jvmti)->GetClassSignature(JVMTI_ENV_ARG(jvmti, klass), &clname, NULL); if (ret != JVMTI_ERROR_NONE) { printf("Error: GetClassSignature %d \n", ret); iGlobalStatus = 2; return; } ! ret = JVMTI_ENV_PTR(jvmti)->GetMethodName(JVMTI_ENV_ARG(jvmti, stack_buffer[i].method), &mname, &signature, NULL); if (ret != JVMTI_ERROR_NONE) { printf("Error: GetMethodName %d \n", ret); iGlobalStatus = 2; return; } --- 273,306 ---- } debug_printf("Count = %d\n", count); ! ret = jvmti->ResumeThread(thr); if (ret != JVMTI_ERROR_NONE) { printf("Error: ResumeThread failed with %d \n", ret); iGlobalStatus = 2; } debug_printf(" Java Stack trace ---\n"); for (i = 0; i < count; i++) { ! ret = jvmti->GetMethodDeclaringClass(stack_buffer[i].method, &klass); if (ret != JVMTI_ERROR_NONE) { printf("Error: GetMethodDeclaringClass %d \n", ret); iGlobalStatus = 2; return; } ! ret = jvmti->GetClassSignature(klass, &clname, NULL); if (ret != JVMTI_ERROR_NONE) { printf("Error: GetClassSignature %d \n", ret); iGlobalStatus = 2; return; } ! ret = jvmti->GetMethodName(stack_buffer[i].method, &mname, &signature, NULL); if (ret != JVMTI_ERROR_NONE) { printf("Error: GetMethodName %d \n", ret); iGlobalStatus = 2; return; }
*** 330,340 **** } ! ret = JVMTI_ENV_PTR(jvmti)->Deallocate(JVMTI_ENV_ARG(jvmti, (unsigned char *)stack_buffer)); if (ret != JVMTI_ERROR_NONE) { printf("Error: Deallocate failed with %d \n", ret); iGlobalStatus = 2; } --- 309,319 ---- } ! ret = jvmti->Deallocate((unsigned char *) stack_buffer); if (ret != JVMTI_ERROR_NONE) { printf("Error: Deallocate failed with %d \n", ret); iGlobalStatus = 2; }
*** 344,351 **** JNIEXPORT void JNICALL Java_nsk_jvmti_unit_StackTrace_JvmtiTest_SaveThreadInfo(JNIEnv * env, jclass cls, jobject oobj) { } - #ifdef __cplusplus } - #endif --- 323,328 ----
< prev index next >