diff options
Diffstat (limited to 'thumb2mark.s')
-rw-r--r-- | thumb2mark.s | 22 |
1 files changed, 10 insertions, 12 deletions
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
|