< prev index next >

test/hotspot/jtreg/vmTestbase/nsk/jvmti/unit/timers/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:

*** 37,64 **** #include "jvmti.h" #include "agent_common.h" #include "jni_tools.h" - #ifdef __cplusplus extern "C" { - #endif - - #ifndef JNI_ENV_ARG - - #ifdef __cplusplus - #define JNI_ENV_PTR(x) x - #define JNI_ENV_ARG(x, y) y - #else - #define JNI_ENV_PTR(x) (*x) - #define JNI_ENV_ARG(x, y) x, y - #endif - - #endif - - #define JVMTI_ENV_PTR JNI_ENV_PTR - #define JVMTI_ENV_ARG JNI_ENV_ARG #define JVMTI_ERROR_CHECK_DURING_ONLOAD(str,res) if ( res != JVMTI_ERROR_NONE) { printf("Fatal error: %s - %d\n", str, res); return JNI_ERR; } #define JVMTI_ERROR_CHECK_RETURN(str,res) if ( res != JVMTI_ERROR_NONE) { printf("Error: %s - %d\n", str, res); return; } --- 37,47 ----
*** 100,110 **** char buffer[32]; debug_printf("VMInit event\n"); debug_printf("jvmti GetTime \n"); ! err = JVMTI_ENV_PTR(jvmti_env)->GetTime(JVMTI_ENV_ARG(jvmti_env, &initial_time)); JVMTI_ERROR_CHECK("GetTime", err); debug_printf(" Initial time: %s ns\n", jlong_to_string(initial_time, buffer)); } --- 83,93 ---- char buffer[32]; debug_printf("VMInit event\n"); debug_printf("jvmti GetTime \n"); ! err = jvmti_env->GetTime(&initial_time); JVMTI_ERROR_CHECK("GetTime", err); debug_printf(" Initial time: %s ns\n", jlong_to_string(initial_time, buffer)); }
*** 155,171 **** err = jvmti->AddCapabilities(&capabilities); JVMTI_ERROR_CHECK_DURING_ONLOAD("(AddCapabilities)", err); /* Enable events */ init_callbacks(); ! res = JVMTI_ENV_PTR(jvmti)->SetEventCallbacks(JVMTI_ENV_ARG(jvmti_env, &callbacks), sizeof(callbacks)); JVMTI_ERROR_CHECK_DURING_ONLOAD("SetEventCallbacks returned error", res); ! res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti_env, JVMTI_ENABLE), JVMTI_EVENT_VM_INIT, NULL); JVMTI_ERROR_CHECK_DURING_ONLOAD("SetEventNotificationMode for VM_INIT returned error", res); ! res = JVMTI_ENV_PTR(jvmti)->SetEventNotificationMode(JVMTI_ENV_ARG(jvmti_env, JVMTI_ENABLE), JVMTI_EVENT_VM_DEATH, NULL); JVMTI_ERROR_CHECK_DURING_ONLOAD("SetEventNotificationMode for vm death event returned error", res); return JNI_OK; } --- 138,154 ---- err = jvmti->AddCapabilities(&capabilities); JVMTI_ERROR_CHECK_DURING_ONLOAD("(AddCapabilities)", err); /* Enable events */ init_callbacks(); ! res = jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks)); JVMTI_ERROR_CHECK_DURING_ONLOAD("SetEventCallbacks returned error", res); ! res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_INIT, NULL); JVMTI_ERROR_CHECK_DURING_ONLOAD("SetEventNotificationMode for VM_INIT returned error", res); ! res = jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_VM_DEATH, NULL); JVMTI_ERROR_CHECK_DURING_ONLOAD("SetEventNotificationMode for vm death event returned error", res); return JNI_OK; }
*** 182,197 **** jclass cls, jthread thread, jint threadNumber, jint iterationCount) { jvmtiError ret; jlong curr; debug_printf("jvmti GetCurrentThreadCpuTime \n"); ! ret = JVMTI_ENV_PTR(jvmti)->GetCurrentThreadCpuTime(JVMTI_ENV_ARG(jvmti_env, &curr)); JVMTI_ERROR_CHECK_RETURN("GetCurrentThreadCpuTime", ret); thread_info[threadNumber].iterationCount = iterationCount; thread_info[threadNumber].currThreadTime = curr; ! thread_info[threadNumber].ref = JNI_ENV_PTR(env)->NewWeakGlobalRef(JNI_ENV_ARG(env, thread)); } static void print_timerinfo(jvmtiTimerInfo* timerInfo) { char buffer[32]; const char* timerKind; --- 165,180 ---- jclass cls, jthread thread, jint threadNumber, jint iterationCount) { jvmtiError ret; jlong curr; debug_printf("jvmti GetCurrentThreadCpuTime \n"); ! ret = jvmti->GetCurrentThreadCpuTime(&curr); JVMTI_ERROR_CHECK_RETURN("GetCurrentThreadCpuTime", ret); thread_info[threadNumber].iterationCount = iterationCount; thread_info[threadNumber].currThreadTime = curr; ! thread_info[threadNumber].ref = env->NewWeakGlobalRef(thread); } static void print_timerinfo(jvmtiTimerInfo* timerInfo) { char buffer[32]; const char* timerKind;
*** 235,295 **** int k; int i; char buffer[32]; debug_printf("jvmti GetTime \n"); ! ret = JVMTI_ENV_PTR(jvmti)->GetTime(JVMTI_ENV_ARG(jvmti_env, &now)); JVMTI_ERROR_CHECK_RETURN("GetTime", ret); etime = now - initial_time; debug_printf(" Elapsed time: %s ms\n", jlong_to_string(milli(etime), buffer)); debug_printf("jvmti GetCurrentThreadCpuTimerInfo \n"); ! ret = JVMTI_ENV_PTR(jvmti)->GetCurrentThreadCpuTimerInfo(JVMTI_ENV_ARG(jvmti_env, &timerInfoCurr)); JVMTI_ERROR_CHECK_RETURN("GetCurrentThreadCpuTimerInfo", ret); print_timerinfo(&timerInfoCurr); debug_printf("jvmti GetThreadCpuTimerInfo \n"); ! ret = JVMTI_ENV_PTR(jvmti)->GetThreadCpuTimerInfo(JVMTI_ENV_ARG(jvmti_env, &timerInfoOther)); JVMTI_ERROR_CHECK_RETURN("GetThreadCpuTimerInfo", ret); print_timerinfo(&timerInfoOther); debug_printf("jvmti GetTimerInfo \n"); ! ret = JVMTI_ENV_PTR(jvmti)->GetTimerInfo(JVMTI_ENV_ARG(jvmti_env, &timerInfoTime)); JVMTI_ERROR_CHECK_RETURN("GetTimerInfo", ret); print_timerinfo(&timerInfoTime); debug_printf("jvmti GetAvailableProcessors \n"); ! ret = JVMTI_ENV_PTR(jvmti)->GetAvailableProcessors(JVMTI_ENV_ARG(jvmti_env, &processor_count)); JVMTI_ERROR_CHECK_RETURN("GetAvailableProcessors", ret); debug_printf(" processor_count = %d\n", processor_count); debug_printf("jvmti GetAllThreads \n"); ! ret = JVMTI_ENV_PTR(jvmti)->GetAllThreads(JVMTI_ENV_ARG(jvmti_env, &thrCnt), &thrArray); JVMTI_ERROR_CHECK_RETURN("GetAllThreads", ret); for (k = 0; k < thrCnt; ++k) { jlong oth; jthread thread; thread = thrArray[k]; ! ret = JVMTI_ENV_PTR(jvmti)->GetThreadCpuTime(JVMTI_ENV_ARG(jvmti_env, thread), &oth); JVMTI_ERROR_CHECK_RETURN("GetThreadCpuTime", ret); for (i = 1; i < THREADS_LIMIT; ++i) { jweak tref = thread_info[i].ref; if (tref != 0) { ! if (JNI_ENV_PTR(env)->IsSameObject(JNI_ENV_ARG(env, thread), tref)) { thread_info[i].threadTime = oth; break; } } } if (i == THREADS_LIMIT) { jvmtiThreadInfo info; info.name = (char*) "*retrieval error*"; ! ret = JVMTI_ENV_PTR(jvmti)->GetThreadInfo(JVMTI_ENV_ARG(jvmti_env, thread), &info); JVMTI_ERROR_CHECK("GetThreadInfo %d \n", ret); debug_printf("non-test thread: %s - %s ms\n", info.name, jlong_to_string(milli(oth), buffer)); } --- 218,278 ---- int k; int i; char buffer[32]; debug_printf("jvmti GetTime \n"); ! ret = jvmti->GetTime(&now); JVMTI_ERROR_CHECK_RETURN("GetTime", ret); etime = now - initial_time; debug_printf(" Elapsed time: %s ms\n", jlong_to_string(milli(etime), buffer)); debug_printf("jvmti GetCurrentThreadCpuTimerInfo \n"); ! ret = jvmti->GetCurrentThreadCpuTimerInfo(&timerInfoCurr); JVMTI_ERROR_CHECK_RETURN("GetCurrentThreadCpuTimerInfo", ret); print_timerinfo(&timerInfoCurr); debug_printf("jvmti GetThreadCpuTimerInfo \n"); ! ret = jvmti->GetThreadCpuTimerInfo(&timerInfoOther); JVMTI_ERROR_CHECK_RETURN("GetThreadCpuTimerInfo", ret); print_timerinfo(&timerInfoOther); debug_printf("jvmti GetTimerInfo \n"); ! ret = jvmti->GetTimerInfo(&timerInfoTime); JVMTI_ERROR_CHECK_RETURN("GetTimerInfo", ret); print_timerinfo(&timerInfoTime); debug_printf("jvmti GetAvailableProcessors \n"); ! ret = jvmti->GetAvailableProcessors(&processor_count); JVMTI_ERROR_CHECK_RETURN("GetAvailableProcessors", ret); debug_printf(" processor_count = %d\n", processor_count); debug_printf("jvmti GetAllThreads \n"); ! ret = jvmti->GetAllThreads(&thrCnt, &thrArray); JVMTI_ERROR_CHECK_RETURN("GetAllThreads", ret); for (k = 0; k < thrCnt; ++k) { jlong oth; jthread thread; thread = thrArray[k]; ! ret = jvmti->GetThreadCpuTime(thread, &oth); JVMTI_ERROR_CHECK_RETURN("GetThreadCpuTime", ret); for (i = 1; i < THREADS_LIMIT; ++i) { jweak tref = thread_info[i].ref; if (tref != 0) { ! if (env->IsSameObject(thread, tref)) { thread_info[i].threadTime = oth; break; } } } if (i == THREADS_LIMIT) { jvmtiThreadInfo info; info.name = (char*) "*retrieval error*"; ! ret = jvmti->GetThreadInfo(thread, &info); JVMTI_ERROR_CHECK("GetThreadInfo %d \n", ret); debug_printf("non-test thread: %s - %s ms\n", info.name, jlong_to_string(milli(oth), buffer)); }
*** 378,385 **** } } } - #ifdef __cplusplus } - #endif --- 361,366 ----
< prev index next >