//@ skip if $model == "Apple Watch Series 3" # added by mark-jsc-stress-test.py | |
// Create a really long prototype chain. | |
// We need to put values on so the objects are not empty and have transition | |
// watchpoints. | |
function buildChain(depth) { | |
if (depth <= 0) | |
return { bloop: 1 }; | |
let result = { value: 1 }; | |
Object.setPrototypeOf(result, buildChain(depth - 1)); | |
return result; | |
} | |
var object = buildChain(20); | |
function body() { | |
for (let i = 0; i < 100000; i++) | |
value = object.toString(); | |
} | |
noInline(body); | |
// Try toString with misses. | |
body(); | |
Object.prototype[Symbol.toStringTag] = "hit"; | |
// Try toString with hit. | |
body(); |