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 { |