Skip to content

Commit 19dc0f3

Browse files
committed
[Wisp] fix trace related testcase for wisp
Summary: The depth of object.wait is different with thread.sleep, so we add an extra function for object.wait. Testing: vmTestbase/nsk/jdi/ThreadReference/ownedMonitorsAndFrames/ownedMonitorsAndFrames002/ownedMonitorsAndFrames002.java vmTestbase/nsk/jdi/ThreadReference/ownedMonitorsAndFrames/ownedMonitorsAndFrames003/ownedMonitorsAndFrames003.java vmTestbase/nsk/jdi/ThreadReference/ownedMonitorsAndFrames/ownedMonitorsAndFrames005/ownedMonitorsAndFrames005.java vmTestbase/nsk/jdi/ThreadReference/ownedMonitorsAndFrames/ownedMonitorsAndFrames006/ownedMonitorsAndFrames006.java vmTestbase/nsk/jdi/ThreadReference/ownedMonitorsAndFrames/ownedMonitorsAndFrames007/ownedMonitorsAndFrames007.java vmTestbase/nsk/jdi/ThreadReference/ownedMonitorsAndFrames/ownedMonitorsAndFrames008/TestDescription.java vmTestbase/nsk/jdi/stress/serial/mixed001/TestDescription.java vmTestbase/nsk/jdi/stress/serial/mixed002/TestDescription.java vmTestbase/nsk/jdi/stress/serial/ownedMonitorsAndFrames001/TestDescription.java vmTestbase/nsk/jdi/stress/serial/ownedMonitorsAndFrames002/TestDescription.java Reviewers: yulei, shuangheng Issue: #952 CR: #953
1 parent 925fb11 commit 19dc0f3

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

test/hotspot/jtreg/vmTestbase/nsk/share/locks/LockingThread.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,8 @@ void removeMonitorInfo(DebugMonitorInfo removedMonitor) {
228228
// synchronizedObjectBlock() // monitor for instance of Object is acquired here
229229
// createStackFrame()
230230
// doWait()
231-
// relinquishedMonitor.wait()
231+
// callWait
232+
// relinquishedMonitor.wait()
232233

233234
// LockingThread still holds all other locks because of it didn't exit from corresponding synchronized methods and blocks.
234235
// To let LockingThread acquire relinquished monitor 'relinquishedMonitor.notifyAll()' should be called, after this
@@ -440,7 +441,7 @@ private void doWait() {
440441
// and this method waits when LockingThred change state to 'Thread.State.WAITING'
441442

442443
while (relinquishMonitor)
443-
relinquishedMonitor.wait(0);
444+
callWait(relinquishedMonitor);
444445

445446
log("Acquire relinquished monitor: " + relinquishedMonitor);
446447
} catch (Exception e) {
@@ -460,6 +461,10 @@ private void doWait() {
460461
}
461462
}
462463

464+
private void callWait(Object monitor) throws InterruptedException {
465+
monitor.wait(0);
466+
}
467+
463468
public void run() {
464469
// LockingThread call Thread.sleep() when required stack frame was created
465470
requiredState = Thread.State.TIMED_WAITING;

0 commit comments

Comments
 (0)