Index: src/arm/stub-cache-arm.cc |
diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc |
index 1c772eec81152d77ade1e95a7ebe1135d93210fb..c30fa1f881a22134fa30787e0bab8aba9257cce7 100644 |
--- a/src/arm/stub-cache-arm.cc |
+++ b/src/arm/stub-cache-arm.cc |
@@ -426,8 +426,9 @@ void StoreStubCompiler::GenerateStoreTransition(MacroAssembler* masm, |
} |
} else if (representation.IsDouble()) { |
Label do_store, heap_number; |
- __ LoadRoot(scratch3, Heap::kHeapNumberMapRootIndex); |
- __ AllocateHeapNumber(storage_reg, scratch1, scratch2, scratch3, slow); |
+ __ LoadRoot(scratch3, Heap::kMutableHeapNumberMapRootIndex); |
+ __ AllocateHeapNumber(storage_reg, scratch1, scratch2, scratch3, slow, |
+ TAG_RESULT, MUTABLE); |
__ JumpIfNotSmi(value_reg, &heap_number); |
__ SmiUntag(scratch1, value_reg); |