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. |