< prev index next >

src/hotspot/share/gc/cms/concurrentMarkSweepGeneration.hpp

Print this page




 760   // CMS work methods
 761   void checkpointRootsInitialWork(); // Initial checkpoint work
 762 
 763   // A return value of false indicates failure due to stack overflow
 764   bool markFromRootsWork();  // Concurrent marking work
 765 
 766  public:   // FIX ME!!! only for testing
 767   bool do_marking_st();      // Single-threaded marking
 768   bool do_marking_mt();      // Multi-threaded  marking
 769 
 770  private:
 771 
 772   // Concurrent precleaning work
 773   size_t preclean_mod_union_table(ConcurrentMarkSweepGeneration* old_gen,
 774                                   ScanMarkedObjectsAgainCarefullyClosure* cl);
 775   size_t preclean_card_table(ConcurrentMarkSweepGeneration* old_gen,
 776                              ScanMarkedObjectsAgainCarefullyClosure* cl);
 777   // Does precleaning work, returning a quantity indicative of
 778   // the amount of "useful work" done.
 779   size_t preclean_work(bool clean_refs, bool clean_survivors);
 780   void preclean_klasses(MarkRefsIntoAndScanClosure* cl, Mutex* freelistLock);
 781   void abortable_preclean(); // Preclean while looking for possible abort
 782   void initialize_sequential_subtasks_for_young_gen_rescan(int i);
 783   // Helper function for above; merge-sorts the per-thread plab samples
 784   void merge_survivor_plab_arrays(ContiguousSpace* surv, int no_of_gc_threads);
 785   // Resets (i.e. clears) the per-thread plab sample vectors
 786   void reset_survivor_plab_arrays();
 787 
 788   // Final (second) checkpoint work
 789   void checkpointRootsFinalWork();
 790   // Work routine for parallel version of remark
 791   void do_remark_parallel();
 792   // Work routine for non-parallel version of remark
 793   void do_remark_non_parallel();
 794   // Reference processing work routine (during second checkpoint)
 795   void refProcessingWork();
 796 
 797   // Concurrent sweeping work
 798   void sweepWork(ConcurrentMarkSweepGeneration* old_gen);
 799 
 800   // Concurrent resetting of support data structures




 760   // CMS work methods
 761   void checkpointRootsInitialWork(); // Initial checkpoint work
 762 
 763   // A return value of false indicates failure due to stack overflow
 764   bool markFromRootsWork();  // Concurrent marking work
 765 
 766  public:   // FIX ME!!! only for testing
 767   bool do_marking_st();      // Single-threaded marking
 768   bool do_marking_mt();      // Multi-threaded  marking
 769 
 770  private:
 771 
 772   // Concurrent precleaning work
 773   size_t preclean_mod_union_table(ConcurrentMarkSweepGeneration* old_gen,
 774                                   ScanMarkedObjectsAgainCarefullyClosure* cl);
 775   size_t preclean_card_table(ConcurrentMarkSweepGeneration* old_gen,
 776                              ScanMarkedObjectsAgainCarefullyClosure* cl);
 777   // Does precleaning work, returning a quantity indicative of
 778   // the amount of "useful work" done.
 779   size_t preclean_work(bool clean_refs, bool clean_survivors);
 780   void preclean_cld(MarkRefsIntoAndScanClosure* cl, Mutex* freelistLock);
 781   void abortable_preclean(); // Preclean while looking for possible abort
 782   void initialize_sequential_subtasks_for_young_gen_rescan(int i);
 783   // Helper function for above; merge-sorts the per-thread plab samples
 784   void merge_survivor_plab_arrays(ContiguousSpace* surv, int no_of_gc_threads);
 785   // Resets (i.e. clears) the per-thread plab sample vectors
 786   void reset_survivor_plab_arrays();
 787 
 788   // Final (second) checkpoint work
 789   void checkpointRootsFinalWork();
 790   // Work routine for parallel version of remark
 791   void do_remark_parallel();
 792   // Work routine for non-parallel version of remark
 793   void do_remark_non_parallel();
 794   // Reference processing work routine (during second checkpoint)
 795   void refProcessingWork();
 796 
 797   // Concurrent sweeping work
 798   void sweepWork(ConcurrentMarkSweepGeneration* old_gen);
 799 
 800   // Concurrent resetting of support data structures


< prev index next >