< prev index next >
test/hotspot/jtreg/vmTestbase/nsk/jvmti/AttachOnDemand/attach002/attach002Agent00.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" {
/*
* Expected agent work scenario:
*** 65,91 ****
return agentGotCapabilities;
}
#define ATTACH002_TARGET_APP_CLASS_NAME "nsk/jvmti/AttachOnDemand/attach002/attach002Target"
! int registerNativeMethods(JNIEnv* jni) {
jclass appClass;
JNINativeMethod nativeMethods[] = {
{ (char*) "agentGotCapabilities", (char*) "()Z", (void*) Java_nsk_jvmti_AttachOnDemand_attach002_attach002Target_agentGotCapabilities } };
jint nativeMethodsNumber = 1;
! appClass = jni->FindClass(ATTACH002_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 classLoadHandler(
jvmtiEnv *jvmti,
JNIEnv* jni,
--- 66,84 ----
return agentGotCapabilities;
}
#define ATTACH002_TARGET_APP_CLASS_NAME "nsk/jvmti/AttachOnDemand/attach002/attach002Target"
! void registerNativeMethods(JNIEnv* jni_env) {
! ExceptionCheckingJniEnvPtr jni(jni_env);
jclass appClass;
JNINativeMethod nativeMethods[] = {
{ (char*) "agentGotCapabilities", (char*) "()Z", (void*) Java_nsk_jvmti_AttachOnDemand_attach002_attach002Target_agentGotCapabilities } };
jint nativeMethodsNumber = 1;
! appClass = jni->FindClass(ATTACH002_TARGET_APP_CLASS_NAME, TRACE_JNI_CALL);
! jni->RegisterNatives(appClass, nativeMethods, nativeMethodsNumber, TRACE_JNI_CALL);
}
void JNICALL classLoadHandler(
jvmtiEnv *jvmti,
JNIEnv* jni,
*** 199,211 ****
jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
if (!NSK_VERIFY(jvmti != NULL))
return JNI_ERR;
! if (!NSK_VERIFY(registerNativeMethods(jni))) {
! return JNI_ERR;
! }
memset(&caps, 0, sizeof(caps));
caps.can_generate_all_class_hook_events = 1;
caps.can_redefine_classes = 1;
if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
--- 192,202 ----
jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
if (!NSK_VERIFY(jvmti != NULL))
return JNI_ERR;
! registerNativeMethods(jni);
memset(&caps, 0, sizeof(caps));
caps.can_generate_all_class_hook_events = 1;
caps.can_redefine_classes = 1;
if (!NSK_JVMTI_VERIFY(jvmti->AddCapabilities(&caps))) {
< prev index next >