Bug 831629 - Add 291 missing jit-tests for various bugs. rs=terrence

This commit is contained in:
Christian Holler 2013-01-18 15:36:28 +01:00
Родитель 9f3b77fe34
Коммит 3b7898d56f
290 изменённых файлов: 4179 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,8 @@
// |jit-test| debug;
// Binary: cache/js-dbg-32-ceef8a5c3ca1-linux
// Flags:
//
function f() { eval(''); }
trap(f, 9, "");
f()

Просмотреть файл

@ -0,0 +1,31 @@
// Binary: cache/js-dbg-32-7d06dac3fe83-linux
// Flags: -j
//
function partOfSHA1(str)
{
var rotate_left = function (n,s) { return ( n<<s ) | (n>>>(32-s)); },
W = [], H0 = 0x67452301,
H1 = 0xEFCDAB89, H2 = 0x98BADCFE,
H3 = 0x10325476, H4 = 0xC3D2E1F0,
A, B, C, D, E, temp, str_len = str.length,
word_array = [];
i = 0x080000000;
word_array.push( (str_len<<3)&0x0ffffffff );
for ( blockstart=0; blockstart<word_array.length; blockstart+=16 ) {
A = H0;
B = H1;
C = H2;
D = H3;
E = H4;
for (i= 0; i<=19; ++i) {
temp = (rotate_left(A,5) + ((B&C) | (~B&D)) + E + W[i] + 0x5A827999) & 0x0ffffffff;
E = D;
D = C;
C = rotate_left(B,30);
B = A;
A = temp;
}
}
}
partOfSHA1(1226369254122);

Просмотреть файл

@ -0,0 +1,8 @@
// Binary: cache/js-dbg-32-2fa341c1330b-linux
// Flags: -j
//
for (let j = 0; j < 2; ++j) {
if (j) {
(function() {})();
}
}

Просмотреть файл

@ -0,0 +1,8 @@
// |jit-test| error:TypeError
// Binary: cache/js-dbg-32-29add08d84ae-linux
// Flags: -j
//
this.watch('y', /x/g );
for each (y in ['q', 'q', 'q']) continue;
gc();

Просмотреть файл

@ -0,0 +1,10 @@
// |jit-test| error:TypeError
// Binary: cache/js-dbg-32-2c8e43e57337-linux
// Flags: -j
//
function b() { this.m(); }
var g = {m: function(){}};
var a = [g, g, {}];
for (var i = 0; i < a.length; ++i)
b.call(a[i]);

Просмотреть файл

@ -0,0 +1,9 @@
// Binary: cache/js-dbg-32-6739e046d870-linux
// Flags: -j
//
for each (b in [2, new Number(7), 2, {}, 2, 2]) {
let (f = function (g) {for each (let h in [{}, {}, {}, 4, 4, {}]) {}}) {
f();
}
[new Number(1) for each (e in [{}, {}])];
}

Просмотреть файл

@ -0,0 +1,179 @@
// Binary: cache/js-dbg-32-a419ff2cf0c5-linux
// Flags: -j
//
var l=[
-88,
-37,
-12,
-5,
9,
-7,
41,
-9,
43,
-11,
34,
38,
-22,
-17,
-16,
-34,
-33,
62,
63,
-36,
50,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
-128
];
var bits = [1,
1,
1,
1,
1,
1,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
];
var t = 0;
var c = 3407;
var i;
while (c--) {
i = 0;
while (l[i] < 0) {
if (bits[t]) {
i = - l[i];
} else {
++i;
}
++t;
}
}

Просмотреть файл

@ -0,0 +1,9 @@
// |jit-test| error:TypeError
// Binary: cache/js-dbg-32-9174e1bbfa9f-linux
// Flags: -j
//
'a'.replace(/a/g, [].push);
x = [];
x++;
(function(){ eval("for(let y in []) [][x]"); })();

Просмотреть файл

@ -0,0 +1,4 @@
// Binary: cache/js-dbg-64-023cb4350567-linux
// Flags:
//
uneval((function(){([z] = []).y >>= x}));

Просмотреть файл

@ -0,0 +1,11 @@
// Binary: cache/js-dbg-64-57213af4a45d-linux
// Flags:
//
function outer(x) {
return (function foo() {
this.bar = foo;
return x;
})();
}
print(outer(42));
print(bar()); // BOOM!

