Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(185)

Side by Side Diff: src/js/regexp.js

Issue 1423993006: RegExp.prototype is an ordinary object. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebase Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/bootstrapper.cc ('k') | test/mjsunit/es6/regexp-prototype.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 (function(global, utils) { 5 (function(global, utils) {
6 6
7 %CheckIsBootstrapping(); 7 %CheckIsBootstrapping();
8 8
9 // ------------------------------------------------------------------- 9 // -------------------------------------------------------------------
10 // Imports 10 // Imports
11 11
12 var FLAG_harmony_regexps; 12 var FLAG_harmony_regexps;
13 var FLAG_harmony_tolength; 13 var FLAG_harmony_tolength;
14 var FLAG_harmony_unicode_regexps; 14 var FLAG_harmony_unicode_regexps;
15 var GlobalObject = global.Object;
15 var GlobalRegExp = global.RegExp; 16 var GlobalRegExp = global.RegExp;
16 var InternalPackedArray = utils.InternalPackedArray; 17 var InternalPackedArray = utils.InternalPackedArray;
17 var MakeTypeError; 18 var MakeTypeError;
18 19
19 utils.ImportFromExperimental(function(from) { 20 utils.ImportFromExperimental(function(from) {
20 FLAG_harmony_regexps = from.FLAG_harmony_regexps; 21 FLAG_harmony_regexps = from.FLAG_harmony_regexps;
21 FLAG_harmony_tolength = from.FLAG_harmony_tolength; 22 FLAG_harmony_tolength = from.FLAG_harmony_tolength;
22 FLAG_harmony_unicode_regexps = from.FLAG_harmony_unicode_regexps; 23 FLAG_harmony_unicode_regexps = from.FLAG_harmony_unicode_regexps;
23 }); 24 });
24 25
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
329 var matchStart = RegExpLastMatchInfo[CAPTURE(index)]; 330 var matchStart = RegExpLastMatchInfo[CAPTURE(index)];
330 var matchEnd = RegExpLastMatchInfo[CAPTURE(index + 1)]; 331 var matchEnd = RegExpLastMatchInfo[CAPTURE(index + 1)];
331 if (matchStart == -1 || matchEnd == -1) return ''; 332 if (matchStart == -1 || matchEnd == -1) return '';
332 return %_SubString(LAST_SUBJECT(RegExpLastMatchInfo), matchStart, matchEnd); 333 return %_SubString(LAST_SUBJECT(RegExpLastMatchInfo), matchStart, matchEnd);
333 }; 334 };
334 } 335 }
335 336
336 // ------------------------------------------------------------------- 337 // -------------------------------------------------------------------
337 338
338 %FunctionSetInstanceClassName(GlobalRegExp, 'RegExp'); 339 %FunctionSetInstanceClassName(GlobalRegExp, 'RegExp');
340 %FunctionSetPrototype(GlobalRegExp, new GlobalObject());
339 %AddNamedProperty( 341 %AddNamedProperty(
340 GlobalRegExp.prototype, 'constructor', GlobalRegExp, DONT_ENUM); 342 GlobalRegExp.prototype, 'constructor', GlobalRegExp, DONT_ENUM);
341 %SetCode(GlobalRegExp, RegExpConstructor); 343 %SetCode(GlobalRegExp, RegExpConstructor);
342 344
343 utils.InstallFunctions(GlobalRegExp.prototype, DONT_ENUM, [ 345 utils.InstallFunctions(GlobalRegExp.prototype, DONT_ENUM, [
344 "exec", RegExpExecJS, 346 "exec", RegExpExecJS,
345 "test", RegExpTest, 347 "test", RegExpTest,
346 "toString", RegExpToString, 348 "toString", RegExpToString,
347 "compile", RegExpCompileJS 349 "compile", RegExpCompileJS
348 ]); 350 ]);
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 // Exports 422 // Exports
421 423
422 utils.Export(function(to) { 424 utils.Export(function(to) {
423 to.RegExpExec = DoRegExpExec; 425 to.RegExpExec = DoRegExpExec;
424 to.RegExpExecNoTests = RegExpExecNoTests; 426 to.RegExpExecNoTests = RegExpExecNoTests;
425 to.RegExpLastMatchInfo = RegExpLastMatchInfo; 427 to.RegExpLastMatchInfo = RegExpLastMatchInfo;
426 to.RegExpTest = RegExpTest; 428 to.RegExpTest = RegExpTest;
427 }); 429 });
428 430
429 }) 431 })
OLDNEW
« no previous file with comments | « src/bootstrapper.cc ('k') | test/mjsunit/es6/regexp-prototype.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698