blob: 6ce49c69a6e441b0c8d18c7c2659fadcd4964ca6 [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
// Compares the value set by interpreter with the jitted code
// need to run with -mic:1 -off:simplejit -off:JITLoopBody
// Run locally with -trace:memop -trace:bailout to help find bugs
function test(x)
{
for(var i = 0; i < 10; i++)
{
x[i] = 0;
}
//Invalid memset
for(var i = 0; i < 10; i++)
{
x[i] = 1;
x[i / 2] = 3;
}
var c = 0;
//valid memset
for(var i = 0; i < 10; i++)
{
x[i] = 2;
c += x[i];
}
//Invalid memset
for(var i = 0; i < 9; i++)
{
x[i] = 3;
c += x[i / 2];
}
}
var x = new Array();
test(x);
var x2 = new Array();
test(x2);
compareResults(0, x.length);
var passed = 1;
function compareResults(start, end) {
for(var i = start; i < end; i++)
{
if(x[i] !== x2[i])
{
print(`Invalid value: a[${i}] != b[${i}]`);
passed = 0;
break;
}
}
}
if(passed === 1)
{
WScript.Echo("PASSED");
}
else
{
WScript.Echo("FAILED");
}