summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--thumb2compact.s12
-rw-r--r--thumb2compact_rmark.s14
-rw-r--r--thumb2compact_rmarkr.s2
-rw-r--r--thumb2mark.s22
4 files changed, 22 insertions, 28 deletions
diff --git a/thumb2compact.s b/thumb2compact.s
index 0e0bd7b..33a214e 100644
--- a/thumb2compact.s
+++ b/thumb2compact.s
@@ -47,7 +47,7 @@ mark_cafs_lp:
sto r6,r12,end_vector,13
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
.if COMPACT_MARK_WITH_STACK
bl rmark_stack_nodes
@@ -74,7 +74,7 @@ end_mark_cafs:
lao r12,end_vector,14
sto r6,r12,end_vector,14
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
.if COMPACT_MARK_WITH_STACK
bl rmark_stack_nodes
@@ -84,7 +84,7 @@ end_mark_cafs:
.ifdef MEASURE_GC
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl add_mark_compact_garbage_collect_time
.endif
@@ -228,12 +228,12 @@ finalizer_list_empty:
sto r6,r12,end_vector,15
.if COMPACT_MARK_WITH_STACK
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl rmark_stack_nodes
.else
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl mark_stack_nodes
.endif
@@ -989,7 +989,7 @@ move_array_ab:
subs r4,r4,r3
add r7,r7,r6
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl reorder
diff --git a/thumb2compact_rmark.s b/thumb2compact_rmark.s
index e67557c..6dc8107 100644
--- a/thumb2compact_rmark.s
+++ b/thumb2compact_rmark.s
@@ -36,7 +36,7 @@ rmark_more_stack_nodes:
ldr r4,[r6]
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl rmark_stack_node
@@ -45,9 +45,7 @@ rmark_more_stack_nodes:
ldo r12,r12,end_vector,17
cmp r9,r12
bne rmark_more_stack_nodes
- ldr lr,[sp],#4
- orr lr,lr,#1
- mov pc,lr
+ ldr pc,[sp],#4
rmark_stack_node:
subs sp,sp,#8
@@ -697,9 +695,7 @@ rmark_next_node:
rmark_next_node_:
end_rmark_nodes:
- ldr lr,[sp],#4
- orr lr,lr,#1
- mov pc,lr
+ ldr pc,[sp],#4
rmark_lazy_node:
ldr r8,[r4,#-4]
@@ -863,7 +859,7 @@ rmark_ab_record_array:
add r6,r6,#4
add r7,r7,r6
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl reorder
@@ -970,7 +966,7 @@ rmark_array_nodes:
ldr r4,[r6]
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl rmark_array_node
diff --git a/thumb2compact_rmarkr.s b/thumb2compact_rmarkr.s
index a1247e6..d684e3f 100644
--- a/thumb2compact_rmarkr.s
+++ b/thumb2compact_rmarkr.s
@@ -727,7 +727,7 @@ rmarkr_ab_record_array:
add r6,r6,#4
add r7,r7,r6
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl reorder
diff --git a/thumb2mark.s b/thumb2mark.s
index e5ff35f..a94235f 100644
--- a/thumb2mark.s
+++ b/thumb2mark.s
@@ -53,7 +53,7 @@ _mark_cafs_lp:
sto r4,r12,end_vector,0
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl _mark_stack_nodes
@@ -71,7 +71,7 @@ _end_mark_cafs:
lao r12,end_vector,1
sto r9,r12,end_vector,1
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl _mark_stack_nodes
@@ -159,7 +159,7 @@ restore_lazy_array:
sub r4,r4,r8
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl reorder
@@ -234,7 +234,7 @@ end_finalizers_after_mark:
str r2,[sp,#-4]!
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl add_garbage_collect_time
@@ -343,7 +343,7 @@ _no_heap_use_message2:
.ifdef FINALIZERS
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl call_finalizers
.endif
@@ -946,9 +946,7 @@ _mark_next_node:
.thumb_func
_end_mark_nodes:
- ldr lr,[sp],#4
- orr lr,lr,#1
- mov pc,lr
+ ldr pc,[sp],#4
.thumb_func
_mark_lazy_node:
@@ -1283,7 +1281,7 @@ _mark_ab_array:
lao r12,end_vector,5
sto r4,r12,end_vector,5
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl _mark_stack_nodes
@@ -1358,7 +1356,7 @@ _end_set_a_array_bits:
lao r12,end_vector,8
sto r4,r12,end_vector,8
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl _mark_stack_nodes
@@ -1423,7 +1421,7 @@ _end_set_lazy_array_bits:
lao r12,end_vector,11
sto r4,r12,end_vector,11
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl _mark_stack_nodes
@@ -2364,7 +2362,7 @@ __mark__ab__record__array:
add r7,r7,r6
.align
- add lr,pc,#8
+ add lr,pc,#9
str lr,[sp,#-4]!
bl reorder