Index: src/runtime.cc |
diff --git a/src/runtime.cc b/src/runtime.cc |
index d18a158c44d0442eb42ec67c5bea514031c15b48..c8ad03057c47a55f1658ecc024867c09d52865ce 100644 |
--- a/src/runtime.cc |
+++ b/src/runtime.cc |
@@ -1746,7 +1746,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_RegExpExec) { |
Handle<Object> result = RegExpImpl::Exec(regexp, |
subject, |
index, |
- last_match_info); |
+ last_match_info, |
+ isolate->zone()); |
if (result.is_null()) return Failure::Exception(); |
return *result; |
} |
@@ -3054,7 +3055,8 @@ MUST_USE_RESULT static MaybeObject* StringReplaceRegExpWithString( |
Handle<Object> match = RegExpImpl::Exec(regexp_handle, |
subject_handle, |
0, |
- last_match_info_handle); |
+ last_match_info_handle, |
+ isolate->zone()); |
if (match.is_null()) { |
return Failure::Exception(); |
} |
@@ -3153,7 +3155,8 @@ MUST_USE_RESULT static MaybeObject* StringReplaceRegExpWithString( |
match = RegExpImpl::Exec(regexp_handle, |
subject_handle, |
next, |
- last_match_info_handle); |
+ last_match_info_handle, |
+ isolate->zone()); |
if (match.is_null()) { |
return Failure::Exception(); |
} |
@@ -3206,7 +3209,8 @@ MUST_USE_RESULT static MaybeObject* StringReplaceRegExpWithEmptyString( |
Handle<Object> match = RegExpImpl::Exec(regexp_handle, |
subject_handle, |
0, |
- last_match_info_handle); |
+ last_match_info_handle, |
+ isolate->zone()); |
if (match.is_null()) return Failure::Exception(); |
if (match->IsNull()) return *subject_handle; |
@@ -3280,7 +3284,8 @@ MUST_USE_RESULT static MaybeObject* StringReplaceRegExpWithEmptyString( |
match = RegExpImpl::Exec(regexp_handle, |
subject_handle, |
next, |
- last_match_info_handle); |
+ last_match_info_handle, |
+ isolate->zone()); |
if (match.is_null()) return Failure::Exception(); |
if (match->IsNull()) break; |
@@ -3693,7 +3698,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringMatch) { |
CONVERT_ARG_HANDLE_CHECKED(JSArray, regexp_info, 2); |
HandleScope handles; |
- Handle<Object> match = RegExpImpl::Exec(regexp, subject, 0, regexp_info); |
+ Handle<Object> match = RegExpImpl::Exec(regexp, subject, 0, regexp_info, |
+ isolate->zone()); |
if (match.is_null()) { |
return Failure::Exception(); |
@@ -3717,7 +3723,8 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringMatch) { |
offsets.Add(start); |
offsets.Add(end); |
if (start == end) if (++end > length) break; |
- match = RegExpImpl::Exec(regexp, subject, end, regexp_info); |
+ match = RegExpImpl::Exec(regexp, subject, end, regexp_info, |
+ isolate->zone()); |
if (match.is_null()) { |
return Failure::Exception(); |
} |
@@ -3815,7 +3822,8 @@ static int SearchRegExpNoCaptureMultiple( |
int match_start = -1; |
int match_end = 0; |
int pos = 0; |
- int registers_per_match = RegExpImpl::IrregexpPrepare(regexp, subject); |
+ int registers_per_match = RegExpImpl::IrregexpPrepare(regexp, subject, |
+ isolate->zone()); |
if (registers_per_match < 0) return RegExpImpl::RE_EXCEPTION; |
int max_matches; |
@@ -3830,7 +3838,8 @@ static int SearchRegExpNoCaptureMultiple( |
int num_matches = RegExpImpl::IrregexpExecRaw(regexp, |
subject, |
pos, |
- register_vector); |
+ register_vector, |
+ isolate->zone()); |
if (num_matches > 0) { |
for (int match_index = 0; match_index < num_matches; match_index++) { |
int32_t* current_match = ®ister_vector[match_index * 2]; |
@@ -3900,7 +3909,8 @@ static int SearchRegExpMultiple( |
FixedArrayBuilder* builder) { |
ASSERT(subject->IsFlat()); |
- int registers_per_match = RegExpImpl::IrregexpPrepare(regexp, subject); |
+ int registers_per_match = RegExpImpl::IrregexpPrepare(regexp, subject, |
+ isolate->zone()); |
if (registers_per_match < 0) return RegExpImpl::RE_EXCEPTION; |
int max_matches; |
@@ -3913,7 +3923,8 @@ static int SearchRegExpMultiple( |
int num_matches = RegExpImpl::IrregexpExecRaw(regexp, |
subject, |
0, |
- register_vector); |
+ register_vector, |
+ isolate->zone()); |
int capture_count = regexp->CaptureCount(); |
int subject_length = subject->length(); |
@@ -3999,7 +4010,8 @@ static int SearchRegExpMultiple( |
num_matches = RegExpImpl::IrregexpExecRaw(regexp, |
subject, |
pos, |
- register_vector); |
+ register_vector, |
+ isolate->zone()); |
} while (num_matches > 0); |
if (num_matches != RegExpImpl::RE_EXCEPTION) { |