| Index: src/ic/mips64/ic-mips64.cc
|
| diff --git a/src/ic/mips64/ic-mips64.cc b/src/ic/mips64/ic-mips64.cc
|
| index 1dd5fc4f89f18622909076bc66506dbfbeb1e213..7ac191c3956e74661e34a45fc9f2f2a3a3ae14ba 100644
|
| --- a/src/ic/mips64/ic-mips64.cc
|
| +++ b/src/ic/mips64/ic-mips64.cc
|
| @@ -288,7 +288,10 @@ void LoadIC::GenerateMiss(MacroAssembler* masm) {
|
| // The return address is on the stack.
|
| Isolate* isolate = masm->isolate();
|
|
|
| - __ IncrementCounter(isolate->counters()->keyed_load_miss(), 1, a3, a4);
|
| + DCHECK(!FLAG_vector_ics ||
|
| + !AreAliased(a4, a5, VectorLoadICDescriptor::SlotRegister(),
|
| + VectorLoadICDescriptor::VectorRegister()));
|
| + __ IncrementCounter(isolate->counters()->load_miss(), 1, a4, a5);
|
|
|
| LoadIC_PushArgs(masm);
|
|
|
| @@ -424,7 +427,10 @@ void KeyedLoadIC::GenerateMiss(MacroAssembler* masm) {
|
| // The return address is in ra.
|
| Isolate* isolate = masm->isolate();
|
|
|
| - __ IncrementCounter(isolate->counters()->keyed_load_miss(), 1, a3, a4);
|
| + DCHECK(!FLAG_vector_ics ||
|
| + !AreAliased(a4, a5, VectorLoadICDescriptor::SlotRegister(),
|
| + VectorLoadICDescriptor::VectorRegister()));
|
| + __ IncrementCounter(isolate->counters()->keyed_load_miss(), 1, a4, a5);
|
|
|
| LoadIC_PushArgs(masm);
|
|
|
| @@ -825,8 +831,8 @@ void KeyedStoreIC::GenerateMegamorphic(MacroAssembler* masm,
|
| __ JumpIfNotUniqueNameInstanceType(a4, &slow);
|
| Code::Flags flags = Code::RemoveTypeAndHolderFromFlags(
|
| Code::ComputeHandlerFlags(Code::STORE_IC));
|
| - masm->isolate()->stub_cache()->GenerateProbe(masm, flags, false, receiver,
|
| - key, a3, a4, a5, a6);
|
| + masm->isolate()->stub_cache()->GenerateProbe(
|
| + masm, Code::STORE_IC, flags, false, receiver, key, a3, a4, a5, a6);
|
| // Cache miss.
|
| __ Branch(&miss);
|
|
|
| @@ -895,8 +901,8 @@ void StoreIC::GenerateMegamorphic(MacroAssembler* masm) {
|
| // Get the receiver from the stack and probe the stub cache.
|
| Code::Flags flags = Code::RemoveTypeAndHolderFromFlags(
|
| Code::ComputeHandlerFlags(Code::STORE_IC));
|
| - masm->isolate()->stub_cache()->GenerateProbe(masm, flags, false, receiver,
|
| - name, a3, a4, a5, a6);
|
| + masm->isolate()->stub_cache()->GenerateProbe(
|
| + masm, Code::STORE_IC, flags, false, receiver, name, a3, a4, a5, a6);
|
|
|
| // Cache miss: Jump to runtime.
|
| GenerateMiss(masm);
|
|
|