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

Unified Diff: runtime/vm/heap.h

Issue 18259014: Object ID Ring with tests (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: runtime/vm/heap.h
diff --git a/runtime/vm/heap.h b/runtime/vm/heap.h
index 6dd44192735d1676382984b55633bc05276f161a..9b7015b332b90ac115d09053a827392e50de0508 100644
--- a/runtime/vm/heap.h
+++ b/runtime/vm/heap.h
@@ -231,6 +231,19 @@ class Heap {
return size <= kNewAllocatableSize;
}
+ void set_object_id_ring_table(RawObject** object_id_ring_table,
Ivan Posva 2013/07/10 01:10:13 How about set_object_id_table and object_id_table(
Cutch 2013/07/10 17:23:10 Done.
+ intptr_t object_id_ring_table_size) {
+ ASSERT(!gc_in_progress_);
+ object_id_ring_table_ = object_id_ring_table;
+ object_id_ring_table_size_ = object_id_ring_table_size;
+ }
+ RawObject** get_object_id_ring_table() {
Ivan Posva 2013/07/10 01:10:13 Why does this return the naked internals of the Ob
Cutch 2013/07/10 17:23:10 I've killed this and now the marker and scavenger
+ return object_id_ring_table_;
+ }
+ intptr_t get_object_id_ring_table_size() {
+ return object_id_ring_table_size_;
+ }
+
private:
class GCStats : public ValueObject {
public:
@@ -293,6 +306,10 @@ class Heap {
// GC on the heap is in progress.
bool gc_in_progress_;
+ // Ring of objects who have a vm service id assigned to them.
+ RawObject** object_id_ring_table_;
+ intptr_t object_id_ring_table_size_;
+
friend class GCTestHelper;
DISALLOW_COPY_AND_ASSIGN(Heap);
};

Powered by Google App Engine
This is Rietveld 408576698