From 69564bb83c7903c3a5f3a5696d328f318d46bd6b Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Sun, 21 Feb 2016 17:19:18 +0000 Subject: Use adds instead of add to set the N flag. That flag will be used by the following bmi instruction. Fixes 109-suspend-check on arm32. Change-Id: I07ee069294e7a0d9709718375bce1e21e3db6529 --- runtime/interpreter/mterp/arm/op_goto.S | 4 ++-- runtime/interpreter/mterp/out/mterp_arm.S | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/runtime/interpreter/mterp/arm/op_goto.S b/runtime/interpreter/mterp/arm/op_goto.S index eb1d42992b..6861950909 100644 --- a/runtime/interpreter/mterp/arm/op_goto.S +++ b/runtime/interpreter/mterp/arm/op_goto.S @@ -17,7 +17,7 @@ cmp r0, #0 bne MterpOnStackReplacement @ Note: offset must be in rINST ldr lr, [rSELF, #THREAD_FLAGS_OFFSET] - add r2, rINST, rINST @ r2<- byte offset, set flags + adds r2, rINST, rINST @ r2<- byte offset, set flags FETCH_ADVANCE_INST_RB r2 @ update rPC, load rINST @ If backwards branch refresh rIBASE bmi MterpCheckSuspendAndContinue @@ -27,7 +27,7 @@ mov r0, rINST, lsl #16 @ r0<- AAxx0000 movs rINST, r0, asr #24 @ rINST<- ssssssAA (sign-extended) ldr lr, [rSELF, #THREAD_FLAGS_OFFSET] - add r2, rINST, rINST @ r2<- byte offset, set flags + adds r2, rINST, rINST @ r2<- byte offset, set flags FETCH_ADVANCE_INST_RB r2 @ update rPC, load rINST @ If backwards branch refresh rIBASE bmi MterpCheckSuspendAndContinue diff --git a/runtime/interpreter/mterp/out/mterp_arm.S b/runtime/interpreter/mterp/out/mterp_arm.S index 511c35b4c6..519f8964fb 100644 --- a/runtime/interpreter/mterp/out/mterp_arm.S +++ b/runtime/interpreter/mterp/out/mterp_arm.S @@ -1117,7 +1117,7 @@ artMterpAsmInstructionStart = .L_op_nop cmp r0, #0 bne MterpOnStackReplacement @ Note: offset must be in rINST ldr lr, [rSELF, #THREAD_FLAGS_OFFSET] - add r2, rINST, rINST @ r2<- byte offset, set flags + adds r2, rINST, rINST @ r2<- byte offset, set flags FETCH_ADVANCE_INST_RB r2 @ update rPC, load rINST @ If backwards branch refresh rIBASE bmi MterpCheckSuspendAndContinue @@ -1127,7 +1127,7 @@ artMterpAsmInstructionStart = .L_op_nop mov r0, rINST, lsl #16 @ r0<- AAxx0000 movs rINST, r0, asr #24 @ rINST<- ssssssAA (sign-extended) ldr lr, [rSELF, #THREAD_FLAGS_OFFSET] - add r2, rINST, rINST @ r2<- byte offset, set flags + adds r2, rINST, rINST @ r2<- byte offset, set flags FETCH_ADVANCE_INST_RB r2 @ update rPC, load rINST @ If backwards branch refresh rIBASE bmi MterpCheckSuspendAndContinue -- cgit v1.2.3-59-g8ed1b