| description( | |
| "This tests that if the DFG fails to convert a uint32 to a number, it will OSR exit correctly." | |
| ); | |
| function foo(a,b) { | |
| return a.f >>> b.f; | |
| } | |
| var result = 0; | |
| for (var i = 0; i < 1000; ++i) { | |
| result += foo({f:i + 0.5}, {f:2}); | |
| } | |
| shouldBe("result", "124500"); | |
| shouldBe("foo({f:2147483648}, {f:32})", "2147483648"); | |
| shouldBe("foo({f:2147483648}, {f:31})", "1"); | |
| shouldBe("foo({f:2147483648}, {f:30})", "2"); | |