| Index: src/x64/lithium-x64.h
|
| diff --git a/src/x64/lithium-x64.h b/src/x64/lithium-x64.h
|
| index 2ba248642c14b21f6ca0d7e8ba5077b931a45f03..3e63d10c244fa1ff4df617aa904f4da415021790 100644
|
| --- a/src/x64/lithium-x64.h
|
| +++ b/src/x64/lithium-x64.h
|
| @@ -83,10 +83,10 @@ class LCodeGen;
|
| V(GetCachedArrayIndex) \
|
| V(Goto) \
|
| V(HasCachedArrayIndexAndBranch) \
|
| + V(HasInPrototypeChainAndBranch) \
|
| V(HasInstanceTypeAndBranch) \
|
| V(InnerAllocatedObject) \
|
| V(InstanceOf) \
|
| - V(InstanceOfKnownGlobal) \
|
| V(InstructionGap) \
|
| V(Integer32ToDouble) \
|
| V(InvokeFunction) \
|
| @@ -242,8 +242,6 @@ class LInstruction : public ZoneObject {
|
| return IsCall();
|
| }
|
|
|
| - virtual void SetDeferredLazyDeoptimizationEnvironment(LEnvironment* env) { }
|
| -
|
| // Interface to the register allocator and iterators.
|
| bool IsMarkedAsCall() const { return IsCall(); }
|
|
|
| @@ -1176,33 +1174,19 @@ class LInstanceOf final : public LTemplateInstruction<1, 3, 0> {
|
| };
|
|
|
|
|
| -class LInstanceOfKnownGlobal final : public LTemplateInstruction<1, 2, 1> {
|
| +class LHasInPrototypeChainAndBranch final : public LControlInstruction<2, 0> {
|
| public:
|
| - LInstanceOfKnownGlobal(LOperand* context, LOperand* value, LOperand* temp) {
|
| - inputs_[0] = context;
|
| - inputs_[1] = value;
|
| - temps_[0] = temp;
|
| + LHasInPrototypeChainAndBranch(LOperand* object, LOperand* prototype) {
|
| + inputs_[0] = object;
|
| + inputs_[1] = prototype;
|
| }
|
|
|
| - LOperand* context() { return inputs_[0]; }
|
| - LOperand* value() { return inputs_[1]; }
|
| - LOperand* temp() { return temps_[0]; }
|
| -
|
| - DECLARE_CONCRETE_INSTRUCTION(InstanceOfKnownGlobal,
|
| - "instance-of-known-global")
|
| - DECLARE_HYDROGEN_ACCESSOR(InstanceOfKnownGlobal)
|
| -
|
| - Handle<JSFunction> function() const { return hydrogen()->function(); }
|
| - LEnvironment* GetDeferredLazyDeoptimizationEnvironment() {
|
| - return lazy_deopt_env_;
|
| - }
|
| - virtual void SetDeferredLazyDeoptimizationEnvironment(
|
| - LEnvironment* env) override {
|
| - lazy_deopt_env_ = env;
|
| - }
|
| + LOperand* object() const { return inputs_[0]; }
|
| + LOperand* prototype() const { return inputs_[1]; }
|
|
|
| - private:
|
| - LEnvironment* lazy_deopt_env_;
|
| + DECLARE_CONCRETE_INSTRUCTION(HasInPrototypeChainAndBranch,
|
| + "has-in-prototype-chain-and-branch")
|
| + DECLARE_HYDROGEN_ACCESSOR(HasInPrototypeChainAndBranch)
|
| };
|
|
|
|
|
|
|