diff a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp --- a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp +++ b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp @@ -628,10 +628,15 @@ // Do anything common to GC's. void gc_prologue(bool full); void gc_epilogue(bool full); + // Can concurrent mark process this object immediately, i.e. mark as live without the need + // of pushing it on the mark stack (to process references)? + // Used to keep objects that are potentially eagerly reclaimed out of the mark stack. + // Its klass may still need to be handled. + inline bool can_be_marked_through_immediately(oop obj) const; // Does the given region fulfill remembered set based eager reclaim candidate requirements? bool is_potential_eager_reclaim_candidate(G1HeapRegion* r) const; inline bool is_humongous_reclaim_candidate(uint region);