function dontCSE() { } noInline(dontCSE); function assert(b) { if (!b) throw new Error("Bad assertion"); } noInline(assert); function foo(a1) { let o1 = {x: 20, y: 50}; let o2 = {y: 40, o1: o1}; let o3 = {}; o3.field = o1.y; dontCSE(); if (a1) { a1 = true; } else { a1 = false; } let value = o3.field; assert(value === 50); } noInline(foo); for (let i = 0; i < 100000; i++) foo(i);