125
126 #ifdef ASSERT
127 // Used in frame::sender_for_{interpreter,compiled}_frame
128 static void verify_deopt_original_pc(CompiledMethod* nm, intptr_t* unextended_sp);
129 #endif
130
131 public:
132 // Constructors
133
134 frame(intptr_t* sp, intptr_t* fp, address pc);
135
136 frame(intptr_t* sp, intptr_t* unextended_sp, intptr_t* fp, address pc);
137
138 frame(intptr_t* sp, intptr_t* fp);
139
140 void init(intptr_t* sp, intptr_t* fp, address pc);
141
142 // accessors for the instance variables
143 // Note: not necessarily the real 'frame pointer' (see real_fp)
144 intptr_t* fp() const { return _fp; }
145
146 inline address* sender_pc_addr() const;
147
148 // expression stack tos if we are nested in a java call
149 intptr_t* interpreter_frame_last_sp() const;
150
151 // helper to update a map with callee-saved RBP
152 static void update_map_with_saved_link(RegisterMap* map, intptr_t** link_addr);
153
154 // deoptimization support
155 void interpreter_frame_set_last_sp(intptr_t* sp);
156
157 static jint interpreter_frame_expression_stack_direction() { return -1; }
158
159 #endif // CPU_X86_VM_FRAME_X86_HPP
|
125
126 #ifdef ASSERT
127 // Used in frame::sender_for_{interpreter,compiled}_frame
128 static void verify_deopt_original_pc(CompiledMethod* nm, intptr_t* unextended_sp);
129 #endif
130
131 public:
132 // Constructors
133
134 frame(intptr_t* sp, intptr_t* fp, address pc);
135
136 frame(intptr_t* sp, intptr_t* unextended_sp, intptr_t* fp, address pc);
137
138 frame(intptr_t* sp, intptr_t* fp);
139
140 void init(intptr_t* sp, intptr_t* fp, address pc);
141
142 // accessors for the instance variables
143 // Note: not necessarily the real 'frame pointer' (see real_fp)
144 intptr_t* fp() const { return _fp; }
145 void set_fp(intptr_t* newfp) { _fp = newfp; }
146
147 inline address* sender_pc_addr() const;
148
149 // expression stack tos if we are nested in a java call
150 intptr_t* interpreter_frame_last_sp() const;
151
152 // helper to update a map with callee-saved RBP
153 static void update_map_with_saved_link(RegisterMap* map, intptr_t** link_addr);
154 static intptr_t** saved_link_address(RegisterMap* map);
155
156 // deoptimization support
157 void interpreter_frame_set_last_sp(intptr_t* sp);
158
159 static jint interpreter_frame_expression_stack_direction() { return -1; }
160
161 #endif // CPU_X86_VM_FRAME_X86_HPP
|