134 NSK_DISPLAY1(" <THREAD_END>: thread: 0x%p\n", (void*)thread);
135 eventsCountList[2]++;
136 }
137
138 /**
139 * Callback for VM_INIT event.
140 */
141 JNIEXPORT void JNICALL
142 callbackVMInit(jvmtiEnv* jvmti, JNIEnv* jni, jthread thread) {
143 NSK_DISPLAY1(" <VM_INIT>: thread: 0x%p\n", (void*)thread);
144 eventsCountList[0]++;
145
146 NSK_DISPLAY0(">>> Testcase #2: Invoke SetEventsCallback() for zero sized callbacks struct\n");
147 {
148 jvmtiEventCallbacks eventCallbacks;
149 jint size = 0;
150
151 memset(&eventCallbacks, 0, sizeof(eventCallbacks));
152 eventCallbacks.ThreadStart = callbackThreadStart;
153 eventCallbacks.ThreadEnd = callbackThreadEnd;
154 if (!NSK_JVMTI_VERIFY(
155 NSK_CPP_STUB3(SetEventCallbacks, jvmti,
156 &eventCallbacks, size))) {
157 nsk_jvmti_setFailStatus();
158 }
159
160 nsk_jvmti_enableEvents(JVMTI_ENABLE, EVENTS_COUNT - 1, eventsList + 1, NULL);
161 }
162 }
163
164 /* ============================================================================= */
165
166 /** Agent library initialization. */
167 #ifdef STATIC_BUILD
168 JNIEXPORT jint JNICALL Agent_OnLoad_setevntcallb003(JavaVM *jvm, char *options, void *reserved) {
169 return Agent_Initialize(jvm, options, reserved);
170 }
171 JNIEXPORT jint JNICALL Agent_OnAttach_setevntcallb003(JavaVM *jvm, char *options, void *reserved) {
172 return Agent_Initialize(jvm, options, reserved);
173 }
174 JNIEXPORT jint JNI_OnLoad_setevntcallb003(JavaVM *jvm, char *options, void *reserved) {
175 return JNI_VERSION_1_8;
176 }
181 if (!NSK_VERIFY(nsk_jvmti_parseOptions(options)))
182 return JNI_ERR;
183
184 timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
185
186 if (!NSK_VERIFY((jvmti =
187 nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
188 return JNI_ERR;
189
190 if (!NSK_VERIFY(nsk_jvmti_setAgentProc(agentProc, NULL)))
191 return JNI_ERR;
192
193 NSK_DISPLAY0(">>> Testcase #1: Set callbacks for all tested events\n");
194 {
195 jvmtiEventCallbacks eventCallbacks;
196
197 cleanEventCounts();
198
199 memset(&eventCallbacks, 0, sizeof(eventCallbacks));
200 eventCallbacks.VMInit = callbackVMInit;
201 if (!NSK_JVMTI_VERIFY(
202 NSK_CPP_STUB3(SetEventCallbacks, jvmti,
203 &eventCallbacks, sizeof(eventCallbacks)))) {
204 nsk_jvmti_setFailStatus();
205 } else {
206 nsk_jvmti_enableEvents(JVMTI_ENABLE, 1, eventsList, NULL);
207 }
208 }
209 return JNI_OK;
210 }
211
212 /* ============================================================================= */
213
214 }
|
134 NSK_DISPLAY1(" <THREAD_END>: thread: 0x%p\n", (void*)thread);
135 eventsCountList[2]++;
136 }
137
138 /**
139 * Callback for VM_INIT event.
140 */
141 JNIEXPORT void JNICALL
142 callbackVMInit(jvmtiEnv* jvmti, JNIEnv* jni, jthread thread) {
143 NSK_DISPLAY1(" <VM_INIT>: thread: 0x%p\n", (void*)thread);
144 eventsCountList[0]++;
145
146 NSK_DISPLAY0(">>> Testcase #2: Invoke SetEventsCallback() for zero sized callbacks struct\n");
147 {
148 jvmtiEventCallbacks eventCallbacks;
149 jint size = 0;
150
151 memset(&eventCallbacks, 0, sizeof(eventCallbacks));
152 eventCallbacks.ThreadStart = callbackThreadStart;
153 eventCallbacks.ThreadEnd = callbackThreadEnd;
154 if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, size))) {
155 nsk_jvmti_setFailStatus();
156 }
157
158 nsk_jvmti_enableEvents(JVMTI_ENABLE, EVENTS_COUNT - 1, eventsList + 1, NULL);
159 }
160 }
161
162 /* ============================================================================= */
163
164 /** Agent library initialization. */
165 #ifdef STATIC_BUILD
166 JNIEXPORT jint JNICALL Agent_OnLoad_setevntcallb003(JavaVM *jvm, char *options, void *reserved) {
167 return Agent_Initialize(jvm, options, reserved);
168 }
169 JNIEXPORT jint JNICALL Agent_OnAttach_setevntcallb003(JavaVM *jvm, char *options, void *reserved) {
170 return Agent_Initialize(jvm, options, reserved);
171 }
172 JNIEXPORT jint JNI_OnLoad_setevntcallb003(JavaVM *jvm, char *options, void *reserved) {
173 return JNI_VERSION_1_8;
174 }
179 if (!NSK_VERIFY(nsk_jvmti_parseOptions(options)))
180 return JNI_ERR;
181
182 timeout = nsk_jvmti_getWaitTime() * 60 * 1000;
183
184 if (!NSK_VERIFY((jvmti =
185 nsk_jvmti_createJVMTIEnv(jvm, reserved)) != NULL))
186 return JNI_ERR;
187
188 if (!NSK_VERIFY(nsk_jvmti_setAgentProc(agentProc, NULL)))
189 return JNI_ERR;
190
191 NSK_DISPLAY0(">>> Testcase #1: Set callbacks for all tested events\n");
192 {
193 jvmtiEventCallbacks eventCallbacks;
194
195 cleanEventCounts();
196
197 memset(&eventCallbacks, 0, sizeof(eventCallbacks));
198 eventCallbacks.VMInit = callbackVMInit;
199 if (!NSK_JVMTI_VERIFY(jvmti->SetEventCallbacks(&eventCallbacks, sizeof(eventCallbacks)))) {
200 nsk_jvmti_setFailStatus();
201 } else {
202 nsk_jvmti_enableEvents(JVMTI_ENABLE, 1, eventsList, NULL);
203 }
204 }
205 return JNI_OK;
206 }
207
208 /* ============================================================================= */
209
210 }
|