equal
deleted
inserted
replaced
241 |
241 |
242 return entry_point; |
242 return entry_point; |
243 } |
243 } |
244 |
244 |
245 |
245 |
246 // Method handle invoker |
|
247 // Dispatch a method of the form java.lang.invoke.MethodHandles::invoke(...) |
|
248 address InterpreterGenerator::generate_method_handle_entry(void) { |
|
249 if (!EnableInvokeDynamic) { |
|
250 return generate_abstract_entry(); |
|
251 } |
|
252 |
|
253 address entry_point = MethodHandles::generate_method_handle_interpreter_entry(_masm); |
|
254 |
|
255 return entry_point; |
|
256 } |
|
257 |
|
258 void Deoptimization::unwind_callee_save_values(frame* f, vframeArray* vframe_array) { |
246 void Deoptimization::unwind_callee_save_values(frame* f, vframeArray* vframe_array) { |
259 |
247 |
260 // This code is sort of the equivalent of C2IAdapter::setup_stack_frame back in |
248 // This code is sort of the equivalent of C2IAdapter::setup_stack_frame back in |
261 // the days we had adapter frames. When we deoptimize a situation where a |
249 // the days we had adapter frames. When we deoptimize a situation where a |
262 // compiled caller calls a compiled caller will have registers it expects |
250 // compiled caller calls a compiled caller will have registers it expects |