Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(556)

Side by Side Diff: runtime/vm/scavenger.h

Issue 13406004: - Remember objects (not addresses) in the old generation containing new pointers. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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_SCAVENGER_H_ 5 #ifndef VM_SCAVENGER_H_
6 #define VM_SCAVENGER_H_ 6 #define VM_SCAVENGER_H_
7 7
8 #include <map> 8 #include <map>
9 9
10 #include "platform/assert.h" 10 #include "platform/assert.h"
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 private: 98 private:
99 // Ids for time and data records in Heap::GCStats. 99 // Ids for time and data records in Heap::GCStats.
100 enum { 100 enum {
101 // Time 101 // Time
102 kVisitIsolateRoots = 0, 102 kVisitIsolateRoots = 0,
103 kIterateStoreBuffers = 1, 103 kIterateStoreBuffers = 1,
104 kProcessToSpace = 2, 104 kProcessToSpace = 2,
105 kIterateWeaks = 3, 105 kIterateWeaks = 3,
106 // Data 106 // Data
107 kStoreBufferEntries = 0, 107 kStoreBufferEntries = 0,
108 kStoreBufferDuplicates = 1, 108 kStoreBufferBlockEntries = 1
109 kStoreBufferBlockEntries = 2,
110 kStoreBufferBlockDuplicates = 3
111 }; 109 };
112 110
113 uword FirstObjectStart() const { return to_->start() | object_alignment_; } 111 uword FirstObjectStart() const { return to_->start() | object_alignment_; }
114 void Prologue(Isolate* isolate, bool invoke_api_callbacks); 112 void Prologue(Isolate* isolate, bool invoke_api_callbacks);
115 void IterateStoreBuffers(Isolate* isolate, ScavengerVisitor* visitor); 113 void IterateStoreBuffers(Isolate* isolate, ScavengerVisitor* visitor);
116 void IterateRoots(Isolate* isolate, 114 void IterateRoots(Isolate* isolate,
117 ScavengerVisitor* visitor, 115 ScavengerVisitor* visitor,
118 bool visit_prologue_weak_persistent_handles); 116 bool visit_prologue_weak_persistent_handles);
119 void IterateWeakProperties(Isolate* isolate, ScavengerVisitor* visitor); 117 void IterateWeakProperties(Isolate* isolate, ScavengerVisitor* visitor);
120 void IterateWeakReferences(Isolate* isolate, ScavengerVisitor* visitor); 118 void IterateWeakReferences(Isolate* isolate, ScavengerVisitor* visitor);
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
180 178
181 friend class ScavengerVisitor; 179 friend class ScavengerVisitor;
182 friend class ScavengerWeakVisitor; 180 friend class ScavengerWeakVisitor;
183 181
184 DISALLOW_COPY_AND_ASSIGN(Scavenger); 182 DISALLOW_COPY_AND_ASSIGN(Scavenger);
185 }; 183 };
186 184
187 } // namespace dart 185 } // namespace dart
188 186
189 #endif // VM_SCAVENGER_H_ 187 #endif // VM_SCAVENGER_H_
OLDNEW
« runtime/vm/object.cc ('K') | « runtime/vm/object.cc ('k') | runtime/vm/scavenger.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698