| Index: src/ic/ppc/ic-ppc.cc | 
| diff --git a/src/ic/ppc/ic-ppc.cc b/src/ic/ppc/ic-ppc.cc | 
| index 102dde4944af106ebcdbf35e5f63c17a7a68c319..8af644f08a4a16c956d30497288ec21004a1bf68 100644 | 
| --- a/src/ic/ppc/ic-ppc.cc | 
| +++ b/src/ic/ppc/ic-ppc.cc | 
| @@ -474,12 +474,24 @@ void KeyedLoadIC::GenerateMegamorphic(MacroAssembler* masm, | 
| } | 
|  | 
|  | 
| +static void StoreIC_PushArgs(MacroAssembler* masm) { | 
| +  if (FLAG_vector_stores) { | 
| +    __ Push(StoreDescriptor::ReceiverRegister(), | 
| +            StoreDescriptor::NameRegister(), StoreDescriptor::ValueRegister(), | 
| +            VectorStoreICDescriptor::SlotRegister(), | 
| +            VectorStoreICDescriptor::VectorRegister()); | 
| +  } else { | 
| +    __ Push(StoreDescriptor::ReceiverRegister(), | 
| +            StoreDescriptor::NameRegister(), StoreDescriptor::ValueRegister()); | 
| +  } | 
| +} | 
| + | 
| + | 
| void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) { | 
| -  // Push receiver, key and value for runtime call. | 
| -  __ Push(StoreDescriptor::ReceiverRegister(), StoreDescriptor::NameRegister(), | 
| -          StoreDescriptor::ValueRegister()); | 
| +  StoreIC_PushArgs(masm); | 
|  | 
| -  __ TailCallRuntime(Runtime::kKeyedStoreIC_Miss, 3, 1); | 
| +  int args = FLAG_vector_stores ? 5 : 3; | 
| +  __ TailCallRuntime(Runtime::kKeyedStoreIC_Miss, args, 1); | 
| } | 
|  | 
|  | 
| @@ -781,11 +793,11 @@ void StoreIC::GenerateMegamorphic(MacroAssembler* masm) { | 
|  | 
|  | 
| void StoreIC::GenerateMiss(MacroAssembler* masm) { | 
| -  __ Push(StoreDescriptor::ReceiverRegister(), StoreDescriptor::NameRegister(), | 
| -          StoreDescriptor::ValueRegister()); | 
| +  StoreIC_PushArgs(masm); | 
|  | 
| // Perform tail call to the entry. | 
| -  __ TailCallRuntime(Runtime::kStoreIC_Miss, 3, 1); | 
| +  int args = FLAG_vector_stores ? 5 : 3; | 
| +  __ TailCallRuntime(Runtime::kStoreIC_Miss, args, 1); | 
| } | 
|  | 
|  | 
|  |