equal
deleted
inserted
replaced
24 |
24 |
25 #include "precompiled.hpp" |
25 #include "precompiled.hpp" |
26 #include "classfile/javaClasses.inline.hpp" |
26 #include "classfile/javaClasses.inline.hpp" |
27 #include "classfile/stringTable.hpp" |
27 #include "classfile/stringTable.hpp" |
28 #include "code/codeCache.hpp" |
28 #include "code/codeCache.hpp" |
29 #include "code/codeCacheExtensions.hpp" |
|
30 #include "code/dependencyContext.hpp" |
29 #include "code/dependencyContext.hpp" |
31 #include "compiler/compileBroker.hpp" |
30 #include "compiler/compileBroker.hpp" |
32 #include "interpreter/interpreter.hpp" |
31 #include "interpreter/interpreter.hpp" |
33 #include "interpreter/oopMapCache.hpp" |
32 #include "interpreter/oopMapCache.hpp" |
34 #include "interpreter/linkResolver.hpp" |
33 #include "interpreter/linkResolver.hpp" |
92 mk = Interpreter::MethodKind(1 + (int)mk)) { |
91 mk = Interpreter::MethodKind(1 + (int)mk)) { |
93 vmIntrinsics::ID iid = Interpreter::method_handle_intrinsic(mk); |
92 vmIntrinsics::ID iid = Interpreter::method_handle_intrinsic(mk); |
94 StubCodeMark mark(this, "MethodHandle::interpreter_entry", vmIntrinsics::name_at(iid)); |
93 StubCodeMark mark(this, "MethodHandle::interpreter_entry", vmIntrinsics::name_at(iid)); |
95 address entry = MethodHandles::generate_method_handle_interpreter_entry(_masm, iid); |
94 address entry = MethodHandles::generate_method_handle_interpreter_entry(_masm, iid); |
96 if (entry != NULL) { |
95 if (entry != NULL) { |
97 CodeCacheExtensions::handle_generated_pc(entry, vmIntrinsics::name_at(iid)); |
|
98 Interpreter::set_entry_for_kind(mk, entry); |
96 Interpreter::set_entry_for_kind(mk, entry); |
99 } |
97 } |
100 // If the entry is not set, it will throw AbstractMethodError. |
98 // If the entry is not set, it will throw AbstractMethodError. |
101 } |
99 } |
102 } |
100 } |