22 * questions. |
22 * questions. |
23 * |
23 * |
24 */ |
24 */ |
25 |
25 |
26 #include "precompiled.hpp" |
26 #include "precompiled.hpp" |
27 #include "interpreter/interpreterGenerator.hpp" |
27 #include "interpreter/cppInterpreterGenerator.hpp" |
28 #include "interpreter/interpreter.hpp" |
28 #include "interpreter/interpreter.hpp" |
29 #include "memory/allocation.inline.hpp" |
29 #include "memory/allocation.inline.hpp" |
30 #include "oops/oop.inline.hpp" |
30 #include "oops/oop.inline.hpp" |
31 #include "prims/methodHandles.hpp" |
31 #include "prims/methodHandles.hpp" |
32 |
32 |
165 case vmIntrinsics::_invokeGeneric: |
165 case vmIntrinsics::_invokeGeneric: |
166 case vmIntrinsics::_compiledLambdaForm: |
166 case vmIntrinsics::_compiledLambdaForm: |
167 // Perhaps surprisingly, the symbolic references visible to Java are not directly used. |
167 // Perhaps surprisingly, the symbolic references visible to Java are not directly used. |
168 // They are linked to Java-generated adapters via MethodHandleNatives.linkMethod. |
168 // They are linked to Java-generated adapters via MethodHandleNatives.linkMethod. |
169 // They all allow an appendix argument. |
169 // They all allow an appendix argument. |
170 return InterpreterGenerator::generate_entry_impl(masm, (address) MethodHandles::method_handle_entry_invalid); |
170 return CppInterpreterGenerator::generate_entry_impl(masm, (address) MethodHandles::method_handle_entry_invalid); |
171 case vmIntrinsics::_invokeBasic: |
171 case vmIntrinsics::_invokeBasic: |
172 return InterpreterGenerator::generate_entry_impl(masm, (address) MethodHandles::method_handle_entry_invokeBasic); |
172 return CppInterpreterGenerator::generate_entry_impl(masm, (address) MethodHandles::method_handle_entry_invokeBasic); |
173 case vmIntrinsics::_linkToStatic: |
173 case vmIntrinsics::_linkToStatic: |
174 case vmIntrinsics::_linkToSpecial: |
174 case vmIntrinsics::_linkToSpecial: |
175 return InterpreterGenerator::generate_entry_impl(masm, (address) MethodHandles::method_handle_entry_linkToStaticOrSpecial); |
175 return CppInterpreterGenerator::generate_entry_impl(masm, (address) MethodHandles::method_handle_entry_linkToStaticOrSpecial); |
176 case vmIntrinsics::_linkToInterface: |
176 case vmIntrinsics::_linkToInterface: |
177 return InterpreterGenerator::generate_entry_impl(masm, (address) MethodHandles::method_handle_entry_linkToInterface); |
177 return CppInterpreterGenerator::generate_entry_impl(masm, (address) MethodHandles::method_handle_entry_linkToInterface); |
178 case vmIntrinsics::_linkToVirtual: |
178 case vmIntrinsics::_linkToVirtual: |
179 return InterpreterGenerator::generate_entry_impl(masm, (address) MethodHandles::method_handle_entry_linkToVirtual); |
179 return CppInterpreterGenerator::generate_entry_impl(masm, (address) MethodHandles::method_handle_entry_linkToVirtual); |
180 default: |
180 default: |
181 ShouldNotReachHere(); |
181 ShouldNotReachHere(); |
182 return NULL; |
182 return NULL; |
183 } |
183 } |
184 } |
184 } |