Index: src/mips64/lithium-mips64.cc |
diff --git a/src/mips64/lithium-mips64.cc b/src/mips64/lithium-mips64.cc |
index 26a03fcc67de274ab4f75d345f45d89cc2a7dea1..f0d62a134c46c0e3512c1eac5d0822da492a5e33 100644 |
--- a/src/mips64/lithium-mips64.cc |
+++ b/src/mips64/lithium-mips64.cc |
@@ -933,22 +933,14 @@ void LChunkBuilder::AddInstruction(LInstruction* instr, |
if (instr->IsCall()) { |
HValue* hydrogen_value_for_lazy_bailout = hydrogen_val; |
- LInstruction* instruction_needing_environment = NULL; |
if (hydrogen_val->HasObservableSideEffects()) { |
HSimulate* sim = HSimulate::cast(hydrogen_val->next()); |
- instruction_needing_environment = instr; |
sim->ReplayEnvironment(current_block_->last_environment()); |
hydrogen_value_for_lazy_bailout = sim; |
} |
LInstruction* bailout = AssignEnvironment(new(zone()) LLazyBailout()); |
bailout->set_hydrogen_value(hydrogen_value_for_lazy_bailout); |
chunk_->AddInstruction(bailout, current_block_); |
- if (instruction_needing_environment != NULL) { |
- // Store the lazy deopt environment with the instruction if needed. |
- // Right now it is only used for LInstanceOfKnownGlobal. |
- instruction_needing_environment-> |
- SetDeferredLazyDeoptimizationEnvironment(bailout->environment()); |
- } |
} |
} |
@@ -999,22 +991,21 @@ LInstruction* LChunkBuilder::DoArgumentsElements(HArgumentsElements* elems) { |
LInstruction* LChunkBuilder::DoInstanceOf(HInstanceOf* instr) { |
+ LOperand* left = |
+ UseFixed(instr->left(), InstanceOfDescriptor::LeftRegister()); |
+ LOperand* right = |
+ UseFixed(instr->right(), InstanceOfDescriptor::RightRegister()); |
LOperand* context = UseFixed(instr->context(), cp); |
- LInstanceOf* result = |
- new(zone()) LInstanceOf(context, UseFixed(instr->left(), a0), |
- UseFixed(instr->right(), a1)); |
+ LInstanceOf* result = new (zone()) LInstanceOf(context, left, right); |
return MarkAsCall(DefineFixed(result, v0), instr); |
} |
-LInstruction* LChunkBuilder::DoInstanceOfKnownGlobal( |
- HInstanceOfKnownGlobal* instr) { |
- LInstanceOfKnownGlobal* result = |
- new(zone()) LInstanceOfKnownGlobal( |
- UseFixed(instr->context(), cp), |
- UseFixed(instr->left(), a0), |
- FixedTemp(a4)); |
- return MarkAsCall(DefineFixed(result, v0), instr); |
+LInstruction* LChunkBuilder::DoHasInPrototypeChainAndBranch( |
+ HHasInPrototypeChainAndBranch* instr) { |
+ LOperand* object = UseRegister(instr->object()); |
+ LOperand* prototype = UseRegister(instr->prototype()); |
+ return new (zone()) LHasInPrototypeChainAndBranch(object, prototype); |
} |