| Index: src/ia32/lithium-ia32.h
|
| diff --git a/src/ia32/lithium-ia32.h b/src/ia32/lithium-ia32.h
|
| index 02735b6e7f7262e83178745f0f3c262f7e6f42d4..a9d769b0526519e03cfc3f21d30dda8ceb0778f4 100644
|
| --- a/src/ia32/lithium-ia32.h
|
| +++ b/src/ia32/lithium-ia32.h
|
| @@ -124,10 +124,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) \
|
| @@ -149,9 +149,9 @@ class LCodeGen;
|
| V(StoreGlobal) \
|
| V(StoreKeyedFastElement) \
|
| V(StoreKeyedGeneric) \
|
| + V(StoreKeyedSpecializedArrayElement) \
|
| V(StoreNamedField) \
|
| V(StoreNamedGeneric) \
|
| - V(StorePixelArrayElement) \
|
| V(StringCharCodeAt) \
|
| V(StringCharFromCode) \
|
| V(StringLength) \
|
| @@ -1256,19 +1256,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();
|
| + }
|
| };
|
|
|
|
|
| @@ -1674,25 +1678,28 @@ class LStoreKeyedFastElement: public LTemplateInstruction<0, 3, 0> {
|
| };
|
|
|
|
|
| -class LStorePixelArrayElement: public LTemplateInstruction<0, 3, 1> {
|
| +class LStoreKeyedSpecializedArrayElement: public LTemplateInstruction<0, 3, 1> {
|
| public:
|
| - LStorePixelArrayElement(LOperand* external_pointer,
|
| - LOperand* key,
|
| - LOperand* val,
|
| - LOperand* clamped) {
|
| + LStoreKeyedSpecializedArrayElement(LOperand* external_pointer,
|
| + LOperand* key,
|
| + LOperand* val,
|
| + LOperand* temp) {
|
| inputs_[0] = external_pointer;
|
| inputs_[1] = key;
|
| inputs_[2] = val;
|
| - temps_[0] = clamped;
|
| + temps_[0] = temp;
|
| }
|
|
|
| - 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();
|
| + }
|
| };
|
|
|
|
|
|
|