Index: src/arm/lithium-arm.cc |
diff --git a/src/arm/lithium-arm.cc b/src/arm/lithium-arm.cc |
index d75794cc133701239b12c22debce4830da28ce89..89ca1fd1feb64d86f04935a3c4d2b3d2da95799d 100644 |
--- a/src/arm/lithium-arm.cc |
+++ b/src/arm/lithium-arm.cc |
@@ -1822,15 +1822,21 @@ LInstruction* LChunkBuilder::DoLoadKeyedFastElement( |
} |
-LInstruction* LChunkBuilder::DoLoadPixelArrayElement( |
- HLoadPixelArrayElement* instr) { |
+LInstruction* LChunkBuilder::DoLoadKeyedSpecializedArrayElement( |
+ HLoadKeyedSpecializedArrayElement* instr) { |
+ // TODO(danno): Add support for other external array types. |
+ if (instr->array_type() != kExternalPixelArray) { |
+ Abort("unsupported load for external array type."); |
+ } |
+ |
ASSERT(instr->representation().IsInteger32()); |
ASSERT(instr->key()->representation().IsInteger32()); |
LOperand* external_pointer = |
UseRegisterAtStart(instr->external_pointer()); |
LOperand* key = UseRegisterAtStart(instr->key()); |
- LLoadPixelArrayElement* result = |
- new LLoadPixelArrayElement(external_pointer, key); |
+ LLoadKeyedSpecializedArrayElement* result = |
+ new LLoadKeyedSpecializedArrayElement(external_pointer, |
+ key); |
return DefineAsRegister(result); |
} |
@@ -1864,8 +1870,13 @@ LInstruction* LChunkBuilder::DoStoreKeyedFastElement( |
} |
-LInstruction* LChunkBuilder::DoStorePixelArrayElement( |
- HStorePixelArrayElement* instr) { |
+LInstruction* LChunkBuilder::DoStoreKeyedSpecializedArrayElement( |
+ HStoreKeyedSpecializedArrayElement* instr) { |
+ // TODO(danno): Add support for other external array types. |
+ if (instr->array_type() != kExternalPixelArray) { |
+ Abort("unsupported store for external array type."); |
+ } |
+ |
ASSERT(instr->value()->representation().IsInteger32()); |
ASSERT(instr->external_pointer()->representation().IsExternal()); |
ASSERT(instr->key()->representation().IsInteger32()); |
@@ -1874,7 +1885,9 @@ LInstruction* LChunkBuilder::DoStorePixelArrayElement( |
LOperand* value = UseTempRegister(instr->value()); // changed by clamp. |
LOperand* key = UseRegister(instr->key()); |
- return new LStorePixelArrayElement(external_pointer, key, value); |
+ return new LStoreKeyedSpecializedArrayElement(external_pointer, |
+ key, |
+ value); |
} |