| description( |
| "This tests that the DFG JIT's optimizations for byte arrays work as expected." |
| ); |
| |
| function doPut(array, index, value) { |
| array[index] = value; |
| } |
| |
| function doGet(array, index) { |
| return array[index]; |
| } |
| |
| canvas = document.createElement("canvas"); |
| context = canvas.getContext("2d"); |
| imageData = context.createImageData(10,10); |
| data = imageData.data; |
| |
| silentTestPass = true; |
| noInline(doPut); |
| noInline(doGet); |
| |
| shouldBe("data.length", "400"); |
| |
| for (var i = 0; i < 1000; i = dfgIncrement({f:[doPut, doGet], i:i + 1, n:50})) { |
| doPut(data, i % 100, i - 100); |
| var expectedValue; |
| if (i < 100) |
| expectedValue = 0; |
| else if (i > 355) |
| expectedValue = 255; |
| else |
| expectedValue = i - 100; |
| shouldBe("doGet(data, " + (i % 100) + ")", "" + expectedValue); |
| } |
| |
| var successfullyParsed = true; |