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

Unified Diff: runtime/vm/raw_object.h

Issue 1318803002: Toward precompiled snapshots. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: READ_POINTERS Created 5 years, 4 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/raw_object.h
diff --git a/runtime/vm/raw_object.h b/runtime/vm/raw_object.h
index fe8425911540386ea12e78ffe4233d2b07b323bc..c6f39caac7f4aa4388083b9b2a80f3b09e7011c1 100644
--- a/runtime/vm/raw_object.h
+++ b/runtime/vm/raw_object.h
@@ -583,6 +583,7 @@ class RawObject {
friend class ScavengerVisitor;
friend class SizeExcludingClassVisitor; // GetClassId
friend class RetainingPathVisitor; // GetClassId
+ friend class InstructionsReader; // tags_ check
friend class SnapshotReader;
friend class SnapshotWriter;
friend class String;
@@ -1002,7 +1003,7 @@ class RawCode : public RawObject {
// Else, return_address_info_ is null.
RawObject* return_address_metadata_;
RawObject** to() {
- return reinterpret_cast<RawObject**>(&ptr()->comments_);
+ return reinterpret_cast<RawObject**>(&ptr()->return_address_metadata_);
}
uword entry_point_;
@@ -1048,6 +1049,7 @@ class RawObjectPool : public RawObject {
Entry* first_entry() { return &ptr()->data()[0]; }
friend class Object;
+ friend class SnapshotReader;
};
@@ -1078,6 +1080,7 @@ class RawInstructions : public RawObject {
friend class StackFrame;
friend class MarkingVisitor;
friend class Function;
+ friend class InstructionsReader;
};
@@ -1135,6 +1138,7 @@ class RawPcDescriptors : public RawObject {
const uint8_t* data() const { OPEN_ARRAY_START(uint8_t, intptr_t); }
friend class Object;
+ friend class SnapshotReader;
};
@@ -1142,9 +1146,8 @@ class RawPcDescriptors : public RawObject {
// PC. The stack map representation consists of a bit map which marks each
// live object index starting from the base of the frame.
//
-// The Stackmap also consists of a link to the code object corresponding to
-// the frame which the stack map is describing. The bit map representation
-// is optimized for dense and small bit maps, without any upper bound.
+// The bit map representation is optimized for dense and small bit maps, without
+// any upper bound.
class RawStackmap : public RawObject {
RAW_HEAP_OBJECT_IMPLEMENTATION(Stackmap);
@@ -1162,6 +1165,8 @@ class RawStackmap : public RawObject {
// Variable length data follows here (bitmap of the stack layout).
uint8_t* data() { OPEN_ARRAY_START(uint8_t, uint8_t); }
const uint8_t* data() const { OPEN_ARRAY_START(uint8_t, uint8_t); }
+
+ friend class SnapshotReader;
};
@@ -1236,6 +1241,7 @@ class RawLocalVarDescriptors : public RawObject {
}
friend class Object;
+ friend class SnapshotReader;
};
@@ -1265,6 +1271,7 @@ class RawExceptionHandlers : public RawObject {
HandlerInfo* data() { OPEN_ARRAY_START(HandlerInfo, intptr_t); }
friend class Object;
+ friend class SnapshotReader;
};

Powered by Google App Engine
This is Rietveld 408576698