hotspot/src/share/vm/memory/space.cpp
changeset 22551 9bf46d16dcc6
parent 22234 da823d78ad65
child 23508 3b15250ea28f
equal deleted inserted replaced
22550:820966182ab9 22551:9bf46d16dcc6
   110 
   110 
   111   // Some collectors need to do special things whenever their dirty
   111   // Some collectors need to do special things whenever their dirty
   112   // cards are processed. For instance, CMS must remember mutator updates
   112   // cards are processed. For instance, CMS must remember mutator updates
   113   // (i.e. dirty cards) so as to re-scan mutated objects.
   113   // (i.e. dirty cards) so as to re-scan mutated objects.
   114   // Such work can be piggy-backed here on dirty card scanning, so as to make
   114   // Such work can be piggy-backed here on dirty card scanning, so as to make
   115   // it slightly more efficient than doing a complete non-detructive pre-scan
   115   // it slightly more efficient than doing a complete non-destructive pre-scan
   116   // of the card table.
   116   // of the card table.
   117   MemRegionClosure* pCl = _sp->preconsumptionDirtyCardClosure();
   117   MemRegionClosure* pCl = _sp->preconsumptionDirtyCardClosure();
   118   if (pCl != NULL) {
   118   if (pCl != NULL) {
   119     pCl->do_MemRegion(mr);
   119     pCl->do_MemRegion(mr);
   120   }
   120   }
   322   Space::set_bottom(new_bottom);
   322   Space::set_bottom(new_bottom);
   323   _offsets.set_bottom(new_bottom);
   323   _offsets.set_bottom(new_bottom);
   324 }
   324 }
   325 
   325 
   326 void OffsetTableContigSpace::set_end(HeapWord* new_end) {
   326 void OffsetTableContigSpace::set_end(HeapWord* new_end) {
   327   // Space should not advertize an increase in size
   327   // Space should not advertise an increase in size
   328   // until after the underlying offest table has been enlarged.
   328   // until after the underlying offset table has been enlarged.
   329   _offsets.resize(pointer_delta(new_end, bottom()));
   329   _offsets.resize(pointer_delta(new_end, bottom()));
   330   Space::set_end(new_end);
   330   Space::set_end(new_end);
   331 }
   331 }
   332 
   332 
   333 #ifndef PRODUCT
   333 #ifndef PRODUCT
   727   if (is_empty()) return;
   727   if (is_empty()) return;
   728   WaterMark bm = bottom_mark();
   728   WaterMark bm = bottom_mark();
   729   object_iterate_from(bm, blk);
   729   object_iterate_from(bm, blk);
   730 }
   730 }
   731 
   731 
   732 // For a continguous space object_iterate() and safe_object_iterate()
   732 // For a ContiguousSpace object_iterate() and safe_object_iterate()
   733 // are the same.
   733 // are the same.
   734 void ContiguousSpace::safe_object_iterate(ObjectClosure* blk) {
   734 void ContiguousSpace::safe_object_iterate(ObjectClosure* blk) {
   735   object_iterate(blk);
   735   object_iterate(blk);
   736 }
   736 }
   737 
   737