diff src/share/vm/memory/space.hpp @ 347:60fb9c4db4e6

6718086: CMS assert: _concurrent_iteration_safe_limit update missed Summary: Initialize the field correctly in ContiguousSpace's constructor and initialize() methods, using the latter for the survivor spaces upon initial construction or a subsequent resizing of the young generation. Add some missing Space sub-class constructors. Reviewed-by: apetrusenko
author ysr
date Mon, 23 Jun 2008 16:49:37 -0700
parents 37f87013dfd8
children 1ee8caae33af
line wrap: on
line diff
--- a/src/share/vm/memory/space.hpp	Tue Jun 17 08:40:48 2008 -0700
+++ b/src/share/vm/memory/space.hpp	Mon Jun 23 16:49:37 2008 -0700
@@ -373,6 +373,9 @@
   CompactibleSpace* _next_compaction_space;
 
 public:
+  CompactibleSpace() :
+   _compaction_top(NULL), _next_compaction_space(NULL) {}
+
   virtual void initialize(MemRegion mr, bool clear_space);
   virtual void clear();
 
@@ -766,6 +769,10 @@
   inline HeapWord* par_allocate_impl(size_t word_size, HeapWord* end_value);
 
  public:
+  ContiguousSpace() :
+    _top(NULL),
+    _concurrent_iteration_safe_limit(NULL) {}
+
   virtual void initialize(MemRegion mr, bool clear_space);
 
   // Accessors
@@ -970,7 +977,8 @@
   HeapWord* _soft_end;
 
  public:
-  EdenSpace(DefNewGeneration* gen) : _gen(gen) { _soft_end = NULL; }
+  EdenSpace(DefNewGeneration* gen) :
+   _gen(gen), _soft_end(NULL) {}
 
   // Get/set just the 'soft' limit.
   HeapWord* soft_end()               { return _soft_end; }