Index: src/x87/lithium-x87.h |
diff --git a/src/x87/lithium-x87.h b/src/x87/lithium-x87.h |
index 3e6f67af16bee2887f31de1c3cc3f617ddb14997..4ec89bb6e16fedcf1ec0691e05ee8718fbef5928 100644 |
--- a/src/x87/lithium-x87.h |
+++ b/src/x87/lithium-x87.h |
@@ -88,10 +88,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) \ |
@@ -237,8 +237,6 @@ class LInstruction : public ZoneObject { |
void set_hydrogen_value(HValue* value) { hydrogen_value_ = value; } |
HValue* hydrogen_value() const { return hydrogen_value_; } |
- virtual void SetDeferredLazyDeoptimizationEnvironment(LEnvironment* env) { } |
- |
void MarkAsCall() { bit_field_ = IsCallBits::update(bit_field_, true); } |
bool IsCall() const { return IsCallBits::decode(bit_field_); } |
@@ -1199,39 +1197,30 @@ class LInstanceOf final : public LTemplateInstruction<1, 3, 0> { |
inputs_[2] = right; |
} |
- LOperand* context() { return inputs_[0]; } |
+ LOperand* context() const { return inputs_[0]; } |
+ LOperand* left() const { return inputs_[1]; } |
+ LOperand* right() const { return inputs_[2]; } |
DECLARE_CONCRETE_INSTRUCTION(InstanceOf, "instance-of") |
}; |
-class LInstanceOfKnownGlobal final : public LTemplateInstruction<1, 2, 1> { |
+class LHasInPrototypeChainAndBranch final : public LControlInstruction<2, 1> { |
public: |
- LInstanceOfKnownGlobal(LOperand* context, LOperand* value, LOperand* temp) { |
- inputs_[0] = context; |
- inputs_[1] = value; |
- temps_[0] = temp; |
+ LHasInPrototypeChainAndBranch(LOperand* object, LOperand* prototype, |
+ LOperand* scratch) { |
+ inputs_[0] = object; |
+ inputs_[1] = prototype; |
+ temps_[0] = scratch; |
} |
- LOperand* context() { return inputs_[0]; } |
- LOperand* value() { return inputs_[1]; } |
- LOperand* temp() { return temps_[0]; } |
+ LOperand* object() const { return inputs_[0]; } |
+ LOperand* prototype() const { return inputs_[1]; } |
+ LOperand* scratch() const { 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; |
- } |
- |
- private: |
- LEnvironment* lazy_deopt_env_; |
+ DECLARE_CONCRETE_INSTRUCTION(HasInPrototypeChainAndBranch, |
+ "has-in-prototype-chain-and-branch") |
+ DECLARE_HYDROGEN_ACCESSOR(HasInPrototypeChainAndBranch) |
}; |