< prev index next >

src/hotspot/cpu/x86/gc/g1/g1BarrierSetAssembler_x86.cpp

Print this page
rev 55659 : 8225776: Branch profiling for G1's write post-barrier in C2.

*** 266,275 **** --- 266,281 ---- Register tmp2) { #ifdef _LP64 assert(thread == r15_thread, "must be"); #endif // _LP64 + if (UsePerfData && G1WriteBarrierStats) { + __ pusha(); + __ call_VM_leaf(CAST_FROM_FN_PTR(address, G1BarrierSetRuntime::write_ref_stats), store_addr, new_val); + __ popa(); + } + Address queue_index(thread, in_bytes(G1ThreadLocalData::dirty_card_queue_index_offset())); Address buffer(thread, in_bytes(G1ThreadLocalData::dirty_card_queue_buffer_offset())); CardTableBarrierSet* ct = barrier_set_cast<CardTableBarrierSet>(BarrierSet::barrier_set());
< prev index next >