| Index: src/heap-inl.h
|
| diff --git a/src/heap-inl.h b/src/heap-inl.h
|
| index b0b4fbe2dcbd45f0a7a437e956efbf74004f0927..75b2b9ccee8abccb408f75170a028c6e826b2d84 100644
|
| --- a/src/heap-inl.h
|
| +++ b/src/heap-inl.h
|
| @@ -318,10 +318,13 @@ AllocationSpace Heap::TargetSpaceId(InstanceType type) {
|
| ASSERT(type != JS_GLOBAL_PROPERTY_CELL_TYPE);
|
|
|
| if (type < FIRST_NONSTRING_TYPE) {
|
| - // There are three string representations: sequential strings, cons
|
| - // strings, and external strings. Only cons strings contain
|
| - // non-map-word pointers to heap objects.
|
| - return ((type & kStringRepresentationMask) == kConsStringTag)
|
| + // There are four string representations: sequential strings, external
|
| + // strings, cons strings, and sliced strings.
|
| + // Only the latter two contain non-map-word pointers to heap objects.
|
| + ASSERT(((type & kIsIndirectStringMask) == kIsIndirectStringTag)
|
| + == (((type & kStringRepresentationMask) == kConsStringTag)
|
| + || ((type & kStringRepresentationMask) == kSlicedStringTag)));
|
| + return ((type & kIsIndirectStringMask) == kIsIndirectStringTag)
|
| ? OLD_POINTER_SPACE
|
| : OLD_DATA_SPACE;
|
| } else {
|
|
|