| Index: src/hydrogen-instructions.h
|
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h
|
| index a3c23c67982619dc493adc543d681b049bcd383f..f7eb17344ad714bfc233cc8ce72cf08025583482 100644
|
| --- a/src/hydrogen-instructions.h
|
| +++ b/src/hydrogen-instructions.h
|
| @@ -73,6 +73,7 @@ class LChunkBuilder;
|
| // HCompare
|
| // HCompareJSObjectEq
|
| // HInstanceOf
|
| +// HInstanceOfKnownGlobal
|
| // HLoadKeyed
|
| // HLoadKeyedFastElement
|
| // HLoadKeyedGeneric
|
| @@ -210,6 +211,7 @@ class LChunkBuilder;
|
| V(GlobalReceiver) \
|
| V(Goto) \
|
| V(InstanceOf) \
|
| + V(InstanceOfKnownGlobal) \
|
| V(IsNull) \
|
| V(IsObject) \
|
| V(IsSmi) \
|
| @@ -2262,6 +2264,28 @@ class HInstanceOf: public HBinaryOperation {
|
| };
|
|
|
|
|
| +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)
|
|
|