diff options
author | John van Groningen | 2011-11-15 15:25:15 +0000 |
---|---|---|
committer | John van Groningen | 2011-11-15 15:25:15 +0000 |
commit | b67bd58b0bc6970688f7d31803685d83bb0e03a6 (patch) | |
tree | 988ae503f4186a060b437d7573ba3eb35967da18 | |
parent | fix garbage collect test for readLineSF (diff) |
fix compacting of reals
-rw-r--r-- | acompact.asm | 19 |
1 files 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] |