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

Print this page
rev 2591 : 6814390: G1: remove the concept of non-generational G1
Summary: Removed the possibility to turn off generational mode for G1.
Reviewed-by:

*** 1261,1280 **** // We don't need barriers for initializing stores to objects // 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. Note that non-generational ! // G1 does not have any "young" objects, should not elide ! // the rs logging barrier and so should always answer false below. ! // However, non-generational G1 (-XX:-G1Gen) appears to have ! // bit-rotted so was not tested below. virtual bool can_elide_initializing_store_barrier(oop new_obj) { // Re 6920090, 6920109 above. assert(ReduceInitialCardMarksForG1, "Else cannot be here"); - assert(G1Gen || !is_in_young(new_obj), - "Non-generational G1 should never return true below"); 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 --- 1261,1274 ---- // We don't need barriers for initializing stores to objects // 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