equal
deleted
inserted
replaced
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; |