OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_GC_MARKER_H_ | 5 #ifndef VM_GC_MARKER_H_ |
6 #define VM_GC_MARKER_H_ | 6 #define VM_GC_MARKER_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 | 9 |
10 namespace dart { | 10 namespace dart { |
(...skipping 25 matching lines...) Expand all Loading... |
36 void Prologue(Isolate* isolate, bool invoke_api_callbacks); | 36 void Prologue(Isolate* isolate, bool invoke_api_callbacks); |
37 void Epilogue(Isolate* isolate, bool invoke_api_callbacks); | 37 void Epilogue(Isolate* isolate, bool invoke_api_callbacks); |
38 void IterateRoots(Isolate* isolate, | 38 void IterateRoots(Isolate* isolate, |
39 ObjectPointerVisitor* visitor, | 39 ObjectPointerVisitor* visitor, |
40 bool visit_prologue_weak_persistent_handles); | 40 bool visit_prologue_weak_persistent_handles); |
41 void IterateWeakRoots(Isolate* isolate, | 41 void IterateWeakRoots(Isolate* isolate, |
42 HandleVisitor* visitor, | 42 HandleVisitor* visitor, |
43 bool visit_prologue_weak_persistent_handles); | 43 bool visit_prologue_weak_persistent_handles); |
44 void IterateWeakReferences(Isolate* isolate, MarkingVisitor* visitor); | 44 void IterateWeakReferences(Isolate* isolate, MarkingVisitor* visitor); |
45 void DrainMarkingStack(Isolate* isolate, MarkingVisitor* visitor); | 45 void DrainMarkingStack(Isolate* isolate, MarkingVisitor* visitor); |
46 void ProcessWeakProperty(RawWeakProperty* raw_weak, MarkingVisitor* visitor); | |
47 void ProcessWeakTables(PageSpace* page_space); | 46 void ProcessWeakTables(PageSpace* page_space); |
48 void ProcessObjectIdTable(Isolate* isolate); | 47 void ProcessObjectIdTable(Isolate* isolate); |
49 | 48 |
50 | 49 |
51 Heap* heap_; | 50 Heap* heap_; |
52 intptr_t marked_bytes_; | 51 intptr_t marked_bytes_; |
53 | 52 |
54 DISALLOW_IMPLICIT_CONSTRUCTORS(GCMarker); | 53 DISALLOW_IMPLICIT_CONSTRUCTORS(GCMarker); |
55 }; | 54 }; |
56 | 55 |
57 } // namespace dart | 56 } // namespace dart |
58 | 57 |
59 #endif // VM_GC_MARKER_H_ | 58 #endif // VM_GC_MARKER_H_ |
OLD | NEW |