equal
deleted
inserted
replaced
188 // traces and tools as well |
188 // traces and tools as well |
189 GrowableArray<MonitorInfo*> *monitors = new GrowableArray<MonitorInfo*>(1); |
189 GrowableArray<MonitorInfo*> *monitors = new GrowableArray<MonitorInfo*>(1); |
190 // Casting away const |
190 // Casting away const |
191 frame& fr = (frame&) _fr; |
191 frame& fr = (frame&) _fr; |
192 MonitorInfo* info = new MonitorInfo(fr.compiled_synchronized_native_monitor_owner(nm), |
192 MonitorInfo* info = new MonitorInfo(fr.compiled_synchronized_native_monitor_owner(nm), |
193 fr.compiled_synchronized_native_monitor(nm)); |
193 fr.compiled_synchronized_native_monitor(nm), false); |
194 monitors->push(info); |
194 monitors->push(info); |
195 return monitors; |
195 return monitors; |
196 } |
196 } |
197 GrowableArray<MonitorValue*>* monitors = scope()->monitors(); |
197 GrowableArray<MonitorValue*>* monitors = scope()->monitors(); |
198 if (monitors == NULL) { |
198 if (monitors == NULL) { |
200 } |
200 } |
201 GrowableArray<MonitorInfo*>* result = new GrowableArray<MonitorInfo*>(monitors->length()); |
201 GrowableArray<MonitorInfo*>* result = new GrowableArray<MonitorInfo*>(monitors->length()); |
202 for (int index = 0; index < monitors->length(); index++) { |
202 for (int index = 0; index < monitors->length(); index++) { |
203 MonitorValue* mv = monitors->at(index); |
203 MonitorValue* mv = monitors->at(index); |
204 StackValue *owner_sv = create_stack_value(mv->owner()); // it is an oop |
204 StackValue *owner_sv = create_stack_value(mv->owner()); // it is an oop |
205 result->push(new MonitorInfo(owner_sv->get_obj()(), resolve_monitor_lock(mv->basic_lock()))); |
205 result->push(new MonitorInfo(owner_sv->get_obj()(), resolve_monitor_lock(mv->basic_lock()), mv->eliminated())); |
206 } |
206 } |
207 return result; |
207 return result; |
208 } |
208 } |
209 |
209 |
210 |
210 |