540 public:
541 WorkGang* workers() const { return _workers; }
542
543 G1Allocator* allocator() {
544 return _allocator;
545 }
546
547 G1HeapVerifier* verifier() {
548 return _verifier;
549 }
550
551 G1MonitoringSupport* g1mm() {
552 assert(_g1mm != NULL, "should have been initialized");
553 return _g1mm;
554 }
555
556 // Expand the garbage-first heap by at least the given size (in bytes!).
557 // Returns true if the heap was expanded by the requested amount;
558 // false otherwise.
559 // (Rounds up to a HeapRegion boundary.)
560 bool expand(size_t expand_bytes, double* expand_time_ms = NULL);
561
562 // Returns the PLAB statistics for a given destination.
563 inline G1EvacStats* alloc_buffer_stats(InCSetState dest);
564
565 // Determines PLAB size for a given destination.
566 inline size_t desired_plab_sz(InCSetState dest);
567
568 inline AllocationContextStats& allocation_context_stats();
569
570 // Do anything common to GC's.
571 void gc_prologue(bool full);
572 void gc_epilogue(bool full);
573
574 // Modify the reclaim candidate set and test for presence.
575 // These are only valid for starts_humongous regions.
576 inline void set_humongous_reclaim_candidate(uint region, bool value);
577 inline bool is_humongous_reclaim_candidate(uint region);
578
579 // Remove from the reclaim candidate set. Also remove from the
580 // collection set so that later encounters avoid the slow path.
|
540 public:
541 WorkGang* workers() const { return _workers; }
542
543 G1Allocator* allocator() {
544 return _allocator;
545 }
546
547 G1HeapVerifier* verifier() {
548 return _verifier;
549 }
550
551 G1MonitoringSupport* g1mm() {
552 assert(_g1mm != NULL, "should have been initialized");
553 return _g1mm;
554 }
555
556 // Expand the garbage-first heap by at least the given size (in bytes!).
557 // Returns true if the heap was expanded by the requested amount;
558 // false otherwise.
559 // (Rounds up to a HeapRegion boundary.)
560 bool expand(size_t expand_bytes, WorkGang* pretouch_workers = NULL, double* expand_time_ms = NULL);
561
562 // Returns the PLAB statistics for a given destination.
563 inline G1EvacStats* alloc_buffer_stats(InCSetState dest);
564
565 // Determines PLAB size for a given destination.
566 inline size_t desired_plab_sz(InCSetState dest);
567
568 inline AllocationContextStats& allocation_context_stats();
569
570 // Do anything common to GC's.
571 void gc_prologue(bool full);
572 void gc_epilogue(bool full);
573
574 // Modify the reclaim candidate set and test for presence.
575 // These are only valid for starts_humongous regions.
576 inline void set_humongous_reclaim_candidate(uint region, bool value);
577 inline bool is_humongous_reclaim_candidate(uint region);
578
579 // Remove from the reclaim candidate set. Also remove from the
580 // collection set so that later encounters avoid the slow path.
|