| Index: src/arm/lithium-arm.h
|
| diff --git a/src/arm/lithium-arm.h b/src/arm/lithium-arm.h
|
| index 57338f16d5557cca4f7d8fe08fd6d29bca805b1e..afa34991b0e6f7e760b544ae5075f6980fcbce2e 100644
|
| --- a/src/arm/lithium-arm.h
|
| +++ b/src/arm/lithium-arm.h
|
| @@ -91,6 +91,7 @@ class LCodeGen;
|
| V(Deoptimize) \
|
| V(DivI) \
|
| V(DoubleToI) \
|
| + V(ExternalArrayLength) \
|
| V(FixedArrayLength) \
|
| V(FunctionLiteral) \
|
| V(Gap) \
|
| @@ -117,6 +118,7 @@ class LCodeGen;
|
| V(LazyBailout) \
|
| V(LoadContextSlot) \
|
| V(LoadElements) \
|
| + V(LoadExternalArrayPointer) \
|
| V(LoadFunctionPrototype) \
|
| V(LoadGlobal) \
|
| V(LoadKeyedFastElement) \
|
| @@ -124,7 +126,6 @@ class LCodeGen;
|
| V(LoadNamedField) \
|
| V(LoadNamedGeneric) \
|
| V(LoadPixelArrayElement) \
|
| - V(LoadPixelArrayExternalPointer) \
|
| V(ModI) \
|
| V(MulI) \
|
| V(NumberTagD) \
|
| @@ -134,7 +135,6 @@ class LCodeGen;
|
| V(OsrEntry) \
|
| V(OuterContext) \
|
| V(Parameter) \
|
| - V(PixelArrayLength) \
|
| V(PushArgument) \
|
| V(RegExpLiteral) \
|
| V(Return) \
|
| @@ -148,6 +148,7 @@ class LCodeGen;
|
| V(StoreKeyedGeneric) \
|
| V(StoreNamedField) \
|
| V(StoreNamedGeneric) \
|
| + V(StorePixelArrayElement) \
|
| V(StringCharCodeAt) \
|
| V(StringLength) \
|
| V(SubI) \
|
| @@ -992,14 +993,14 @@ class LJSArrayLength: public LTemplateInstruction<1, 1, 0> {
|
| };
|
|
|
|
|
| -class LPixelArrayLength: public LTemplateInstruction<1, 1, 0> {
|
| +class LExternalArrayLength: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| - explicit LPixelArrayLength(LOperand* value) {
|
| + explicit LExternalArrayLength(LOperand* value) {
|
| inputs_[0] = value;
|
| }
|
|
|
| - DECLARE_CONCRETE_INSTRUCTION(PixelArrayLength, "pixel-array-length")
|
| - DECLARE_HYDROGEN_ACCESSOR(PixelArrayLength)
|
| + DECLARE_CONCRETE_INSTRUCTION(ExternalArrayLength, "pixel-array-length")
|
| + DECLARE_HYDROGEN_ACCESSOR(ExternalArrayLength)
|
| };
|
|
|
|
|
| @@ -1152,14 +1153,14 @@ class LLoadElements: public LTemplateInstruction<1, 1, 0> {
|
| };
|
|
|
|
|
| -class LLoadPixelArrayExternalPointer: public LTemplateInstruction<1, 1, 0> {
|
| +class LLoadExternalArrayPointer: public LTemplateInstruction<1, 1, 0> {
|
| public:
|
| - explicit LLoadPixelArrayExternalPointer(LOperand* object) {
|
| + explicit LLoadExternalArrayPointer(LOperand* object) {
|
| inputs_[0] = object;
|
| }
|
|
|
| - DECLARE_CONCRETE_INSTRUCTION(LoadPixelArrayExternalPointer,
|
| - "load-pixel-array-external-pointer")
|
| + DECLARE_CONCRETE_INSTRUCTION(LoadExternalArrayPointer,
|
| + "load-external-array-pointer")
|
| };
|
|
|
|
|
| @@ -1582,6 +1583,26 @@ class LStoreKeyedFastElement: public LStoreKeyed {
|
| };
|
|
|
|
|
| +class LStorePixelArrayElement: public LTemplateInstruction<0, 3, 0> {
|
| + public:
|
| + LStorePixelArrayElement(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)
|
| +
|
| + LOperand* external_pointer() { return inputs_[0]; }
|
| + LOperand* key() { return inputs_[1]; }
|
| + LOperand* value() { return inputs_[2]; }
|
| +};
|
| +
|
| +
|
| class LStoreKeyedGeneric: public LStoreKeyed {
|
| public:
|
| LStoreKeyedGeneric(LOperand* obj, LOperand* key, LOperand* val)
|
|
|