From a6f40f1da9cf29122c61a533f6dce1eb62cbbe49 Mon Sep 17 00:00:00 2001 From: Bill Buzbee Date: Tue, 22 Sep 2009 09:45:41 -0700 Subject: [PATCH] Fix right shift by constant 0 in Jit. Bug #2135879 --- vm/compiler/codegen/arm/Codegen.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/vm/compiler/codegen/arm/Codegen.c b/vm/compiler/codegen/arm/Codegen.c index 8ae22af12..30dc508e5 100644 --- a/vm/compiler/codegen/arm/Codegen.c +++ b/vm/compiler/codegen/arm/Codegen.c @@ -2640,8 +2640,12 @@ static bool handleFmt22b_Fmt22s(CompilationUnit *cUnit, MIR *mir) break; default: dvmAbort(); } - opRegRegImm(cUnit, op, regDest, reg0, lit, reg1); - storeValue(cUnit, regDest, vDest, reg1); + if (lit != 0) { + opRegRegImm(cUnit, op, regDest, reg0, lit, reg1); + storeValue(cUnit, regDest, vDest, reg1); + } else { + storeValue(cUnit, reg0, vDest, reg1); + } break; case OP_DIV_INT_LIT8: -- 2.11.0