OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
190 if (allocation_marking_factor_ < kFastMarking) { | 190 if (allocation_marking_factor_ < kFastMarking) { |
191 if (FLAG_trace_gc) { | 191 if (FLAG_trace_gc) { |
192 PrintF("Increasing marking speed to %d due to high promotion rate\n", | 192 PrintF("Increasing marking speed to %d due to high promotion rate\n", |
193 static_cast<int>(kFastMarking)); | 193 static_cast<int>(kFastMarking)); |
194 } | 194 } |
195 allocation_marking_factor_ = kFastMarking; | 195 allocation_marking_factor_ = kFastMarking; |
196 } | 196 } |
197 } | 197 } |
198 } | 198 } |
199 | 199 |
| 200 void UncommitMarkingDeque(); |
| 201 |
200 private: | 202 private: |
201 void set_should_hurry(bool val) { | 203 void set_should_hurry(bool val) { |
202 should_hurry_ = val; | 204 should_hurry_ = val; |
203 } | 205 } |
204 | 206 |
205 int64_t SpaceLeftInOldSpace(); | 207 int64_t SpaceLeftInOldSpace(); |
206 | 208 |
207 void ResetStepCounters(); | 209 void ResetStepCounters(); |
208 | 210 |
209 void StartMarking(); | 211 void StartMarking(); |
(...skipping 12 matching lines...) Expand all Loading... |
222 void EnsureMarkingDequeIsCommitted(); | 224 void EnsureMarkingDequeIsCommitted(); |
223 | 225 |
224 void VisitGlobalContext(Context* ctx, ObjectVisitor* v); | 226 void VisitGlobalContext(Context* ctx, ObjectVisitor* v); |
225 | 227 |
226 Heap* heap_; | 228 Heap* heap_; |
227 | 229 |
228 State state_; | 230 State state_; |
229 bool is_compacting_; | 231 bool is_compacting_; |
230 | 232 |
231 VirtualMemory* marking_deque_memory_; | 233 VirtualMemory* marking_deque_memory_; |
| 234 bool marking_deque_memory_committed_; |
232 MarkingDeque marking_deque_; | 235 MarkingDeque marking_deque_; |
233 | 236 |
234 int steps_count_; | 237 int steps_count_; |
235 double steps_took_; | 238 double steps_took_; |
236 double longest_step_; | 239 double longest_step_; |
237 int64_t old_generation_space_available_at_start_of_incremental_; | 240 int64_t old_generation_space_available_at_start_of_incremental_; |
238 int64_t old_generation_space_used_at_start_of_incremental_; | 241 int64_t old_generation_space_used_at_start_of_incremental_; |
239 int steps_count_since_last_gc_; | 242 int steps_count_since_last_gc_; |
240 double steps_took_since_last_gc_; | 243 double steps_took_since_last_gc_; |
241 int64_t bytes_rescanned_; | 244 int64_t bytes_rescanned_; |
242 bool should_hurry_; | 245 bool should_hurry_; |
243 int allocation_marking_factor_; | 246 int allocation_marking_factor_; |
244 intptr_t allocated_; | 247 intptr_t allocated_; |
245 | 248 |
246 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); | 249 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); |
247 }; | 250 }; |
248 | 251 |
249 } } // namespace v8::internal | 252 } } // namespace v8::internal |
250 | 253 |
251 #endif // V8_INCREMENTAL_MARKING_H_ | 254 #endif // V8_INCREMENTAL_MARKING_H_ |
OLD | NEW |