| Index: src/factory.cc | 
| diff --git a/src/factory.cc b/src/factory.cc | 
| index 9e1fff4d85b3c4d89a7fda0a4a62c9df4d2b58c6..74bd611646dae53385173b158fcaa597f28d27d3 100644 | 
| --- a/src/factory.cc | 
| +++ b/src/factory.cc | 
| @@ -2494,6 +2494,23 @@ void Factory::SetRegExpIrregexpData(Handle<JSRegExp> regexp, | 
| regexp->set_data(*store); | 
| } | 
|  | 
| +Handle<RegExpMatchInfo> Factory::NewRegExpMatchInfo() { | 
| +  // Initially, the last match info consists of all fixed fields plus space for | 
| +  // the match itself (i.e., 2 capture indices). | 
| +  static const int kInitialSize = RegExpMatchInfo::kFirstCaptureIndex + | 
| +                                  RegExpMatchInfo::kInitialCaptureIndices; | 
| + | 
| +  Handle<FixedArray> elems = NewFixedArray(kInitialSize); | 
| +  Handle<RegExpMatchInfo> result = Handle<RegExpMatchInfo>::cast(elems); | 
| + | 
| +  result->SetNumberOfCaptureRegisters(RegExpMatchInfo::kInitialCaptureIndices); | 
| +  result->SetLastSubject(*empty_string()); | 
| +  result->SetLastInput(*undefined_value()); | 
| +  result->SetCapture(0, 0); | 
| +  result->SetCapture(1, 0); | 
| + | 
| +  return result; | 
| +} | 
|  | 
| Handle<Object> Factory::GlobalConstantFor(Handle<Name> name) { | 
| if (Name::Equals(name, undefined_string())) return undefined_value(); | 
|  |