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" |
29 #include "compiler/compileBroker.hpp" |
30 #include "compiler/compileBroker.hpp" |
30 #include "interpreter/interpreter.hpp" |
31 #include "interpreter/interpreter.hpp" |
31 #include "interpreter/oopMapCache.hpp" |
32 #include "interpreter/oopMapCache.hpp" |
32 #include "interpreter/linkResolver.hpp" |
33 #include "interpreter/linkResolver.hpp" |
33 #include "memory/allocation.inline.hpp" |
34 #include "memory/allocation.inline.hpp" |
98 mk = Interpreter::MethodKind(1 + (int)mk)) { |
99 mk = Interpreter::MethodKind(1 + (int)mk)) { |
99 vmIntrinsics::ID iid = Interpreter::method_handle_intrinsic(mk); |
100 vmIntrinsics::ID iid = Interpreter::method_handle_intrinsic(mk); |
100 StubCodeMark mark(this, "MethodHandle::interpreter_entry", vmIntrinsics::name_at(iid)); |
101 StubCodeMark mark(this, "MethodHandle::interpreter_entry", vmIntrinsics::name_at(iid)); |
101 address entry = MethodHandles::generate_method_handle_interpreter_entry(_masm, iid); |
102 address entry = MethodHandles::generate_method_handle_interpreter_entry(_masm, iid); |
102 if (entry != NULL) { |
103 if (entry != NULL) { |
|
104 CodeCacheExtensions::handle_generated_pc(entry, vmIntrinsics::name_at(iid)); |
103 Interpreter::set_entry_for_kind(mk, entry); |
105 Interpreter::set_entry_for_kind(mk, entry); |
104 } |
106 } |
105 // If the entry is not set, it will throw AbstractMethodError. |
107 // If the entry is not set, it will throw AbstractMethodError. |
106 } |
108 } |
107 } |
109 } |