Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
michael@0 | 1 | // RegExp.exec -> RegExp.test optimization should use the builtin test method. |
michael@0 | 2 | function f() { |
michael@0 | 3 | var res = 0; |
michael@0 | 4 | for (var i=0; i<100; i++) { |
michael@0 | 5 | if (/a/.exec("a")) |
michael@0 | 6 | res++; |
michael@0 | 7 | } |
michael@0 | 8 | assertEq(res, 100); |
michael@0 | 9 | } |
michael@0 | 10 | delete RegExp.prototype.test; |
michael@0 | 11 | gc(); |
michael@0 | 12 | f(); |
michael@0 | 13 | |
michael@0 | 14 | RegExp.prototype.test = function() { assertEq(0, 1); } |
michael@0 | 15 | gc(); |
michael@0 | 16 | f(); |
michael@0 | 17 | |
michael@0 | 18 | Object.defineProperty(RegExp.prototype, "test", {get: function() { assertEq(0, 1); }}); |
michael@0 | 19 | gc(); |
michael@0 | 20 | f(); |