blob: d2ae2e6582047eb8df4f900a607c2b9480682a1e [file] [log] [blame]
//@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py
Function.prototype.c = Function.prototype.call;
function testFunction(a, b)
{
"use strict"
return this * 10000 + a * 1000 + b * 100 + arguments[2] * 10 + arguments.length;
}
var arrayArguments = [1, 2, 3, 4]
for (var i = 0; i < 15000; i++) {
var result1 = testFunction.call(...arrayArguments);
var result2 = testFunction.c(...arrayArguments);
if (result1 != result2)
throw "Call with spread array failed at iteration " + i + ": " + result1 + " vs " + result2;
}
function test2() {
for (var i = 0; i < 15000; i++) {
var result1 = testFunction.call(...arguments);
var result2 = testFunction.c(...arguments);
if (result1 != result2)
throw "Call with spread arguments failed at iteration " + i + ": " + result1 + " vs " + result2;
}
}
test2(1,2,3,4)
function test3() {
aliasedArguments = arguments;
for (var i = 0; i < 15000; i++) {
var result1 = testFunction.call(...aliasedArguments);
var result2 = testFunction.c(...aliasedArguments);
if (result1 != result2)
throw "Call with spread arguments failed at iteration " + i + ": " + result1 + " vs " + result2;
}
}
test3(1,2,3,4)