/* * Get a SETPROP site which is monitored (unknown lhs) and is repeatedly * invoked on objects with the same shape but different types (and without * triggering a recompile of the function). The SETPROP PIC needs a type guard * when the object is being monitored. */ var x = {g:0}; var y = {g:0,f:"fubar"}; x.f = 10; function foo(x) { for (var i = 0; i < 30; i++) x.f = 10; } function access(x) { return x.f + 10; } foo(Object.create({})); eval("foo(x)"); assertEq(access(y), "fubar10"); eval("foo(y)"); assertEq(access(y), 20);