Index: src/x64/lithium-x64.cc |
diff --git a/src/x64/lithium-x64.cc b/src/x64/lithium-x64.cc |
index 965b63c4cfb8f955375ebe3232ce8f63d5fc03cb..1ffa31d2af5664e8101300b8dbd95987fa7a292f 100644 |
--- a/src/x64/lithium-x64.cc |
+++ b/src/x64/lithium-x64.cc |
@@ -947,22 +947,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()); |
- } |
} |
} |
@@ -1016,21 +1008,21 @@ LInstruction* LChunkBuilder::DoArgumentsElements(HArgumentsElements* elems) { |
LInstruction* LChunkBuilder::DoInstanceOf(HInstanceOf* instr) { |
- LOperand* left = UseFixed(instr->left(), rax); |
- LOperand* right = UseFixed(instr->right(), rdx); |
+ LOperand* left = |
+ UseFixed(instr->left(), InstanceOfDescriptor::LeftRegister()); |
+ LOperand* right = |
+ UseFixed(instr->right(), InstanceOfDescriptor::RightRegister()); |
LOperand* context = UseFixed(instr->context(), rsi); |
- LInstanceOf* result = new(zone()) LInstanceOf(context, left, right); |
+ LInstanceOf* result = new (zone()) LInstanceOf(context, left, right); |
return MarkAsCall(DefineFixed(result, rax), instr); |
} |
-LInstruction* LChunkBuilder::DoInstanceOfKnownGlobal( |
- HInstanceOfKnownGlobal* instr) { |
- LInstanceOfKnownGlobal* result = |
- new(zone()) LInstanceOfKnownGlobal(UseFixed(instr->context(), rsi), |
- UseFixed(instr->left(), rax), |
- FixedTemp(rdi)); |
- return MarkAsCall(DefineFixed(result, rax), instr); |
+LInstruction* LChunkBuilder::DoHasInPrototypeChainAndBranch( |
+ HHasInPrototypeChainAndBranch* instr) { |
+ LOperand* object = UseRegister(instr->object()); |
+ LOperand* prototype = UseRegister(instr->prototype()); |
+ return new (zone()) LHasInPrototypeChainAndBranch(object, prototype); |
} |