src/share/vm/gc_implementation/g1/concurrentMark.hpp

changeset 4549
256d3f43c177
parent 4386
d275c3dc73e6
child 4555
f90b9bceb8e5
     1.1 --- a/src/share/vm/gc_implementation/g1/concurrentMark.hpp	Fri Feb 01 17:21:53 2013 -0800
     1.2 +++ b/src/share/vm/gc_implementation/g1/concurrentMark.hpp	Thu Jan 31 10:45:09 2013 -0800
     1.3 @@ -499,17 +499,26 @@
     1.4    }
     1.5  
     1.6    // accessor methods
     1.7 -  uint parallel_marking_threads() { return _parallel_marking_threads; }
     1.8 -  uint max_parallel_marking_threads() { return _max_parallel_marking_threads;}
     1.9 -  double sleep_factor()             { return _sleep_factor; }
    1.10 -  double marking_task_overhead()    { return _marking_task_overhead;}
    1.11 -  double cleanup_sleep_factor()     { return _cleanup_sleep_factor; }
    1.12 -  double cleanup_task_overhead()    { return _cleanup_task_overhead;}
    1.13 +  uint parallel_marking_threads() const     { return _parallel_marking_threads; }
    1.14 +  uint max_parallel_marking_threads() const { return _max_parallel_marking_threads;}
    1.15 +  double sleep_factor()                     { return _sleep_factor; }
    1.16 +  double marking_task_overhead()            { return _marking_task_overhead;}
    1.17 +  double cleanup_sleep_factor()             { return _cleanup_sleep_factor; }
    1.18 +  double cleanup_task_overhead()            { return _cleanup_task_overhead;}
    1.19  
    1.20 -  HeapWord*               finger()        { return _finger;   }
    1.21 -  bool                    concurrent()    { return _concurrent; }
    1.22 -  uint                    active_tasks()  { return _active_tasks; }
    1.23 -  ParallelTaskTerminator* terminator()    { return &_terminator; }
    1.24 +  bool use_parallel_marking_threads() const {
    1.25 +    assert(parallel_marking_threads() <=
    1.26 +           max_parallel_marking_threads(), "sanity");
    1.27 +    assert((_parallel_workers == NULL && parallel_marking_threads() == 0) ||
    1.28 +           parallel_marking_threads() > 0,
    1.29 +           "parallel workers not set up correctly");
    1.30 +    return _parallel_workers != NULL;
    1.31 +  }
    1.32 +
    1.33 +  HeapWord*               finger()          { return _finger;   }
    1.34 +  bool                    concurrent()      { return _concurrent; }
    1.35 +  uint                    active_tasks()    { return _active_tasks; }
    1.36 +  ParallelTaskTerminator* terminator()      { return &_terminator; }
    1.37  
    1.38    // It claims the next available region to be scanned by a marking
    1.39    // task/thread. It might return NULL if the next region is empty or

mercurial