comparison src/share/vm/memory/space.cpp @ 14909:4ca6dc0799b6

Backout jdk9 merge
author Gilles Duboscq <duboscq@ssw.jku.at>
date Tue, 01 Apr 2014 13:57:07 +0200
parents 63a4eb8bcd23
children 89152779163c
comparison
equal deleted inserted replaced
14908:8db6e76cb658 14909:4ca6dc0799b6
1 /* 1 /*
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
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-destructive pre-scan 115 // it slightly more efficient than doing a complete non-detructive 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 advertise an increase in size 327 // Space should not advertize an increase in size
328 // until after the underlying offset table has been enlarged. 328 // until after the underlying offest 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 ContiguousSpace object_iterate() and safe_object_iterate() 732 // For a continguous space 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