37 */
38
39 #ifdef STATIC_BUILD
40 JNIEXPORT jint JNI_OnLoad_simpleAgent00(JavaVM *jvm, char *options, void *reserved) {
41 return JNI_VERSION_1_8;
42 }
43 #endif
44
45 JNIEXPORT jint JNICALL
46 #ifdef STATIC_BUILD
47 Agent_OnAttach_simpleAgent00(JavaVM *vm, char *optionsString, void *reserved)
48 #else
49 Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved)
50 #endif
51 {
52 jvmtiEnv* jvmti;
53 JNIEnv* jni = NULL;
54 Options* options = NULL;
55 const char* agentName;
56
57 if (!NSK_VERIFY((options = (Options*) nsk_aod_createOptions(optionsString)) != NULL))
58 return JNI_ERR;
59
60 agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
61
62 if ((jni = (JNIEnv*) nsk_aod_createJNIEnv(vm)) == NULL)
63 return JNI_ERR;
64
65 if (!NSK_VERIFY((jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved)) != NULL))
66 return JNI_ERR;
67
68 NSK_DISPLAY1("%s: initialization was done\n", agentName);
69
70 if (!NSK_VERIFY(nsk_aod_agentLoaded(jni, agentName)))
71 return JNI_ERR;
72
73 nsk_aod_agentFinished(jni, agentName, 1);
74
75 return JNI_OK;
76 }
77
78 }
|
37 */
38
39 #ifdef STATIC_BUILD
40 JNIEXPORT jint JNI_OnLoad_simpleAgent00(JavaVM *jvm, char *options, void *reserved) {
41 return JNI_VERSION_1_8;
42 }
43 #endif
44
45 JNIEXPORT jint JNICALL
46 #ifdef STATIC_BUILD
47 Agent_OnAttach_simpleAgent00(JavaVM *vm, char *optionsString, void *reserved)
48 #else
49 Agent_OnAttach(JavaVM *vm, char *optionsString, void *reserved)
50 #endif
51 {
52 jvmtiEnv* jvmti;
53 JNIEnv* jni = NULL;
54 Options* options = NULL;
55 const char* agentName;
56
57 options = (Options*) nsk_aod_createOptions(optionsString);
58 if (!NSK_VERIFY(options != NULL))
59 return JNI_ERR;
60
61 agentName = nsk_aod_getOptionValue(options, NSK_AOD_AGENT_NAME_OPTION);
62
63 jni = (JNIEnv*) nsk_aod_createJNIEnv(vm);
64 if (jni == NULL)
65 return JNI_ERR;
66
67 jvmti = nsk_jvmti_createJVMTIEnv(vm, reserved);
68 if (!NSK_VERIFY(jvmti != NULL))
69 return JNI_ERR;
70
71 NSK_DISPLAY1("%s: initialization was done\n", agentName);
72
73 if (!NSK_VERIFY(nsk_aod_agentLoaded(jni, agentName)))
74 return JNI_ERR;
75
76 nsk_aod_agentFinished(jni, agentName, 1);
77
78 return JNI_OK;
79 }
80
81 }
|