< prev index next >

src/hotspot/share/runtime/vframe_hp.hpp

Print this page
rev 56101 : 8227745: Enable Escape Analysis for better performance when debugging
Reviewed-by: ???

*** 35,44 **** --- 35,46 ---- bool should_reexecute() const; StackValueCollection* locals() const; StackValueCollection* expressions() const; GrowableArray<MonitorInfo*>* monitors() const; int vframe_id() const { return _vframe_id; } + bool not_global_escape_in_scope() const; + bool arg_escape() const; // at call with arg escape in parameter list void set_locals(StackValueCollection* values) const; // Virtuals defined in vframe bool is_compiled_frame() const { return true; }
*** 109,118 **** --- 111,121 ---- Method* _method; int _bci; intptr_t* _id; int _vframe_id; GrowableArray<jvmtiDeferredLocalVariable*>* _locals; + bool _objects_are_deoptimized; void update_value(StackValueCollection* locals, BasicType type, int index, jvalue value); void set_value_at(int idx, BasicType typ, jvalue val);
*** 120,136 **** --- 123,143 ---- // JVM state Method* method() const { return _method; } int bci() const { return _bci; } intptr_t* id() const { return _id; } int vframe_id() const { return _vframe_id; } + bool objects_are_deoptimized() const { return _objects_are_deoptimized; } void update_locals(StackValueCollection* locals); void update_stack(StackValueCollection* locals); void update_monitors(GrowableArray<MonitorInfo*>* monitors); + void set_objs_are_deoptimized() { _objects_are_deoptimized = true; } // Does the vframe match this jvmtiDeferredLocalVariableSet bool matches(const vframe* vf); + // Does the underlying physical frame match this jvmtiDeferredLocalVariableSet + bool matches(intptr_t* fr_id) { return id() == fr_id; } // GC void oops_do(OopClosure* f); // constructor jvmtiDeferredLocalVariableSet(Method* method, int bci, intptr_t* id, int vframe_id);
< prev index next >