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) |