< prev index next >

src/hotspot/share/oops/method.cpp

Print this page

        

*** 1245,1255 **** link_method(mh, CHECK); } } address Method::from_compiled_entry_no_trampoline() const { ! CompiledMethod *code = OrderAccess::load_acquire(&_code); if (code) { return code->verified_entry_point(); } else { return adapter()->get_c2i_entry(); } --- 1245,1255 ---- link_method(mh, CHECK); } } address Method::from_compiled_entry_no_trampoline() const { ! CompiledMethod *code = Atomic::load_acquire(&_code); if (code) { return code->verified_entry_point(); } else { return adapter()->get_c2i_entry(); }
*** 1271,1281 **** // Check that if an nmethod ref exists, it has a backlink to this or no backlink at all // (could be racing a deopt). // Not inline to avoid circular ref. bool Method::check_code() const { // cached in a register or local. There's a race on the value of the field. ! CompiledMethod *code = OrderAccess::load_acquire(&_code); return code == NULL || (code->method() == NULL) || (code->method() == (Method*)this && !code->is_osr_method()); } // Install compiled code. Instantly it can execute. void Method::set_code(const methodHandle& mh, CompiledMethod *code) { --- 1271,1281 ---- // Check that if an nmethod ref exists, it has a backlink to this or no backlink at all // (could be racing a deopt). // Not inline to avoid circular ref. bool Method::check_code() const { // cached in a register or local. There's a race on the value of the field. ! CompiledMethod *code = Atomic::load_acquire(&_code); return code == NULL || (code->method() == NULL) || (code->method() == (Method*)this && !code->is_osr_method()); } // Install compiled code. Instantly it can execute. void Method::set_code(const methodHandle& mh, CompiledMethod *code) {
< prev index next >