| 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);
|
| }
|
|
|
|
|