6681646: Relocking of a scalar replaced object during deoptimization is broken

Relocking of a thread-local object during deoptimization is broken

Reviewed-by: kbr, jrose, never
This commit is contained in:
Vladimir Kozlov 2008-04-01 16:14:18 -07:00
parent 833746644c
commit 659a8dc7d5
5 changed files with 44 additions and 24 deletions

View file

@ -206,7 +206,7 @@ GrowableArray<MonitorInfo*>* interpretedVFrame::monitors() const {
for (BasicObjectLock* current = (fr().previous_monitor_in_interpreter_frame(fr().interpreter_frame_monitor_begin()));
current >= fr().interpreter_frame_monitor_end();
current = fr().previous_monitor_in_interpreter_frame(current)) {
result->push(new MonitorInfo(current->obj(), current->lock()));
result->push(new MonitorInfo(current->obj(), current->lock(), false));
}
return result;
}