< prev index next >

src/hotspot/share/aot/aotCompiledMethod.cpp

Print this page
rev 54621 : imported patch 8221734-v1

*** 165,175 **** methodHandle the_method(method()); NoSafepointVerifier nsv; { // Enter critical section. Does not block for safepoint. ! MutexLockerEx pl(Patching_lock, Mutex::_no_safepoint_check_flag); if (*_state_adr == new_state) { // another thread already performed this transition so nothing // to do, but return false to indicate this. return false; --- 165,175 ---- methodHandle the_method(method()); NoSafepointVerifier nsv; { // Enter critical section. Does not block for safepoint. ! MutexLockerEx pl(CompiledMethod_lock, Mutex::_no_safepoint_check_flag); if (*_state_adr == new_state) { // another thread already performed this transition so nothing // to do, but return false to indicate this. return false;
*** 188,203 **** method()->set_aot_code(NULL); } #endif // Remove AOTCompiledMethod from method. ! if (method() != NULL && (method()->code() == this || ! method()->from_compiled_entry() == verified_entry_point())) { ! HandleMark hm; ! method()->clear_code(false /* already owns Patching_lock */); ! } ! } // leave critical region under Patching_lock if (TraceCreateZombies) { ResourceMark m; const char *new_state_str = (new_state == not_entrant) ? "not entrant" : "not used"; --- 188,199 ---- method()->set_aot_code(NULL); } #endif // Remove AOTCompiledMethod from method. ! Method::unlink_code(method(), this); ! } // leave critical region under CompiledMethod_lock if (TraceCreateZombies) { ResourceMark m; const char *new_state_str = (new_state == not_entrant) ? "not entrant" : "not used";
*** 216,226 **** methodHandle the_method(method()); NoSafepointVerifier nsv; { // Enter critical section. Does not block for safepoint. ! MutexLockerEx pl(Patching_lock, Mutex::_no_safepoint_check_flag); if (*_state_adr == in_use) { // another thread already performed this transition so nothing // to do, but return false to indicate this. return false; --- 212,222 ---- methodHandle the_method(method()); NoSafepointVerifier nsv; { // Enter critical section. Does not block for safepoint. ! MutexLockerEx pl(CompiledMethod_lock, Mutex::_no_safepoint_check_flag); if (*_state_adr == in_use) { // another thread already performed this transition so nothing // to do, but return false to indicate this. return false;
*** 230,240 **** OrderAccess::storestore(); *_state_adr = in_use; // Log the transition once log_state_change(); ! } // leave critical region under Patching_lock if (TraceCreateZombies) { ResourceMark m; tty->print_cr("aot method <" INTPTR_FORMAT "> %s code made entrant", p2i(this), this->method() ? this->method()->name_and_sig_as_C_string() : "null"); --- 226,236 ---- OrderAccess::storestore(); *_state_adr = in_use; // Log the transition once log_state_change(); ! } // leave critical region under CompiledMethod_lock if (TraceCreateZombies) { ResourceMark m; tty->print_cr("aot method <" INTPTR_FORMAT "> %s code made entrant", p2i(this), this->method() ? this->method()->name_and_sig_as_C_string() : "null");
< prev index next >