Просмотреть файл

@ -0,0 +1,5 @@
// Binary: cache/js-dbg-32-96746395df4f-linux
// Flags: -j
//
var fs = { x: /a/, y: /a/, z: /a/ };
for (var p in fs) { this[fs[p]] = null; }

Просмотреть файл

@ -0,0 +1,17 @@
// Binary: cache/js-dbg-64-86c8e18f20eb-linux
// Flags:
//
try {
!(Iterator((
eval("\
(function(){\
(function a() { \
new function(){\
__iterator__ = a\
}\
}\
)(); \
return this\
})")
)()))
} catch(e) {}

Просмотреть файл

@ -0,0 +1,13 @@
// |jit-test| error:TypeError
// Binary: cache/js-dbg-32-86c8e18f20eb-linux
// Flags:
//
(function(){
for each (var x in new (
(function (){x})()
for each (y in [])
)
)
{const functional}
})()

Просмотреть файл

@ -0,0 +1,29 @@
// Binary: cache/js-dbg-64-e1257570fef8-linux
// Flags:
//
var a = [];
function addEventListener(e, f, g)
{
a.push(f);
}
function setTimeout(f, t)
{
a.push(f);
}
var b;
this.document = {};
function e(w) {
addEventListener("mousedown", d, true);
function d() {
var d;
w.setTimeout(function() {
b(d);
}, 0);
}
function b(d){
w.document; /* Crash Here!! */
}
}
e(this);
a[0]();
a[1]();

Просмотреть файл

@ -0,0 +1,7 @@
// Binary: cache/js-dbg-64-e1257570fef8-linux
// Flags:
//
(function(){
var x;
eval("var x; ((function ()x)())");
})()

Просмотреть файл

@ -0,0 +1,13 @@
// |jit-test| error:InternalError
// Binary: cache/js-dbg-32-756dd46daf6c-linux
// Flags: -j
//
var d = {
p: function () {
for (var i = 0; i < 9; ++i);
with (d) { q(); }
}
};
d.q = function() { eval('this.p()'); }
d.p();

Просмотреть файл

@ -0,0 +1,12 @@
// Binary: cache/js-dbg-64-862693caa320-linux
// Flags:
//
function f(foo)
{
var x;
eval("__defineGetter__(\"y\", function ()x)");
}
f("");
try {
((function(){ throw y })())
} catch(exc1) {}

Просмотреть файл

@ -0,0 +1,4 @@
// Binary: cache/js-dbg-32-ec03b7905b5a-linux
// Flags: -j
//
(new Function("for (var x = 0; x < 2; ++x) { gczeal(2)} "))()

Просмотреть файл

@ -0,0 +1,4 @@
// Binary: cache/js-dbg-64-55b6298ff619-linux
// Flags:
//
for(let x in []) {((x = [] for(x in [])) for(y in 0))}

Просмотреть файл

@ -0,0 +1,4 @@
// Binary: cache/js-dbg-32-c319b49e2880-linux
// Flags: -j
//
for (var y = 0; y < 2; ++y) { (/x/)[this] }

Просмотреть файл

@ -0,0 +1,13 @@
// Binary: cache/js-dbg-32-1a1611bb1063-linux
// Flags: -j
//
var e;
function w(f, y) {
e = 2 * f;
for (var i = 0; i < 1; i++) {
}
}
for (var u = 0; u < 4; ++u) {
w(undefined, 0);
w(1, (2) * 2);
}

Просмотреть файл

@ -0,0 +1,15 @@
// Binary: cache/js-dbg-64-daefd30072a6-linux
// Flags:
//
function f(param) {
var w;
return eval("\
(function(){\
__defineGetter__(\"y\", function()({\
x: function(){ return w }()\
}))\
});\
");
}
(f())();
(new Function("eval(\"y\")"))();

Просмотреть файл

@ -0,0 +1,37 @@
// |jit-test| error:TypeError
// Binary: cache/js-dbg-32-7504904b5f8f-linux
// Flags: -j
//
Object.extend = function(destination, source) {
for (var property in source)
destination[property] = source[property]
}
Object.extend(Function.prototype, {
curry: function() {
var __method = this,
args = $A(arguments)
return function() {
return __method(
arguments)
}
},
wrap: function(wrapper) {
return function() { ([](
$A(arguments)))
}
}
})
function $A(iterable) {
var length = iterable.length
while (length--);
}
var ga = {
c: 3,
d: 4
}
ga.
__defineGetter__("", /x/.test.wrap("").curry(true, ""))
for (var p in ga) {
ga[p]
}

