| Index: src/extensions/externalize-string-extension.cc
|
| diff --git a/src/extensions/externalize-string-extension.cc b/src/extensions/externalize-string-extension.cc
|
| index 9fbf3298189acdace28f175af3f855b5ae13bd68..27e16094970151060b1f4478c3051f04be27186f 100644
|
| --- a/src/extensions/externalize-string-extension.cc
|
| +++ b/src/extensions/externalize-string-extension.cc
|
| @@ -100,7 +100,12 @@ v8::Handle<v8::Value> ExternalizeStringExtension::Externalize(
|
| data, string->length());
|
| result = string->MakeExternal(resource);
|
| if (result && !string->IsSymbol()) {
|
| - HEAP->external_string_table()->AddString(*string);
|
| + if (string->IsSlicedString()) {
|
| + HEAP->external_string_table()->AddString(
|
| + SlicedString::cast(*string)->parent());
|
| + } else {
|
| + HEAP->external_string_table()->AddString(*string);
|
| + }
|
| }
|
| if (!result) delete resource;
|
| } else {
|
| @@ -110,7 +115,12 @@ v8::Handle<v8::Value> ExternalizeStringExtension::Externalize(
|
| data, string->length());
|
| result = string->MakeExternal(resource);
|
| if (result && !string->IsSymbol()) {
|
| - HEAP->external_string_table()->AddString(*string);
|
| + if (string->IsSlicedString()) {
|
| + HEAP->external_string_table()->AddString(
|
| + SlicedString::cast(*string)->parent());
|
| + } else {
|
| + HEAP->external_string_table()->AddString(*string);
|
| + }
|
| }
|
| if (!result) delete resource;
|
| }
|
|
|