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 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
154 // This is the upper bound for how many times we allow finalization of | 154 // This is the upper bound for how many times we allow finalization of |
155 // incremental marking to be postponed. | 155 // incremental marking to be postponed. |
156 static const int kMaxIdleMarkingDelayCounter = 3; | 156 static const int kMaxIdleMarkingDelayCounter = 3; |
157 | 157 |
158 #ifndef DEBUG | 158 #ifndef DEBUG |
159 static const intptr_t kActivationThreshold = 8 * MB; | 159 static const intptr_t kActivationThreshold = 8 * MB; |
160 #else | 160 #else |
161 static const intptr_t kActivationThreshold = 0; | 161 static const intptr_t kActivationThreshold = 0; |
162 #endif | 162 #endif |
163 | 163 |
164 #ifdef V8_CONCURRENT_MARKING | |
165 static const MarkBit::AccessMode kAtomicity = MarkBit::AccessMode::ATOMIC; | |
Hannes Payer (out of office)
2017/05/03 10:08:53
I am not sure if this is the right mechanism here.
ulan
2017/05/03 12:09:30
As discussed offline, in future we will have two I
| |
166 #else | |
167 static const MarkBit::AccessMode kAtomicity = MarkBit::AccessMode::NON_ATOMIC; | |
168 #endif | |
169 | |
164 void FinalizeSweeping(); | 170 void FinalizeSweeping(); |
165 | 171 |
166 size_t Step(size_t bytes_to_process, CompletionAction action, | 172 size_t Step(size_t bytes_to_process, CompletionAction action, |
167 ForceCompletionAction completion, StepOrigin step_origin); | 173 ForceCompletionAction completion, StepOrigin step_origin); |
168 | 174 |
169 inline void RestartIfNotMarking(); | 175 inline void RestartIfNotMarking(); |
170 | 176 |
171 static void RecordWriteFromCode(HeapObject* obj, Object** slot, | 177 static void RecordWriteFromCode(HeapObject* obj, Object** slot, |
172 Isolate* isolate); | 178 Isolate* isolate); |
173 | 179 |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
320 | 326 |
321 Observer new_generation_observer_; | 327 Observer new_generation_observer_; |
322 Observer old_generation_observer_; | 328 Observer old_generation_observer_; |
323 | 329 |
324 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); | 330 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); |
325 }; | 331 }; |
326 } // namespace internal | 332 } // namespace internal |
327 } // namespace v8 | 333 } // namespace v8 |
328 | 334 |
329 #endif // V8_HEAP_INCREMENTAL_MARKING_H_ | 335 #endif // V8_HEAP_INCREMENTAL_MARKING_H_ |
OLD | NEW |