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 consolidate them. |
102 // the shortest gap between them and consolidate them. |
103 // For now, we have taken the expedient alternative of forgetting |
103 // For now, we have taken the expedient alternative of forgetting |
104 // the oldest entry in the event that +G1ForgetfulMMUTracker, thus |
104 // the oldest entry in the event that +G1UseFixedWindowMMUTracker, thus |
105 // potentially violating MMU specs for some time thereafter. |
105 // potentially violating MMU specs for some time thereafter. |
106 |
106 |
107 G1MMUTrackerQueueElem _array[QueueLength]; |
107 G1MMUTrackerQueueElem _array[QueueLength]; |
108 int _head_index; |
108 int _head_index; |
109 int _tail_index; |
109 int _tail_index; |