diff --git a/src/ic/x87/ic-x87.cc b/src/ic/x87/ic-x87.cc index 3a83e53f34..f9a94bc5b8 100644 --- a/src/ic/x87/ic-x87.cc +++ b/src/ic/x87/ic-x87.cc @@ -348,7 +348,7 @@ void KeyedLoadIC::GenerateMegamorphic(MacroAssembler* masm, Code::Flags flags = Code::RemoveTypeAndHolderFromFlags( Code::ComputeHandlerFlags(Code::LOAD_IC)); masm->isolate()->stub_cache()->GenerateProbe(masm, Code::KEYED_LOAD_IC, flags, - false, receiver, key, ebx, edi); + receiver, key, ebx, edi); __ pop(LoadWithVectorDescriptor::VectorRegister()); __ pop(LoadDescriptor::SlotRegister()); @@ -576,8 +576,8 @@ void KeyedStoreIC::GenerateMegamorphic(MacroAssembler* masm, Code::Flags flags = Code::RemoveTypeAndHolderFromFlags( Code::ComputeHandlerFlags(Code::STORE_IC)); - masm->isolate()->stub_cache()->GenerateProbe( - masm, Code::STORE_IC, flags, false, receiver, key, ebx, no_reg); + masm->isolate()->stub_cache()->GenerateProbe(masm, Code::STORE_IC, flags, + receiver, key, ebx, no_reg); if (FLAG_vector_stores) { __ pop(VectorStoreICDescriptor::VectorRegister()); @@ -738,7 +738,7 @@ void StoreIC::GenerateMegamorphic(MacroAssembler* masm) { Code::Flags flags = Code::RemoveTypeAndHolderFromFlags( Code::ComputeHandlerFlags(Code::STORE_IC)); masm->isolate()->stub_cache()->GenerateProbe( - masm, Code::STORE_IC, flags, false, StoreDescriptor::ReceiverRegister(), + masm, Code::STORE_IC, flags, StoreDescriptor::ReceiverRegister(), StoreDescriptor::NameRegister(), ebx, no_reg); // Cache miss: Jump to runtime. diff --git a/src/ic/x87/stub-cache-x87.cc b/src/ic/x87/stub-cache-x87.cc index 0d16d84322..d76d0a26b7 100644 --- a/src/ic/x87/stub-cache-x87.cc +++ b/src/ic/x87/stub-cache-x87.cc @@ -16,7 +16,7 @@ namespace internal { static void ProbeTable(Isolate* isolate, MacroAssembler* masm, - Code::Kind ic_kind, Code::Flags flags, bool leave_frame, + Code::Kind ic_kind, Code::Flags flags, StubCache::Table table, Register name, Register receiver, // Number of the cache entry pointer-size scaled. Register offset, Register extra) { @@ -63,8 +63,6 @@ static void ProbeTable(Isolate* isolate, MacroAssembler* masm, __ pop(LoadDescriptor::SlotRegister()); } - if (leave_frame) __ leave(); - // Jump to the first instruction in the code stub. __ add(extra, Immediate(Code::kHeaderSize - kHeapObjectTag)); __ jmp(extra); @@ -118,8 +116,6 @@ static void ProbeTable(Isolate* isolate, MacroAssembler* masm, __ pop(slot); } - if (leave_frame) __ leave(); - // Jump to the first instruction in the code stub. __ add(offset, Immediate(Code::kHeaderSize - kHeapObjectTag)); __ jmp(offset); @@ -132,10 +128,9 @@ static void ProbeTable(Isolate* isolate, MacroAssembler* masm, void StubCache::GenerateProbe(MacroAssembler* masm, Code::Kind ic_kind, - Code::Flags flags, bool leave_frame, - Register receiver, Register name, - Register scratch, Register extra, Register extra2, - Register extra3) { + Code::Flags flags, Register receiver, + Register name, Register scratch, Register extra, + Register extra2, Register extra3) { Label miss; // Assert that code is valid. The multiplying code relies on the entry size @@ -178,8 +173,8 @@ void StubCache::GenerateProbe(MacroAssembler* masm, Code::Kind ic_kind, DCHECK(kCacheIndexShift == kPointerSizeLog2); // Probe the primary table. - ProbeTable(isolate(), masm, ic_kind, flags, leave_frame, kPrimary, name, - receiver, offset, extra); + ProbeTable(isolate(), masm, ic_kind, flags, kPrimary, name, receiver, offset, + extra); // Primary miss: Compute hash for secondary probe. __ mov(offset, FieldOperand(name, Name::kHashFieldOffset)); @@ -191,8 +186,8 @@ void StubCache::GenerateProbe(MacroAssembler* masm, Code::Kind ic_kind, __ and_(offset, (kSecondaryTableSize - 1) << kCacheIndexShift); // Probe the secondary table. - ProbeTable(isolate(), masm, ic_kind, flags, leave_frame, kSecondary, name, - receiver, offset, extra); + ProbeTable(isolate(), masm, ic_kind, flags, kSecondary, name, receiver, + offset, extra); // Cache miss: Fall-through and let caller handle the miss by // entering the runtime system. diff --git a/src/x87/code-stubs-x87.cc b/src/x87/code-stubs-x87.cc index fa311ebcd4..bba43276fa 100644 --- a/src/x87/code-stubs-x87.cc +++ b/src/x87/code-stubs-x87.cc @@ -4289,8 +4289,8 @@ void LoadICStub::GenerateImpl(MacroAssembler* masm, bool in_frame) { __ push(vector); Code::Flags code_flags = Code::RemoveTypeAndHolderFromFlags( Code::ComputeHandlerFlags(Code::LOAD_IC)); - masm->isolate()->stub_cache()->GenerateProbe( - masm, Code::LOAD_IC, code_flags, false, receiver, name, vector, scratch); + masm->isolate()->stub_cache()->GenerateProbe(masm, Code::LOAD_IC, code_flags, + receiver, name, vector, scratch); __ pop(vector); __ pop(slot);