| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index 4a16288943783ad890784acafd6391eff7156d2a..b5741c633bf8eaaf1f7e7f0670524b2c7aba6930 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -139,6 +139,7 @@ class LChunkBuilder;
|
| V(LoadNamedField) \
|
| V(LoadNamedFieldPolymorphic) \
|
| V(LoadNamedGeneric) \
|
| + V(MapEnumLength) \
|
| V(MathFloorOfDiv) \
|
| V(MathMinMax) \
|
| V(Mod) \
|
| @@ -1923,6 +1924,26 @@ class HFixedArrayBaseLength: public HUnaryOperation {
|
| };
|
|
|
|
|
| +class HMapEnumLength: public HUnaryOperation {
|
| + public:
|
| + explicit HMapEnumLength(HValue* value) : HUnaryOperation(value) {
|
| + set_type(HType::Smi());
|
| + set_representation(Representation::Tagged());
|
| + SetFlag(kUseGVN);
|
| + SetGVNFlag(kDependsOnMaps);
|
| + }
|
| +
|
| + virtual Representation RequiredInputRepresentation(int index) {
|
| + return Representation::Tagged();
|
| + }
|
| +
|
| + DECLARE_CONCRETE_INSTRUCTION(MapEnumLength)
|
| +
|
| + protected:
|
| + virtual bool DataEquals(HValue* other) { return true; }
|
| +};
|
| +
|
| +
|
| class HElementsKind: public HUnaryOperation {
|
| public:
|
| explicit HElementsKind(HValue* value) : HUnaryOperation(value) {
|
|
|