101
102 jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
103 /* init framework and parse options */
104 if (!NSK_VERIFY(nsk_jvmti_parseOptions(options)))
105 return JNI_ERR;
106
107 /* create JVMTI environment */
108 jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
109 if (!NSK_VERIFY(jvmti != NULL)) {
110 return JNI_ERR;
111 }
112
113 if (createRawMonitor(jvmti, "data dump request monitor", &dataDumpRequestMonitor) != JNI_OK) {
114 return JNI_ERR;
115 }
116
117 /* set event callbacks */
118 NSK_DISPLAY0("setting event callbacks ...\n");
119 (void) memset(&callbacks, 0, sizeof(callbacks));
120 callbacks.DataDumpRequest = &DataDumpRequest;
121 if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB3(SetEventCallbacks,
122 jvmti, &callbacks, sizeof(callbacks))))
123 return JNI_ERR;
124
125 NSK_DISPLAY0("setting event callbacks done\nenabling JVMTI events ...\n");
126 if (!NSK_JVMTI_VERIFY(NSK_CPP_STUB4(SetEventNotificationMode,
127 jvmti, JVMTI_ENABLE, JVMTI_EVENT_DATA_DUMP_REQUEST, NULL)))
128 return JNI_ERR;
129 NSK_DISPLAY0("enabling the events done\n\n");
130
131 return JNI_OK;
132 }
133
134 }
|
101
102 jint Agent_Initialize(JavaVM *jvm, char *options, void *reserved) {
103 /* init framework and parse options */
104 if (!NSK_VERIFY(nsk_jvmti_parseOptions(options)))
105 return JNI_ERR;
106
107 /* create JVMTI environment */
108 jvmti = nsk_jvmti_createJVMTIEnv(jvm, reserved);
109 if (!NSK_VERIFY(jvmti != NULL)) {
110 return JNI_ERR;
111 }
112
113 if (createRawMonitor(jvmti, "data dump request monitor", &dataDumpRequestMonitor) != JNI_OK) {
114 return JNI_ERR;
115 }
116
117 /* set event callbacks */
118 NSK_DISPLAY0("setting event callbacks ...\n");
119 (void) memset(&callbacks, 0, sizeof(callbacks));
120 callbacks.DataDumpRequest = &DataDumpRequest;
121 if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&callbacks, sizeof(callbacks))))
122 return JNI_ERR;
123
124 NSK_DISPLAY0("setting event callbacks done\nenabling JVMTI events ...\n");
125 if (!NSK_JVMTI_VERIFY(jvmti->SetEventNotificationMode(JVMTI_ENABLE, JVMTI_EVENT_DATA_DUMP_REQUEST, NULL)))
126 return JNI_ERR;
127 NSK_DISPLAY0("enabling the events done\n\n");
128
129 return JNI_OK;
130 }
131
132 }
|