Code::Flags flags = Code::RemoveTypeAndHolderFromFlags(
Code::ComputeHandlerFlags(Code::LOAD_IC));
- masm->isolate()->stub_cache()->GenerateProbe(
- masm, Code::KEYED_LOAD_IC, flags, false, receiver, key, r7, r8, r9, r10);
+ masm->isolate()->stub_cache()->GenerateProbe(masm, Code::KEYED_LOAD_IC, flags,
+ receiver, key, r7, r8, r9, r10);
// Cache miss.
GenerateMiss(masm);
Code::Flags flags = Code::RemoveTypeAndHolderFromFlags(
Code::ComputeHandlerFlags(Code::STORE_IC));
- masm->isolate()->stub_cache()->GenerateProbe(
- masm, Code::STORE_IC, flags, false, receiver, key, r6, r7, r8, r9);
+ masm->isolate()->stub_cache()->GenerateProbe(masm, Code::STORE_IC, flags,
+ receiver, key, r6, r7, r8, r9);
// Cache miss.
__ b(&miss);
Code::Flags flags = Code::RemoveTypeAndHolderFromFlags(
Code::ComputeHandlerFlags(Code::STORE_IC));
- masm->isolate()->stub_cache()->GenerateProbe(
- masm, Code::STORE_IC, flags, false, receiver, name, r6, r7, r8, r9);
+ masm->isolate()->stub_cache()->GenerateProbe(masm, Code::STORE_IC, flags,
+ receiver, name, r6, r7, r8, r9);
// Cache miss: Jump to runtime.
GenerateMiss(masm);
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 receiver, Register name,
// Number of the cache entry, not scaled.
Register offset, Register scratch, Register scratch2,
}
#endif
- if (leave_frame) __ LeaveFrame(StackFrame::INTERNAL);
-
// Jump to the first instruction in the code stub.
__ addi(r0, code, Operand(Code::kHeaderSize - kHeapObjectTag));
__ mtctr(r0);
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) {
Isolate* isolate = masm->isolate();
Label miss;
Operand((kPrimaryTableSize - 1) << kCacheIndexShift));
// Probe the primary table.
- ProbeTable(isolate, masm, ic_kind, flags, leave_frame, kPrimary, receiver,
- name, scratch, extra, extra2, extra3);
+ ProbeTable(isolate, masm, ic_kind, flags, kPrimary, receiver, name, scratch,
+ extra, extra2, extra3);
// Primary miss: Compute hash for secondary probe.
__ sub(scratch, scratch, name);
Operand((kSecondaryTableSize - 1) << kCacheIndexShift));
// Probe the secondary table.
- ProbeTable(isolate, masm, ic_kind, flags, leave_frame, kSecondary, receiver,
- name, scratch, extra, extra2, extra3);
+ ProbeTable(isolate, masm, ic_kind, flags, kSecondary, receiver, name, scratch,
+ extra, extra2, extra3);
// Cache miss: Fall-through and let caller handle the miss by
// entering the runtime system.