Chromium Code Reviews| Index: src/runtime.cc |
| =================================================================== |
| --- src/runtime.cc (revision 8234) |
| +++ src/runtime.cc (working copy) |
| @@ -5805,11 +5805,14 @@ |
| Handle<FixedArray> elements(FixedArray::cast(result->elements())); |
| int part_start = 0; |
| for (int i = 0; i < part_count; i++) { |
| - HandleScope local_loop_handle; |
| int part_end = indices.at(i); |
| - Handle<String> substring = |
| - isolate->factory()->NewSubString(subject, part_start, part_end); |
| - elements->set(i, *substring); |
| + Object* result; |
| + { MaybeObject* maybe_result = isolate->heap()->AllocateSubString(*subject, |
| + part_start, |
|
Lasse Reichstein
2011/06/10 07:32:17
This is an unpretty combination of handle and non-
sandholm
2011/06/10 10:13:31
Done.
|
| + part_end); |
| + if (!maybe_result->ToObject(&result)) return maybe_result; |
| + } |
| + elements->set(i, result); |
| part_start = part_end + pattern_length; |
| } |