Index: src/arm/stub-cache-arm.cc |
diff --git a/src/arm/stub-cache-arm.cc b/src/arm/stub-cache-arm.cc |
index f7fa9efaca78df41622188a906040f24172a7472..d6b8ad7cd9f3199fbebe362a88ed92b190a7e0c5 100644 |
--- a/src/arm/stub-cache-arm.cc |
+++ b/src/arm/stub-cache-arm.cc |
@@ -3332,11 +3332,8 @@ void KeyedStoreStubCompiler::GenerateStoreExternalArray( |
__ add(r5, r3, Operand(key, LSL, 2)); |
__ vstr(d0, r5, 0); |
} else { |
- // Hoisted load. vldr requires offset to be a multiple of 4 so we can |
- // not include -kHeapObjectTag into it. |
- __ sub(r5, value, Operand(kHeapObjectTag)); |
- __ vldr(d0, r5, HeapNumber::kValueOffset); |
- __ ECMAToInt32(r5, d0, r6, r7, r9, d1); |
+ __ TruncateDoubleToI(r5, value, |
+ HeapNumber::kValueOffset - kHeapObjectTag); |
switch (elements_kind) { |
case EXTERNAL_BYTE_ELEMENTS: |