74 }
75
76
77 #ifdef STATIC_BUILD
78 JNIEXPORT jint JNI_OnLoad_attach014Agent00(JavaVM *jvm, char *options, void *reserved) {
79 return JNI_VERSION_1_8;
80 }
81 #endif
82
83 JNIEXPORT jint JNICALL
84 #ifdef STATIC_BUILD
85 Agent_OnAttach_attach014Agent00(JavaVM *vm, char *optionsString, void *reserved)
86 #else
87 Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved)
88 #endif
89 {
90 jvmtiEventCallbacks eventCallbacks;
91 jvmtiEnv* jvmti = NULL;
92 JNIEnv* jni = NULL;
93
94 if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
95 return JNI_ERR;
96
97 agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
98
99 if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
100 return NSK_FALSE;
101
102 if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
103 return JNI_ERR;
104
105 memset(&eventCallbacks,0, sizeof(eventCallbacks));
106 eventCallbacks.ClassLoad = classLoadHandler;
107 if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
108 return JNI_ERR;
109 }
110
111 if (!(nsk_jvmti_aod_enableEvent(jvmti, JVMTI_EVENT_CLASS_LOAD))) {
112 return JNI_ERR;
113 }
114
115 NSK_DISPLAY1("%s: initialization was done\n", agentName);
116
117 if (!NSK_VERIFY(nsk_aod_agentLoaded(jni, agentName)))
118 return JNI_ERR;
119
120 return JNI_OK;
121 }
122
|
74 }
75
76
77 #ifdef STATIC_BUILD
78 JNIEXPORT jint JNI_OnLoad_attach014Agent00(JavaVM *jvm, char *options, void *reserved) {
79 return JNI_VERSION_1_8;
80 }
81 #endif
82
83 JNIEXPORT jint JNICALL
84 #ifdef STATIC_BUILD
85 Agent_OnAttach_attach014Agent00(JavaVM *vm, char *optionsString, void *reserved)
86 #else
87 Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved)
88 #endif
89 {
90 jvmtiEventCallbacks eventCallbacks;
91 jvmtiEnv* jvmti = NULL;
92 JNIEnv* jni = NULL;
93
94 options = (Options*) nsk_aod_createOptions(optionsString);
95 if (!NSK_VERIFY(options != NULL))
96 return JNI_ERR;
97
98 agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
99
100 jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
101 if (jni == NULL)
102 return NSK_FALSE;
103
104 jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
105 if (!NSK_VERIFY(jvmti != NULL))
106 return JNI_ERR;
107
108 memset(&eventCallbacks,0, sizeof(eventCallbacks));
109 eventCallbacks.ClassLoad = classLoadHandler;
110 if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
111 return JNI_ERR;
112 }
113
114 if (!(nsk_jvmti_aod_enableEvent(jvmti, JVMTI_EVENT_CLASS_LOAD))) {
115 return JNI_ERR;
116 }
117
118 NSK_DISPLAY1("%s: initialization was done\n", agentName);
119
120 if (!NSK_VERIFY(nsk_aod_agentLoaded(jni, agentName)))
121 return JNI_ERR;
122
123 return JNI_OK;
124 }
125
|