< prev index next >

src/share/vm/opto/graphKit.cpp

Print this page

        

*** 3787,3796 **** --- 3787,3799 ---- // Get the alias_index for raw card-mark memory int adr_type = Compile::AliasIdxRaw; Node* zero = __ ConI(0); // Dirty card value BasicType bt = T_BYTE; + insert_mem_bar(Op_MemBarVolatile); // StoreLoad barrier + __ sync_kit(this); + if (UseCondCardMark) { // 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 // coherence traffic as well as false transactional aborts.
< prev index next >