| Index: src/x64/lithium-x64.h
|
| diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h
|
| index 64d141e33536c28d09d617b002645bd585ca4764..08afd796b5d749dfc5542f997ea031acf5532315 100644
|
| --- a/src/x64/lithium-x64.h
|
| +++ b/src/x64/lithium-x64.h
|
| @@ -232,6 +232,8 @@ class LCodeGen;
|
| V(LoadNamedField) \
|
| V(LoadNamedGeneric) \
|
| V(LoadFunctionPrototype) \
|
| + V(LoadPixelArrayElement) \
|
| + V(LoadPixelArrayExternalPointer) \
|
| V(ModI) \
|
| V(MulI) \
|
| V(NumberTagD) \
|
| @@ -240,6 +242,7 @@ class LCodeGen;
|
| V(ObjectLiteral) \
|
| V(OsrEntry) \
|
| V(Parameter) \
|
| + V(PixelArrayLength) \
|
| V(Power) \
|
| V(PushArgument) \
|
| V(RegExpLiteral) \
|
| @@ -1102,6 +1105,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) {
|
| @@ -1264,6 +1278,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) {
|
| @@ -1279,6 +1304,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) {
|
|
|