[JSC] Clean up Object.entries implementation
[WebKit-https.git] / JSTests / microbenchmarks / custom-setter-getter-as-put-get-by-id.js
1 function assert(b) {
2     if (!b)
3         throw new Error("bad assertion");
4 }
5 noInline(assert);
6
7 // RegExp.input is a handy custom getter/setter.
8 var o1 = RegExp;
9 function test(o) {
10     o.input = "bar";
11     return o.input;
12 }
13 noInline(test);
14
15 var o2 = {
16     input: "hello"
17 }
18
19 var o3 = {
20     x: 20,
21     input: "hello"
22 }
23
24 // First compile as GetById node.
25 for (let i = 0; i < 1000; i++) {
26     assert(test(i % 2 ? o2 : o3) === "bar");
27 }
28
29 // Cause the inline cache to generate customSetter/customGetter code on a GetBydId.
30 for (let i = 0; i < 100; i++) {
31     assert(test(o1) === "bar");
32 }
33