| Index: src/objects.h
 | 
| diff --git a/src/objects.h b/src/objects.h
 | 
| index c85a69c00979705a0d306e3f4e08ebf99d801fa4..2a22ade9686affa3fa50c31d124d78d4590af546 100644
 | 
| --- a/src/objects.h
 | 
| +++ b/src/objects.h
 | 
| @@ -62,17 +62,8 @@
 | 
|  //           - JSMessageObject
 | 
|  //         - JSProxy
 | 
|  //           - JSFunctionProxy
 | 
| -//       - ByteArray
 | 
| -//       - ExternalArray
 | 
| -//         - ExternalPixelArray
 | 
| -//         - ExternalByteArray
 | 
| -//         - ExternalUnsignedByteArray
 | 
| -//         - ExternalShortArray
 | 
| -//         - ExternalUnsignedShortArray
 | 
| -//         - ExternalIntArray
 | 
| -//         - ExternalUnsignedIntArray
 | 
| -//         - ExternalFloatArray
 | 
|  //       - FixedArrayBase
 | 
| +//         - ByteArray
 | 
|  //         - FixedArray
 | 
|  //           - DescriptorArray
 | 
|  //           - HashTable
 | 
| @@ -85,6 +76,15 @@
 | 
|  //           - JSFunctionResultCache
 | 
|  //           - SerializedScopeInfo
 | 
|  //         - FixedDoubleArray
 | 
| +//         - ExternalArray
 | 
| +//           - ExternalPixelArray
 | 
| +//           - ExternalByteArray
 | 
| +//           - ExternalUnsignedByteArray
 | 
| +//           - ExternalShortArray
 | 
| +//           - ExternalUnsignedShortArray
 | 
| +//           - ExternalIntArray
 | 
| +//           - ExternalUnsignedIntArray
 | 
| +//           - ExternalFloatArray
 | 
|  //       - String
 | 
|  //         - SeqString
 | 
|  //           - SeqAsciiString
 | 
| @@ -2084,6 +2084,7 @@ class FixedArrayBase: public HeapObject {
 | 
|    static const int kHeaderSize = kLengthOffset + kPointerSize;
 | 
|  };
 | 
|  
 | 
| +
 | 
|  class FixedDoubleArray;
 | 
|  
 | 
|  // FixedArray describes fixed-sized arrays with element type Object*.
 | 
| @@ -3053,12 +3054,8 @@ class NormalizedMapCache: public FixedArray {
 | 
|  // ByteArray represents fixed sized byte arrays.  Used by the outside world,
 | 
|  // such as PCRE, and also by the memory allocator and garbage collector to
 | 
|  // fill in free blocks in the heap.
 | 
| -class ByteArray: public HeapObject {
 | 
| +class ByteArray: public FixedArrayBase {
 | 
|   public:
 | 
| -  // [length]: length of the array.
 | 
| -  inline int length();
 | 
| -  inline void set_length(int value);
 | 
| -
 | 
|    // Setter and getter.
 | 
|    inline byte get(int index);
 | 
|    inline void set(int index, byte value);
 | 
| @@ -3103,10 +3100,6 @@ class ByteArray: public HeapObject {
 | 
|  #endif
 | 
|  
 | 
|    // Layout description.
 | 
| -  // Length is smi tagged when it is stored.
 | 
| -  static const int kLengthOffset = HeapObject::kHeaderSize;
 | 
| -  static const int kHeaderSize = kLengthOffset + kPointerSize;
 | 
| -
 | 
|    static const int kAlignedSize = OBJECT_POINTER_ALIGN(kHeaderSize);
 | 
|  
 | 
|    // Maximal memory consumption for a single ByteArray.
 | 
| @@ -3130,11 +3123,8 @@ class ByteArray: public HeapObject {
 | 
|  // Out-of-range values passed to the setter are converted via a C
 | 
|  // cast, not clamping. Out-of-range indices cause exceptions to be
 | 
|  // raised rather than being silently ignored.
 | 
| -class ExternalArray: public HeapObject {
 | 
| +class ExternalArray: public FixedArrayBase {
 | 
|   public:
 | 
| -  // [length]: length of the array.
 | 
| -  inline int length();
 | 
| -  inline void set_length(int value);
 | 
|  
 | 
|    inline bool is_the_hole(int index) { return false; }
 | 
|  
 | 
| @@ -3149,9 +3139,8 @@ class ExternalArray: public HeapObject {
 | 
|    static const int kMaxLength = 0x3fffffff;
 | 
|  
 | 
|    // ExternalArray headers are not quadword aligned.
 | 
| -  static const int kLengthOffset = HeapObject::kHeaderSize;
 | 
|    static const int kExternalPointerOffset =
 | 
| -      POINTER_SIZE_ALIGN(kLengthOffset + kIntSize);
 | 
| +      POINTER_SIZE_ALIGN(FixedArrayBase::kLengthOffset + kPointerSize);
 | 
|    static const int kHeaderSize = kExternalPointerOffset + kPointerSize;
 | 
|    static const int kAlignedSize = OBJECT_POINTER_ALIGN(kHeaderSize);
 | 
|  
 | 
| 
 |