Index: src/jsregexp.cc |
=================================================================== |
--- src/jsregexp.cc (revision 564) |
+++ src/jsregexp.cc (working copy) |
@@ -222,8 +222,12 @@ |
if (value == -1) return Factory::null_value(); |
Handle<FixedArray> array = Factory::NewFixedArray(2); |
- array->set(0, Smi::FromInt(value)); |
- array->set(1, Smi::FromInt(value + needle->length())); |
+ array->set(0, |
+ Smi::FromInt(value), |
+ SKIP_WRITE_BARRIER); |
+ array->set(1, |
+ Smi::FromInt(value + needle->length()), |
+ SKIP_WRITE_BARRIER); |
return Factory::NewJSArrayWithElements(array); |
} |
@@ -247,8 +251,12 @@ |
int end = value + needle_length; |
Handle<FixedArray> array = Factory::NewFixedArray(2); |
- array->set(0, Smi::FromInt(value)); |
- array->set(1, Smi::FromInt(end)); |
+ array->set(0, |
+ Smi::FromInt(value), |
+ SKIP_WRITE_BARRIER); |
+ array->set(1, |
+ Smi::FromInt(end), |
+ SKIP_WRITE_BARRIER); |
Handle<JSArray> pair = Factory::NewJSArrayWithElements(array); |
SetElement(result, match_count, pair); |
match_count++; |
@@ -372,8 +380,12 @@ |
Handle<FixedArray> array = Factory::NewFixedArray(2 * (num_captures+1)); |
// The captures come in (start, end+1) pairs. |
for (int i = 0; i < 2 * (num_captures+1); i += 2) { |
- array->set(i, Smi::FromInt(offsets_vector[i])); |
- array->set(i+1, Smi::FromInt(offsets_vector[i+1])); |
+ array->set(i, |
+ Smi::FromInt(offsets_vector[i]), |
+ SKIP_WRITE_BARRIER); |
+ array->set(i+1, |
+ Smi::FromInt(offsets_vector[i+1]), |
+ SKIP_WRITE_BARRIER); |
} |
return Factory::NewJSArrayWithElements(array); |
} |