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