55
56 public:
57 // Constructors
58 compiledVFrame(const frame* fr, const RegisterMap* reg_map, JavaThread* thread, CompiledMethod* nm);
59
60 // Update a local in a compiled frame. Update happens when deopt occurs
61 void update_local(BasicType type, int index, jvalue value);
62
63 // Update an expression stack value in a compiled frame. Update happens when deopt occurs
64 void update_stack(BasicType type, int index, jvalue value);
65
66 // Update a lock value in a compiled frame. Update happens when deopt occurs
67 void update_monitor(int index, MonitorInfo* value);
68
69 // Returns the active nmethod
70 CompiledMethod* code() const;
71
72 // Returns the scopeDesc
73 ScopeDesc* scope() const { return _scope; }
74
75 // Returns SynchronizationEntryBCI or bci() (used for synchronization)
76 int raw_bci() const;
77
78 protected:
79 ScopeDesc* _scope;
80 int _vframe_id;
81
82 //StackValue resolve(ScopeValue* sv) const;
83 BasicLock* resolve_monitor_lock(Location location) const;
84 StackValue *create_stack_value(ScopeValue *sv) const;
85
86 private:
87 compiledVFrame(const frame* fr, const RegisterMap* reg_map, JavaThread* thread, ScopeDesc* scope, int vframe_id);
88
89 #ifndef PRODUCT
90 public:
91 void verify() const;
92 #endif
93 };
94
|
55
56 public:
57 // Constructors
58 compiledVFrame(const frame* fr, const RegisterMap* reg_map, JavaThread* thread, CompiledMethod* nm);
59
60 // Update a local in a compiled frame. Update happens when deopt occurs
61 void update_local(BasicType type, int index, jvalue value);
62
63 // Update an expression stack value in a compiled frame. Update happens when deopt occurs
64 void update_stack(BasicType type, int index, jvalue value);
65
66 // Update a lock value in a compiled frame. Update happens when deopt occurs
67 void update_monitor(int index, MonitorInfo* value);
68
69 // Returns the active nmethod
70 CompiledMethod* code() const;
71
72 // Returns the scopeDesc
73 ScopeDesc* scope() const { return _scope; }
74
75 // Return the compiledVFrame for the desired scope
76 compiledVFrame* at_scope(int decode_offset, int vframd_id);
77
78 // Returns SynchronizationEntryBCI or bci() (used for synchronization)
79 int raw_bci() const;
80
81 protected:
82 ScopeDesc* _scope;
83 int _vframe_id;
84
85 //StackValue resolve(ScopeValue* sv) const;
86 BasicLock* resolve_monitor_lock(Location location) const;
87 StackValue *create_stack_value(ScopeValue *sv) const;
88
89 private:
90 compiledVFrame(const frame* fr, const RegisterMap* reg_map, JavaThread* thread, ScopeDesc* scope, int vframe_id);
91
92 #ifndef PRODUCT
93 public:
94 void verify() const;
95 #endif
96 };
97
|