OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 COMPLETE | 46 COMPLETE |
47 }; | 47 }; |
48 | 48 |
49 enum CompletionAction { | 49 enum CompletionAction { |
50 GC_VIA_STACK_GUARD, | 50 GC_VIA_STACK_GUARD, |
51 NO_GC_VIA_STACK_GUARD | 51 NO_GC_VIA_STACK_GUARD |
52 }; | 52 }; |
53 | 53 |
54 explicit IncrementalMarking(Heap* heap); | 54 explicit IncrementalMarking(Heap* heap); |
55 | 55 |
| 56 static void Initialize(); |
| 57 |
56 void TearDown(); | 58 void TearDown(); |
57 | 59 |
58 State state() { | 60 State state() { |
59 ASSERT(state_ == STOPPED || FLAG_incremental_marking); | 61 ASSERT(state_ == STOPPED || FLAG_incremental_marking); |
60 return state_; | 62 return state_; |
61 } | 63 } |
62 | 64 |
63 bool should_hurry() { return should_hurry_; } | 65 bool should_hurry() { return should_hurry_; } |
64 void set_should_hurry(bool val) { should_hurry_ = val; } | 66 void set_should_hurry(bool val) { should_hurry_ = val; } |
65 | 67 |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
252 void DeactivateIncrementalWriteBarrier(); | 254 void DeactivateIncrementalWriteBarrier(); |
253 | 255 |
254 static void SetOldSpacePageFlags(MemoryChunk* chunk, | 256 static void SetOldSpacePageFlags(MemoryChunk* chunk, |
255 bool is_marking, | 257 bool is_marking, |
256 bool is_compacting); | 258 bool is_compacting); |
257 | 259 |
258 static void SetNewSpacePageFlags(NewSpacePage* chunk, bool is_marking); | 260 static void SetNewSpacePageFlags(NewSpacePage* chunk, bool is_marking); |
259 | 261 |
260 void EnsureMarkingDequeIsCommitted(); | 262 void EnsureMarkingDequeIsCommitted(); |
261 | 263 |
262 void VisitGlobalContext(Context* ctx, ObjectVisitor* v); | |
263 | |
264 Heap* heap_; | 264 Heap* heap_; |
265 | 265 |
266 State state_; | 266 State state_; |
267 bool is_compacting_; | 267 bool is_compacting_; |
268 | 268 |
269 VirtualMemory* marking_deque_memory_; | 269 VirtualMemory* marking_deque_memory_; |
270 bool marking_deque_memory_committed_; | 270 bool marking_deque_memory_committed_; |
271 MarkingDeque marking_deque_; | 271 MarkingDeque marking_deque_; |
272 Marker<IncrementalMarking> marker_; | 272 Marker<IncrementalMarking> marker_; |
273 | 273 |
(...skipping 11 matching lines...) Expand all Loading... |
285 intptr_t allocated_; | 285 intptr_t allocated_; |
286 | 286 |
287 int no_marking_scope_depth_; | 287 int no_marking_scope_depth_; |
288 | 288 |
289 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); | 289 DISALLOW_IMPLICIT_CONSTRUCTORS(IncrementalMarking); |
290 }; | 290 }; |
291 | 291 |
292 } } // namespace v8::internal | 292 } } // namespace v8::internal |
293 | 293 |
294 #endif // V8_INCREMENTAL_MARKING_H_ | 294 #endif // V8_INCREMENTAL_MARKING_H_ |
OLD | NEW |