< 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 >