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 static int size_activation(int max_stack,
186 int temps,
187 int popframe_args,
188 int monitors,
189 int callee_params,
190 int callee_locals,
191 bool is_top_frame);
192
193 static void layout_activation(Method* method,
194 int temps,
195 int popframe_args,
196 int monitors,
197 int caller_actual_parameters,
198 int callee_params,
199 int callee_locals,
200 frame* caller,
201 frame* interpreter_frame,
202 bool is_top_frame,
203 bool is_bottom_frame);
204
205 // Runtime support
206 static bool is_not_reached( methodHandle method, int bci);
207 // Safepoint support
208 static void notice_safepoints() { ShouldNotReachHere(); } // stops the thread when reaching a safepoint
209 static void ignore_safepoints() { ShouldNotReachHere(); } // ignores safepoints
210
211 // Support for native calls
212 static address slow_signature_handler() { return _slow_signature_handler; }
213 static address result_handler(BasicType type) { return _native_abi_to_tosca[BasicType_as_index(type)]; }
|