haikuwebkit/JSTests/stress/keys-dfg.js

28 lines
578 B
JavaScript

function shouldBe(actual, expected) {
if (actual !== expected)
throw new Error('bad value: ' + actual);
}
noInline(shouldBe);
var object = {
a: 42,
b: 33,
};
Object.defineProperty(object, "c", {
enumerable: false,
writable: true,
value: 44
});
function test()
{
return Object.keys(object);
}
noInline(test);
for (var i = 0; i < 1e5; ++i)
shouldBe(JSON.stringify(test()), `["a","b"]`);
object.d = 42;
shouldBe(JSON.stringify(test()), `["a","b","d"]`);
for (var i = 0; i < 1e5; ++i)
shouldBe(JSON.stringify(test()), `["a","b","d"]`);