Просмотреть файл

@ -0,0 +1,9 @@
// Binary: cache/js-dbg-64-0ba03471b3b0-linux
// Flags:
//
uneval(new Function("\
for(\
((let (functional) x) for each ([] in [])); \
yield x; \
(let (x = true) x));\
"))

Просмотреть файл

@ -0,0 +1,8 @@
// Binary: cache/js-dbg-32-175ef7145705-linux
// Flags: -j
//
for (let cc = 0; cc < 3; ++cc) {
var c = cc;
print("" + new Number(.5));
for each (b in [0 / 0, 0 / 0]) {}
}

Просмотреть файл

@ -0,0 +1,5 @@
// Binary: cache/js-dbg-64-fe91973cc783-linux
// Flags:
//
const x;[x]='';
for(;[] && false;){}

Просмотреть файл

@ -0,0 +1,11 @@
// Binary: cache/js-dbg-32-a9887b731f29-linux
// Flags: -j
//
(function () {
const c = 0;
with ({}) {
for each (c in [{}, {}]) {
"" + c;
}
}
})();

Просмотреть файл

@ -0,0 +1,6 @@
// |jit-test| error:TypeError
// Binary: cache/js-dbg-64-9d6f5ab54933-linux
// Flags:
//
(function(a){ 1(function(){delete a;}); })();

Просмотреть файл

@ -0,0 +1,10 @@
// Binary: cache/js-dbg-32-9d6f5ab54933-linux
// Flags: -j
//
let (z = {}) {
for (var i = 0; i < 4; ++i) {
for each (var e in [{}, 1, {}]) {
+(function () z)();
}
}
}

Просмотреть файл

@ -0,0 +1,4 @@
// Binary: cache/js-dbg-32-9d6f5ab54933-linux
// Flags: -j
//
+[(e = {}, (function () e)()) for each (e in ["", {}, "", {}, ""])][4];

Просмотреть файл

@ -0,0 +1,19 @@
// Binary: cache/js-dbg-32-9d6f5ab54933-linux
// Flags: -j
//
(function() {
var Y = function() {};
function g() {
function f(x) {
for (var j = 0; j < 1; ++j) {
x.apply(this);
}
}
return function() {
f(Y);
}
};
for (var i = 0; i < 2; ++i) {
g()();
}
})();

Просмотреть файл

@ -0,0 +1,30 @@
// Binary: cache/js-dbg-32-b4fee3813956-linux
// Flags: -j
//
var aej=new Array( 'A3|297|420', 'dummy|1|1' );
var aes=aej.length-1,
aet=new Array();
for(var i=0; i <= aes; ++i)
aet[i] = aej[i].split('|');
afo=4;
R=new Array(
'17523|2500|275||',
'17524|5000|300.3||',
'17535|500|207.4|=|120x120|=|=|=|=|=|=|=',
'17556|500|349.3|=|A5|=|=|=|=|=|=|='
);
var ags = R.length-1;
px= new Array();
for(var i=1; i<=ags; i++) {
px[i] = R[i].split('|');
for(var j=0; j<=11;j++)
agt = ank(px[i][afo]);
}
function ank(akr) {
var XX=YY=0;
for(var i=0;i<aet.length;i++)
if((XX==0) && (akr.indexOf('x')>0)) {
var tt=akr.split('x');
XX=tt[0];YY=tt[1]
}
}

Просмотреть файл

@ -0,0 +1,9 @@
// Binary: cache/js-dbg-32-43a24a8896a3-linux
// Flags: -j
//
for (d in [0, 0]) {
const a = (d -= (++d).toString())
for each(b in [Number(1) << d, 0, 0xC]) {
b / a
}
}

Просмотреть файл

@ -0,0 +1,13 @@
// Binary: cache/js-dbg-32-d56149240ef8-linux
// Flags: -j
//
function foo(f) {
f()
}
foo((eval("\
(function () {\
for each(l in [0, 0xB504F332, 0]) {\
for (d in Error()) {}\
}\
})\
")))

Просмотреть файл

