< prev index next >
test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach022/attach022Agent00.cpp
Print this page
rev 52828 : 8213501: Deploy ExceptionJniWrapper for a few tests
Summary:
Reviewed-by:
*** 25,34 ****
--- 25,35 ----
#include <string.h>
#include <jni.h>
#include <jvmti.h>
#include <aod.h>
#include <jvmti_aod.h>
+ #include "ExceptionCheckingJniEnv.hpp"
extern "C" {
#define OBJECTS_FOR_ALLOCATION_TEST_CLASS_NAME "Lnsk/jvmti/AttachOnDemand/attach022/ClassForAllocationEventsTest;"
*** 62,72 ****
}
JNIEXPORT jboolean JNICALL
Java_nsk_jvmti_AttachOnDemand_attach022_attach022Target_shutdownAgent(JNIEnv * jni,
jclass klass, jint expectedTaggedObjectsCounter) {
-
if (taggedObjectsCounter != expectedTaggedObjectsCounter) {
success = 0;
NSK_COMPLAIN2("ERROR: unexpected taggedObjectsCounter: %d (expected value is %d)\n", taggedObjectsCounter, expectedTaggedObjectsCounter);
}
--- 63,72 ----
*** 95,122 ****
}
}
#define ATTACH022_TARGET_APP_CLASS_NAME "nsk/jvmti/AttachOnDemand/attach022/attach022Target"
! int registerNativeMethods(JNIEnv* jni) {
jclass appClass;
JNINativeMethod nativeMethods[] = {
{ (char*)"shutdownAgent", (char*)"(I)Z",
(void*) Java_nsk_jvmti_AttachOnDemand_attach022_attach022Target_shutdownAgent } };
jint nativeMethodsNumber = 1;
! appClass = jni->FindClass(ATTACH022_TARGET_APP_CLASS_NAME);
! if (!NSK_JNI_VERIFY(jni, appClass != NULL)) {
! return NSK_FALSE;
! }
!
! if (!NSK_JNI_VERIFY(jni,
! (jni->RegisterNatives(appClass, nativeMethods, nativeMethodsNumber) == 0))) {
! return NSK_FALSE;
! }
!
! return NSK_TRUE;
}
void JNICALL vmObjectAllocHandler(jvmtiEnv * jvmti,
JNIEnv * jni,
jthread thread,
--- 95,114 ----
}
}
#define ATTACH022_TARGET_APP_CLASS_NAME "nsk/jvmti/AttachOnDemand/attach022/attach022Target"
! void registerNativeMethods(JNIEnv* jni_env) {
! ExceptionCheckingJniEnvPtr jni(jni_env);
jclass appClass;
JNINativeMethod nativeMethods[] = {
{ (char*)"shutdownAgent", (char*)"(I)Z",
(void*) Java_nsk_jvmti_AttachOnDemand_attach022_attach022Target_shutdownAgent } };
jint nativeMethodsNumber = 1;
! appClass = jni->FindClass(ATTACH022_TARGET_APP_CLASS_NAME, TRACE_JNI_CALL);
! jni->RegisterNatives(appClass, nativeMethods, nativeMethodsNumber, TRACE_JNI_CALL);
}
void JNICALL vmObjectAllocHandler(jvmtiEnv * jvmti,
JNIEnv * jni,
jthread thread,
*** 188,200 ****
jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
if (!NSK_VERIFY(jvmti != NULL))
return JNI_ERR;
! if (!NSK_VERIFY(registerNativeMethods(jni))) {
! return JNI_ERR;
! }
if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("ObjectTagMonitor", &objectTagMonitor))) {
return JNI_ERR;
}
--- 180,190 ----
jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
if (!NSK_VERIFY(jvmti != NULL))
return JNI_ERR;
! registerNativeMethods(jni);
if (!NSK_JVMTI_VERIFY(jvmti->CreateRawMonitor("ObjectTagMonitor", &objectTagMonitor))) {
return JNI_ERR;
}
< prev index next >