Mercurial > hg > truffle
comparison src/share/vm/memory/compactingPermGenGen.cpp @ 4907:77a488cd4af2
7140866: assert(covered) failed: Card for end of new region not committed
Summary: resize covered region only after successfully mapping shared archive
Reviewed-by: brutisso, ysr
Contributed-by: dean.long@oracle.com
author | dlong |
---|---|
date | Wed, 15 Feb 2012 00:51:07 -0500 |
parents | 1d1603768966 |
children | b632e80fc9dc |
comparison
equal
deleted
inserted
replaced
4901:b7b8b6d2f97d | 4907:77a488cd4af2 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2003, 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. |
238 NOT_PRODUCT(ZapUnusedHeapArea = old_ZapUnusedHeapArea;) | 238 NOT_PRODUCT(ZapUnusedHeapArea = old_ZapUnusedHeapArea;) |
239 | 239 |
240 if (_ro_space == NULL || _rw_space == NULL) | 240 if (_ro_space == NULL || _rw_space == NULL) |
241 vm_exit_during_initialization("Could not allocate a shared space"); | 241 vm_exit_during_initialization("Could not allocate a shared space"); |
242 | 242 |
243 // Cover both shared spaces entirely with cards. | |
244 _rs->resize_covered_region(MemRegion(readonly_bottom, readwrite_end)); | |
245 | |
246 if (UseSharedSpaces) { | 243 if (UseSharedSpaces) { |
247 | 244 |
248 // Map in the regions in the shared file. | 245 // Map in the regions in the shared file. |
249 FileMapInfo* mapinfo = FileMapInfo::current_info(); | 246 FileMapInfo* mapinfo = FileMapInfo::current_info(); |
250 size_t image_alignment = mapinfo->alignment(); | 247 size_t image_alignment = mapinfo->alignment(); |
277 delete _rw_bts; | 274 delete _rw_bts; |
278 _rw_bts = NULL; | 275 _rw_bts = NULL; |
279 delete _rw_space; | 276 delete _rw_space; |
280 _rw_space = NULL; | 277 _rw_space = NULL; |
281 shared_end = (HeapWord*)(rs.base() + rs.size()); | 278 shared_end = (HeapWord*)(rs.base() + rs.size()); |
282 _rs->resize_covered_region(MemRegion(shared_bottom, shared_bottom)); | |
283 } | 279 } |
280 } | |
281 | |
282 if (spec()->enable_shared_spaces()) { | |
283 // Cover both shared spaces entirely with cards. | |
284 _rs->resize_covered_region(MemRegion(readonly_bottom, readwrite_end)); | |
284 } | 285 } |
285 | 286 |
286 // Reserved region includes shared spaces for oop.is_in_reserved(). | 287 // Reserved region includes shared spaces for oop.is_in_reserved(). |
287 _reserved.set_end(shared_end); | 288 _reserved.set_end(shared_end); |
288 | 289 |