8080869: FlexibleWorkGang initializes _active_workers to more than _total_workers

Reviewed-by: kbarrett, jmasa
This commit is contained in:
Stefan Karlsson 2015-05-21 14:10:15 +02:00
parent 5dc3521a80
commit 4e9a9eee84

View File

@ -315,15 +315,13 @@ class FlexibleWorkGang: public WorkGang {
uint _active_workers;
public:
// Constructor and destructor.
// Initialize active_workers to a minimum value. Setting it to
// the parameter "workers" will initialize it to a maximum
// value which is not desirable.
FlexibleWorkGang(const char* name, uint workers,
bool are_GC_task_threads,
bool are_ConcurrentGC_threads) :
WorkGang(name, workers, are_GC_task_threads, are_ConcurrentGC_threads),
_active_workers(UseDynamicNumberOfGCThreads ? 1U : ParallelGCThreads) {}
// Accessors for fields
_active_workers(UseDynamicNumberOfGCThreads ? 1U : workers) {}
// Accessors for fields.
virtual uint active_workers() const { return _active_workers; }
void set_active_workers(uint v) {
assert(v <= _total_workers,