hotspot/src/share/vm/prims/methodHandles.cpp
changeset 42664 29142a56c193
parent 40102 23ff468d69b4
child 43665 4bb003cad9b9
child 46262 83280d968b96
equal deleted inserted replaced
42663:2335df372367 42664:29142a56c193
    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 }