Index: src/ic/x64/ic-x64.cc |
diff --git a/src/ic/x64/ic-x64.cc b/src/ic/x64/ic-x64.cc |
index 61c2cb4ec0ffc06fabeb055bab94ce2b6bb0ce5c..d0445a229a8ae2b89f9374ef5bf2975bfe5f137f 100644 |
--- a/src/ic/x64/ic-x64.cc |
+++ b/src/ic/x64/ic-x64.cc |
@@ -706,21 +706,20 @@ void KeyedLoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) { |
} |
static void StoreIC_PushArgs(MacroAssembler* masm) { |
- Register receiver = StoreDescriptor::ReceiverRegister(); |
- Register name = StoreDescriptor::NameRegister(); |
- Register value = StoreDescriptor::ValueRegister(); |
+ Register receiver = StoreWithVectorDescriptor::ReceiverRegister(); |
+ Register name = StoreWithVectorDescriptor::NameRegister(); |
+ Register value = StoreWithVectorDescriptor::ValueRegister(); |
+ Register slot = StoreWithVectorDescriptor::SlotRegister(); |
+ Register vector = StoreWithVectorDescriptor::VectorRegister(); |
Register temp = r11; |
- DCHECK(!temp.is(receiver) && !temp.is(name) && !temp.is(value)); |
+ DCHECK(!AreAliased(receiver, name, value, slot, vector, temp)); |
__ PopReturnAddressTo(temp); |
- __ Push(receiver); |
- __ Push(name); |
__ Push(value); |
- Register slot = StoreWithVectorDescriptor::SlotRegister(); |
- Register vector = StoreWithVectorDescriptor::VectorRegister(); |
- DCHECK(!temp.is(slot) && !temp.is(vector)); |
__ Push(slot); |
__ Push(vector); |
+ __ Push(receiver); |
+ __ Push(name); |
__ PushReturnAddressFrom(temp); |
} |