@ -0,0 +1,8 @@
// Binary: cache/js-dbg-32-16baceea5fe2-linux
// Flags:
//
for (a in (function () {
return Iterator(function () {}).__proto__
})()) {
++b
}

Просмотреть файл

@ -0,0 +1,8 @@
// Binary: cache/js-dbg-32-16baceea5fe2-linux
// Flags: -j
//
(function () {
for (let x = 0; x < 4; ++x) {
gczeal(2)
}
})()

Просмотреть файл

@ -0,0 +1,8 @@
// Binary: cache/js-dbg-32-d05dc3d31c75-linux
// Flags: -j
//
for each(let c in [1.3]) {
for (var x = 0; x < 4; ++x) {
gczeal(2);
}
}

Просмотреть файл

@ -0,0 +1,6 @@
// Binary: cache/js-dbg-64-38754465ffde-linux
// Flags:
//
this.__defineSetter__("x", gc);
this.watch("x",function(){return});
x = 3;

Просмотреть файл

@ -0,0 +1,9 @@
// |jit-test| error:ReferenceError
// Binary: cache/js-dbg-64-1cd24ecc343d-linux
// Flags:
//
(function(){
var c;
eval("var c; for each(var c in s);");
})()

Просмотреть файл

@ -0,0 +1,10 @@
// |jit-test| error:ReferenceError
// Binary: cache/js-dbg-32-c08baee44cf4-linux
// Flags:
//
for (c in [0]) {
let(c = __defineGetter__("", function(){})) {
eval("function w(){}")++
}
}

Просмотреть файл

@ -0,0 +1,19 @@
// Binary: cache/js-dbg-64-c08baee44cf4-linux
// Flags: -j
//
try {
with({
x: (function f(a) {
f(1)
})()
}) {}
} catch(e) {}
for each(x in ["", true]) {
for (b = 0; b < 4; ++b) {
if (b % 2 == 0) {
(function () {})()
} {
gc()
}
}
}

Просмотреть файл

@ -0,0 +1,6 @@
// |jit-test| error:ReferenceError
// Binary: cache/js-dbg-32-ca95f2397bc5-linux
// Flags:
//
for(let a in[0]){eval("var b")=x}

Просмотреть файл

@ -0,0 +1,4 @@
// Binary: cache/js-dbg-64-93d2eef52108-linux
// Flags:
//
for(e in((function x(){yield(p=x())})())){}

Просмотреть файл

@ -0,0 +1,8 @@
// Binary: cache/js-dbg-32-a847cf5b4669-linux
// Flags: -j
//
function r([]) { r(); }
var a = {};
a.__defineGetter__("t", r);
try { a.t; } catch(e) { }
print(uneval(a));

Просмотреть файл

@ -0,0 +1,15 @@
// |jit-test| error:ReferenceError
// Binary: cache/js-dbg-32-525d852c622d-linux
// Flags: -j
//
(function() {
let(x)
(function() {
for (let a in [0, x, 0, 0])
(function() {
for (let y in [0, 0]) print
})();
})()
with({}) throw x;
})()

Просмотреть файл

@ -0,0 +1,13 @@
// Binary: cache/js-dbg-32-c0dbbcfdb583-linux
// Flags: -j
//
(function (){
var c;
(eval("\
(function() {\
eval(\"\
for each(w in[0,0,0]) { print(c) }\
\" , function(){})\
})\
"))()
})()

Просмотреть файл

@ -0,0 +1,20 @@
// Binary: cache/js-dbg-32-761988dd0d81-linux
// Flags: -j
//
for (j = 0; j < 3; j++) {}
m = [];
m.concat();
n = [];
n.concat([]);
Function("\
for (i = 0; i < 8; i++)\
((function f1(b, c) {\
if (c) {\
return (gc)()\
}\
f1(b, 1);\
((function f2(d, e) {\
return d.length == e ? 0 : d[e] + f2(d, e + 1)\
})([{}, /x/, /x/], 0))\
})())\
")()

Просмотреть файл

@ -0,0 +1,18 @@
// Binary: cache/js-dbg-32-15c46082297d-linux
// Flags: -j
//
(function() {
(eval("\
(function() {\
let(e)((function() { ((function f(a) {\
if (a < 1) {\
return 1\
}\
x = arguments;\
return f(a - 1) + f(a - 2)\
})(6))\
})())\
})\
"))()
})()
gc()

Просмотреть файл

