Chromium Code Reviews| Index: src/regexp/jsregexp.cc |
| diff --git a/src/regexp/jsregexp.cc b/src/regexp/jsregexp.cc |
| index fe04fbc9cff40f6f9e31f1f01bc33bf39990ec9e..1a9d50b5090c5635576a78eb8a40c37c46c19701 100644 |
| --- a/src/regexp/jsregexp.cc |
| +++ b/src/regexp/jsregexp.cc |
| @@ -397,6 +397,7 @@ bool RegExpImpl::CompileIrregexp(Handle<JSRegExp> re, |
| Handle<FixedArray> data = Handle<FixedArray>(FixedArray::cast(re->data())); |
| data->set(JSRegExp::code_index(is_one_byte), result.code); |
| + SetIrregexpCaptureNameMap(*data, compile_data.capture_name_map); |
| int register_max = IrregexpMaxRegisterCount(*data); |
| if (result.num_registers > register_max) { |
| SetIrregexpMaxRegisterCount(*data, result.num_registers); |
| @@ -416,6 +417,11 @@ void RegExpImpl::SetIrregexpMaxRegisterCount(FixedArray* re, int value) { |
| re->set(JSRegExp::kIrregexpMaxRegisterCountIndex, Smi::FromInt(value)); |
| } |
| +void RegExpImpl::SetIrregexpCaptureNameMap(FixedArray* re, |
| + Handle<FixedArray> value) { |
| + re->set(JSRegExp::kIrregexpCaptureNameMapIndex, |
| + value.is_null() ? nullptr : *value); |
|
Yang
2016/06/13 10:54:52
let's store undefined or Smi::FromInt(0) instead.
jgruber
2016/06/13 13:09:59
Done.
|
| +} |
| int RegExpImpl::IrregexpNumberOfCaptures(FixedArray* re) { |
| return Smi::cast(re->get(JSRegExp::kIrregexpCaptureCountIndex))->value(); |