| Index: src/snapshot/serialize.h
 | 
| diff --git a/src/snapshot/serialize.h b/src/snapshot/serialize.h
 | 
| index 089c323b7de7db8588fc666e43e27a1528cdf4d9..2a426a94f587de9e239fc87950afaec447e12f86 100644
 | 
| --- a/src/snapshot/serialize.h
 | 
| +++ b/src/snapshot/serialize.h
 | 
| @@ -324,12 +324,14 @@ class SerializerDeserializer: public ObjectVisitor {
 | 
|      // 0x07        Unused (including 0x27, 0x47, 0x67).
 | 
|      // 0x08..0x0c  Reference to previous object from space.
 | 
|      kBackref = 0x08,
 | 
| +    // 0x0d        Unused (including 0x2d, 0x4d, 0x6d).
 | 
|      // 0x0e        Unused (including 0x2e, 0x4e, 0x6e).
 | 
|      // 0x0f        Unused (including 0x2f, 0x4f, 0x6f).
 | 
|      // 0x10..0x14  Reference to previous object from space after skip.
 | 
|      kBackrefWithSkip = 0x10,
 | 
| +    // 0x15        Unused (including 0x35, 0x55, 0x75).
 | 
|      // 0x16        Unused (including 0x36, 0x56, 0x76).
 | 
| -    // 0x17        Unused (including 0x37, 0x57, 0x77).
 | 
| +    // 0x17        Misc (including 0x37, 0x57, 0x77).
 | 
|      // 0x18        Root array item.
 | 
|      kRootArray = 0x18,
 | 
|      // 0x19        Object in the partial snapshot cache.
 | 
| @@ -384,14 +386,18 @@ class SerializerDeserializer: public ObjectVisitor {
 | 
|    // is an indication that the snapshot and the VM do not fit together.
 | 
|    // Examine the build process for architecture, version or configuration
 | 
|    // mismatches.
 | 
| -  static const int kSynchronize = 0x5d;
 | 
| +  static const int kSynchronize = 0x17;
 | 
|    // Used for the source code of the natives, which is in the executable, but
 | 
|    // is referred to from external strings in the snapshot.
 | 
| -  static const int kNativesStringResource = 0x5e;
 | 
| +  static const int kNativesStringResource = 0x37;
 | 
|    // Raw data of variable length.
 | 
| -  static const int kVariableRawData = 0x7d;
 | 
| +  static const int kVariableRawData = 0x57;
 | 
|    // Repeats of variable length.
 | 
| -  static const int kVariableRepeat = 0x7e;
 | 
| +  static const int kVariableRepeat = 0x77;
 | 
| +  // Alignment prefixes 0x7d..0x7f
 | 
| +  static const int kAlignmentPrefix = 0x7d;
 | 
| +
 | 
| +  // 0x5d..0x5f unused
 | 
|  
 | 
|    // ---------- byte code range 0x80..0xff ----------
 | 
|    // First 32 root array items.
 | 
| @@ -515,7 +521,8 @@ class Deserializer: public SerializerDeserializer {
 | 
|          magic_number_(data->GetMagicNumber()),
 | 
|          external_reference_table_(NULL),
 | 
|          deserialized_large_objects_(0),
 | 
| -        deserializing_user_code_(false) {
 | 
| +        deserializing_user_code_(false),
 | 
| +        next_alignment_(kWordAligned) {
 | 
|      DecodeReservation(data->Reservations());
 | 
|    }
 | 
|  
 | 
| @@ -602,6 +609,8 @@ class Deserializer: public SerializerDeserializer {
 | 
|  
 | 
|    bool deserializing_user_code_;
 | 
|  
 | 
| +  AllocationAlignment next_alignment_;
 | 
| +
 | 
|    DISALLOW_COPY_AND_ASSIGN(Deserializer);
 | 
|  };
 | 
|  
 | 
| @@ -706,6 +715,9 @@ class Serializer : public SerializerDeserializer {
 | 
|  
 | 
|    void PutBackReference(HeapObject* object, BackReference reference);
 | 
|  
 | 
| +  // Emit alignment prefix if necessary, return required padding space in bytes.
 | 
| +  int PutAlignmentPrefix(HeapObject* object);
 | 
| +
 | 
|    // Returns true if the object was successfully serialized.
 | 
|    bool SerializeKnownObject(HeapObject* obj, HowToCode how_to_code,
 | 
|                              WhereToPoint where_to_point, int skip);
 | 
| 
 |