Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index c2cb271277afc0e4ccdfb9fd15f3f374aab96cb3..dee547f2f117b93a0651696473b982d928d371fa 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -106,6 +106,7 @@ class LChunkBuilder; |
V(EnterInlined) \ |
V(FastLiteral) \ |
V(FixedArrayBaseLength) \ |
+ V(MapEnumLength) \ |
Michael Starzinger
2012/08/06 15:06:22
Alpha-sort!
Toon Verwaest
2012/08/07 10:49:47
Done.
|
V(ForceRepresentation) \ |
V(FunctionLiteral) \ |
V(GetCachedArrayIndex) \ |
@@ -1905,6 +1906,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) { |