| 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.
|
|
|