# HG changeset patch # User stefank # Date 1432210215 -7200 # Node ID 4e2d1bd1670306cf7f507ed75c82eb50751d1ca2 # Parent e90a8de769e47adde091f28e0f566bad0a98abba 8080869: FlexibleWorkGang initializes _active_workers to more than _total_workers Reviewed-by: kbarrett, jmasa diff -r e90a8de769e4 -r 4e2d1bd16703 hotspot/src/share/vm/gc/shared/workgroup.hpp --- a/hotspot/src/share/vm/gc/shared/workgroup.hpp Thu May 21 09:35:59 2015 +0200 +++ b/hotspot/src/share/vm/gc/shared/workgroup.hpp Thu May 21 14:10:15 2015 +0200 @@ -315,15 +315,13 @@ 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,