summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamil Staps2016-09-19 21:39:04 +0000
committerCamil Staps2016-09-19 21:39:04 +0000
commit4b601f9d3386da27b233135b7516d1ca4a871ac3 (patch)
treef6ab374f71a38274002c9368f46a576a4e7bb903
parentRemoved unnecessary .thumb_funcs (diff)
Add .align before pushing PC; change some bl to blx
-rw-r--r--thumb2ap.s58
-rw-r--r--thumb2compact.s6
-rw-r--r--thumb2compact_rmark.s3
-rw-r--r--thumb2compact_rmarkr.s1
-rw-r--r--thumb2mark.s9
-rw-r--r--thumb2startup.s84
6 files changed, 154 insertions, 7 deletions
diff --git a/thumb2ap.s b/thumb2ap.s
index 530c258..8127222 100644
--- a/thumb2ap.s
+++ b/thumb2ap.s
@@ -599,6 +599,7 @@ repl_args_5:
no_fast_ap32:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -613,6 +614,7 @@ no_fast_ap32:
no_fast_ap31:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -627,6 +629,7 @@ no_fast_ap31:
no_fast_ap30:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -641,6 +644,7 @@ no_fast_ap30:
no_fast_ap29:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -655,6 +659,7 @@ no_fast_ap29:
no_fast_ap28:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -669,6 +674,7 @@ no_fast_ap28:
no_fast_ap27:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -683,6 +689,7 @@ no_fast_ap27:
no_fast_ap26:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -697,6 +704,7 @@ no_fast_ap26:
no_fast_ap25:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -711,6 +719,7 @@ no_fast_ap25:
no_fast_ap24:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -725,6 +734,7 @@ no_fast_ap24:
no_fast_ap23:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -739,6 +749,7 @@ no_fast_ap23:
no_fast_ap22:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -753,6 +764,7 @@ no_fast_ap22:
no_fast_ap21:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -767,6 +779,7 @@ no_fast_ap21:
no_fast_ap20:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -781,6 +794,7 @@ no_fast_ap20:
no_fast_ap19:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -795,6 +809,7 @@ no_fast_ap19:
no_fast_ap18:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -809,6 +824,7 @@ no_fast_ap18:
no_fast_ap17:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -823,6 +839,7 @@ no_fast_ap17:
no_fast_ap16:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -837,6 +854,7 @@ no_fast_ap16:
no_fast_ap15:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -851,6 +869,7 @@ no_fast_ap15:
no_fast_ap14:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -865,6 +884,7 @@ no_fast_ap14:
no_fast_ap13:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -879,6 +899,7 @@ no_fast_ap13:
no_fast_ap12:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -893,6 +914,7 @@ no_fast_ap12:
no_fast_ap11:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -907,6 +929,7 @@ no_fast_ap11:
no_fast_ap10:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -921,6 +944,7 @@ no_fast_ap10:
no_fast_ap9:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -935,6 +959,7 @@ no_fast_ap9:
no_fast_ap8:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -949,6 +974,7 @@ no_fast_ap8:
no_fast_ap7:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -963,6 +989,7 @@ no_fast_ap7:
no_fast_ap6:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -977,6 +1004,7 @@ no_fast_ap6:
no_fast_ap5:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -991,6 +1019,7 @@ no_fast_ap5:
no_fast_ap4:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -1005,6 +1034,7 @@ no_fast_ap4:
no_fast_ap3:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -1019,6 +1049,7 @@ no_fast_ap3:
no_fast_ap2:
ldr r12,[r11,#2]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -2211,6 +2242,7 @@ apupd_7:
ldr r8,[r9,#-28]
ldr r4,[r9,#-32]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_8
@@ -2231,6 +2263,7 @@ apupd_8:
ldr r8,[r9,#-32]
ldr r4,[r9,#-36]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_9
@@ -2251,6 +2284,7 @@ apupd_9:
ldr r8,[r9,#-36]
ldr r4,[r9,#-40]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_10
@@ -2271,6 +2305,7 @@ apupd_10:
ldr r8,[r9,#-40]
ldr r4,[r9,#-44]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_11
@@ -2291,6 +2326,7 @@ apupd_11:
ldr r8,[r9,#-44]
ldr r4,[r9,#-48]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_12
@@ -2311,6 +2347,7 @@ apupd_12:
ldr r8,[r9,#-48]
ldr r4,[r9,#-52]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_13
@@ -2331,6 +2368,7 @@ apupd_13:
ldr r8,[r9,#-52]
ldr r4,[r9,#-56]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_14
@@ -2351,6 +2389,7 @@ apupd_14:
ldr r8,[r9,#-56]
ldr r4,[r9,#-60]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_15
@@ -2371,6 +2410,7 @@ apupd_15:
ldr r8,[r9,#-60]
ldr r4,[r9,#-64]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_16
@@ -2391,6 +2431,7 @@ apupd_16:
ldr r8,[r9,#-64]
ldr r4,[r9,#-68]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_17
@@ -2411,6 +2452,7 @@ apupd_17:
ldr r8,[r9,#-68]
ldr r4,[r9,#-72]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_18
@@ -2431,6 +2473,7 @@ apupd_18:
ldr r8,[r9,#-72]
ldr r4,[r9,#-76]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_19
@@ -2451,6 +2494,7 @@ apupd_19:
ldr r8,[r9,#-76]
ldr r4,[r9,#-80]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_20
@@ -2471,6 +2515,7 @@ apupd_20:
ldr r8,[r9,#-80]
ldr r4,[r9,#-84]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_21
@@ -2491,6 +2536,7 @@ apupd_21:
ldr r8,[r9,#-84]
ldr r4,[r9,#-88]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_22
@@ -2511,6 +2557,7 @@ apupd_22:
ldr r8,[r9,#-88]
ldr r4,[r9,#-92]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_23
@@ -2531,6 +2578,7 @@ apupd_23:
ldr r8,[r9,#-92]
ldr r4,[r9,#-96]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_24
@@ -2551,6 +2599,7 @@ apupd_24:
ldr r8,[r9,#-96]
ldr r4,[r9,#-100]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_25
@@ -2571,6 +2620,7 @@ apupd_25:
ldr r8,[r9,#-100]
ldr r4,[r9,#-104]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_26
@@ -2591,6 +2641,7 @@ apupd_26:
ldr r8,[r9,#-104]
ldr r4,[r9,#-108]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_27
@@ -2611,6 +2662,7 @@ apupd_27:
ldr r8,[r9,#-108]
ldr r4,[r9,#-112]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_28
@@ -2631,6 +2683,7 @@ apupd_28:
ldr r8,[r9,#-112]
ldr r4,[r9,#-116]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_29
@@ -2651,6 +2704,7 @@ apupd_29:
ldr r8,[r9,#-116]
ldr r4,[r9,#-120]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_30
@@ -2671,6 +2725,7 @@ apupd_30:
ldr r8,[r9,#-120]
ldr r4,[r9,#-124]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_31
@@ -2691,6 +2746,7 @@ apupd_31:
ldr r8,[r9,#-124]
ldr r4,[r9,#-128]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_32
@@ -2711,6 +2767,7 @@ apupd_32:
ldr r8,[r9,#-128]
ldr r4,[r9,#-132]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl move_33
@@ -2757,6 +2814,7 @@ ap_31__u0:
ap_32__u0:
add r8,r8,pc
.endif
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r8
diff --git a/thumb2compact.s b/thumb2compact.s
index 611579e..33a214e 100644
--- a/thumb2compact.s
+++ b/thumb2compact.s
@@ -46,6 +46,7 @@ mark_cafs_lp:
lao r12,end_vector,13
sto r6,r12,end_vector,13
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
.if COMPACT_MARK_WITH_STACK
@@ -72,6 +73,7 @@ end_mark_cafs:
ldo r6,r12,stack_top,4
lao r12,end_vector,14
sto r6,r12,end_vector,14
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
.if COMPACT_MARK_WITH_STACK
@@ -81,6 +83,7 @@ end_mark_cafs:
.endif
.ifdef MEASURE_GC
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl add_mark_compact_garbage_collect_time
@@ -224,10 +227,12 @@ finalizer_list_empty:
lao r12,end_vector,15
sto r6,r12,end_vector,15
.if COMPACT_MARK_WITH_STACK
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl rmark_stack_nodes
.else
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl mark_stack_nodes
@@ -983,6 +988,7 @@ move_array_ab:
subs r4,r4,r3
add r7,r7,r6
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl reorder
diff --git a/thumb2compact_rmark.s b/thumb2compact_rmark.s
index 767a9d5..6dc8107 100644
--- a/thumb2compact_rmark.s
+++ b/thumb2compact_rmark.s
@@ -35,6 +35,7 @@ rmark_more_stack_nodes:
str r8,[r10,r3,lsl #2]
ldr r4,[r6]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl rmark_stack_node
@@ -857,6 +858,7 @@ rmark_ab_record_array:
subs r4,r4,r3
add r6,r6,#4
add r7,r7,r6
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl reorder
@@ -963,6 +965,7 @@ rmark_array_nodes:
str r8,[r10,r3,lsl #2]
ldr r4,[r6]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl rmark_array_node
diff --git a/thumb2compact_rmarkr.s b/thumb2compact_rmarkr.s
index 9c7990d..d684e3f 100644
--- a/thumb2compact_rmarkr.s
+++ b/thumb2compact_rmarkr.s
@@ -726,6 +726,7 @@ rmarkr_ab_record_array:
subs r4,r4,r3
add r6,r6,#4
add r7,r7,r6
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl reorder
diff --git a/thumb2mark.s b/thumb2mark.s
index d413b79..a94235f 100644
--- a/thumb2mark.s
+++ b/thumb2mark.s
@@ -52,6 +52,7 @@ _mark_cafs_lp:
lao r12,end_vector,0
sto r4,r12,end_vector,0
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl _mark_stack_nodes
@@ -69,6 +70,7 @@ _end_mark_cafs:
lao r12,end_vector,1
sto r9,r12,end_vector,1
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl _mark_stack_nodes
@@ -156,6 +158,7 @@ restore_lazy_array:
mov r3,r8
sub r4,r4,r8
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl reorder
@@ -230,6 +233,7 @@ end_finalizers_after_mark:
str r2,[sp,#-4]!
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl add_garbage_collect_time
@@ -338,6 +342,7 @@ no_extra_word:
_no_heap_use_message2:
.ifdef FINALIZERS
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl call_finalizers
@@ -1275,6 +1280,7 @@ _mark_ab_array:
lao r12,end_vector,5
sto r4,r12,end_vector,5
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl _mark_stack_nodes
@@ -1349,6 +1355,7 @@ _end_set_a_array_bits:
lao r12,end_vector,8
sto r4,r12,end_vector,8
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl _mark_stack_nodes
@@ -1413,6 +1420,7 @@ _end_set_lazy_array_bits:
lao r12,end_vector,11
sto r4,r12,end_vector,11
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl _mark_stack_nodes
@@ -2353,6 +2361,7 @@ __mark__ab__record__array:
add r6,r6,#4
add r7,r7,r6
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl reorder
diff --git a/thumb2startup.s b/thumb2startup.s
index 2649ac1..2e25a28 100644
--- a/thumb2startup.s
+++ b/thumb2startup.s
@@ -498,12 +498,14 @@ abc_main:
lao r12,start_address,0
sto r4,r12,start_address,0
.endif
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl init_clean
tst r4,r4
bne init_error
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl init_timer
@@ -512,6 +514,7 @@ abc_main:
sto sp,r12,halt_sp,0
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl init_profiler
@@ -520,10 +523,12 @@ abc_main:
.ifdef DLL
lao r12,start_address,1
ldo r4,r12,start_address,1
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r4
.else
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl __start
@@ -531,6 +536,7 @@ abc_main:
.thumb_func
exit:
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl exit_clean
@@ -548,12 +554,14 @@ clean_init:
mov r0,#1
sto r0,r12,dll_initisialised,0
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl init_clean
tst r4,r4
bne init_dll_error
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl init_timer
@@ -562,6 +570,7 @@ clean_init:
sto sp,r12,halt_sp,1
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl init_profiler
@@ -594,6 +603,7 @@ clean_fini:
lao r12,saved_a_stack_p,1
ldo r9,r12,saved_a_stack_p,1
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl exit_clean
@@ -893,9 +903,10 @@ no_memory_3:
.thumb_func
exit_clean:
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
- bl add_execute_time
+ blx add_execute_time
lao r4,flags,4
ldo r4,r4,flags,4
@@ -904,29 +915,31 @@ exit_clean:
lao r0,time_string_1,0
otoa r0,time_string_1,0
- bl ew_print_string
+ blx ew_print_string
lao r12,execute_time,0
ldo r4,r12,execute_time,0
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl print_time
lao r0,time_string_2,0
otoa r0,time_string_2,0
- bl ew_print_string
+ blx ew_print_string
lao r12,garbage_collect_time,0
ldo r4,r12,garbage_collect_time,0
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl print_time
lao r0,time_string_4,0
otoa r0,time_string_4,0
- bl ew_print_string
+ blx ew_print_string
lao r12,execute_time,1
ldo r4,r12,execute_time,1
@@ -937,12 +950,13 @@ exit_clean:
ldo r12,r12,IO_time,0
add r4,r12
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl print_time
mov r0,#10
- bl ew_print_char
+ blx ew_print_char
.thumb_func
no_print_execution_time:
@@ -955,6 +969,7 @@ no_print_execution_time:
bl free
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl write_profile_information
@@ -1092,10 +1107,10 @@ print_time:
lao r0,sprintf_time_buffer,1
otoa r0,sprintf_time_buffer,1
- bl ew_print_string
+ blx ew_print_string
.else
mov r0,r6
- bl ew_print_int
+ blx ew_print_int
lao r6,sprintf_time_buffer,0
otoa r6,sprintf_time_buffer,0
@@ -1143,6 +1158,7 @@ end_print:
.thumb_func
dump:
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl print
@@ -1506,6 +1522,7 @@ ItoAC:
.if MY_ITOS
lao r6,sprintf_buffer,2
otoa r6,sprintf_buffer,2
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl int_to_string
@@ -1738,6 +1755,7 @@ get_time_diff:
.thumb_func
add_execute_time:
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl get_time_diff
@@ -1753,6 +1771,7 @@ add_time:
.thumb_func
add_garbage_collect_time:
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl get_time_diff
@@ -1761,6 +1780,7 @@ add_garbage_collect_time:
b add_time
add_IO_time:
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl get_time_diff
@@ -1872,6 +1892,7 @@ collect_3:
.ifdef PROFILE
lao r8,garbage_collector_name,0
otoa r8,garbage_collector_name,0
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_s
@@ -1895,6 +1916,7 @@ collect_2:
.ifdef PROFILE
lao r8,garbage_collector_name,1
otoa r8,garbage_collector_name,1
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_s
@@ -1916,6 +1938,7 @@ collect_1:
.ifdef PROFILE
lao r8,garbage_collector_name,2
otoa r8,garbage_collector_name,2
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_s
@@ -1934,6 +1957,7 @@ collect_0:
str lr,[sp,#-4]!
lao r8,garbage_collector_name,3
otoa r8,garbage_collector_name,3
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_s
@@ -2106,6 +2130,7 @@ no_mark3:
.thumb_func
collect:
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl add_execute_time
@@ -2180,6 +2205,7 @@ no_print_stack_sizes:
subs r4,r4,r12
add r4,r4,#63*4
lsr r4,r4,#8
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl zero_bit_vector
@@ -2204,6 +2230,7 @@ no_print_stack_sizes:
mov r14,#0
sto r14,r12,heap_end_after_copy_gc,3
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl zero_bit_vector
@@ -2214,6 +2241,7 @@ zero_all:
lao r12,heap_copied_vector_size,3
ldo r4,r12,heap_copied_vector_size,3
lsr r4,r4,#2
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl zero_bit_vector
@@ -2233,6 +2261,7 @@ end_zero_bit_vector:
ldr r9,[sp],#4
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl add_garbage_collect_time
@@ -2379,6 +2408,7 @@ no_mark_scan:
str r6,[sp,#-4]!
str r3,[sp,#-4]!
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl _munmap
@@ -2464,6 +2494,7 @@ end_garbage_collect_:
no_heap_use_message:
.if FINALIZERS
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl call_finalizers
@@ -2728,6 +2759,7 @@ copy_to_compact_with_alloc_in_extra_heap:
.endif
out_of_memory_4:
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl add_garbage_collect_time
@@ -3114,6 +3146,7 @@ vector_at_end_2:
.thumb_func
no_copy_garbage_collection:
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl add_garbage_collect_time
@@ -3129,6 +3162,7 @@ no_copy_garbage_collection:
.thumb_func
stack_overflow:
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl add_execute_time
@@ -3164,6 +3198,7 @@ halt:
ldo sp,r12,halt_sp,3
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl write_profile_stack
@@ -3223,6 +3258,7 @@ eval_fill:
str r6,[r9],#4
mov r6,r7
ldr r12,[r7]
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r12
@@ -3281,6 +3317,7 @@ eval_fill2:
add r9,r9,#4
mov r6,r7
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
blx r4
@@ -3297,6 +3334,7 @@ eval_fill2:
.endif
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3310,6 +3348,7 @@ eval_upd_0:
mov pc,r11
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3325,6 +3364,7 @@ eval_upd_1:
mov pc,r11
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3340,6 +3380,7 @@ eval_upd_2:
mov pc,r11
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3357,6 +3398,7 @@ eval_upd_3:
mov pc,r11
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3377,6 +3419,7 @@ eval_upd_4:
mov pc,r11
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3399,6 +3442,7 @@ eval_upd_5:
mov pc,r11
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3423,6 +3467,7 @@ eval_upd_6:
mov pc,r11
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3460,6 +3505,7 @@ eval_upd_n_lp:
mov pc,r11
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3471,6 +3517,7 @@ eval_upd_8:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3482,6 +3529,7 @@ eval_upd_9:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3493,6 +3541,7 @@ eval_upd_10:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3504,6 +3553,7 @@ eval_upd_11:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3515,6 +3565,7 @@ eval_upd_12:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3526,6 +3577,7 @@ eval_upd_13:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3537,6 +3589,7 @@ eval_upd_14:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3548,6 +3601,7 @@ eval_upd_15:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3559,6 +3613,7 @@ eval_upd_16:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3570,6 +3625,7 @@ eval_upd_17:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3581,6 +3637,7 @@ eval_upd_18:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3592,6 +3649,7 @@ eval_upd_19:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3603,6 +3661,7 @@ eval_upd_20:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3614,6 +3673,7 @@ eval_upd_21:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3625,6 +3685,7 @@ eval_upd_22:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3636,6 +3697,7 @@ eval_upd_23:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3647,6 +3709,7 @@ eval_upd_24:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3658,6 +3721,7 @@ eval_upd_25:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3669,6 +3733,7 @@ eval_upd_26:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3680,6 +3745,7 @@ eval_upd_27:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3691,6 +3757,7 @@ eval_upd_28:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3702,6 +3769,7 @@ eval_upd_29:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3713,6 +3781,7 @@ eval_upd_30:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n
@@ -3724,6 +3793,7 @@ eval_upd_31:
b eval_upd_n
.ifdef PROFILE
+ .align
add lr,pc,#9
str lr,[sp,#-4]!
bl profile_n