mirror of
https://github.com/tc39/test262.git
synced 2025-05-03 22:40:28 +02:00
* [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time)
70 lines
1.8 KiB
JavaScript
70 lines
1.8 KiB
JavaScript
"use strict"
|
|
|
|
function unreachableCodeTest() {
|
|
var a;
|
|
|
|
var b = null;
|
|
if (b) {
|
|
a = 5;
|
|
}
|
|
return a == b;
|
|
}
|
|
noInline(unreachableCodeTest);
|
|
|
|
for (let i = 0; i < 1e4; ++i) {
|
|
if (!unreachableCodeTest())
|
|
throw "Failed unreachableCodeTest() with i = " + i;
|
|
}
|
|
|
|
|
|
function inlinedCompareToNull(a) {
|
|
return a == null;
|
|
}
|
|
|
|
function inlinedComparedToUndefined(a) {
|
|
return a == undefined;
|
|
}
|
|
|
|
// Warmup. Litter the profile with every types.
|
|
function warmupInlineFunctions() {
|
|
let returnValue = 0;
|
|
for (let i = 0; i < 1e4; ++i) {
|
|
returnValue += inlinedCompareToNull("foo");
|
|
returnValue += inlinedCompareToNull(null);
|
|
returnValue += inlinedCompareToNull(Math);
|
|
returnValue += inlinedCompareToNull(5);
|
|
returnValue += inlinedCompareToNull(5.5);
|
|
|
|
returnValue += inlinedComparedToUndefined("foo");
|
|
returnValue += inlinedComparedToUndefined(null);
|
|
returnValue += inlinedComparedToUndefined(Math);
|
|
returnValue += inlinedComparedToUndefined(5);
|
|
returnValue += inlinedComparedToUndefined(5.5);
|
|
}
|
|
return returnValue;
|
|
}
|
|
noInline(warmupInlineFunctions);
|
|
warmupInlineFunctions();
|
|
|
|
function testInlineFunctions(undefinedArg, nullArg) {
|
|
if (inlinedCompareToNull("foo"))
|
|
throw "Failed inlinedCompareToNull(\"foo\")";
|
|
|
|
if (!inlinedCompareToNull(null))
|
|
throw "Failed !inlinedCompareToNull(null)";
|
|
|
|
if (!inlinedCompareToNull(undefined))
|
|
throw "Failed !inlinedCompareToNull(undefined)";
|
|
|
|
if (!inlinedCompareToNull(undefinedArg))
|
|
throw "Failed !inlinedCompareToNull(undefinedArg)";
|
|
|
|
if (!inlinedCompareToNull(nullArg))
|
|
throw "Failed !inlinedCompareToNull(nullArg)";
|
|
|
|
}
|
|
noInline(testInlineFunctions);
|
|
|
|
for (let i = 0; i < 1e4; ++i) {
|
|
testInlineFunctions(undefined, null);
|
|
} |