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)
84 lines
2.1 KiB
JavaScript
84 lines
2.1 KiB
JavaScript
function uint32ToNumberMinusOne()
|
|
{
|
|
return (-1) >>> 0;
|
|
}
|
|
noInline(uint32ToNumberMinusOne);
|
|
|
|
function uint32ToNumberMinusOnePlusInteger(a)
|
|
{
|
|
return ((-1) >>> 0) + a;
|
|
}
|
|
noInline(uint32ToNumberMinusOnePlusInteger);
|
|
|
|
function inlineMinusOne()
|
|
{
|
|
return -1;
|
|
}
|
|
|
|
function uint32ToNumberOnHiddenMinusOne()
|
|
{
|
|
return inlineMinusOne() >>> 0;
|
|
}
|
|
noInline(uint32ToNumberOnHiddenMinusOne);
|
|
|
|
function uint32ToNumberOnHiddenMinusOnePlusInteger(a)
|
|
{
|
|
return (inlineMinusOne() >>> 0) + a;
|
|
}
|
|
noInline(uint32ToNumberOnHiddenMinusOnePlusInteger);
|
|
|
|
function inlineLargeNegativeNumber1()
|
|
{
|
|
return -2251799813685248;
|
|
}
|
|
|
|
function inlineLargeNegativeNumber2()
|
|
{
|
|
return -2251799813685249;
|
|
}
|
|
|
|
function inlineLargeNegativeNumber3()
|
|
{
|
|
return -2251799813685250;
|
|
}
|
|
|
|
function uint32ToNumberOnHiddenLargeNegativeNumber1()
|
|
{
|
|
return inlineLargeNegativeNumber1() >>> 0;
|
|
}
|
|
noInline(uint32ToNumberOnHiddenLargeNegativeNumber1);
|
|
|
|
function uint32ToNumberOnHiddenLargeNegativeNumber2()
|
|
{
|
|
return inlineLargeNegativeNumber2() >>> 0;
|
|
}
|
|
noInline(uint32ToNumberOnHiddenLargeNegativeNumber2);
|
|
|
|
function uint32ToNumberOnHiddenLargeNegativeNumber3()
|
|
{
|
|
return inlineLargeNegativeNumber3() >>> 0;
|
|
}
|
|
noInline(uint32ToNumberOnHiddenLargeNegativeNumber3);
|
|
|
|
for (let i = 0; i < 1e6; ++i) {
|
|
if (uint32ToNumberMinusOne() !== 4294967295)
|
|
throw "Failed uint32ToNumberMinusOne()";
|
|
|
|
if (uint32ToNumberMinusOnePlusInteger(1) !== 4294967296)
|
|
throw "Failed uint32ToNumberMinusOnePlusOne()";
|
|
|
|
if (uint32ToNumberOnHiddenMinusOne() !== 4294967295)
|
|
throw "Failed uint32ToNumberOnHiddenMinusOne()";
|
|
|
|
if (uint32ToNumberOnHiddenMinusOnePlusInteger(1) !== 4294967296)
|
|
throw "Failed uint32ToNumberOnHiddenMinusOnePlusInteger()";
|
|
|
|
if (uint32ToNumberOnHiddenLargeNegativeNumber1() !== 0)
|
|
throw "Failed uint32ToNumberOnHiddenLargeNegativeNumber1()";
|
|
|
|
if (uint32ToNumberOnHiddenLargeNegativeNumber2() !== 4294967295)
|
|
throw "Failed uint32ToNumberOnHiddenLargeNegativeNumber2()";
|
|
|
|
if (uint32ToNumberOnHiddenLargeNegativeNumber3() !== 4294967294)
|
|
throw "Failed uint32ToNumberOnHiddenLargeNegativeNumber3()";
|
|
} |