mirror of https://github.com/tc39/test262.git
[javascriptcore-test262-automation] Changes from https://github.com/webkit/webkit.git at sha 1966f6a0b8 on Wed Nov 28 2018 19:04:52 GMT+0000 (Coordinated Universal Time)
This commit is contained in:
parent
d52f621aba
commit
0210918f1e
|
@ -0,0 +1,26 @@
|
|||
function assert(a, e) {
|
||||
if (a !== e) {
|
||||
throw new Error("Bad!");
|
||||
}
|
||||
}
|
||||
|
||||
function foo(a) {
|
||||
let loc = ~a;
|
||||
return a + 2;
|
||||
}
|
||||
noInline(foo);
|
||||
|
||||
let b = 0;
|
||||
let o = {
|
||||
valueOf: function () {
|
||||
b++;
|
||||
return 2;
|
||||
}
|
||||
};
|
||||
|
||||
for (let i = 0; i < 100000; i++) {
|
||||
assert(foo(o), 4);
|
||||
}
|
||||
|
||||
assert(b, 200000)
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
function assert(a, e, m) {
|
||||
if (a !== e)
|
||||
throw new Error("Expected to be: " + e + " but got: " + a);
|
||||
}
|
||||
|
||||
function bitNot(a) {
|
||||
return ~a;
|
||||
}
|
||||
noInline(bitNot);
|
||||
|
||||
for (let i = 0; i < 10000; i++) {
|
||||
let r = bitNot("0");
|
||||
assert(r, -1);
|
||||
r = bitNot("1");
|
||||
assert(r, -2);
|
||||
r = bitNot("-1");
|
||||
assert(r, 0);
|
||||
r = bitNot("-2");
|
||||
assert(r, 1);
|
||||
|
||||
r = bitNot({ valueOf: () => 0 });
|
||||
assert(r, -1);
|
||||
r = bitNot({ valueOf: () => 1 });
|
||||
assert(r, -2);
|
||||
r = bitNot({ valueOf: () => -1 });
|
||||
assert(r, 0);
|
||||
r = bitNot({ valueOf: () => -2 });
|
||||
assert(r, 1);
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
function foo() {
|
||||
return function () {
|
||||
eval();
|
||||
}
|
||||
}
|
||||
noInline(foo);
|
||||
|
||||
for (let i = 0; i < 100000; ++i) {
|
||||
foo();
|
||||
}
|
Loading…
Reference in New Issue