< prev index next >
test/hotspot/jtreg/vmTestbase/nsk/jvmti/scenarios/general_functions/GF04/gf04t001/gf04t001.cpp
Print this page
rev 52050 : [mq]: refactor
*** 50,80 ****
*/
static int addSegment(jvmtiEnv* jvmti, const char segment[], const char where[]) {
void* storage = NULL;
NSK_DISPLAY1("Add segment: %s\n", segment);
! if (!NSK_JVMTI_VERIFY(
! NSK_CPP_STUB2(AddToBootstrapClassLoaderSearch, jvmti, segment))) {
return NSK_FALSE;
}
NSK_DISPLAY0(" ... added\n");
return NSK_TRUE;
}
static void setupLock(jvmtiEnv *jvmti_env, JNIEnv *jni_env) {
! if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorEnter,
! jvmti_env, countLock)))
! NSK_CPP_STUB2(FatalError, jni_env,
! "failed to enter a raw monitor\n");
}
static void setoffLock(jvmtiEnv *jvmti_env, JNIEnv *jni_env) {
! if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB2(RawMonitorExit,
! jvmti_env, countLock)))
! NSK_CPP_STUB2(FatalError, jni_env,
! "failed to exit a raw monitor\n");
}
JNIEXPORT jint JNICALL
Java_nsk_jvmti_scenarios_general_1functions_GF04_gf04t001_check(
JNIEnv *env, jobject obj) {
--- 50,75 ----
*/
static int addSegment(jvmtiEnv* jvmti, const char segment[], const char where[]) {
void* storage = NULL;
NSK_DISPLAY1("Add segment: %s\n", segment);
! if (!NSK_JVMTI_VERIFY(jvmti->AddToBootstrapClassLoaderSearch(segment))) {
return NSK_FALSE;
}
NSK_DISPLAY0(" ... added\n");
return NSK_TRUE;
}
static void setupLock(jvmtiEnv *jvmti_env, JNIEnv *jni_env) {
! if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorEnter(countLock)))
! jni_env->FatalError("failed to enter a raw monitor\n");
}
static void setoffLock(jvmtiEnv *jvmti_env, JNIEnv *jni_env) {
! if (!NSK_JVMTI_VERIFY(jvmti_env->RawMonitorExit(countLock)))
! jni_env->FatalError("failed to exit a raw monitor\n");
}
JNIEXPORT jint JNICALL
Java_nsk_jvmti_scenarios_general_1functions_GF04_gf04t001_check(
JNIEnv *env, jobject obj) {
*** 91,112 ****
ClassLoad(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread, jclass klass) {
char *sig, *generic;
setupLock(jvmti_env, env);
! if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature,
! jvmti_env, klass, &sig, &generic))) {
result = STATUS_FAILED;
}
if (strcmp(sig, EXP_CLASS_SIGNATURE) == 0) {
NSK_DISPLAY1("CHECK PASSED: ClassLoad event received for the class \"%s\" as expected\n",
sig);
classLoadReceived = JNI_TRUE;
! if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
! jvmti_env, JVMTI_DISABLE, JVMTI_EVENT_CLASS_LOAD, NULL))) {
result = STATUS_FAILED;
} else {
NSK_DISPLAY0("ClassLoad event disabled\n");
}
}
--- 86,105 ----
ClassLoad(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread, jclass klass) {
char *sig, *generic;
setupLock(jvmti_env, env);
! if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &sig, &generic))) {
result = STATUS_FAILED;
}
if (strcmp(sig, EXP_CLASS_SIGNATURE) == 0) {
NSK_DISPLAY1("CHECK PASSED: ClassLoad event received for the class \"%s\" as expected\n",
sig);
classLoadReceived = JNI_TRUE;
! if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_CLASS_LOAD, NULL))) {
result = STATUS_FAILED;
} else {
NSK_DISPLAY0("ClassLoad event disabled\n");
}
}
*** 119,140 ****
ClassPrepare(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread, jclass klass) {
char *sig, *generic;
setupLock(jvmti_env, env);
! if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(GetClassSignature,
! jvmti_env, klass, &sig, &generic))) {
result = STATUS_FAILED;
}
if (strcmp(sig, EXP_CLASS_SIGNATURE) == 0) {
NSK_DISPLAY1("CHECK PASSED: ClassPrepare event received for the class \"%s\" as expected\n",
sig);
classPrepareReceived = JNI_TRUE;
! if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
! jvmti_env, JVMTI_DISABLE, JVMTI_EVENT_CLASS_PREPARE, NULL))) {
result = STATUS_FAILED;
} else {
NSK_DISPLAY0("ClassPrepare event disabled\n");
}
}
--- 112,131 ----
ClassPrepare(jvmtiEnv *jvmti_env, JNIEnv *env, jthread thread, jclass klass) {
char *sig, *generic;
setupLock(jvmti_env, env);
! if (!NSK_JVMTI_VERIFY(jvmti_env->GetClassSignature(klass, &sig, &generic))) {
result = STATUS_FAILED;
}
if (strcmp(sig, EXP_CLASS_SIGNATURE) == 0) {
NSK_DISPLAY1("CHECK PASSED: ClassPrepare event received for the class \"%s\" as expected\n",
sig);
classPrepareReceived = JNI_TRUE;
! if (!NSK_JVMTI_VERIFY(jvmti_env->SetEventNotificationMode(JVMTI_DISABLE, JVMTI_EVENT_CLASS_PREPARE, NULL))) {
result = STATUS_FAILED;
} else {
NSK_DISPLAY0("ClassPrepare event disabled\n");
}
}
*** 170,181 ****
if (!NSK_VERIFY((jvmti =
nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
return JNI_ERR;
! if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(CreateRawMonitor,
! jvmti, "eventLock", &countLock)))
return JNI_ERR;
NSK_DISPLAY0("Add bootstrap class load segment in Agent_OnLoad()\n");
if (!addSegment(jvmti, segment, "Agent_OnLoad()")) {
return JNI_ERR;
--- 161,171 ----
if (!NSK_VERIFY((jvmti =
nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
return JNI_ERR;
! if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("eventLock", &countLock)))
return JNI_ERR;
NSK_DISPLAY0("Add bootstrap class load segment in Agent_OnLoad()\n");
if (!addSegment(jvmti, segment, "Agent_OnLoad()")) {
return JNI_ERR;
*** 187,212 ****
jint size = (jint)sizeof(callbacks);
memset(&callbacks, 0, sizeof(callbacks));
callbacks.ClassLoad = &ClassLoad;
callbacks.ClassPrepare = &ClassPrepare;
! if (!NSK_JVMTI_VERIFY(
! NSK_CPP_STUB3(SetEventCallbacks, jvmti, &callbacks, size))) {
return JNI_ERR;
}
}
NSK_DISPLAY0(" ... set\n");
NSK_DISPLAY0("Enabling events: \n");
! if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
! jvmti, JVMTI_ENABLE, JVMTI_EVENT_CLASS_LOAD, NULL))) {
return JNI_ERR;
} else {
NSK_DISPLAY0(" ... ClassLoad enabled\n");
}
! if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
! jvmti, JVMTI_ENABLE, JVMTI_EVENT_CLASS_PREPARE, NULL))) {
return JNI_ERR;
} else {
NSK_DISPLAY0(" ... ClassPrepare enabled\n");
}
--- 177,199 ----
jint size = (jint)sizeof(callbacks);
memset(&callbacks, 0, sizeof(callbacks));
callbacks.ClassLoad = &ClassLoad;
callbacks.ClassPrepare = &ClassPrepare;
! if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, size))) {
return JNI_ERR;
}
}
NSK_DISPLAY0(" ... set\n");
NSK_DISPLAY0("Enabling events: \n");
! if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_CLASS_LOAD, NULL))) {
return JNI_ERR;
} else {
NSK_DISPLAY0(" ... ClassLoad enabled\n");
}
! if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_CLASS_PREPARE, NULL))) {
return JNI_ERR;
} else {
NSK_DISPLAY0(" ... ClassPrepare enabled\n");
}
< prev index next >