| Index: src/arm/lithium-arm.h
|
| diff --git a/src/arm/lithium-arm.h b/src/arm/lithium-arm.h
|
| index ad80f02b645a5bc711df09c2a9ee7d326faa3028..77aabaf7390c43fcdb69c33c20dc0bbcd06d3bee 100644
|
| --- a/src/arm/lithium-arm.h
|
| +++ b/src/arm/lithium-arm.h
|
| @@ -122,10 +122,10 @@ class LCodeGen;
|
| V(LoadGlobal) \
|
| V(LoadKeyedFastElement) \
|
| V(LoadKeyedGeneric) \
|
| + V(LoadKeyedSpecializedArrayElement) \
|
| V(LoadNamedField) \
|
| V(LoadNamedFieldPolymorphic) \
|
| V(LoadNamedGeneric) \
|
| - V(LoadPixelArrayElement) \
|
| V(ModI) \
|
| V(MulI) \
|
| V(NumberTagD) \
|
| @@ -147,9 +147,9 @@ class LCodeGen;
|
| V(StoreGlobal) \
|
| V(StoreKeyedFastElement) \
|
| V(StoreKeyedGeneric) \
|
| + V(StoreKeyedSpecializedArrayElement) \
|
| V(StoreNamedField) \
|
| V(StoreNamedGeneric) \
|
| - V(StorePixelArrayElement) \
|
| V(StringCharCodeAt) \
|
| V(StringCharFromCode) \
|
| V(StringLength) \
|
| @@ -1225,19 +1225,23 @@ class LLoadKeyedFastElement: public LTemplateInstruction<1, 2, 0> {
|
| };
|
|
|
|
|
| -class LLoadPixelArrayElement: public LTemplateInstruction<1, 2, 0> {
|
| +class LLoadKeyedSpecializedArrayElement: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| - LLoadPixelArrayElement(LOperand* external_pointer, LOperand* key) {
|
| + LLoadKeyedSpecializedArrayElement(LOperand* external_pointer,
|
| + LOperand* key) {
|
| inputs_[0] = external_pointer;
|
| inputs_[1] = key;
|
| }
|
|
|
| - DECLARE_CONCRETE_INSTRUCTION(LoadPixelArrayElement,
|
| - "load-pixel-array-element")
|
| - DECLARE_HYDROGEN_ACCESSOR(LoadPixelArrayElement)
|
| + DECLARE_CONCRETE_INSTRUCTION(LoadKeyedSpecializedArrayElement,
|
| + "load-keyed-specialized-array-element")
|
| + DECLARE_HYDROGEN_ACCESSOR(LoadKeyedSpecializedArrayElement)
|
|
|
| LOperand* external_pointer() { return inputs_[0]; }
|
| LOperand* key() { return inputs_[1]; }
|
| + ExternalArrayType array_type() const {
|
| + return hydrogen()->array_type();
|
| + }
|
| };
|
|
|
|
|
| @@ -1642,25 +1646,29 @@ class LStoreKeyedGeneric: public LTemplateInstruction<0, 3, 0> {
|
| LOperand* value() { return inputs_[2]; }
|
| };
|
|
|
| -class LStorePixelArrayElement: public LTemplateInstruction<0, 3, 0> {
|
| +class LStoreKeyedSpecializedArrayElement: public LTemplateInstruction<0, 3, 0> {
|
| public:
|
| - LStorePixelArrayElement(LOperand* external_pointer,
|
| - LOperand* key,
|
| - LOperand* val) {
|
| + LStoreKeyedSpecializedArrayElement(LOperand* external_pointer,
|
| + LOperand* key,
|
| + LOperand* val) {
|
| inputs_[0] = external_pointer;
|
| inputs_[1] = key;
|
| inputs_[2] = val;
|
| }
|
|
|
| - DECLARE_CONCRETE_INSTRUCTION(StorePixelArrayElement,
|
| - "store-pixel-array-element")
|
| - DECLARE_HYDROGEN_ACCESSOR(StorePixelArrayElement)
|
| + DECLARE_CONCRETE_INSTRUCTION(StoreKeyedSpecializedArrayElement,
|
| + "store-keyed-specialized-array-element")
|
| + DECLARE_HYDROGEN_ACCESSOR(StoreKeyedSpecializedArrayElement)
|
|
|
| LOperand* external_pointer() { return inputs_[0]; }
|
| LOperand* key() { return inputs_[1]; }
|
| LOperand* value() { return inputs_[2]; }
|
| + ExternalArrayType array_type() const {
|
| + return hydrogen()->array_type();
|
| + }
|
| };
|
|
|
| +
|
| class LStringCharCodeAt: public LTemplateInstruction<1, 2, 0> {
|
| public:
|
| LStringCharCodeAt(LOperand* string, LOperand* index) {
|
|
|