| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 var $regexpExec; | 5 var $regexpExec; |
| 6 var $regexpExecNoTests; | 6 var $regexpExecNoTests; |
| 7 var $regexpLastMatchInfo; | 7 var $regexpLastMatchInfo; |
| 8 var $regexpLastMatchInfoOverride; | 8 var $regexpLastMatchInfoOverride; |
| 9 var harmony_regexps = false; | 9 var harmony_regexps = false; |
| 10 var harmony_unicode_regexps = false; | 10 var harmony_unicode_regexps = false; |
| 11 | 11 |
| 12 (function(global, shared, exports) { | 12 (function(global, shared, exports) { |
| 13 | 13 |
| 14 %CheckIsBootstrapping(); | 14 %CheckIsBootstrapping(); |
| 15 | 15 |
| 16 // ------------------------------------------------------------------- |
| 17 // Imports |
| 18 |
| 16 var GlobalRegExp = global.RegExp; | 19 var GlobalRegExp = global.RegExp; |
| 20 var InternalPackedArray = shared.InternalPackedArray; |
| 21 |
| 22 // ------------------------------------------------------------------- |
| 17 | 23 |
| 18 // Property of the builtins object for recording the result of the last | 24 // Property of the builtins object for recording the result of the last |
| 19 // regexp match. The property $regexpLastMatchInfo includes the matchIndices | 25 // regexp match. The property $regexpLastMatchInfo includes the matchIndices |
| 20 // array of the last successful regexp match (an array of start/end index | 26 // array of the last successful regexp match (an array of start/end index |
| 21 // pairs for the match and all the captured substrings), the invariant is | 27 // pairs for the match and all the captured substrings), the invariant is |
| 22 // that there are at least two capture indeces. The array also contains | 28 // that there are at least two capture indeces. The array also contains |
| 23 // the subject string for the last successful match. | 29 // the subject string for the last successful match. |
| 24 $regexpLastMatchInfo = new InternalPackedArray( | 30 $regexpLastMatchInfo = new InternalPackedArray( |
| 25 2, // REGEXP_NUMBER_OF_CAPTURES | 31 2, // REGEXP_NUMBER_OF_CAPTURES |
| 26 "", // Last subject. | 32 "", // Last subject. |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 436 %DefineAccessorPropertyUnchecked(GlobalRegExp, '$' + i, | 442 %DefineAccessorPropertyUnchecked(GlobalRegExp, '$' + i, |
| 437 RegExpMakeCaptureGetter(i), NoOpSetter, | 443 RegExpMakeCaptureGetter(i), NoOpSetter, |
| 438 DONT_DELETE); | 444 DONT_DELETE); |
| 439 } | 445 } |
| 440 %ToFastProperties(GlobalRegExp); | 446 %ToFastProperties(GlobalRegExp); |
| 441 | 447 |
| 442 $regexpExecNoTests = RegExpExecNoTests; | 448 $regexpExecNoTests = RegExpExecNoTests; |
| 443 $regexpExec = DoRegExpExec; | 449 $regexpExec = DoRegExpExec; |
| 444 | 450 |
| 445 }) | 451 }) |
| OLD | NEW |