| Index: src/mips/stub-cache-mips.cc
|
| diff --git a/src/mips/stub-cache-mips.cc b/src/mips/stub-cache-mips.cc
|
| index fda30df2125db19a2b843575261848c213a3a22f..7aed0810a9b0c01b3df84699e8f2df66e42d2bc7 100644
|
| --- a/src/mips/stub-cache-mips.cc
|
| +++ b/src/mips/stub-cache-mips.cc
|
| @@ -4746,11 +4746,12 @@ void KeyedStoreStubCompiler::GenerateStoreFastDoubleElement(
|
| // -- a1 : key
|
| // -- a2 : receiver
|
| // -- ra : return address
|
| - // -- a3 : scratch
|
| + // -- a3 : scratch (elements backing store)
|
| // -- t0 : scratch (elements_reg)
|
| // -- t1 : scratch (mantissa_reg)
|
| // -- t2 : scratch (exponent_reg)
|
| // -- t3 : scratch4
|
| + // -- t4 : scratch
|
| // -----------------------------------
|
| Label miss_force_generic, transition_elements_kind, grow, slow;
|
| Label finish_store, check_capacity;
|
| @@ -4763,6 +4764,7 @@ void KeyedStoreStubCompiler::GenerateStoreFastDoubleElement(
|
| Register scratch2 = t1;
|
| Register scratch3 = t2;
|
| Register scratch4 = t3;
|
| + Register scratch5 = t4;
|
| Register length_reg = t3;
|
|
|
| // This stub is meant to be tail-jumped to, the receiver must already
|
| @@ -4858,14 +4860,15 @@ void KeyedStoreStubCompiler::GenerateStoreFastDoubleElement(
|
| __ sw(scratch2, FieldMemOperand(elements_reg, offset + kPointerSize));
|
| }
|
|
|
| + __ mov(scratch1, elements_reg);
|
| __ StoreNumberToDoubleElements(value_reg,
|
| key_reg,
|
| // All registers after this are overwritten.
|
| - elements_reg,
|
| scratch1,
|
| scratch2,
|
| scratch3,
|
| scratch4,
|
| + scratch5,
|
| &transition_elements_kind);
|
|
|
| // Install the new backing store in the JSArray.
|
|
|