Index: src/serialize.h |
diff --git a/src/serialize.h b/src/serialize.h |
index 1c781139b5a6a0cf1092261bcaff9ffc15247913..94e05eb8cd3d55ebb10152258f118b30f791d604 100644 |
--- a/src/serialize.h |
+++ b/src/serialize.h |
@@ -301,20 +301,20 @@ class SerializerDeserializer: public ObjectVisitor { |
protected: |
// Where the pointed-to object can be found: |
enum Where { |
- kNewObject = 0, // Object is next in snapshot. |
- // 1-7 One per space. |
+ kNewObject = 0, // Object is next in snapshot. |
+ // 1-7 One per space. |
kRootArray = 0x9, // Object is found in root array. |
kPartialSnapshotCache = 0xa, // Object is in the cache. |
kExternalReference = 0xb, // Pointer to an external reference. |
kSkip = 0xc, // Skip n bytes. |
kBuiltin = 0xd, // Builtin code object. |
kAttachedReference = 0xe, // Object is described in an attached list. |
- kNop = 0xf, // Does nothing, used to pad. |
- kBackref = 0x10, // Object is described relative to end. |
- // 0x11-0x17 One per space. |
- kBackrefWithSkip = 0x18, // Object is described relative to end. |
- // 0x19-0x1f One per space. |
- // 0x20-0x3f Used by misc. tags below. |
+ // 0xf Used by misc. See below. |
+ kBackref = 0x10, // Object is described relative to end. |
+ // 0x11-0x17 One per space. |
+ kBackrefWithSkip = 0x18, // Object is described relative to end. |
+ // 0x19-0x1f One per space. |
+ // 0x20-0x3f Used by misc. See below. |
kPointedToMask = 0x3f |
}; |
@@ -375,6 +375,9 @@ class SerializerDeserializer: public ObjectVisitor { |
return byte_code & 0x1f; |
} |
+ static const int kNop = 0xf; // Do nothing, used for padding. |
+ static const int kDoubleAlignPrefix = 0x4f; // Double align next object. |
+ |
static const int kAnyOldSpace = -1; |
// A bitmask for getting the space out of an instruction. |
@@ -437,7 +440,7 @@ class Deserializer: public SerializerDeserializer { |
// the heap. |
void ReadData(Object** start, Object** end, int space, |
Address object_address); |
- void ReadObject(int space_number, Object** write_back); |
+ void ReadObject(int space_number, Object** write_back, bool double_align); |
Address Allocate(int space_index, int size); |
// Special handling for serialized code like hooking up internalized strings. |