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