@ -0,0 +1,24 @@
// Binary: cache/js-dbg-32-4a7f5376270a-linux
// Flags: -j
//
try {
(eval("\
(function() {\
for (var y = 0; y < 4; y++) {\
w = y\
}\
})")
)()
} catch(e) {}
(function() {
for (v in (x = {})) {}
})();
(function() {
for (var z = 0; z < 8; z++) {
if (z == 5) {
x /= x
} else {
for each(w in [1]) {}
}
}
})()

Просмотреть файл

@ -0,0 +1,9 @@
// Binary: cache/js-dbg-32-410468c50ca1-linux
// Flags: -j
//
(function() {
for each(z in [0, 0, 0, 0]) { ({
__parent__: []
} = [])
}
})()

Просмотреть файл

@ -0,0 +1,25 @@
// Binary: cache/js-dbg-64-61b1c094b729-linux
// Flags: -j
//
function mk() {
return (function () {});
}
function f() {
var j = 55;
var f = function () {
return j;
}
var g = function() {
}
var a = [ mk(), f, g, mk(), mk() ];
for (var i = 0; i < 5; ++i) {
a[i].p = 99;
}
}
f();

Просмотреть файл

@ -0,0 +1,4 @@
// Binary: cache/js-dbg-64-9d51f2a931f7-linux
// Flags:
//
({x:function(){}}).watch('x',function(){});

Просмотреть файл

@ -0,0 +1,15 @@
// Binary: cache/js-dbg-64-f57b95afb57e-linux
// Flags:
//
(function() {
try {
eval("\
function() {\
if (3)\
(1 for (x in []));\
else \
(this._ = function(){})\
}\
");
} catch(e) {}
})()

Просмотреть файл

@ -0,0 +1,44 @@
// Binary: cache/js-dbg-64-6f1a38b94754-linux
// Flags: -j
//
/* vim: set ts=4 sw=4 tw=99 et: */
var x = 0;
var y = 0;
function h() {
if (x == 1)
y++;
else
y--;
}
function F() {
var m = null;
function g(i) {
/* Force outgoing typemaps to have a string. */
m = "badness";
/* Loop a bit. */
for (var i = 0; i < 10; i++) {
h();
}
}
/* Spin for a while so trees build. */
for (var i = 0; i < 100; i++) {
/* Capture m == TT_NULL in outgoing fi for rp[0] */
g();
/* Flip the switch to bail out with deep nested frames. */
if (i > 50)
x = 1;
/* Set m = null on the loop tail to get better traces. */
m = null;
}
}
F();

Просмотреть файл

@ -0,0 +1,15 @@
// Binary: cache/js-dbg-64-e69034463eeb-linux
// Flags: -j
//
/* vim: set ts=4 sw=4 tw=99 et: */
function f() {
this.search = function(a, b, c) {
arguments[3] = { }
arguments.length = 4;
for (var i = 0; i < 100; i++) {
print(arguments[3]);
}
}
}
var o = new f();
o.search({x: -1, y: -1, w: 100600, h: 100600});

Просмотреть файл

@ -0,0 +1,7 @@
// Binary: cache/js-dbg-64-58c9dd4f0c1f-linux
// Flags:
//
var o = {}
Object.defineProperty(o, "x", {get: undefined, set: function() { Object.defineProperty(o, "x", {set: function() { }}); }, configurable: true});
o.a = 0;
o.x = 0;

Просмотреть файл

@ -0,0 +1,9 @@
// Binary: cache/js-dbg-64-a6d7a5677b4c-linux
// Flags:
//
__defineSetter__("x", function(){})
this.watch("x", "".localeCompare)
window = x
Object.defineProperty(this, "x", ({
set: window
}))

Просмотреть файл

@ -0,0 +1,9 @@
// Binary: cache/js-dbg-32-fe937d72a9ce-linux
// Flags:
//
x = Iterator([])
for (z in x) {}
(function() {
for (l in function() {}) {}
} ())
for (z in x) {}

Просмотреть файл

@ -0,0 +1,20 @@
// Binary: cache/js-dbg-64-0723bab9f15d-linux
// Flags:
//
function f(code) {
uneval(Function(code.replace(/\/\*DUPTRY\d+/,
function(k) {
n = k.substr(8)
return g("try{}catch(e){}", n)
}
)))
}
function g(s, n) {
if (n == 1) return s
s2 = s + s
r = n % 2
d = (n - r) / 2;
m = g(s2, d)
return r ? m: m
}
f("if(/>/(\"\")){/*DUPTRY4968(u)}else if([]()){}")

