Index: src/serialize.h |
diff --git a/src/serialize.h b/src/serialize.h |
index 563f0a06d025fb247d987beb357a0bea6212f447..4c598b15439b253a6f67b6c6bec98c1915f93b8d 100644 |
--- a/src/serialize.h |
+++ b/src/serialize.h |
@@ -563,6 +563,10 @@ class Serializer : public SerializerDeserializer { |
static int SpaceOfObject(HeapObject* object); |
int Allocate(int space, int size); |
int EncodeExternalReference(Address addr) { |
+ if (((uint32_t)addr & 3) != 0) { |
+ addr = (Address)((((uint32_t)addr << 16) & ~0xffff) | |
+ (((uint32_t)addr >> 16) & 0xffff)); |
+ } |
return external_reference_encoder_->Encode(addr); |
} |