comparison src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp @ 10329:10f759898d40

7186737: Unable to allocate bit maps or card tables for parallel gc for the requested heap Summary: Print helpful error message when VM aborts due to inability of allocating bit maps or card tables Reviewed-by: jmasa, stefank Contributed-by: tamao <tao.mao@oracle.com>
author tamao
date Mon, 20 May 2013 10:44:33 -0700
parents 001ec9515f84
children 5534bd30c151
comparison
equal deleted inserted replaced
10328:2138a2c14831 10329:10f759898d40
1 /* 1 /*
2 * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2005, 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.
345 public: 345 public:
346 ParallelCompactData(); 346 ParallelCompactData();
347 bool initialize(MemRegion covered_region); 347 bool initialize(MemRegion covered_region);
348 348
349 size_t region_count() const { return _region_count; } 349 size_t region_count() const { return _region_count; }
350 size_t reserved_byte_size() const { return _reserved_byte_size; }
350 351
351 // Convert region indices to/from RegionData pointers. 352 // Convert region indices to/from RegionData pointers.
352 inline RegionData* region(size_t region_idx) const; 353 inline RegionData* region(size_t region_idx) const;
353 inline size_t region(const RegionData* const region_ptr) const; 354 inline size_t region(const RegionData* const region_ptr) const;
354 355
418 #ifdef ASSERT 419 #ifdef ASSERT
419 HeapWord* _region_end; 420 HeapWord* _region_end;
420 #endif // #ifdef ASSERT 421 #endif // #ifdef ASSERT
421 422
422 PSVirtualSpace* _region_vspace; 423 PSVirtualSpace* _region_vspace;
424 size_t _reserved_byte_size;
423 RegionData* _region_data; 425 RegionData* _region_data;
424 size_t _region_count; 426 size_t _region_count;
425 }; 427 };
426 428
427 inline uint 429 inline uint