| Index: src/objects-inl.h
|
| ===================================================================
|
| --- src/objects-inl.h (revision 7216)
|
| +++ src/objects-inl.h (working copy)
|
| @@ -333,6 +333,19 @@
|
| }
|
|
|
|
|
| +bool Object::IsFreeSpace() {
|
| + return Object::IsHeapObject()
|
| + && HeapObject::cast(this)->map()->instance_type() == FREE_SPACE_TYPE;
|
| +}
|
| +
|
| +
|
| +bool Object::IsFiller() {
|
| + if (!Object::IsHeapObject()) return false;
|
| + InstanceType instance_type = HeapObject::cast(this)->map()->instance_type();
|
| + return instance_type == FREE_SPACE_TYPE || instance_type == FILLER_TYPE;
|
| +}
|
| +
|
| +
|
| bool Object::IsExternalPixelArray() {
|
| return Object::IsHeapObject() &&
|
| HeapObject::cast(this)->map()->instance_type() ==
|
| @@ -1626,6 +1639,7 @@
|
| CAST_ACCESSOR(JSRegExp)
|
| CAST_ACCESSOR(Proxy)
|
| CAST_ACCESSOR(ByteArray)
|
| +CAST_ACCESSOR(FreeSpace)
|
| CAST_ACCESSOR(ExternalArray)
|
| CAST_ACCESSOR(ExternalByteArray)
|
| CAST_ACCESSOR(ExternalUnsignedByteArray)
|
| @@ -1652,6 +1666,7 @@
|
|
|
| SMI_ACCESSORS(FixedArray, length, kLengthOffset)
|
| SMI_ACCESSORS(ByteArray, length, kLengthOffset)
|
| +SMI_ACCESSORS(FreeSpace, size, kSizeOffset)
|
|
|
| INT_ACCESSORS(ExternalArray, length, kLengthOffset)
|
|
|
| @@ -2091,6 +2106,9 @@
|
| if (instance_type == BYTE_ARRAY_TYPE) {
|
| return reinterpret_cast<ByteArray*>(this)->ByteArraySize();
|
| }
|
| + if (instance_type == FREE_SPACE_TYPE) {
|
| + return reinterpret_cast<FreeSpace*>(this)->size();
|
| + }
|
| if (instance_type == STRING_TYPE) {
|
| return SeqTwoByteString::SizeFor(
|
| reinterpret_cast<SeqTwoByteString*>(this)->length());
|
|
|