Chromium Code Reviews| Index: test/cctest/test-api.cc |
| =================================================================== |
| --- test/cctest/test-api.cc (revision 6508) |
| +++ test/cctest/test-api.cc (working copy) |
| @@ -10174,8 +10174,8 @@ |
| context->Global()->Set(v8_str("pixels"), obj); |
| v8::Handle<v8::Value> result = CompileRun("pixels.field"); |
| CHECK_EQ(1503, result->Int32Value()); |
| - result = CompileRun("pixels[1]"); |
| - CHECK_EQ(1, result->Int32Value()); |
| + // result = CompileRun("pixels[1]"); |
| + // CHECK_EQ(1, result->Int32Value()); |
|
danno
2011/01/28 10:35:36
i'll fix this, shouldn't be commented out.
Mads Ager (chromium)
2011/01/28 10:39:16
Thanks!
|
| result = CompileRun("var sum = 0;" |
| "for (var i = 0; i < 8; i++) {" |
| @@ -10342,6 +10342,83 @@ |
| "i"); |
| CHECK_EQ(255, result->Int32Value()); |
| + // Make sure that pixel array ICs recognize when a non-pixel array |
| + // is passed to it. |
| + result = CompileRun("function pa_load(p) {" |
| + " var sum = 0;" |
| + " for (var j = 0; j < 256; j++) { sum += p[j]; }" |
| + " return sum;" |
| + "}" |
| + "for (var i = 0; i < 256; ++i) { pixels[i] = i; }" |
| + "for (var i = 0; i < 10; ++i) { pa_load(pixels); }" |
| + "just_ints = new Object();" |
| + "for (var i = 0; i < 256; ++i) { just_ints[i] = i; }" |
| + "for (var i = 0; i < 10; ++i) { result = pa_load(just_ints); }" |
|
danno
2011/01/28 10:35:36
I'll fix the 80 cols, too, here and below.
Mads Ager (chromium)
2011/01/28 10:39:16
Thanks.
|
| + "result"); |
| + CHECK_EQ(32640, result->Int32Value()); |
| + |
| + // Make sure that pixel array ICs recognize out-of-bound accesses. |
| + result = CompileRun("function pa_load(p, start) {" |
| + " var sum = 0;" |
| + " for (var j = start; j < 256; j++) { sum += p[j]; }" |
| + " return sum;" |
| + "}" |
| + "for (var i = 0; i < 256; ++i) { pixels[i] = i; }" |
| + "for (var i = 0; i < 10; ++i) { pa_load(pixels,0); }" |
| + "for (var i = 0; i < 10; ++i) { result = pa_load(pixels,-10); }" |
| + "result"); |
| + CHECK_EQ(0, result->Int32Value()); |
| + |
| + // Make sure that generic ICs properly handles a pixel array. |
| + result = CompileRun("function pa_load(p) {" |
| + " var sum = 0;" |
| + " for (var j = 0; j < 256; j++) { sum += p[j]; }" |
| + " return sum;" |
| + "}" |
| + "for (var i = 0; i < 256; ++i) { pixels[i] = i; }" |
| + "just_ints = new Object();" |
| + "for (var i = 0; i < 256; ++i) { just_ints[i] = i; }" |
| + "for (var i = 0; i < 10; ++i) { pa_load(just_ints); }" |
| + "for (var i = 0; i < 10; ++i) { result = pa_load(pixels); }" |
| + "result"); |
| + CHECK_EQ(32640, result->Int32Value()); |
| + |
| + // Make sure that generic load ICs recognize out-of-bound accesses in |
| + // pixel arrays. |
| + result = CompileRun("function pa_load(p, start) {" |
| + " var sum = 0;" |
| + " for (var j = start; j < 256; j++) { sum += p[j]; }" |
| + " return sum;" |
| + "}" |
| + "for (var i = 0; i < 256; ++i) { pixels[i] = i; }" |
| + "just_ints = new Object();" |
| + "for (var i = 0; i < 256; ++i) { just_ints[i] = i; }" |
| + "for (var i = 0; i < 10; ++i) { pa_load(just_ints,0); }" |
| + "for (var i = 0; i < 10; ++i) { pa_load(pixels,0); }" |
| + "for (var i = 0; i < 10; ++i) { result = pa_load(pixels,-10); }" |
| + "result"); |
| + CHECK_EQ(0, result->Int32Value()); |
| + |
| + // Make sure that generic ICs properly handles other types than pixel |
| + // arrays (that the inlined fast pixel array test leaves the right information |
| + // in the right registers). |
| + result = CompileRun("function pa_load(p) {" |
| + " var sum = 0;" |
| + " for (var j = 0; j < 256; j++) { sum += p[j]; }" |
| + " return sum;" |
| + "}" |
| + "for (var i = 0; i < 256; ++i) { pixels[i] = i; }" |
| + "just_ints = new Object();" |
| + "for (var i = 0; i < 256; ++i) { just_ints[i] = i; }" |
| + "for (var i = 0; i < 10; ++i) { pa_load(just_ints); }" |
| + "for (var i = 0; i < 10; ++i) { pa_load(pixels); }" |
| + "sparse_array = new Object();" |
| + "for (var i = 0; i < 256; ++i) { sparse_array[i] = i; }" |
| + "sparse_array[1000000] = 3;" |
| + "for (var i = 0; i < 10; ++i) { result = pa_load(sparse_array); }" |
| + "result"); |
| + CHECK_EQ(32640, result->Int32Value()); |
| + |
| free(pixel_data); |
| } |