From b67bd58b0bc6970688f7d31803685d83bb0e03a6 Mon Sep 17 00:00:00 2001 From: John van Groningen Date: Tue, 15 Nov 2011 15:25:15 +0000 Subject: fix compacting of reals --- acompact.asm | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/acompact.asm b/acompact.asm index 1fb8ea1..5a0b3d8 100644 --- a/acompact.asm +++ b/acompact.asm @@ -723,7 +723,7 @@ bit_in_next_word: move_record_2: cmp word ptr (-2+2)[rax],1 ja move_hnf_2 - jb move_real_or_file + jb move_record_2bb move_record_2_ab: mov rdx,qword ptr [rcx] @@ -753,14 +753,14 @@ move_record_1: movzx rbx,word ptr (-2+2)[rax] test rbx,rbx jne move_hnf_1 - jmp move_int_bool_or_char + jmp move_real_int_bool_or_char -move_real_or_file: +move_record_2bb: mov rax,qword ptr [rcx] add rcx,8 mov qword ptr [rdi],rax add rdi,8 -move_int_bool_or_char: +move_real_int_bool_or_char: mov rax,qword ptr [rcx] add rcx,8 mov qword ptr [rdi],rax @@ -772,19 +772,16 @@ copy_normal_hnf_0: jmp find_non_zero_long move_hnf_0: - cmp rax,offset dINT+2 - jb move_real_file_string_or_array + cmp rax,offset __STRING__+2 + jbe move_string_or_array cmp rax,offset CHAR+2 - jbe move_int_bool_or_char + jbe move_real_int_bool_or_char test rsi,rsi jne bsf_and_copy_nodes jmp find_non_zero_long -move_real_file_string_or_array: - lea r9,__STRING__+2 - cmp rax,r9 - ja move_real_or_file +move_string_or_array: jne move_array mov rax,qword ptr [rcx] -- cgit v1.2.3