8080869: FlexibleWorkGang initializes _active_workers to more than _total_workers
authorstefank
Thu, 21 May 2015 14:10:15 +0200
changeset 30873 4e2d1bd16703
parent 30871 e90a8de769e4
child 30874 18714bae50db
8080869: FlexibleWorkGang initializes _active_workers to more than _total_workers Reviewed-by: kbarrett, jmasa
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,