function foo(a) { var x; if (a) x = a; return [function() { return x; }, function(a) { x = a; }]; } var array = foo(false); noInline(array[0]); noInline(array[1]); array[1](42); for (var i = 0; i < 10000; ++i) { var result = array[0](); if (result != 42) throw "Error: bad result in loop: " + result; } array[1](43); var result = array[0](); if (result != 43) throw "Error: bad result at end: " + result;