1function foo(o) { 2 return String(o); 3} 4 5noInline(foo); 6 7for (var i = 0; i < 100000; ++i) { 8 var result = foo(new String("hello")); 9 if (typeof result != "string") { 10 describe(result); 11 throw "Error: result isn't a string"; 12 } 13 if (result != "hello") 14 throw "Error: bad result: " + result; 15 16 result = foo("world"); 17 if (typeof result != "string") { 18 describe(result); 19 throw "Error: result isn't a string"; 20 } 21 if (result != "world") 22 throw "Error: bad result: " + result; 23} 24 25function Foo() { } 26 27Foo.prototype.toString = function() { return "hello" }; 28 29var result = foo(new Foo()); 30if (typeof result != "string") { 31 describe(result); 32 throw "Error: result isn't a string"; 33} 34if (result != "hello") 35 throw "Error: bad result: " + result; 36