Index: src/hydrogen-instructions.h |
=================================================================== |
--- src/hydrogen-instructions.h (revision 10686) |
+++ src/hydrogen-instructions.h (working copy) |
@@ -97,6 +97,7 @@ |
V(CompareConstantEqAndBranch) \ |
V(Constant) \ |
V(Context) \ |
+ V(DeclareGlobals) \ |
V(DeleteProperty) \ |
V(Deoptimize) \ |
V(Div) \ |
@@ -1486,6 +1487,33 @@ |
}; |
+class HDeclareGlobals: public HUnaryOperation { |
+ public: |
+ HDeclareGlobals(HValue* context, |
+ Handle<FixedArray> pairs, |
+ int flags) |
+ : HUnaryOperation(context), |
+ pairs_(pairs), |
+ flags_(flags) { |
+ set_representation(Representation::Tagged()); |
+ SetAllSideEffects(); |
+ } |
+ |
+ HValue* context() { return OperandAt(0); } |
+ Handle<FixedArray> pairs() const { return pairs_; } |
+ int flags() const { return flags_; } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(DeclareGlobals) |
+ |
+ virtual Representation RequiredInputRepresentation(int index) { |
+ return Representation::Tagged(); |
+ } |
+ private: |
+ Handle<FixedArray> pairs_; |
+ int flags_; |
+}; |
+ |
+ |
class HGlobalObject: public HUnaryOperation { |
public: |
explicit HGlobalObject(HValue* context) : HUnaryOperation(context) { |