diff options
Diffstat (limited to 'deps/v8/src/ic/ppc/stub-cache-ppc.cc')
-rw-r--r-- | deps/v8/src/ic/ppc/stub-cache-ppc.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/deps/v8/src/ic/ppc/stub-cache-ppc.cc b/deps/v8/src/ic/ppc/stub-cache-ppc.cc index ed703fb21e..6030b2cbc8 100644 --- a/deps/v8/src/ic/ppc/stub-cache-ppc.cc +++ b/deps/v8/src/ic/ppc/stub-cache-ppc.cc @@ -137,8 +137,14 @@ void StubCache::GenerateProbe(MacroAssembler* masm, Code::Kind ic_kind, // extra3 don't conflict with the vector and slot registers, which need // to be preserved for a handler call or miss. if (IC::ICUseVector(ic_kind)) { - Register vector = LoadWithVectorDescriptor::VectorRegister(); - Register slot = LoadWithVectorDescriptor::SlotRegister(); + Register vector, slot; + if (ic_kind == Code::STORE_IC || ic_kind == Code::KEYED_STORE_IC) { + vector = VectorStoreICDescriptor::VectorRegister(); + slot = VectorStoreICDescriptor::SlotRegister(); + } else { + vector = LoadWithVectorDescriptor::VectorRegister(); + slot = LoadWithVectorDescriptor::SlotRegister(); + } DCHECK(!AreAliased(vector, slot, scratch, extra, extra2, extra3)); } #endif |