7131f4d
diff -up v8-3.14.5.10/src/arm/lithium-codegen-arm.cc.cve20143152 v8-3.14.5.10/src/arm/lithium-codegen-arm.cc
7131f4d
--- v8-3.14.5.10/src/arm/lithium-codegen-arm.cc.cve20143152	2015-04-23 14:51:20.095648219 -0400
7131f4d
+++ v8-3.14.5.10/src/arm/lithium-codegen-arm.cc	2015-04-23 14:53:28.834149299 -0400
7131f4d
@@ -3034,7 +3034,8 @@ MemOperand LCodeGen::PrepareKeyedOperand
7131f4d
     return MemOperand(base, scratch0(), LSL, shift_size);
7131f4d
   } else {
7131f4d
     ASSERT_EQ(-1, shift_size);
7131f4d
-    return MemOperand(base, scratch0(), LSR, 1);
7131f4d
+    // key can be negative, so using ASR here.
7131f4d
+    return MemOperand(base, scratch0(), ASR, 1);
7131f4d
   }
7131f4d
 }
7131f4d