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