Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @ 807:d44bdab1c03d
6843694: G1: assert(index < _vs.committed_size(),"bad index"), g1BlockOffsetTable.inline.hpp:55
Summary: For heaps larger than 32Gb, the number of heap regions overflows the data type used to hold the region index in the SparsePRT structure. Changed the region indexes, card indexes, and RSet hash table buckets to ints and added some size overflow guarantees.
Reviewed-by: ysr, tonyp
author | johnc |
---|---|
date | Thu, 11 Jun 2009 17:19:33 -0700 |
parents | 29e7d79232b9 |
children | 830ca2573896 |
comparison
equal
deleted
inserted
replaced
806:821269eca479 | 807:d44bdab1c03d |
---|---|
57 #endif | 57 #endif |
58 | 58 |
59 typedef GenericTaskQueue<oop*> RefToScanQueue; | 59 typedef GenericTaskQueue<oop*> RefToScanQueue; |
60 typedef GenericTaskQueueSet<oop*> RefToScanQueueSet; | 60 typedef GenericTaskQueueSet<oop*> RefToScanQueueSet; |
61 | 61 |
62 typedef int RegionIdx_t; // needs to hold [ 0..max_regions() ) | |
63 typedef int CardIdx_t; // needs to hold [ 0..CardsPerRegion ) | |
64 | |
62 enum G1GCThreadGroups { | 65 enum G1GCThreadGroups { |
63 G1CRGroup = 0, | 66 G1CRGroup = 0, |
64 G1ZFGroup = 1, | 67 G1ZFGroup = 1, |
65 G1CMGroup = 2, | 68 G1CMGroup = 2, |
66 G1CLGroup = 3 | 69 G1CLGroup = 3 |