зеркало из https://github.com/mozilla/gecko-dev.git
Bug 831629 - Add 291 missing jit-tests for various bugs. rs=terrence
This commit is contained in:
Родитель
9f3b77fe34
Коммит
3b7898d56f
|
@ -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)
|
||||
}
|
Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше
Загрузка…
Ссылка в новой задаче