Index: src/x64/lithium-x64.h |
diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h |
index 331824f4ac0a4111fb52e7bfdc59c293aeb27728..6931d962694ae88bccaaa1c91bb471c35ec81c89 100644 |
--- a/src/x64/lithium-x64.h |
+++ b/src/x64/lithium-x64.h |
@@ -121,6 +121,8 @@ class LCodeGen; |
V(LoadNamedField) \ |
V(LoadNamedGeneric) \ |
V(LoadFunctionPrototype) \ |
+ V(LoadPixelArrayElement) \ |
+ V(LoadPixelArrayExternalPointer) \ |
V(ModI) \ |
V(MulI) \ |
V(NumberTagD) \ |
@@ -129,6 +131,7 @@ class LCodeGen; |
V(ObjectLiteral) \ |
V(OsrEntry) \ |
V(Parameter) \ |
+ V(PixelArrayLength) \ |
V(Power) \ |
V(PushArgument) \ |
V(RegExpLiteral) \ |
@@ -978,6 +981,17 @@ class LJSArrayLength: public LTemplateInstruction<1, 1, 0> { |
}; |
+class LPixelArrayLength: public LTemplateInstruction<1, 1, 0> { |
+ public: |
+ explicit LPixelArrayLength(LOperand* value) { |
+ inputs_[0] = value; |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(PixelArrayLength, "pixel-array-length") |
+ DECLARE_HYDROGEN_ACCESSOR(PixelArrayLength) |
+}; |
+ |
+ |
class LFixedArrayLength: public LTemplateInstruction<1, 1, 0> { |
public: |
explicit LFixedArrayLength(LOperand* value) { |
@@ -1140,6 +1154,17 @@ class LLoadElements: public LTemplateInstruction<1, 1, 0> { |
}; |
+class LLoadPixelArrayExternalPointer: public LTemplateInstruction<1, 1, 0> { |
+ public: |
+ explicit LLoadPixelArrayExternalPointer(LOperand* object) { |
+ inputs_[0] = object; |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(LoadPixelArrayExternalPointer, |
+ "load-pixel-array-external-pointer") |
+}; |
+ |
+ |
class LLoadKeyedFastElement: public LTemplateInstruction<1, 2, 0> { |
public: |
LLoadKeyedFastElement(LOperand* elements, LOperand* key) { |
@@ -1155,6 +1180,22 @@ class LLoadKeyedFastElement: public LTemplateInstruction<1, 2, 0> { |
}; |
+class LLoadPixelArrayElement: public LTemplateInstruction<1, 2, 0> { |
+ public: |
+ LLoadPixelArrayElement(LOperand* external_pointer, LOperand* key) { |
+ inputs_[0] = external_pointer; |
+ inputs_[1] = key; |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(LoadPixelArrayElement, |
+ "load-pixel-array-element") |
+ DECLARE_HYDROGEN_ACCESSOR(LoadPixelArrayElement) |
+ |
+ LOperand* external_pointer() { return inputs_[0]; } |
+ LOperand* key() { return inputs_[1]; } |
+}; |
+ |
+ |
class LLoadKeyedGeneric: public LTemplateInstruction<1, 2, 0> { |
public: |
LLoadKeyedGeneric(LOperand* obj, LOperand* key) { |