Fix for 2542488 JIT codegen bug with overlapping wide operands
Change-Id: I2f31492f68cb753f76dd664cd6b0a52d7d32de4c
diff --git a/vm/compiler/codegen/arm/Codegen.h b/vm/compiler/codegen/arm/Codegen.h
index 0674b8b..8a340e5 100644
--- a/vm/compiler/codegen/arm/Codegen.h
+++ b/vm/compiler/codegen/arm/Codegen.h
@@ -45,6 +45,8 @@
static void genMonitorPortable(CompilationUnit *cUnit, MIR *mir);
+static void genInterpSingleStep(CompilationUnit *cUnit, MIR *mir);
+
#if defined(WITH_SELF_VERIFICATION)
/* Self Verification memory instruction decoder */
void dvmSelfVerificationMemOpDecode(int lr, int* sp);
diff --git a/vm/compiler/codegen/arm/Thumb/Gen.c b/vm/compiler/codegen/arm/Thumb/Gen.c
index aca68ef..e014795 100644
--- a/vm/compiler/codegen/arm/Thumb/Gen.c
+++ b/vm/compiler/codegen/arm/Thumb/Gen.c
@@ -60,7 +60,7 @@
storeValueWide(cUnit, rlDest, rlResult);
}
-static void partialOverlap(int sreg1, int sreg2)
+static bool partialOverlap(int sreg1, int sreg2)
{
return abs(sreg1 - sreg2) == 1;
}