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