327 j, (void*)frameStack[j].method, |
327 j, (void*)frameStack[j].method, |
328 (long)frameStack[j].location); |
328 (long)frameStack[j].location); |
329 /* query frame location */ |
329 /* query frame location */ |
330 if (!NSK_JVMTI_VERIFY( |
330 if (!NSK_JVMTI_VERIFY( |
331 jvmti->GetFrameLocation(threadsDesc[i].thread, j, &qMethod, &qLocation)) |
331 jvmti->GetFrameLocation(threadsDesc[i].thread, j, &qMethod, &qLocation)) |
332 && (suspended == NSK_TRUE)) { |
332 && suspended) { |
333 nsk_jvmti_setFailStatus(); |
333 nsk_jvmti_setFailStatus(); |
334 continue; |
334 continue; |
335 } |
335 } |
336 |
336 |
337 NSK_DISPLAY2(" queried: method: 0x%p, location: %ld\n", |
337 NSK_DISPLAY2(" queried: method: 0x%p, location: %ld\n", |
338 (void*)qMethod, (long)qLocation); |
338 (void*)qMethod, (long)qLocation); |
339 |
339 |
340 /* check frame equality */ |
340 /* check frame equality */ |
341 if ((suspended == NSK_TRUE) && (frameStack[j].method != qMethod)) { |
341 if (suspended && (frameStack[j].method != qMethod)) { |
342 NSK_COMPLAIN6("Different method in stack frame #%d for %s thread #%d (%s):\n" |
342 NSK_COMPLAIN6("Different method in stack frame #%d for %s thread #%d (%s):\n" |
343 "# GetStackTrace(): 0x%p\n" |
343 "# GetStackTrace(): 0x%p\n" |
344 "# GetFrameLocation(): 0x%p\n", |
344 "# GetFrameLocation(): 0x%p\n", |
345 j, kind, i, threadsDesc[i].threadName, |
345 j, kind, i, threadsDesc[i].threadName, |
346 (void*)frameStack[j].method, (void*)qMethod); |
346 (void*)frameStack[j].method, (void*)qMethod); |
347 nsk_jvmti_setFailStatus(); |
347 nsk_jvmti_setFailStatus(); |
348 } |
348 } |
349 if ((suspended == NSK_TRUE) && (frameStack[j].location != qLocation)) { |
349 if (suspended && (frameStack[j].location != qLocation)) { |
350 NSK_COMPLAIN6("Different location in stack frame #%d for %s thread #%d (%s):\n" |
350 NSK_COMPLAIN6("Different location in stack frame #%d for %s thread #%d (%s):\n" |
351 "# GetStackTrace(): %ld\n" |
351 "# GetStackTrace(): %ld\n" |
352 "# GetFrameLocation(): %ld\n", |
352 "# GetFrameLocation(): %ld\n", |
353 j, kind, i, threadsDesc[i].threadName, |
353 j, kind, i, threadsDesc[i].threadName, |
354 (long)frameStack[j].location, (long)qLocation); |
354 (long)frameStack[j].location, (long)qLocation); |