OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_HEAP_INCREMENTAL_MARKING_H_ | 5 #ifndef V8_HEAP_INCREMENTAL_MARKING_H_ |
6 #define V8_HEAP_INCREMENTAL_MARKING_H_ | 6 #define V8_HEAP_INCREMENTAL_MARKING_H_ |
7 | 7 |
8 #include "src/cancelable-task.h" | 8 #include "src/cancelable-task.h" |
9 #include "src/execution.h" | 9 #include "src/execution.h" |
10 #include "src/heap/heap.h" | 10 #include "src/heap/heap.h" |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 inline void SetNewSpacePageFlags(MemoryChunk* chunk) { | 187 inline void SetNewSpacePageFlags(MemoryChunk* chunk) { |
188 SetNewSpacePageFlags(chunk, IsMarking()); | 188 SetNewSpacePageFlags(chunk, IsMarking()); |
189 } | 189 } |
190 | 190 |
191 bool IsCompacting() { return IsMarking() && is_compacting_; } | 191 bool IsCompacting() { return IsMarking() && is_compacting_; } |
192 | 192 |
193 void ActivateGeneratedStub(Code* stub); | 193 void ActivateGeneratedStub(Code* stub); |
194 | 194 |
195 void NotifyOfHighPromotionRate(); | 195 void NotifyOfHighPromotionRate(); |
196 | 196 |
197 void EnterNoMarkingScope() { no_marking_scope_depth_++; } | |
198 | |
199 void LeaveNoMarkingScope() { no_marking_scope_depth_--; } | |
200 | |
201 void NotifyIncompleteScanOfObject(int unscanned_bytes) { | 197 void NotifyIncompleteScanOfObject(int unscanned_bytes) { |
202 unscanned_bytes_of_large_object_ = unscanned_bytes; | 198 unscanned_bytes_of_large_object_ = unscanned_bytes; |
203 } | 199 } |
204 | 200 |
205 void ClearIdleMarkingDelayCounter(); | 201 void ClearIdleMarkingDelayCounter(); |
206 | 202 |
207 bool IsIdleMarkingDelayCounterLimitReached(); | 203 bool IsIdleMarkingDelayCounterLimitReached(); |
208 | 204 |
209 static void MarkObject(Heap* heap, HeapObject* object); | 205 static void MarkObject(Heap* heap, HeapObject* object); |
210 | 206 |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
284 int64_t old_generation_space_available_at_start_of_incremental_; | 280 int64_t old_generation_space_available_at_start_of_incremental_; |
285 int64_t old_generation_space_used_at_start_of_incremental_; | 281 int64_t old_generation_space_used_at_start_of_incremental_; |
286 int64_t bytes_rescanned_; | 282 int64_t bytes_rescanned_; |
287 bool should_hurry_; | 283 bool should_hurry_; |
288 int marking_speed_; | 284 int marking_speed_; |
289 intptr_t bytes_scanned_; | 285 intptr_t bytes_scanned_; |
290 intptr_t allocated_; | 286 intptr_t allocated_; |
291 intptr_t write_barriers_invoked_since_last_step_; | 287 intptr_t write_barriers_invoked_since_last_step_; |
292 size_t idle_marking_delay_counter_; | 288 size_t idle_marking_delay_counter_; |
293 | 289 |
294 int no_marking_scope_depth_; | |
295 | |
296 int unscanned_bytes_of_large_object_; | 290 int unscanned_bytes_of_large_object_; |
297 | 291 |
298 bool was_activated_; | 292 bool was_activated_; |
299 | 293 |
300 bool black_allocation_; | 294 bool black_allocation_; |
301 | 295 |
302 bool finalize_marking_completed_; | 296 bool finalize_marking_completed_; |
303 | 297 |
304 int incremental_marking_finalization_rounds_; | 298 int incremental_marking_finalization_rounds_; |
305 | 299 |
306 GCRequestType request_type_; | 300 GCRequestType request_type_; |
307 | 301 |
308 IncrementalMarkingJob incremental_marking_job_; | 302 IncrementalMarkingJob incremental_marking_job_; |
309 | 303 |
310 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); | 304 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); |
311 }; | 305 }; |
312 } // namespace internal | 306 } // namespace internal |
313 } // namespace v8 | 307 } // namespace v8 |
314 | 308 |
315 #endif // V8_HEAP_INCREMENTAL_MARKING_H_ | 309 #endif // V8_HEAP_INCREMENTAL_MARKING_H_ |
OLD | NEW |