< prev index next >

src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp

Print this page

        

*** 1948,1958 **** // VM thread changes sync state to synchronizing and suspends threads for GC. // Thread A is resumed to finish this native method, but doesn't block here since it // didn't see any synchronization is progress, and escapes. __ mov(rscratch1, _thread_in_native_trans); - if(os::is_MP()) { if (UseMembar) { __ strw(rscratch1, Address(rthread, JavaThread::thread_state_offset())); // Force this write out before the read below __ dmb(Assembler::ISH); --- 1948,1957 ----
*** 1964,1976 **** // We use the current thread pointer to calculate a thread specific // offset to write to within the page. This minimizes bus traffic // due to cache line collision. __ serialize_memory(rthread, r2); } - } else { - __ strw(rscratch1, Address(rthread, JavaThread::thread_state_offset())); - } // check for safepoint operation in progress and/or pending suspend requests Label safepoint_in_progress, safepoint_in_progress_done; { __ safepoint_poll_acquire(safepoint_in_progress); --- 1963,1972 ----
< prev index next >