| Index: src/x87/lithium-codegen-x87.cc
|
| diff --git a/src/x87/lithium-codegen-x87.cc b/src/x87/lithium-codegen-x87.cc
|
| index 221c3881284460b352baa0fe97856bd4711c263b..c20480f5d86e0fbfbcc71c9ff1d3f0c58c2da1bc 100644
|
| --- a/src/x87/lithium-codegen-x87.cc
|
| +++ b/src/x87/lithium-codegen-x87.cc
|
| @@ -3740,44 +3740,18 @@ void LCodeGen::DoTailCallThroughMegamorphicCache(
|
| Register name = ToRegister(instr->name());
|
| DCHECK(receiver.is(LoadDescriptor::ReceiverRegister()));
|
| DCHECK(name.is(LoadDescriptor::NameRegister()));
|
| - Register slot = FLAG_vector_ics ? ToRegister(instr->slot()) : no_reg;
|
| - Register vector = FLAG_vector_ics ? ToRegister(instr->vector()) : no_reg;
|
| -
|
| Register scratch = ebx;
|
| Register extra = edi;
|
| - DCHECK(!extra.is(slot) && !extra.is(vector));
|
| DCHECK(!scratch.is(receiver) && !scratch.is(name));
|
| DCHECK(!extra.is(receiver) && !extra.is(name));
|
|
|
| - // Important for the tail-call.
|
| - bool must_teardown_frame = NeedsEagerFrame();
|
| -
|
| - if (!instr->hydrogen()->is_just_miss()) {
|
| - if (FLAG_vector_ics) {
|
| - __ push(slot);
|
| - __ push(vector);
|
| - }
|
| + // The probe will tail call to a handler if found.
|
| + // If --vector-ics is on, then it knows to pop the two args first.
|
| + isolate()->stub_cache()->GenerateProbe(masm(), Code::LOAD_IC,
|
| + instr->hydrogen()->flags(), false,
|
| + receiver, name, scratch, extra);
|
|
|
| - // The probe will tail call to a handler if found.
|
| - // If --vector-ics is on, then it knows to pop the two args first.
|
| - DCHECK(!instr->hydrogen()->is_keyed_load());
|
| - isolate()->stub_cache()->GenerateProbe(
|
| - masm(), Code::LOAD_IC, instr->hydrogen()->flags(), must_teardown_frame,
|
| - receiver, name, scratch, extra);
|
| -
|
| - if (FLAG_vector_ics) {
|
| - __ pop(vector);
|
| - __ pop(slot);
|
| - }
|
| - }
|
| -
|
| - // Tail call to miss if we ended up here.
|
| - if (must_teardown_frame) __ leave();
|
| - if (instr->hydrogen()->is_keyed_load()) {
|
| - KeyedLoadIC::GenerateMiss(masm());
|
| - } else {
|
| - LoadIC::GenerateMiss(masm());
|
| - }
|
| + LoadIC::GenerateMiss(masm());
|
| }
|
|
|
|
|
|
|