function shouldBe(actual, expected) { if (actual !== expected) throw new Error('bad value: ' + actual); } function testing(object) { shouldBe(object[0], 0); shouldBe(object[1], 1); shouldBe(object[2], "String"); } noInline(testing); function testing2(object) { shouldBe(object[0], 0); shouldBe(object[1], 1); shouldBe(object[2], "String"); } noInline(testing2); for (var i = 0; i < 10000; ++i) testing({ 0: 0, 1: 1, 2: "String" }); testing({ 0: 0, get 1() { return 1; }, 2: "String" }); for (var i = 0; i < 10000; ++i) testing2({ 0: 0, get 1() { return 1; }, 2: "String" }); /* vim: set sw=4 ts=4 et tw=80 : */