| Index: src/hydrogen-instructions.h
|
| ===================================================================
|
| --- src/hydrogen-instructions.h (revision 8931)
|
| +++ src/hydrogen-instructions.h (working copy)
|
| @@ -104,8 +104,7 @@
|
| V(Div) \
|
| V(ElementsKind) \
|
| V(EnterInlined) \
|
| - V(ExternalArrayLength) \
|
| - V(FixedArrayLength) \
|
| + V(FixedArrayBaseLength) \
|
| V(ForceRepresentation) \
|
| V(FunctionLiteral) \
|
| V(GetCachedArrayIndex) \
|
| @@ -1702,9 +1701,9 @@
|
| };
|
|
|
|
|
| -class HFixedArrayLength: public HUnaryOperation {
|
| +class HFixedArrayBaseLength: public HUnaryOperation {
|
| public:
|
| - explicit HFixedArrayLength(HValue* value) : HUnaryOperation(value) {
|
| + explicit HFixedArrayBaseLength(HValue* value) : HUnaryOperation(value) {
|
| set_representation(Representation::Tagged());
|
| SetFlag(kUseGVN);
|
| SetFlag(kDependsOnArrayLengths);
|
| @@ -1714,34 +1713,13 @@
|
| return Representation::Tagged();
|
| }
|
|
|
| - DECLARE_CONCRETE_INSTRUCTION(FixedArrayLength)
|
| + DECLARE_CONCRETE_INSTRUCTION(FixedArrayBaseLength)
|
|
|
| protected:
|
| virtual bool DataEquals(HValue* other) { return true; }
|
| };
|
|
|
|
|
| -class HExternalArrayLength: public HUnaryOperation {
|
| - public:
|
| - explicit HExternalArrayLength(HValue* value) : HUnaryOperation(value) {
|
| - set_representation(Representation::Integer32());
|
| - // The result of this instruction is idempotent as long as its inputs don't
|
| - // change. The length of a pixel array cannot change once set, so it's not
|
| - // necessary to introduce a kDependsOnArrayLengths or any other dependency.
|
| - SetFlag(kUseGVN);
|
| - }
|
| -
|
| - virtual Representation RequiredInputRepresentation(int index) const {
|
| - return Representation::Tagged();
|
| - }
|
| -
|
| - DECLARE_CONCRETE_INSTRUCTION(ExternalArrayLength)
|
| -
|
| - protected:
|
| - virtual bool DataEquals(HValue* other) { return true; }
|
| -};
|
| -
|
| -
|
| class HElementsKind: public HUnaryOperation {
|
| public:
|
| explicit HElementsKind(HValue* value) : HUnaryOperation(value) {
|
| @@ -2471,6 +2449,8 @@
|
| return Representation::Integer32();
|
| }
|
|
|
| + virtual void PrintDataTo(StringStream* stream);
|
| +
|
| HValue* index() { return OperandAt(0); }
|
| HValue* length() { return OperandAt(1); }
|
|
|
| @@ -3438,6 +3418,8 @@
|
| return Representation::Tagged();
|
| }
|
|
|
| + virtual void PrintDataTo(StringStream* stream);
|
| +
|
| DECLARE_CONCRETE_INSTRUCTION(LoadNamedFieldPolymorphic)
|
|
|
| static const int kMaxLoadPolymorphism = 4;
|
| @@ -3471,6 +3453,8 @@
|
| return Representation::Tagged();
|
| }
|
|
|
| + virtual void PrintDataTo(StringStream* stream);
|
| +
|
| DECLARE_CONCRETE_INSTRUCTION(LoadNamedGeneric)
|
|
|
| private:
|
|
|