Mercurial > hg > truffle
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 |