test262-automation e9a5a7f918 [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) (#1620)
* [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)
2018-07-03 15:59:58 -04:00

36 lines
913 B
JavaScript

// Verify that DFG TryGetById nodes properly save live registers. This test should not crash.
var createBuiltin = $vm.createBuiltin;
function tryMultipleGetByIds() { return '(function (base) { return @tryGetById(base, "value1") + @tryGetById(base, "value2") + @tryGetById(base, "value3"); })'; }
let get = createBuiltin(tryMultipleGetByIds());
noInline(get);
function test() {
let obj1 = {
value1: "Testing, ",
value2: "testing, ",
value3: "123",
expected: "Testing, testing, 123"
};
let obj2 = {
extraFieldToMakeThisObjectDifferentThanObj1: 42,
value1: 20,
value2: 10,
value3: 12,
expected: 42
};
let objects = [obj1, obj2];
for (let i = 0; i < 200000; i++) {
let obj = objects[i % 2];
if (get(obj) !== obj.expected)
throw new Error("wrong on iteration: " + i);
}
}
test();