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) |
}; |