Ensure that external pixel arrays use a byte register in Crankshaft.
authorwhesse@chromium.org <whesse@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 24 May 2011 16:23:22 +0000 (16:23 +0000)
committerwhesse@chromium.org <whesse@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 24 May 2011 16:23:22 +0000 (16:23 +0000)
BUG=v8:1406
TEST=fast/canvas/canvas-putImageData.html

Review URL: http://codereview.chromium.org/7067028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/ia32/lithium-ia32.cc

index 1d7bc107166d4c8c9c23be10f65e17573a8ed56b..986bb98115e7f73c1864d400f25528e8863a2ec4 100644 (file)
@@ -2004,7 +2004,8 @@ LInstruction* LChunkBuilder::DoStoreKeyedSpecializedArrayElement(
   LOperand* key = UseRegisterOrConstant(instr->key());
   LOperand* val = NULL;
   if (array_type == kExternalByteArray ||
-      array_type == kExternalUnsignedByteArray) {
+      array_type == kExternalUnsignedByteArray ||
+      array_type == kExternalPixelArray) {
     // We need a byte register in this case for the value.
     val = UseFixed(instr->value(), eax);
   } else {