| description( | |
| "Tests that a convert_this optimized for the case where this is an object with polymorphic structure behaves correctly when you then pass a string." | |
| ); | |
| function foo() { | |
| return this.x; | |
| } | |
| x = 42; | |
| String.prototype.x = 42; | |
| silentTestPass = true; | |
| noInline(foo); | |
| for (var i = 0; i < 1000; i = dfgIncrement({f:foo, i:i + 1, n:500})) { | |
| var me; | |
| if (i < 150) | |
| me = this; | |
| else if (i < 950) | |
| me = {x:42, y:62}; | |
| else | |
| me = "hello"; | |
| shouldBe("foo.call(me)", "42"); | |
| } |