src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp

Print this page
rev 2723 : 7005808: G1: re-enable ReduceInitialCardMarks for G1
Summary: Remove the extra guard to allow G1 to use ReduceInitialCardMarks
Reviewed-by: duke

*** 1335,1350 **** // of this implementation depends crucially on being able to // answer very efficiently in constant time whether a piece of // storage in the heap comes from a young region or not. // See ReduceInitialCardMarks. virtual bool can_elide_tlab_store_barriers() const { ! // 6920090: Temporarily disabled, because of lingering ! // instabilities related to RICM with G1. In the ! // interim, the option ReduceInitialCardMarksForG1 ! // below is left solely as a debugging device at least ! // until 6920109 fixes the instabilities. ! return ReduceInitialCardMarksForG1; } virtual bool card_mark_must_follow_store() const { return true; } --- 1335,1345 ---- // of this implementation depends crucially on being able to // answer very efficiently in constant time whether a piece of // storage in the heap comes from a young region or not. // See ReduceInitialCardMarks. virtual bool can_elide_tlab_store_barriers() const { ! return true; } virtual bool card_mark_must_follow_store() const { return true; }
*** 1364,1375 **** // in the young gen: for the SATB pre-barrier, there is no // pre-value that needs to be remembered; for the remembered-set // update logging post-barrier, we don't maintain remembered set // information for young gen objects. virtual bool can_elide_initializing_store_barrier(oop new_obj) { - // Re 6920090, 6920109 above. - assert(ReduceInitialCardMarksForG1, "Else cannot be here"); return is_in_young(new_obj); } // Can a compiler elide a store barrier when it writes // a permanent oop into the heap? Applies when the compiler --- 1359,1368 ----