| Index: src/handles.cc
|
| ===================================================================
|
| --- src/handles.cc (revision 654)
|
| +++ src/handles.cc (working copy)
|
| @@ -117,9 +117,10 @@
|
|
|
|
|
| void FlattenString(Handle<String> string) {
|
| - if (string->IsFlat()) return;
|
| - CALL_HEAP_FUNCTION_VOID(string->Flatten());
|
| - ASSERT(string->IsFlat());
|
| + StringShape shape(*string);
|
| + if (string->IsFlat(shape)) return;
|
| + CALL_HEAP_FUNCTION_VOID(string->Flatten(shape));
|
| + ASSERT(string->IsFlat(StringShape(*string)));
|
| }
|
|
|
|
|
| @@ -216,7 +217,8 @@
|
|
|
|
|
| Handle<String> SubString(Handle<String> str, int start, int end) {
|
| - CALL_HEAP_FUNCTION(str->Slice(start, end), String);
|
| + StringShape shape(*str);
|
| + CALL_HEAP_FUNCTION(str->Slice(shape, start, end), String);
|
| }
|
|
|
|
|
|
|