| function foo(thingy) { | |
| if (thingy.length === void 0 || thingy.charAt !== void 0) | |
| return "yes"; | |
| return "no"; | |
| } | |
| noInline(foo); | |
| function test(object, expected) { | |
| var result = foo(object); | |
| if (result != expected) | |
| throw new Error("Bad result: " + result); | |
| } | |
| for (var i = 0; i < 1000; ++i) { | |
| test({}, "yes"); | |
| test([], "no"); | |
| test("hello", "yes"); | |
| test((function(){return arguments;})(), "no"); | |
| var array = []; | |
| for (var j = 0; j < 100; ++j) { | |
| test(array, "no"); | |
| array.push(42); | |
| } | |
| } |