| Index: src/ia32/lithium-ia32.cc
|
| diff --git a/src/ia32/lithium-ia32.cc b/src/ia32/lithium-ia32.cc
|
| index b7a85cb228a0265d7bad4e0217320d0559c5e624..7225df99fbb52a2694201db0caca42e2e86dfcaf 100644
|
| --- a/src/ia32/lithium-ia32.cc
|
| +++ b/src/ia32/lithium-ia32.cc
|
| @@ -964,22 +964,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());
|
| - }
|
| }
|
| }
|
|
|
| @@ -1034,22 +1026,22 @@ LInstruction* LChunkBuilder::DoArgumentsElements(HArgumentsElements* elems) {
|
|
|
|
|
| LInstruction* LChunkBuilder::DoInstanceOf(HInstanceOf* instr) {
|
| - LOperand* left = UseFixed(instr->left(), InstanceofStub::left());
|
| - LOperand* right = UseFixed(instr->right(), InstanceofStub::right());
|
| + LOperand* left =
|
| + UseFixed(instr->left(), InstanceOfDescriptor::LeftRegister());
|
| + LOperand* right =
|
| + UseFixed(instr->right(), InstanceOfDescriptor::RightRegister());
|
| LOperand* context = UseFixed(instr->context(), esi);
|
| - LInstanceOf* result = new(zone()) LInstanceOf(context, left, right);
|
| + LInstanceOf* result = new (zone()) LInstanceOf(context, left, right);
|
| return MarkAsCall(DefineFixed(result, eax), instr);
|
| }
|
|
|
|
|
| -LInstruction* LChunkBuilder::DoInstanceOfKnownGlobal(
|
| - HInstanceOfKnownGlobal* instr) {
|
| - LInstanceOfKnownGlobal* result =
|
| - new(zone()) LInstanceOfKnownGlobal(
|
| - UseFixed(instr->context(), esi),
|
| - UseFixed(instr->left(), InstanceofStub::left()),
|
| - FixedTemp(edi));
|
| - return MarkAsCall(DefineFixed(result, eax), instr);
|
| +LInstruction* LChunkBuilder::DoHasInPrototypeChainAndBranch(
|
| + HHasInPrototypeChainAndBranch* instr) {
|
| + LOperand* object = UseRegister(instr->object());
|
| + LOperand* prototype = UseRegister(instr->prototype());
|
| + LOperand* temp = TempRegister();
|
| + return new (zone()) LHasInPrototypeChainAndBranch(object, prototype, temp);
|
| }
|
|
|
|
|
|
|