Просмотреть файл

@ -0,0 +1,11 @@
// Binary: cache/js-dbg-64-c9212eb6175b-linux
// Flags:
//
function f(a) {
function g() {
yield function () a;
}
return g();
}
var x;
f(7).next()();

Просмотреть файл

@ -0,0 +1,6 @@
// |jit-test| error:ReferenceError
// Binary: cache/js-dbg-64-985cdfad1c7e-linux
// Flags:
//
(function(x){ function a () { x = 2 }; tracing(true); a(); })()

Просмотреть файл

@ -0,0 +1,6 @@
// Binary: cache/js-dbg-64-985cdfad1c7e-linux
// Flags: -j
//
function a() {}
a();
for(var j=0;j<3;++j){ evalcx("lazy");}

Просмотреть файл

@ -0,0 +1,14 @@
// Binary: cache/js-dbg-32-a214b695dc7b-linux
// Flags: -j
//
(function() {
eval("\
function c() {\
for (var b = 0; b < 2; ++b) {\
print(this)\
}\
}\
c();\
c();\
")
})()

Просмотреть файл

@ -0,0 +1,8 @@
// |jit-test| error:TypeError
// Binary: cache/js-dbg-64-6fc5d661ca55-linux
// Flags:
//
x = /x/
x.__proto__ = new Namespace
x > 0

Просмотреть файл

@ -0,0 +1,8 @@
// |jit-test| error:TypeError
// Binary: cache/js-dbg-64-88a6e0534e03-linux
// Flags: -j
//
for (a in [/x/, null, new String - Infinity]) {
print(new evalcx(" "))
}

Просмотреть файл

@ -0,0 +1,19 @@
// Binary: cache/js-dbg-32-9ca0a738a8ad-linux
// Flags:
//
x = ({
x: /x/
})
x.p = []
Object.defineProperty(x, "x", {
writable: ""
})
for (b in [[], null, [undefined]]) {
function f(a) {
delete a.x
a.x = Infinity
}
for each(z in [x]) {
f(z)
}
}

Просмотреть файл

@ -0,0 +1,11 @@
// |jit-test| error:TypeError
// Binary: cache/js-dbg-64-9ca0a738a8ad-linux
// Flags:
//
__defineSetter__("x", Array.reduce)
x = Proxy.create(function() {},
this.watch("x",
function() {
yield
}))

Просмотреть файл

@ -0,0 +1,10 @@
// Binary: cache/js-dbg-64-fadb38356e0f-linux
// Flags:
//
function f() {
this.e = function() {};
Object.defineProperty(this, "e", ({
get: eval
}));
}
new f();

Просмотреть файл

@ -0,0 +1,9 @@
// Binary: cache/js-dbg-64-fadb38356e0f-linux
// Flags: -j
//
NaN = []
for (var a = 0; a < 2; ++a) {
if (a == 1) {
for each(e in [NaN, Infinity, NaN]) {}
}
}

Просмотреть файл

@ -0,0 +1,7 @@
// Binary: cache/js-dbg-32-fadb38356e0f-linux
// Flags: -j
//
this.__proto__ = Proxy.create({has:function(){return false}});
(function(){
eval("(function(){ for(var j=0;j<6;++j) if(j%2==1) p=0; })")();
})()

Просмотреть файл

@ -0,0 +1,9 @@
// Binary: cache/js-dbg-64-7f7dfb33a33e-linux
// Flags:
//
x = Proxy.create((function () {}), (evalcx('')))
try {
(function () {
((let(e = eval) e).call(x, ("\"\"")))
})()
} catch (e) {}

Просмотреть файл

@ -0,0 +1,9 @@
// |jit-test| error:InternalError
// Binary: cache/js-dbg-64-b84d0be52070-linux
// Flags:
//
var x = wrap.call(x, Function);
if (x.__proto__ = x) {
print(x);
}

Просмотреть файл

