Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index 53f1b65755beaa3cbaa3ada0086830d60529bc27..43bb64656695275826f959ad0840f4d2e800103b 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -121,6 +121,7 @@ class LChunkBuilder; |
V(In) \ |
V(InstanceOf) \ |
V(InstanceOfKnownGlobal) \ |
+ V(InstanceSize) \ |
V(InvokeFunction) \ |
V(IsConstructCallAndBranch) \ |
V(IsNilAndBranch) \ |
@@ -3621,6 +3622,23 @@ class HInstanceOfKnownGlobal: public HTemplateInstruction<2> { |
}; |
+class HInstanceSize: public HTemplateInstruction<1> { |
danno
2013/02/08 12:03:41
Could you add a TODO so that we revisit this when
Michael Starzinger
2013/02/11 12:13:22
Done.
|
+ public: |
+ explicit HInstanceSize(HValue* object) { |
+ SetOperandAt(0, object); |
+ set_representation(Representation::Integer32()); |
+ } |
+ |
+ HValue* object() { return OperandAt(0); } |
+ |
+ virtual Representation RequiredInputRepresentation(int index) { |
+ return Representation::Tagged(); |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(InstanceSize) |
+}; |
+ |
+ |
class HPower: public HTemplateInstruction<2> { |
public: |
HPower(HValue* left, HValue* right) { |