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