--- /dev/null
+function foo(f) {
+ if (DFGTrue())
+ f = bar;
+ return f().f;
+}
+
+noInline(foo);
+
+var object;
+function bar() {
+ return object;
+}
+
+function baz() { return {f:42}; };
+
+object = {f:42};
+for (var i = 0; i < 1000; ++i)
+ foo((i & 1) ? bar : baz);
+
+object = {e:1, f:2};
+var result = foo(bar);
+if (result != 2)
+ throw "Error: bad result: " + result;
+