Mercurial > hg > truffle
comparison src/share/vm/gc_implementation/g1/g1MMUTracker.hpp @ 1088:3fc996d4edd2
6902303: G1: ScavengeALot should cause an incremental, rather than a full, collection
Summary: ScavengeALot now causes an incremental (but possibly partially young, in the G1 sense) collection. Some such collections may be abandoned on account of MMU specs. Band-aided a native leak associated with abandoned pauses, as well as an MMU tracker overflow related to frequent scavenge events in the face of a large MMU denominator interval; the latter is protected by a product flag that defaults to false.
Reviewed-by: tonyp
author | ysr |
---|---|
date | Thu, 19 Nov 2009 13:43:25 -0800 |
parents | e1fdf4fd34dc |
children | b81f3572f355 |
comparison
equal
deleted
inserted
replaced
1087:23b9a8d315fc | 1088:3fc996d4edd2 |
---|---|
97 // The data structure implemented is a circular queue. | 97 // The data structure implemented is a circular queue. |
98 // Head "points" to the most recent addition, tail to the oldest one. | 98 // Head "points" to the most recent addition, tail to the oldest one. |
99 // The array is of fixed size and I don't think we'll need more than | 99 // The array is of fixed size and I don't think we'll need more than |
100 // two or three entries with the current behaviour of G1 pauses. | 100 // two or three entries with the current behaviour of G1 pauses. |
101 // If the array is full, an easy fix is to look for the pauses with | 101 // If the array is full, an easy fix is to look for the pauses with |
102 // the shortest gap between them and concolidate them. | 102 // the shortest gap between them and consolidate them. |
103 // For now, we have taken the expedient alternative of forgetting | |
104 // the oldest entry in the event that +G1ForgetfulMMUTracker, thus | |
105 // potentially violating MMU specs for some time thereafter. | |
103 | 106 |
104 G1MMUTrackerQueueElem _array[QueueLength]; | 107 G1MMUTrackerQueueElem _array[QueueLength]; |
105 int _head_index; | 108 int _head_index; |
106 int _tail_index; | 109 int _tail_index; |
107 int _no_entries; | 110 int _no_entries; |