164 static address deopt_entry(TosState state, int length) { ShouldNotReachHere(); return NULL; }
165 static address return_entry(TosState state, int length, Bytecodes::Code code) { ShouldNotReachHere(); return NULL; }
166
167 static address rethrow_exception_entry() { return _rethrow_exception_entry; }
168
169 // Activation size in words for a method that is just being called.
170 // Parameters haven't been pushed so count them too.
171 static int size_top_interpreter_activation(Method* method);
172
173 // Deoptimization support
174 // Compute the entry address for continuation after
175 static address deopt_continue_after_entry(Method* method,
176 address bcp,
177 int callee_parameters,
178 bool is_top_frame);
179 // Compute the entry address for reexecution
180 static address deopt_reexecute_entry(Method* method, address bcp);
181 // Deoptimization should reexecute this bytecode
182 static bool bytecode_should_reexecute(Bytecodes::Code code);
183
184 // share implementation of size_activation and layout_activation:
185 static int size_activation(Method* method,
186 int temps,
187 int popframe_args,
188 int monitors,
189 int caller_actual_parameters,
190 int callee_params,
191 int callee_locals,
192 bool is_top_frame,
193 bool is_bottom_frame) {
194 return layout_activation(method,
195 temps,
196 popframe_args,
197 monitors,
198 caller_actual_parameters,
199 callee_params,
200 callee_locals,
201 (frame*)NULL,
202 (frame*)NULL,
203 is_top_frame,
204 is_bottom_frame);
205 }
206
207 static int layout_activation(Method* method,
208 int temps,
209 int popframe_args,
210 int monitors,
211 int caller_actual_parameters,
212 int callee_params,
213 int callee_locals,
214 frame* caller,
215 frame* interpreter_frame,
216 bool is_top_frame,
217 bool is_bottom_frame);
218
219 // Runtime support
220 static bool is_not_reached( methodHandle method, int bci);
221 // Safepoint support
222 static void notice_safepoints() { ShouldNotReachHere(); } // stops the thread when reaching a safepoint
223 static void ignore_safepoints() { ShouldNotReachHere(); } // ignores safepoints
224
225 // Support for native calls
226 static address slow_signature_handler() { return _slow_signature_handler; }
227 static address result_handler(BasicType type) { return _native_abi_to_tosca[BasicType_as_index(type)]; }
|
164 static address deopt_entry(TosState state, int length) { ShouldNotReachHere(); return NULL; }
165 static address return_entry(TosState state, int length, Bytecodes::Code code) { ShouldNotReachHere(); return NULL; }
166
167 static address rethrow_exception_entry() { return _rethrow_exception_entry; }
168
169 // Activation size in words for a method that is just being called.
170 // Parameters haven't been pushed so count them too.
171 static int size_top_interpreter_activation(Method* method);
172
173 // Deoptimization support
174 // Compute the entry address for continuation after
175 static address deopt_continue_after_entry(Method* method,
176 address bcp,
177 int callee_parameters,
178 bool is_top_frame);
179 // Compute the entry address for reexecution
180 static address deopt_reexecute_entry(Method* method, address bcp);
181 // Deoptimization should reexecute this bytecode
182 static bool bytecode_should_reexecute(Bytecodes::Code code);
183
184 // deoptimization support
185 template<class M>
186 static int size_activation(M* method,
187 int temps,
188 int popframe_args,
189 int monitors,
190 int callee_params,
191 int callee_locals,
192 bool is_top_frame);
193
194 static void layout_activation(Method* method,
195 int temps,
196 int popframe_args,
197 int monitors,
198 int caller_actual_parameters,
199 int callee_params,
200 int callee_locals,
201 frame* caller,
202 frame* interpreter_frame,
203 bool is_top_frame,
204 bool is_bottom_frame);
205
206 // Runtime support
207 static bool is_not_reached( methodHandle method, int bci);
208 // Safepoint support
209 static void notice_safepoints() { ShouldNotReachHere(); } // stops the thread when reaching a safepoint
210 static void ignore_safepoints() { ShouldNotReachHere(); } // ignores safepoints
211
212 // Support for native calls
213 static address slow_signature_handler() { return _slow_signature_handler; }
214 static address result_handler(BasicType type) { return _native_abi_to_tosca[BasicType_as_index(type)]; }
|