165 |
165 |
166 // Other related classes. |
166 // Other related classes. |
167 friend class G1MarkSweep; |
167 friend class G1MarkSweep; |
168 |
168 |
169 private: |
169 private: |
170 enum SomePrivateConstants { |
|
171 VeryLargeInBytes = HeapRegion::GrainBytes/2, |
|
172 VeryLargeInWords = VeryLargeInBytes/HeapWordSize, |
|
173 MinHeapDeltaBytes = 10 * HeapRegion::GrainBytes, // FIXME |
|
174 NumAPIs = HeapRegion::MaxAge |
|
175 }; |
|
176 |
|
177 // The one and only G1CollectedHeap, so static functions can find it. |
170 // The one and only G1CollectedHeap, so static functions can find it. |
178 static G1CollectedHeap* _g1h; |
171 static G1CollectedHeap* _g1h; |
|
172 |
|
173 static size_t _humongous_object_threshold_in_words; |
179 |
174 |
180 // Storage for the G1 heap (excludes the permanent generation). |
175 // Storage for the G1 heap (excludes the permanent generation). |
181 VirtualSpace _g1_storage; |
176 VirtualSpace _g1_storage; |
182 MemRegion _g1_reserved; |
177 MemRegion _g1_reserved; |
183 |
178 |
1019 // words. |
1014 // words. |
1020 virtual size_t large_typearray_limit(); |
1015 virtual size_t large_typearray_limit(); |
1021 |
1016 |
1022 // Returns "true" iff the given word_size is "very large". |
1017 // Returns "true" iff the given word_size is "very large". |
1023 static bool isHumongous(size_t word_size) { |
1018 static bool isHumongous(size_t word_size) { |
1024 return word_size >= VeryLargeInWords; |
1019 return word_size >= _humongous_object_threshold_in_words; |
1025 } |
1020 } |
1026 |
1021 |
1027 // Update mod union table with the set of dirty cards. |
1022 // Update mod union table with the set of dirty cards. |
1028 void updateModUnion(); |
1023 void updateModUnion(); |
1029 |
1024 |