533 void process_discovered_references(G1ParScanThreadStateSet* per_thread_states);
534
535 // If during an initial mark pause we may install a pending list head which is not
536 // otherwise reachable ensure that it is marked in the bitmap for concurrent marking
537 // to discover.
538 void make_pending_list_reachable();
539
540 // Merges the information gathered on a per-thread basis for all worker threads
541 // during GC into global variables.
542 void merge_per_thread_state_info(G1ParScanThreadStateSet* per_thread_states);
543
544 void verify_numa_regions(const char* desc);
545
546 public:
547 G1YoungRemSetSamplingThread* sampling_thread() const { return _young_gen_sampling_thread; }
548
549 WorkGang* workers() const { return _workers; }
550
551 // Runs the given AbstractGangTask with the current active workers, returning the
552 // total time taken.
553 Tickspan run_task(AbstractGangTask* task);
554
555 G1Allocator* allocator() {
556 return _allocator;
557 }
558
559 G1HeapVerifier* verifier() {
560 return _verifier;
561 }
562
563 G1MonitoringSupport* g1mm() {
564 assert(_g1mm != NULL, "should have been initialized");
565 return _g1mm;
566 }
567
568 void resize_heap_if_necessary();
569
570 G1NUMA* numa() const { return _numa; }
571
572 // Expand the garbage-first heap by at least the given size (in bytes!).
573 // Returns true if the heap was expanded by the requested amount;
|
533 void process_discovered_references(G1ParScanThreadStateSet* per_thread_states);
534
535 // If during an initial mark pause we may install a pending list head which is not
536 // otherwise reachable ensure that it is marked in the bitmap for concurrent marking
537 // to discover.
538 void make_pending_list_reachable();
539
540 // Merges the information gathered on a per-thread basis for all worker threads
541 // during GC into global variables.
542 void merge_per_thread_state_info(G1ParScanThreadStateSet* per_thread_states);
543
544 void verify_numa_regions(const char* desc);
545
546 public:
547 G1YoungRemSetSamplingThread* sampling_thread() const { return _young_gen_sampling_thread; }
548
549 WorkGang* workers() const { return _workers; }
550
551 // Runs the given AbstractGangTask with the current active workers, returning the
552 // total time taken.
553 virtual Tickspan run_task(AbstractGangTask* task);
554
555 G1Allocator* allocator() {
556 return _allocator;
557 }
558
559 G1HeapVerifier* verifier() {
560 return _verifier;
561 }
562
563 G1MonitoringSupport* g1mm() {
564 assert(_g1mm != NULL, "should have been initialized");
565 return _g1mm;
566 }
567
568 void resize_heap_if_necessary();
569
570 G1NUMA* numa() const { return _numa; }
571
572 // Expand the garbage-first heap by at least the given size (in bytes!).
573 // Returns true if the heap was expanded by the requested amount;
|