Index: src/hydrogen-instructions.h |
=================================================================== |
--- src/hydrogen-instructions.h (revision 6167) |
+++ src/hydrogen-instructions.h (working copy) |
@@ -73,6 +73,7 @@ |
// HCompare |
// HCompareJSObjectEq |
// HInstanceOf |
+// HInstanceOfKnownGlobal |
// HLoadKeyed |
// HLoadKeyedFastElement |
// HLoadKeyedGeneric |
@@ -210,6 +211,7 @@ |
V(GlobalReceiver) \ |
V(Goto) \ |
V(InstanceOf) \ |
+ V(InstanceOfKnownGlobal) \ |
V(IsNull) \ |
V(IsObject) \ |
V(IsSmi) \ |
@@ -2262,6 +2264,28 @@ |
}; |
+class HInstanceOfKnownGlobal: public HUnaryOperation { |
+ public: |
+ HInstanceOfKnownGlobal(HValue* left, Handle<JSFunction> right) |
+ : HUnaryOperation(left), function_(right) { |
+ set_representation(Representation::Tagged()); |
+ SetFlagMask(AllSideEffects()); |
+ } |
+ |
+ Handle<JSFunction> function() { return function_; } |
+ |
+ virtual Representation RequiredInputRepresentation(int index) const { |
+ return Representation::Tagged(); |
+ } |
+ |
+ DECLARE_CONCRETE_INSTRUCTION(InstanceOfKnownGlobal, |
+ "instance_of_known_global") |
+ |
+ private: |
+ Handle<JSFunction> function_; |
+}; |
+ |
+ |
class HPower: public HBinaryOperation { |
public: |
HPower(HValue* left, HValue* right) |