comparison src/share/vm/runtime/vframe.cpp @ 83:d3cd40645d0d

6681646: Relocking of a scalar replaced object during deoptimization is broken Summary: Relocking of a thread-local object during deoptimization is broken Reviewed-by: kbr, jrose, never
author kvn
date Tue, 01 Apr 2008 16:14:18 -0700
parents a61af66fc99e
children d1605aabd0a1
comparison
equal deleted inserted replaced
82:de93acbb64fc 83:d3cd40645d0d
204 GrowableArray<MonitorInfo*>* interpretedVFrame::monitors() const { 204 GrowableArray<MonitorInfo*>* interpretedVFrame::monitors() const {
205 GrowableArray<MonitorInfo*>* result = new GrowableArray<MonitorInfo*>(5); 205 GrowableArray<MonitorInfo*>* result = new GrowableArray<MonitorInfo*>(5);
206 for (BasicObjectLock* current = (fr().previous_monitor_in_interpreter_frame(fr().interpreter_frame_monitor_begin())); 206 for (BasicObjectLock* current = (fr().previous_monitor_in_interpreter_frame(fr().interpreter_frame_monitor_begin()));
207 current >= fr().interpreter_frame_monitor_end(); 207 current >= fr().interpreter_frame_monitor_end();
208 current = fr().previous_monitor_in_interpreter_frame(current)) { 208 current = fr().previous_monitor_in_interpreter_frame(current)) {
209 result->push(new MonitorInfo(current->obj(), current->lock())); 209 result->push(new MonitorInfo(current->obj(), current->lock(), false));
210 } 210 }
211 return result; 211 return result;
212 } 212 }
213 213
214 int interpretedVFrame::bci() const { 214 int interpretedVFrame::bci() const {