Index: src/ic/arm64/ic-arm64.cc |
diff --git a/src/ic/arm64/ic-arm64.cc b/src/ic/arm64/ic-arm64.cc |
index 27c4f714311b04d1d7c8360f3542d8eb0f280082..c4c856aab7ef96fc5faffef1b1236d72cee4e543 100644 |
--- a/src/ic/arm64/ic-arm64.cc |
+++ b/src/ic/arm64/ic-arm64.cc |
@@ -696,7 +696,7 @@ void KeyedStoreIC::GenerateMegamorphic(MacroAssembler* masm, |
// change the IC from any downstream misses, a dummy vector can be used. |
Register vector = VectorStoreICDescriptor::VectorRegister(); |
Register slot = VectorStoreICDescriptor::SlotRegister(); |
- DCHECK(!AreAliased(vector, slot, x3, x4, x5, x6)); |
+ DCHECK(!AreAliased(vector, slot, x5, x6, x7, x8)); |
Handle<TypeFeedbackVector> dummy_vector = |
TypeFeedbackVector::DummyVector(masm->isolate()); |
int slot_index = dummy_vector->GetIndex( |
@@ -708,7 +708,7 @@ 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, |
- receiver, key, x3, x4, x5, x6); |
+ receiver, key, x5, x6, x7, x8); |
// Cache miss. |
__ B(&miss); |
@@ -789,19 +789,21 @@ void StoreIC::GenerateNormal(MacroAssembler* masm) { |
Register value = StoreDescriptor::ValueRegister(); |
Register receiver = StoreDescriptor::ReceiverRegister(); |
Register name = StoreDescriptor::NameRegister(); |
- Register dictionary = x3; |
- DCHECK(!AreAliased(value, receiver, name, x3, x4, x5)); |
+ Register dictionary = x5; |
+ DCHECK(!AreAliased(value, receiver, name, |
+ VectorStoreICDescriptor::SlotRegister(), |
+ VectorStoreICDescriptor::VectorRegister(), x5, x6, x7)); |
__ Ldr(dictionary, FieldMemOperand(receiver, JSObject::kPropertiesOffset)); |
- GenerateDictionaryStore(masm, &miss, dictionary, name, value, x4, x5); |
+ GenerateDictionaryStore(masm, &miss, dictionary, name, value, x6, x7); |
Counters* counters = masm->isolate()->counters(); |
- __ IncrementCounter(counters->store_normal_hit(), 1, x4, x5); |
+ __ IncrementCounter(counters->store_normal_hit(), 1, x6, x7); |
__ Ret(); |
// Cache miss: Jump to runtime. |
__ Bind(&miss); |
- __ IncrementCounter(counters->store_normal_miss(), 1, x4, x5); |
+ __ IncrementCounter(counters->store_normal_miss(), 1, x6, x7); |
GenerateMiss(masm); |
} |