Reviewers: Vyacheslav Egorov,
Description:
Ensure that external pixel arrays use a byte register in Crankshaft.
BUG=v8:1406
TEST=fast/canvas/canvas-putImageData.html
Please review this at http://codereview.chromium.org/7067028/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/ia32/lithium-ia32.cc
Index: src/ia32/lithium-ia32.cc
diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc
index
1d7bc107166d4c8c9c23be10f65e17573a8ed56b..986bb98115e7f73c1864d400f25528e8863a2ec4
100644
--- a/src/ia32/lithium-ia32.cc
+++ b/src/ia32/lithium-ia32.cc
@@ -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 {
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev