< prev index next >

src/hotspot/share/gc/shared/c2/cardTableBarrierSetC2.cpp

Print this page

        

*** 103,113 **** int adr_type = Compile::AliasIdxRaw; Node* zero = __ ConI(0); // Dirty card value if (UseCondCardMark) { if (ct->scanned_concurrently()) { ! kit->insert_store_load_for_barrier(); __ sync_kit(kit); } // The classic GC reference write barrier is typically implemented // as a store into the global card mark table. Unfortunately // unconditional stores can result in false sharing and excessive --- 103,113 ---- int adr_type = Compile::AliasIdxRaw; Node* zero = __ ConI(0); // Dirty card value if (UseCondCardMark) { if (ct->scanned_concurrently()) { ! kit->insert_mem_bar(Op_MemBarVolatile, oop_store); __ sync_kit(kit); } // The classic GC reference write barrier is typically implemented // as a store into the global card mark table. Unfortunately // unconditional stores can result in false sharing and excessive
< prev index next >