@ -0,0 +1,11 @@
// Binary: cache/js-dbg-32-55f39d8d866c-linux
// Flags: -j
//
eval("\
for each(d in[0,0,0,0,0,0,0,0,0,0,0,0]) {\
(function f(aaaaaa,bbbbbb){\
return aaaaaa.length==bbbbbb?0:aaaaaa[bbbbbb]+f(aaaaaa,bbbbbb+1)\
})\
([,,true,'',,(0),(0/0),new Number,true,Number()],0)\
}\
")

Просмотреть файл

@ -0,0 +1,14 @@
// Binary: cache/js-dbg-64-60c111fc0d4b-linux
// Flags:
//
(function () {
x = Proxy.createFunction((function () {
return {
getOwnPropertyDescriptor: function () {
return this
},
get: undefined
}
})(), Object.getOwnPropertyDescriptor)
})()
x(x)

Просмотреть файл

@ -0,0 +1,6 @@
// Binary: cache/js-dbg-32-2d09181ec4cd-linux
// Flags: -j
//
for(a in[0,0,0]) {
([])[-1]
}

Просмотреть файл

@ -0,0 +1,12 @@
// |jit-test| error:TypeError
// Binary: cache/js-dbg-64-c271aa43c7ab-linux
// Flags:
//
(function () {
x = Proxy.create((function () {
return {
enumerateOwn: function () Object.getOwnPropertyDescriptor
}
})(), [])
})()(uneval(this))

Просмотреть файл

@ -0,0 +1,20 @@
// Binary: cache/js-dbg-32-7c6f62fcbd91-linux
// Flags: -m
//
function f3() {
try {
v = f()
} catch (r) {}
}
function f1(a, t) {
f2(f, a)
}
function f2() {
u = uneval()
}
f = (function () {
Proxy((function () {})(gc()), [])
})
a = ""
f1()
f3(f, a)

Просмотреть файл

@ -0,0 +1,12 @@
// Binary: cache/js-dbg-32-7c6f62fcbd91-linux
// Flags: -m
//
function f() {
(function () {
x;
function a() {}
print(a)
})()
}
__defineGetter__("x", gc)
f()

Просмотреть файл

@ -0,0 +1,6 @@
// Binary: cache/js-dbg-32-7c6f62fcbd91-linux
// Flags: -m
//
for (let c in []) {
c = 0
}(eval)()

Просмотреть файл

@ -0,0 +1,12 @@
// Binary: cache/js-dbg-64-c338f8b7371e-linux
// Flags: -j
//
(function(){
(eval("\
(function(){\
if(XML('aa'.replace(/a/g,function(){for(l in[0,0,0]){\
print(this)\
}}))){('')}\
})\
"))()
})()

Просмотреть файл

@ -0,0 +1,11 @@
// Binary: cache/js-dbg-64-441daac3fef9-linux
// Flags: -j
//
function f() {
this.b = function() {};
this.b = Object.e;
Object.defineProperty(this, "b", {})
}
for (a in [0, 0, 0, 0]) {
new f
}

Просмотреть файл

@ -0,0 +1,6 @@
// |jit-test| error:ReferenceError
// Binary: cache/js-dbg-32-e0988eae6c08-linux
// Flags: -m
//
7%s

Просмотреть файл

@ -0,0 +1,7 @@
// Binary: cache/js-dbg-32-e0988eae6c08-linux
// Flags: -m
//
(function() {
this / z
var z = ""
})()

Просмотреть файл

@ -0,0 +1,11 @@
// |jit-test| error:TypeError
// Binary: cache/js-dbg-32-2ee92d697741-linux
// Flags: -m
//
{
gczeal(2)
}
(function () {
''.w()
})()

Просмотреть файл

@ -0,0 +1,14 @@
// Binary: cache/js-dbg-32-2ee92d697741-linux
// Flags: -m
//
function f(foo) {
foo.replace(/s/, "")
Function(foo)()
}
for (a = 0; a < 1000; a++) {
f("\
for (var b = 0; b < 7; b++) {\
gczeal(2)\
}\
")
}

Просмотреть файл

@ -0,0 +1,4 @@
// Binary: cache/js-dbg-32-2ee92d697741-linux
// Flags: -m
//
Function[typeof h]

Просмотреть файл

@ -0,0 +1,4 @@
// Binary: cache/js-dbg-64-c761f8e85b8c-linux
// Flags:
//
uneval(Function("function r([],x){this.b=function(){x}}"))

Просмотреть файл

