| Index: src/runtime.cc
|
| diff --git a/src/runtime.cc b/src/runtime.cc
|
| index 869c17bf784495cc1c354e9cdce0c0a8e4e3df0e..8a4b32195cfd9b82148a883271a4c6c2bc8d36c7 100644
|
| --- a/src/runtime.cc
|
| +++ b/src/runtime.cc
|
| @@ -3598,8 +3598,8 @@ MUST_USE_RESULT static MaybeObject* StringReplaceGlobalAtomRegExpWithString(
|
| ASSERT(subject->IsFlat());
|
| ASSERT(replacement->IsFlat());
|
|
|
| - Zone zone(isolate);
|
| - ZoneList<int> indices(8, &zone);
|
| + ZoneScope zone_scope(isolate->runtime_zone());
|
| + ZoneList<int> indices(8, zone_scope.zone());
|
| ASSERT_EQ(JSRegExp::ATOM, pattern_regexp->TypeTag());
|
| String* pattern =
|
| String::cast(pattern_regexp->DataAt(JSRegExp::kAtomPatternIndex));
|
| @@ -3608,7 +3608,7 @@ MUST_USE_RESULT static MaybeObject* StringReplaceGlobalAtomRegExpWithString(
|
| int replacement_len = replacement->length();
|
|
|
| FindStringIndicesDispatch(
|
| - isolate, *subject, pattern, &indices, 0xffffffff, &zone);
|
| + isolate, *subject, pattern, &indices, 0xffffffff, zone_scope.zone());
|
|
|
| int matches = indices.length();
|
| if (matches == 0) return *subject;
|
| @@ -3684,8 +3684,8 @@ MUST_USE_RESULT static MaybeObject* StringReplaceGlobalRegExpWithString(
|
| int subject_length = subject->length();
|
|
|
| // CompiledReplacement uses zone allocation.
|
| - Zone zone(isolate);
|
| - CompiledReplacement compiled_replacement(&zone);
|
| + ZoneScope zone_scope(isolate->runtime_zone());
|
| + CompiledReplacement compiled_replacement(zone_scope.zone());
|
| bool simple_replace = compiled_replacement.Compile(replacement,
|
| capture_count,
|
| subject_length);
|
| @@ -4218,14 +4218,14 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringMatch) {
|
|
|
| int capture_count = regexp->CaptureCount();
|
|
|
| - Zone zone(isolate);
|
| - ZoneList<int> offsets(8, &zone);
|
| + ZoneScope zone_scope(isolate->runtime_zone());
|
| + ZoneList<int> offsets(8, zone_scope.zone());
|
|
|
| while (true) {
|
| int32_t* match = global_cache.FetchNext();
|
| if (match == NULL) break;
|
| - offsets.Add(match[0], &zone); // start
|
| - offsets.Add(match[1], &zone); // end
|
| + offsets.Add(match[0], zone_scope.zone()); // start
|
| + offsets.Add(match[1], zone_scope.zone()); // end
|
| }
|
|
|
| if (global_cache.HasException()) return Failure::Exception();
|
| @@ -6310,18 +6310,18 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringSplit) {
|
|
|
| static const int kMaxInitialListCapacity = 16;
|
|
|
| - Zone zone(isolate);
|
| + ZoneScope zone_scope(isolate->runtime_zone());
|
|
|
| // Find (up to limit) indices of separator and end-of-string in subject
|
| int initial_capacity = Min<uint32_t>(kMaxInitialListCapacity, limit);
|
| - ZoneList<int> indices(initial_capacity, &zone);
|
| + ZoneList<int> indices(initial_capacity, zone_scope.zone());
|
| if (!pattern->IsFlat()) FlattenString(pattern);
|
|
|
| FindStringIndicesDispatch(isolate, *subject, *pattern,
|
| - &indices, limit, &zone);
|
| + &indices, limit, zone_scope.zone());
|
|
|
| if (static_cast<uint32_t>(indices.length()) < limit) {
|
| - indices.Add(subject_length, &zone);
|
| + indices.Add(subject_length, zone_scope.zone());
|
| }
|
|
|
| // The list indices now contains the end of each part to create.
|
|
|