mirror of https://github.com/tc39/test262.git
[javascriptcore-test262-automation] Updated curation log with latest revision sha's from export and changed files.
sourceRevisionAtLastExport: 2b233fa3c0 targetRevisionAtLastExport: 8e3c6d0484
This commit is contained in:
parent
18bf7976f5
commit
32a39daf43
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"sourceRevisionAtLastExport": "2b233fa3c0",
|
||||
"targetRevisionAtLastExport": "8e3c6d0484",
|
||||
"sourceRevisionAtLastExport": "8e5433b70f",
|
||||
"targetRevisionAtLastExport": "18bf7976f5",
|
||||
"curatedFiles": {
|
||||
"/stress/Number-isNaN-basics.js": "DELETED_IN_TARGET",
|
||||
"/stress/Object_static_methods_Object.getOwnPropertyDescriptors-proxy.js": "DELETED_IN_TARGET",
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
try {
|
||||
let char16 = decodeURI('%E7%9A%84');
|
||||
let rope = char16.padEnd(2147483644, 1);
|
||||
rope.__defineGetter__(256, function () {});
|
||||
} catch { }
|
|
@ -0,0 +1,21 @@
|
|||
//@ runBigIntEnabled
|
||||
|
||||
function assert(a) {
|
||||
if (!a)
|
||||
throw new Error("Bad assertion");
|
||||
}
|
||||
|
||||
function bool(n) {
|
||||
var value = "string";
|
||||
if (n & 0x1)
|
||||
value = 0n;
|
||||
return !!value;
|
||||
}
|
||||
noInline(bool);
|
||||
|
||||
for (let i = 0; i < 1e6; i++) {
|
||||
if (i & 0x1)
|
||||
assert(bool(i) === false);
|
||||
else
|
||||
assert(bool(i) === true);
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
//@ runBigIntEnabled
|
||||
|
||||
let assert = {
|
||||
sameValue: function(i, e, m) {
|
||||
if (i !== e)
|
||||
throw new Error(m);
|
||||
}
|
||||
}
|
||||
|
||||
function bigIntDiv(x, y) {
|
||||
return x / y;
|
||||
}
|
||||
noInline(bigIntDiv);
|
||||
|
||||
for (let i = 0; i < 10000; i++) {
|
||||
let r = bigIntDiv(30n, 10n);
|
||||
assert.sameValue(r, 3n, 30n + " / " + 10n + " = " + r);
|
||||
}
|
||||
|
||||
let r = bigIntDiv(30, 10);
|
||||
assert.sameValue(r, 3, 3 + " / " + 10 + " = " + r);
|
||||
|
||||
r = bigIntDiv("30", "10");
|
||||
assert.sameValue(r, 3, 30 + " * " + 10 + " = " + r);
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
//@ runBigIntEnabled
|
||||
|
||||
let assert = {
|
||||
sameValue: function(i, e, m) {
|
||||
if (i !== e)
|
||||
throw new Error(m);
|
||||
}
|
||||
}
|
||||
|
||||
function bigIntDiv(x, y) {
|
||||
return x / y;
|
||||
}
|
||||
noInline(bigIntDiv);
|
||||
|
||||
let o = {valueOf: () => 10n};
|
||||
|
||||
for (let i = 0; i < 10000; i++) {
|
||||
let r = bigIntDiv(30n, o);
|
||||
assert.sameValue(r, 3n, 30n + " / {valueOf: () => 10n} = " + r);
|
||||
}
|
||||
|
||||
o2 = {valueOf: () => 10000n};
|
||||
|
||||
for (let i = 0; i < 10000; i++) {
|
||||
let r = bigIntDiv(o2, o);
|
||||
assert.sameValue(r, 1000n, "{valueOf: () => 10000n} / {valueOf: () => 10n} = " + r);
|
||||
}
|
||||
|
||||
o = Object(10n);
|
||||
let r = bigIntDiv(30n, o);
|
||||
assert.sameValue(r, 3n, 30n + " / Object(10n) = " + r);
|
||||
|
||||
o2 = Object(3240n);
|
||||
r = bigIntDiv(o2, o);
|
||||
assert.sameValue(r, 324n, "Object(3240n) / Object(10n) = " + r);
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
//@ runBigIntEnabled
|
||||
|
||||
let assert = {
|
||||
sameValue: function(i, e, m) {
|
||||
if (i !== e)
|
||||
throw new Error(m);
|
||||
}
|
||||
}
|
||||
|
||||
function bigIntMul(x, y) {
|
||||
return x * y;
|
||||
}
|
||||
noInline(bigIntMul);
|
||||
|
||||
for (let i = 0; i < 10000; i++) {
|
||||
let r = bigIntMul(3n, 10n);
|
||||
assert.sameValue(r, 30n, 3n + " * " + 10n + " = " + r);
|
||||
}
|
||||
|
||||
let r = bigIntMul(3, 10);
|
||||
assert.sameValue(r, 30, 3 + " * " + 10 + " = " + r);
|
||||
|
||||
r = bigIntMul("3", "10");
|
||||
assert.sameValue(r, 30, 3 + " * " + 10 + " = " + r);
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
//@ runBigIntEnabled
|
||||
|
||||
let assert = {
|
||||
sameValue: function(i, e, m) {
|
||||
if (i !== e)
|
||||
throw new Error(m);
|
||||
}
|
||||
}
|
||||
|
||||
function bigIntMul(x, y) {
|
||||
return x * y;
|
||||
}
|
||||
noInline(bigIntMul);
|
||||
|
||||
let o = {valueOf: () => 10n};
|
||||
|
||||
for (let i = 0; i < 10000; i++) {
|
||||
let r = bigIntMul(3n, o);
|
||||
assert.sameValue(r, 30n, 3n + " * {valueOf: () => 10n} = " + r);
|
||||
}
|
||||
|
||||
o2 = {valueOf: () => 10000n};
|
||||
|
||||
for (let i = 0; i < 10000; i++) {
|
||||
let r = bigIntMul(o2, o);
|
||||
assert.sameValue(r, 100000n, "{valueOf: () => 10000n} * {valueOf: () => 10n} = " + r);
|
||||
}
|
||||
|
||||
o = Object(10n);
|
||||
let r = bigIntMul(3n, o);
|
||||
assert.sameValue(r, 30n, 3n + " * Object(10n) = " + r);
|
||||
|
||||
o2 = Object(3241n);
|
||||
r = bigIntMul(o2, o);
|
||||
assert.sameValue(r, 32410n, "Object(32410n) * Object(10n) = " + r);
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
//@ runBigIntEnabled
|
||||
|
||||
function assert(a) {
|
||||
if (!a)
|
||||
throw new Error("Bad assertion");
|
||||
}
|
||||
|
||||
function typeOf(n) {
|
||||
var value = "string";
|
||||
var dispatcher = n % 3;
|
||||
if (dispatcher === 0)
|
||||
value = 1n;
|
||||
else if (dispatcher === 1)
|
||||
value = "string";
|
||||
else
|
||||
value = Symbol("symbol");
|
||||
return typeof value;
|
||||
}
|
||||
noInline(typeOf);
|
||||
|
||||
for (let i = 0; i < 1e6; i++) {
|
||||
switch (i % 3) {
|
||||
case 0:
|
||||
assert(typeOf(i) === "bigint");
|
||||
break;
|
||||
case 1:
|
||||
assert(typeOf(i) === "string");
|
||||
break;
|
||||
case 2:
|
||||
assert(typeOf(i) === "symbol");
|
||||
break;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
//@ runBigIntEnabled
|
||||
|
||||
function assert(a) {
|
||||
if (!a)
|
||||
throw new Error("Bad assertion");
|
||||
}
|
||||
|
||||
function typeOf(n) {
|
||||
var value = "string";
|
||||
if (n & 0x1)
|
||||
value = 1n;
|
||||
return typeof value;
|
||||
}
|
||||
noInline(typeOf);
|
||||
|
||||
for (let i = 0; i < 1e6; i++) {
|
||||
if (i & 0x1)
|
||||
assert(typeOf(i) === "bigint");
|
||||
else
|
||||
assert(typeOf(i) === "string");
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
function foo(o) {
|
||||
return o.r.input;
|
||||
}
|
||||
noInline(foo);
|
||||
|
||||
Object.assign({}, RegExp);
|
||||
|
||||
for (let i = 0; i < 10000; i++)
|
||||
foo({r: RegExp});
|
||||
|
||||
let input = foo({r: RegExp});
|
||||
if (typeof input !== "string")
|
||||
throw "FAILED";
|
|
@ -0,0 +1,23 @@
|
|||
var a = {};
|
||||
|
||||
function foo() {
|
||||
return Array.prototype.splice.apply([], a);
|
||||
}
|
||||
noInline(foo);
|
||||
|
||||
function bar(b) {
|
||||
with({});
|
||||
a = arguments;
|
||||
a.__defineGetter__("length", String.prototype.valueOf);
|
||||
foo();
|
||||
}
|
||||
|
||||
var exception;
|
||||
try {
|
||||
bar();
|
||||
} catch (e) {
|
||||
exception = e;
|
||||
}
|
||||
|
||||
if (exception != "TypeError: Type error")
|
||||
throw "FAIL";
|
|
@ -0,0 +1,16 @@
|
|||
//@ runDefault("--useLLInt=false", "--forceCodeBlockToJettisonDueToOldAge=true", "--maxPerThreadStackUsage=200000", "--exceptionStackTraceLimit=1", "--defaultErrorStackTraceLimit=1")
|
||||
//@ skip if $memoryLimited or $buildType == "debug"
|
||||
|
||||
let foo = 'let a';
|
||||
for (let i = 0; i < 400000; i++)
|
||||
foo += ',a' + i;
|
||||
|
||||
var exception;
|
||||
try {
|
||||
new Function(foo)();
|
||||
} catch (e) {
|
||||
exception = e;
|
||||
}
|
||||
|
||||
if (exception != "RangeError: Maximum call stack size exceeded.")
|
||||
throw "FAILED";
|
|
@ -0,0 +1,21 @@
|
|||
function shouldBe(actual, expected)
|
||||
{
|
||||
if (actual !== expected)
|
||||
throw new Error('bad value: ' + actual);
|
||||
}
|
||||
noInline(shouldBe);
|
||||
|
||||
function test(description)
|
||||
{
|
||||
return Symbol(description);
|
||||
}
|
||||
noInline(test);
|
||||
|
||||
var set = new Set;
|
||||
for (var i = 0; i < 1e4; ++i) {
|
||||
var description = String(i);
|
||||
var symbol = test(description);
|
||||
set.add(symbol);
|
||||
shouldBe(set.size, i + 1);
|
||||
shouldBe(symbol.description, description);
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
function shouldBe(actual, expected)
|
||||
{
|
||||
if (actual !== expected)
|
||||
throw new Error('bad value: ' + actual);
|
||||
}
|
||||
noInline(shouldBe);
|
||||
|
||||
function test()
|
||||
{
|
||||
return Symbol();
|
||||
}
|
||||
noInline(test);
|
||||
|
||||
var set = new Set;
|
||||
for (var i = 0; i < 1e4; ++i) {
|
||||
var symbol = test();
|
||||
set.add(symbol);
|
||||
shouldBe(set.size, i + 1);
|
||||
shouldBe(symbol.description, undefined);
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
function shouldBe(actual, expected)
|
||||
{
|
||||
if (actual !== expected)
|
||||
throw new Error('bad value: ' + actual);
|
||||
}
|
||||
noInline(shouldBe);
|
||||
|
||||
function shouldThrow(func, errorMessage) {
|
||||
var errorThrown = false;
|
||||
var error = null;
|
||||
try {
|
||||
func();
|
||||
} catch (e) {
|
||||
errorThrown = true;
|
||||
error = e;
|
||||
}
|
||||
if (!errorThrown)
|
||||
throw new Error('not thrown');
|
||||
if (String(error) !== errorMessage)
|
||||
throw new Error(`bad error: ${String(error)}`);
|
||||
}
|
||||
noInline(shouldThrow);
|
||||
|
||||
function test(description)
|
||||
{
|
||||
return Symbol(description);
|
||||
}
|
||||
noInline(test);
|
||||
|
||||
var count = 0;
|
||||
var flag = false;
|
||||
var object = {
|
||||
toString()
|
||||
{
|
||||
count++;
|
||||
if (flag) {
|
||||
throw new Error("out");
|
||||
}
|
||||
return "Cocoa";
|
||||
}
|
||||
};
|
||||
|
||||
for (var i = 0; i < 1e4; ++i) {
|
||||
shouldBe(test(object).description, "Cocoa");
|
||||
shouldBe(count, i + 1);
|
||||
}
|
||||
flag = true;
|
||||
|
||||
shouldThrow(() => {
|
||||
shouldBe(test(object).description, "Cocoa");
|
||||
shouldBe(count, 1e4 + 1);
|
||||
}, `Error: out`);
|
|
@ -0,0 +1,29 @@
|
|||
//@ runBigIntEnabled
|
||||
|
||||
function assert(a, e) {
|
||||
if (a !== e)
|
||||
throw new Error("Bad!");
|
||||
}
|
||||
|
||||
function foo() {
|
||||
let c;
|
||||
do {
|
||||
|
||||
let a = 2;
|
||||
let b = 3n;
|
||||
for (let i = 0; i < 10000; i++) {
|
||||
c = i;
|
||||
}
|
||||
|
||||
c = a / b;
|
||||
} while(true);
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
try {
|
||||
foo();
|
||||
} catch(e) {
|
||||
assert(e instanceof TypeError, true);
|
||||
}
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
//@ runBigIntEnabled
|
||||
|
||||
function assert(a, e) {
|
||||
if (a !== e)
|
||||
throw new Error("Bad!");
|
||||
}
|
||||
|
||||
function foo() {
|
||||
let c;
|
||||
do {
|
||||
|
||||
let a = 2;
|
||||
let b = 3n;
|
||||
for (let i = 0; i < 10000; i++) {
|
||||
c = i;
|
||||
}
|
||||
|
||||
c = a * b;
|
||||
} while(true);
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
try {
|
||||
foo();
|
||||
} catch(e) {
|
||||
assert(e instanceof TypeError, true);
|
||||
}
|
||||
|
Loading…
Reference in New Issue