hotspot/src/share/vm/runtime/vframe_hp.cpp
changeset 256 70fdc3927a4e
parent 1 489c9b5090e2
child 670 ddf3e9583f2f
equal deleted inserted replaced
255:5734cddd944b 256:70fdc3927a4e
   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