< prev index next >

src/share/vm/gc/g1/concurrentG1Refine.hpp

Print this page
rev 13241 : imported patch 8183128-erikd-review


  63   size_t _min_yellow_zone_size;
  64 
  65   ConcurrentG1Refine(size_t green_zone,
  66                      size_t yellow_zone,
  67                      size_t red_zone,
  68                      size_t min_yellow_zone_size);
  69 
  70   // Update green/yellow/red zone values based on how well goals are being met.
  71   void update_zones(double update_rs_time,
  72                     size_t update_rs_processed_buffers,
  73                     double goal_ms);
  74 
  75   // Update thread thresholds to account for updated zone values.
  76   void update_thread_thresholds();
  77 
  78  public:
  79   ~ConcurrentG1Refine();
  80 
  81   // Returns ConcurrentG1Refine instance if succeeded to create/initialize ConcurrentG1Refine and ConcurrentG1RefineThread.
  82   // Otherwise, returns NULL with error code.
  83   static ConcurrentG1Refine* create(CardTableEntryClosure* refine_closure, jint* ecode);
  84 
  85   void stop();
  86 
  87   void adjust(double update_rs_time, size_t update_rs_processed_buffers, double goal_ms);
  88 
  89   // Iterate over all concurrent refinement threads
  90   void threads_do(ThreadClosure *tc);
  91 
  92   // Iterate over all worker refinement threads
  93   void worker_threads_do(ThreadClosure * tc);
  94 
  95   // The RS sampling thread has nothing to do with refinement, but is here for now.
  96   G1YoungRemSetSamplingThread * sampling_thread() const { return _sample_thread; }
  97 
  98   static uint thread_num();
  99 
 100   void print_worker_threads_on(outputStream* st) const;
 101 
 102   size_t green_zone() const      { return _green_zone;  }
 103   size_t yellow_zone() const     { return _yellow_zone; }


  63   size_t _min_yellow_zone_size;
  64 
  65   ConcurrentG1Refine(size_t green_zone,
  66                      size_t yellow_zone,
  67                      size_t red_zone,
  68                      size_t min_yellow_zone_size);
  69 
  70   // Update green/yellow/red zone values based on how well goals are being met.
  71   void update_zones(double update_rs_time,
  72                     size_t update_rs_processed_buffers,
  73                     double goal_ms);
  74 
  75   // Update thread thresholds to account for updated zone values.
  76   void update_thread_thresholds();
  77 
  78  public:
  79   ~ConcurrentG1Refine();
  80 
  81   // Returns ConcurrentG1Refine instance if succeeded to create/initialize ConcurrentG1Refine and ConcurrentG1RefineThread.
  82   // Otherwise, returns NULL with error code.
  83   static ConcurrentG1Refine* create(jint* ecode);
  84 
  85   void stop();
  86 
  87   void adjust(double update_rs_time, size_t update_rs_processed_buffers, double goal_ms);
  88 
  89   // Iterate over all concurrent refinement threads
  90   void threads_do(ThreadClosure *tc);
  91 
  92   // Iterate over all worker refinement threads
  93   void worker_threads_do(ThreadClosure * tc);
  94 
  95   // The RS sampling thread has nothing to do with refinement, but is here for now.
  96   G1YoungRemSetSamplingThread * sampling_thread() const { return _sample_thread; }
  97 
  98   static uint thread_num();
  99 
 100   void print_worker_threads_on(outputStream* st) const;
 101 
 102   size_t green_zone() const      { return _green_zone;  }
 103   size_t yellow_zone() const     { return _yellow_zone; }
< prev index next >