summaryrefslogtreecommitdiff
path: root/thumb2compact_rmark.s
diff options
context:
space:
mode:
Diffstat (limited to 'thumb2compact_rmark.s')
-rw-r--r--thumb2compact_rmark.s14
1 files changed, 9 insertions, 5 deletions
diff --git a/thumb2compact_rmark.s b/thumb2compact_rmark.s
index 6dc8107..e67557c 100644
--- a/thumb2compact_rmark.s
+++ b/thumb2compact_rmark.s
@@ -36,7 +36,7 @@ rmark_more_stack_nodes:
ldr r4,[r6]
.align
- add lr,pc,#9
+ add lr,pc,#8
str lr,[sp,#-4]!
bl rmark_stack_node
@@ -45,7 +45,9 @@ rmark_more_stack_nodes:
ldo r12,r12,end_vector,17
cmp r9,r12
bne rmark_more_stack_nodes
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
rmark_stack_node:
subs sp,sp,#8
@@ -695,7 +697,9 @@ rmark_next_node:
rmark_next_node_:
end_rmark_nodes:
- ldr pc,[sp],#4
+ ldr lr,[sp],#4
+ orr lr,lr,#1
+ mov pc,lr
rmark_lazy_node:
ldr r8,[r4,#-4]
@@ -859,7 +863,7 @@ rmark_ab_record_array:
add r6,r6,#4
add r7,r7,r6
.align
- add lr,pc,#9
+ add lr,pc,#8
str lr,[sp,#-4]!
bl reorder
@@ -966,7 +970,7 @@ rmark_array_nodes:
ldr r4,[r6]
.align
- add lr,pc,#9
+ add lr,pc,#8
str lr,[sp,#-4]!
bl rmark_array_node