< prev index next >
src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp
Print this page
*** 74,83 ****
--- 74,84 ----
class G1NewTracer;
class G1OldTracer;
class EvacuationFailedInfo;
class nmethod;
class Ticks;
+ class FlexibleWorkGang;
typedef OverflowTaskQueue<StarTask, mtGC> RefToScanQueue;
typedef GenericTaskQueueSet<RefToScanQueue, mtGC> RefToScanQueueSet;
typedef int RegionIdx_t; // needs to hold [ 0..max_regions() )
*** 202,211 ****
--- 203,214 ----
private:
// The one and only G1CollectedHeap, so static functions can find it.
static G1CollectedHeap* _g1h;
+ FlexibleWorkGang* _workers;
+
static size_t _humongous_object_threshold_in_words;
// The secondary free list which contains regions that have been
// freed up during the cleanup process. This will be appended to
// the master free list when appropriate.
*** 603,612 ****
--- 606,616 ----
// Enqueue any remaining discovered references
// after processing.
void enqueue_discovered_references(uint no_of_gc_workers);
public:
+ FlexibleWorkGang* workers() const { return _workers; }
G1Allocator* allocator() {
return _allocator;
}
*** 628,639 ****
inline size_t desired_plab_sz(InCSetState dest);
inline AllocationContextStats& allocation_context_stats();
// Do anything common to GC's.
! virtual void gc_prologue(bool full);
! virtual void gc_epilogue(bool full);
inline void set_humongous_is_live(oop obj);
bool humongous_is_live(uint region) {
return _humongous_is_live.is_live(region);
--- 632,643 ----
inline size_t desired_plab_sz(InCSetState dest);
inline AllocationContextStats& allocation_context_stats();
// Do anything common to GC's.
! void gc_prologue(bool full);
! void gc_epilogue(bool full);
inline void set_humongous_is_live(oop obj);
bool humongous_is_live(uint region) {
return _humongous_is_live.is_live(region);
*** 998,1009 ****
virtual void stop();
// Return the (conservative) maximum heap alignment for any G1 heap
static size_t conservative_max_heap_alignment();
// Initialize weak reference processing.
! virtual void ref_processing_init();
// Explicitly import set_par_threads into this scope
using SharedHeap::set_par_threads;
// Set _n_par_threads according to a policy TBD.
void set_par_threads();
--- 1002,1016 ----
virtual void stop();
// Return the (conservative) maximum heap alignment for any G1 heap
static size_t conservative_max_heap_alignment();
+ // Does operations required after initialization has been done.
+ void post_initialize();
+
// Initialize weak reference processing.
! void ref_processing_init();
// Explicitly import set_par_threads into this scope
using SharedHeap::set_par_threads;
// Set _n_par_threads according to a policy TBD.
void set_par_threads();
*** 1249,1272 ****
// a collection pause which used the card table to claim cards.
void cleanUpCardTable();
// Iteration functions.
- // Iterate over all the ref-containing fields of all objects, calling
- // "cl.do_oop" on each.
- virtual void oop_iterate(ExtendedOopClosure* cl);
-
// Iterate over all objects, calling "cl.do_object" on each.
virtual void object_iterate(ObjectClosure* cl);
virtual void safe_object_iterate(ObjectClosure* cl) {
object_iterate(cl);
}
- // Iterate over all spaces in use in the heap, in ascending address order.
- virtual void space_iterate(SpaceClosure* cl);
-
// Iterate over heap regions, in address order, terminating the
// iteration early if the "doHeapRegion" method returns "true".
void heap_region_iterate(HeapRegionClosure* blk) const;
// Return the region with the given index. It assumes the index is valid.
--- 1256,1272 ----
*** 1305,1318 ****
// As above but starting from region r
void collection_set_iterate_from(HeapRegion* r, HeapRegionClosure *blk);
HeapRegion* next_compaction_region(const HeapRegion* from) const;
- // A CollectedHeap will contain some number of spaces. This finds the
- // space containing a given address, or else returns NULL.
- virtual Space* space_containing(const void* addr) const;
-
// Returns the HeapRegion that contains addr. addr must not be NULL.
template <class T>
inline HeapRegion* heap_region_containing_raw(const T addr) const;
// Returns the HeapRegion that contains addr. addr must not be NULL.
--- 1305,1314 ----
< prev index next >