From b36ae1f253e4293921faac8c0c7200dd46c17f56 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Sun, 6 Nov 2016 21:43:34 +0000 Subject: Rollback some previous changes because they were incorrect --- thumb2copy.s | 64 ++++++++++++++++++++++++++++++------------------------------ 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/thumb2copy.s b/thumb2copy.s index 643c9f9..bc68a9e 100644 --- a/thumb2copy.s +++ b/thumb2copy.s @@ -16,10 +16,10 @@ COPY_RECORDS_WITHOUT_POINTERS_TO_END_OF_HEAP = 1 add r9,r10,r4 -@ r0 = INT+3 -@ r1 = CHAR+3 - laol r0,INT+3,INT_o_2,6 - laol r1,CHAR+3,CHAR_o_2,2 +@ r0 = INT+2 +@ r1 = CHAR+2 + laol r0,INT+2,INT_o_2,6 + laol r1,CHAR+2,CHAR_o_2,2 otoa r0,INT_o_2,6 otoa r1,CHAR_o_2,2 @@ -110,8 +110,8 @@ end_finalizers_after_copy: lto heap_p2,9 lto heap_size_129,4 lto semi_space_size,0 - ltol INT+3,INT_o_2,6 - ltol CHAR+3,CHAR_o_2,2 + ltol INT+2,INT_o_2,6 + ltol CHAR+2,CHAR_o_2,2 .if WRITE_HEAP ltol heap2_begin_and_end+4,heap2_begin_and_end_o_4,0 .endif @@ -151,7 +151,7 @@ continue_after_selector_2: beq not_in_hnf_2 in_hnf_2: - ldrh r4,[r6,#-3] + ldrh r4,[r6,#-2] cmp r4,#0 beq copy_arity_0_node2 @@ -206,7 +206,7 @@ copy_hnf_node2_3: ldr r7,[r6] tst r7,#1 - beq arguments_already_copied_2 + bne arguments_already_copied_2 str r10,[r10,#-4] @@ -235,17 +235,17 @@ arguments_already_copied_2: b copy_lp1 copy_arity_0_node2: - cmp r6,r0 @ INT+3 + cmp r6,r0 @ INT+2 blo copy_real_file_or_string_2 - cmp r6,r1 @ CHAR+3 + cmp r6,r1 @ CHAR+2 bhi copy_normal_hnf_0_2 copy_int_bool_or_char_2: ldr r4,[r7,#4] beq copy_char_2 - cmp r6,r0 @ INT+3 + cmp r6,r0 @ INT+2 bne no_small_int_or_char_2 copy_int_2: @@ -283,10 +283,10 @@ copy_record_node2_1_b: str r6,[r9,#-8] str r4,[r9,#-4] - sub r9,r9,#8 + sub r9,r9,#7 str r9,[r7] - add r9,r9,#1 + sub r9,r9,#1 str r9,[r5] @@ -305,7 +305,7 @@ copy_normal_hnf_0_2: b copy_lp1 copy_real_file_or_string_2: - laol r12,__STRING__+3,__STRING___o_2,7 + laol r12,__STRING__+2,__STRING___o_2,7 otoa r12,__STRING___o_2,7 cmp r6,r12 bls copy_string_or_array_2 @@ -354,7 +354,7 @@ copy_record_2: str r10,[r5] str r6,[r10] - add r6,r10,#0 + add r6,r10,#1 ldr r4,[r7,#4] str r6,[r7] @@ -379,7 +379,7 @@ copy_record_node2_1: str r10,[r5] str r6,[r10] - add r6,r10,#0 + add r6,r10,#1 str r4,[r10,#4] str r6,[r7] @@ -395,7 +395,7 @@ copy_record_node2_3: bls copy_record_node2_3_ab_or_b str r4,[sp,#-4]! - add r4,r10,#0 + add r4,r10,#1 str r4,[r7] ldr r4,[r7,#8] @@ -409,7 +409,7 @@ copy_record_node2_3: ldr r12,[r4] mov r6,r4 tst r12,#1 - beq record_arguments_already_copied_2 + bne record_arguments_already_copied_2 add r7,r10,#12 @@ -454,7 +454,7 @@ copy_record_node2_3_ab_or_b: copy_record_node2_3_ab: str r4,[sp,#-4]! - add r4,r10,#0 + add r4,r10,#1 lao r12,heap_p1,9 @@ -593,7 +593,7 @@ record_arguments_already_copied_3_b: ldr r7,[r6] ldr r4,[sp],#4 - add r7,r7,#1 + sub r7,r7,#1 str r7,[r9,#8] subs r3,r3,#1 @@ -830,7 +830,7 @@ copy_selector_2__: ldr r4,[r4,#8] ldrb r12,[r4] tst r12,#1 - bne copy_arity_1_node2_ + beq copy_arity_1_node2_ copy_record_selector_2_: .ifdef PIC add r11,r6,#-9+4 @@ -983,7 +983,7 @@ copy_arity_0_node2_: copy_string_or_array_2: .ifdef DLL beq copy_string_2 - laol r12,__ARRAY__+3,__ARRAY___o_2,15 + laol r12,__ARRAY__+2,__ARRAY___o_2,15 otoa r12,__ARRAY___o_2,15 cmp r6,r12 blo copy_normal_hnf_0_2 @@ -1019,7 +1019,7 @@ copy_string_2: str r3,[r9,#-8]! str r9,[r5] - sub r7,r9,#1 + add r7,r9,#1 str r7,[r6,#-4] add r7,r9,#4 @@ -1077,7 +1077,7 @@ copy_array_a3: str r4,[r7] - sub r4,r7,#1 + add r4,r7,#1 add r7,r7,#4 str r4,[r6],#4 @@ -1087,10 +1087,10 @@ copy_array_a3: copy_strict_basic_array_2: ldr r3,[r6,#4] - cmp r4,r0 @ INT+3 + cmp r4,r0 @ INT+2 beq copy_int_array_2 - laol r12,BOOL+3,BOOL_o_2,4 + laol r12,BOOL+2,BOOL_o_2,4 otoa r12,BOOL_o_2,4 cmp r4,r12 beq copy_bool_array_2 @@ -1107,12 +1107,12 @@ copy_int_array_2: mov r9,r7 str r4,[r7] - sub r4,r7,#1 + add r4,r7,#1 add r7,r7,#4 str r4,[r6],#4 - sub r4,r3,#1 + add r4,r3,#1 b cp_s_arg_lp2 copy_bool_array_2: @@ -1140,7 +1140,7 @@ copy_lp1: tst r4,#2 beq not_in_hnf_1 in_hnf_1: - ldrh r3,[r4,#-3] + ldrh r3,[r4,#-2] cmp r3,#0 beq copy_array_21 @@ -1309,7 +1309,7 @@ copy_array_21_lp_ab_next: .ifdef PIC lto small_integers,1 lto static_characters,1 - ltol __STRING__+3,__STRING___o_2,7 + ltol __STRING__+2,__STRING___o_2,7 lto heap_p1,9 lto heap_copied_vector,4 lto heap_p1,10 @@ -1322,13 +1322,13 @@ copy_array_21_lp_ab_next: lto heap_p1,12 lto heap_copied_vector,7 .ifdef DLL - ltol __ARRAY__+3,__ARRAY___o_2,15 + ltol __ARRAY__+2,__ARRAY___o_2,15 .endif lto heap_p1,13 lto semi_space_size,1 lto heap_p1,14 lto semi_space_size,2 - ltol BOOL+3,BOOL_o_2,4 + ltol BOOL+2,BOOL_o_2,4 .endif .ltorg -- cgit v1.2.3