@ -0,0 +1,12 @@
// Binary: cache/js-dbg-32-f7cf2b7b7961-linux
// Flags: -m
//
Function("\
for (var a = 0,i=0;i<10;++i) {\
if (a % 3) {\
return\
}\
function b() {}\
b((function() {})([Infinity]))\
}\
")()

Просмотреть файл

@ -0,0 +1,18 @@
// |jit-test| error:TypeError
// Binary: cache/js-dbg-32-805fd625e65f-linux
// Flags: -j
//
x = Proxy.create((function () {
return {
get: function () {}
}
}()), Object.e)
Function("\
for(var a = 0; a < 2; ++a) {\
if (a == 0) {}\
else {\
x > x\
}\
}\
")()

Просмотреть файл

@ -0,0 +1,15 @@
// |jit-test| error:TypeError
// Binary: cache/js-dbg-32-89b775191b9d-linux
// Flags: -j
//
x = Proxy.create(function() {
return {
get: function() {}
};
} ());
for (var a = 0; a < 6; ++a) {
if (a == 3) {
x > ""
}
}

Просмотреть файл

@ -0,0 +1,9 @@
// Binary: cache/js-dbg-32-b22e82ce2364-linux
// Flags: -j
//
x = (w for (x in []))
for (w in [0, 0, 0, 0]) {
(function() {
[c for (z in x)]
})()
}

Просмотреть файл

@ -0,0 +1,6 @@
// |jit-test| error:InternalError
// Binary: cache/js-dbg-64-b22e82ce2364-linux
// Flags:
//
print(__proto__ = Proxy.create(this, ""))

Просмотреть файл

@ -0,0 +1,4 @@
// Binary: cache/js-dbg-32-f561f17e6c27-linux
// Flags:
//
Reflect.parse("for (var x = 3 in []) { }")

Просмотреть файл

@ -0,0 +1,6 @@
// Binary: cache/js-dbg-32-33b05dd43cd4-linux
// Flags: -m
//
for (let x in []) {
t(x !== x)
}

Просмотреть файл

@ -0,0 +1,12 @@
// Binary: cache/js-dbg-32-33b05dd43cd4-linux
// Flags: -j
//
(function() {
for each(let z in [0, 0, 0, 0]) {
eval("\
for(var a = 0; a < 1; ++a) {\
this\
}\
")
}
})()

Просмотреть файл

@ -0,0 +1,4 @@
// Binary: cache/js-dbg-32-eae8350841be-linux
// Flags:
//
gczeal()

Просмотреть файл

@ -0,0 +1,16 @@
// |jit-test| error:TypeError
// Binary: cache/js-dbg-64-e8ee411dca70-linux
// Flags:
//
__defineGetter__("x", function () {});
function z() {
"".replace(/s/, "");
}
z();
(function () {
for (a = 0; a < 2; a++) {
__defineGetter__("", /a/);
for each(y in [__defineGetter__("x", function(){})]) {}
}
}());

Просмотреть файл

@ -0,0 +1,21 @@
// |jit-test| error:TypeError
// Binary: cache/js-dbg-64-e8ee411dca70-linux
// Flags:
//
x = Proxy.create((function () {
return {
get: Object.create
}
})([]), "")
try {
(function () {
for each(l in [0]) {
print(x)
}
})()
} catch (e) {}
gc()
for each(let a in [0]) {
print(x)
}

Просмотреть файл

@ -0,0 +1,29 @@
// Binary: cache/js-dbg-64-60af58b42567-linux
// Flags:
//
realEval = eval
f = eval("(function(){for(let x in[\
__defineGetter__(\"\",function(){})\
,__defineGetter__(\"\
functional\
\",Math.pow)\
]){\
(__defineSetter__(\"\",function(){}))\
()\
}})")
try {
f()
} catch (r) {
delete this.eval
delete this.Math
eval = realEval
e = this.toSource
}
f = eval("(function(){(__defineSetter__(\"\
functional\
\",(function(){return{t:function(){}}})))()})")
try {
f()
} catch (r) {
eval()
}

Просмотреть файл

@ -0,0 +1,11 @@
// Binary: cache/js-dbg-32-60af58b42567-linux
// Flags:
//
function z(b) {
if (b) this.x = Object;
this.__defineGetter__("x", encodeURIComponent)
this.c = delete s
}
for each(a in [/x/, 0]) {
new z(a)
}

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше