diff options
author | Camil Staps | 2016-11-12 22:13:36 +0000 |
---|---|---|
committer | Camil Staps | 2016-11-12 22:13:36 +0000 |
commit | 6e4d2a9970e4f99137bb9aba1ce259eac5a8eb82 (patch) | |
tree | af6467d431235ade541aa2b5b482456bd3f10c07 | |
parent | Cleanup thumb2divmod.s (diff) |
Fix some add lr,pc,#8 -> #9 and orring loaded addresses before jumping in mark/compact files (old)
-rw-r--r-- | thumb2compact.s | 12 | ||||
-rw-r--r-- | thumb2compact_rmark.s | 14 | ||||
-rw-r--r-- | thumb2compact_rmarkr.s | 2 | ||||
-rw-r--r-- | thumb2mark.s | 22 |
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
|