| Index: src/ic/arm64/ic-arm64.cc
|
| diff --git a/src/ic/arm64/ic-arm64.cc b/src/ic/arm64/ic-arm64.cc
|
| index 1a42dfbd2586f6d918a39efdb119602e66c6b6fc..a01015c1864c559523435b06d213760625e6ad3c 100644
|
| --- a/src/ic/arm64/ic-arm64.cc
|
| +++ b/src/ic/arm64/ic-arm64.cc
|
| @@ -354,7 +354,10 @@ void LoadIC::GenerateMiss(MacroAssembler* masm) {
|
| Isolate* isolate = masm->isolate();
|
| ASM_LOCATION("LoadIC::GenerateMiss");
|
|
|
| - __ IncrementCounter(isolate->counters()->load_miss(), 1, x3, x4);
|
| + DCHECK(!FLAG_vector_ics ||
|
| + !AreAliased(x4, x5, VectorLoadICDescriptor::SlotRegister(),
|
| + VectorLoadICDescriptor::VectorRegister()));
|
| + __ IncrementCounter(isolate->counters()->load_miss(), 1, x4, x5);
|
|
|
| // Perform tail call to the entry.
|
| if (FLAG_vector_ics) {
|
| @@ -428,6 +431,9 @@ void KeyedLoadIC::GenerateMiss(MacroAssembler* masm) {
|
| // The return address is in lr.
|
| Isolate* isolate = masm->isolate();
|
|
|
| + DCHECK(!FLAG_vector_ics ||
|
| + !AreAliased(x10, x11, VectorLoadICDescriptor::SlotRegister(),
|
| + VectorLoadICDescriptor::VectorRegister()));
|
| __ IncrementCounter(isolate->counters()->keyed_load_miss(), 1, x10, x11);
|
|
|
| if (FLAG_vector_ics) {
|
| @@ -852,8 +858,8 @@ void KeyedStoreIC::GenerateMegamorphic(MacroAssembler* masm,
|
| __ JumpIfNotUniqueNameInstanceType(x10, &slow);
|
| Code::Flags flags = Code::RemoveTypeAndHolderFromFlags(
|
| Code::ComputeHandlerFlags(Code::STORE_IC));
|
| - masm->isolate()->stub_cache()->GenerateProbe(masm, flags, false, receiver,
|
| - key, x3, x4, x5, x6);
|
| + masm->isolate()->stub_cache()->GenerateProbe(
|
| + masm, Code::STORE_IC, flags, false, receiver, key, x3, x4, x5, x6);
|
| // Cache miss.
|
| __ B(&miss);
|
|
|
| @@ -912,8 +918,8 @@ void StoreIC::GenerateMegamorphic(MacroAssembler* masm) {
|
| // Probe the stub cache.
|
| Code::Flags flags = Code::RemoveTypeAndHolderFromFlags(
|
| Code::ComputeHandlerFlags(Code::STORE_IC));
|
| - masm->isolate()->stub_cache()->GenerateProbe(masm, flags, false, receiver,
|
| - name, x3, x4, x5, x6);
|
| + masm->isolate()->stub_cache()->GenerateProbe(
|
| + masm, Code::STORE_IC, flags, false, receiver, name, x3, x4, x5, x6);
|
|
|
| // Cache miss: Jump to runtime.
|
| GenerateMiss(masm);
|
|
|