summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--thumb2compact_rmark.s7
1 files changed, 6 insertions, 1 deletions
diff --git a/thumb2compact_rmark.s b/thumb2compact_rmark.s
index ab0ab1b..5acfa91 100644
--- a/thumb2compact_rmark.s
+++ b/thumb2compact_rmark.s
@@ -102,7 +102,12 @@ rmark_node_:
orr ASTACK_2,ASTACK_2,BSTACK_0
str ASTACK_2,[HEAP_PTR,ASTACK_1,lsl #2]
- ldr BSTACK_0,[ASTACK_0]
+ @ldr BSTACK_0,[ASTACK_0]
+ ands lr,ASTACK_0,#1
+ it eq
+ ldreq BSTACK_0,[ASTACK_0]
+ it ne
+ ldrne BSTACK_0,[ASTACK_0,#-1]
rmark_arguments:
cmp ASTACK_0,BSTACK_1
bhi rmark_no_reverse