< prev index next >

src/hotspot/share/code/compiledIC.hpp


*** 26,35 **** --- 26,36 ---- #define SHARE_VM_CODE_COMPILEDIC_HPP #include "code/nativeInst.hpp" #include "interpreter/linkResolver.hpp" #include "oops/compiledICHolder.hpp" + #include "runtime/safepointVerifiers.hpp" //----------------------------------------------------------------------------- // The CompiledIC represents a compiled inline cache. // // In order to make patching of the inline cache MT-safe, we only allow the following ***************
*** 65,74 **** --- 66,76 ---- class CompiledICLocker: public StackObj { CompiledMethod* _method; CompiledICProtectionBehaviour* _behaviour; bool _locked; + NoSafepointVerifier _nsv; public: CompiledICLocker(CompiledMethod* method); ~CompiledICLocker(); static bool is_safe(CompiledMethod* method); ***************
*** 275,286 **** bool set_to_clean(bool in_use = true); bool set_to_monomorphic(CompiledICInfo& info); void clear_ic_stub(); // Returns true if successful and false otherwise. The call can fail if memory ! // allocation in the code cache fails. ! bool set_to_megamorphic(CallInfo* call_info, Bytecodes::Code bytecode, TRAPS); static void compute_monomorphic_entry(const methodHandle& method, Klass* receiver_klass, bool is_optimized, bool static_bound, bool caller_is_nmethod, CompiledICInfo& info, TRAPS); --- 277,288 ---- bool set_to_clean(bool in_use = true); bool set_to_monomorphic(CompiledICInfo& info); void clear_ic_stub(); // Returns true if successful and false otherwise. The call can fail if memory ! // allocation in the code cache fails, or ic stub refill is required. ! bool set_to_megamorphic(CallInfo* call_info, Bytecodes::Code bytecode, bool& needs_ic_stub_refill, TRAPS); static void compute_monomorphic_entry(const methodHandle& method, Klass* receiver_klass, bool is_optimized, bool static_bound, bool caller_is_nmethod, CompiledICInfo& info, TRAPS);
< prev index next >