comparison src/share/vm/gc_implementation/g1/heapRegion.hpp @ 12233:40136aa2cdb1

8010722: assert: failed: heap size is too big for compressed oops Summary: Use conservative assumptions of required alignment for the various garbage collector components into account when determining the maximum heap size that supports compressed oops. Using this conservative value avoids several circular dependencies in the calculation. Reviewed-by: stefank, dholmes
author tschatzl
date Wed, 11 Sep 2013 16:25:02 +0200
parents 84683e78e713
children 96b1c2e06e25
comparison
equal deleted inserted replaced
12230:040895ec3920 12233:40136aa2cdb1
1 /* 1 /*
2 * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2001, 2013, 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.
352 352
353 static size_t align_up_to_region_byte_size(size_t sz) { 353 static size_t align_up_to_region_byte_size(size_t sz) {
354 return (sz + (size_t) GrainBytes - 1) & 354 return (sz + (size_t) GrainBytes - 1) &
355 ~((1 << (size_t) LogOfHRGrainBytes) - 1); 355 ~((1 << (size_t) LogOfHRGrainBytes) - 1);
356 } 356 }
357
358 static size_t max_region_size();
357 359
358 // It sets up the heap region size (GrainBytes / GrainWords), as 360 // It sets up the heap region size (GrainBytes / GrainWords), as
359 // well as other related fields that are based on the heap region 361 // well as other related fields that are based on the heap region
360 // size (LogOfHRGrainBytes / LogOfHRGrainWords / 362 // size (LogOfHRGrainBytes / LogOfHRGrainWords /
361 // CardsPerRegion). All those fields are considered constant 363 // CardsPerRegion). All those fields are considered constant