diff options
author | John van Groningen | 2015-09-28 11:37:00 +0000 |
---|---|---|
committer | John van Groningen | 2015-09-28 11:37:00 +0000 |
commit | f632d26bb2cdd8a5372fc88b46918c9981b4ce21 (patch) | |
tree | 53227fc1e495d0330feb7058061dae983d5ea41f | |
parent | change syntax to workaround limitations of the llvm assembler (diff) |
change syntax to workaround limitations of the llvm assembler
-rw-r--r-- | macho64/acompact_rmark.s | 312 |
1 files changed, 156 insertions, 156 deletions
diff --git a/macho64/acompact_rmark.s b/macho64/acompact_rmark.s index 53fbb46..c3212e6 100644 --- a/macho64/acompact_rmark.s +++ b/macho64/acompact_rmark.s @@ -1,29 +1,29 @@ rmark_stack_nodes1: mov rbx,qword ptr [rcx] - lea rax,1[rsi] + lea rax,[rsi+1] mov qword ptr [rsi],rbx mov qword ptr [rcx],rax rmark_next_stack_node: add rsi,8 rmark_stack_nodes: - cmp rsi,qword ptr end_vector[rip] + cmp rsi,qword ptr [rip+end_vector] je end_rmark_nodes rmark_more_stack_nodes: mov rcx,qword ptr [rsi] - mov rax,qword ptr neg_heap_p3[rip] + mov rax,qword ptr [rip+neg_heap_p3] add rax,rcx - cmp rax,qword ptr heap_size_64_65[rip] + cmp rax,qword ptr [rip+heap_size_64_65] att_jnc rmark_next_stack_node mov rbx,rax and rax,31*8 shr rbx,8 - lea r9,bit_set_table2[rip] + lea r9,[rip+bit_set_table2] mov eax,dword ptr [r9+rax] mov ebp,dword ptr [rdi+rbx*4] test rbp,rax @@ -36,48 +36,48 @@ rmark_more_stack_nodes: call rmark_stack_node add rsi,8 - cmp rsi,qword ptr end_vector[rip] + cmp rsi,qword ptr [rip+end_vector] att_jne rmark_more_stack_nodes ret rmark_stack_node: sub rsp,16 mov qword ptr [rsi],rax - lea rbp,1[rsi] - mov qword ptr 8[rsp],rsi + lea rbp,[rsi+1] + mov qword ptr [rsp+8],rsi mov rbx,-1 mov qword ptr [rsp],0 mov qword ptr [rcx],rbp jmp rmark_no_reverse rmark_node_d1: - mov rax,qword ptr neg_heap_p3[rip] + mov rax,qword ptr [rip+neg_heap_p3] add rax,rcx - cmp rax,qword ptr heap_size_64_65[rip] + cmp rax,qword ptr [rip+heap_size_64_65] jnc rmark_next_node jmp rmark_node_ rmark_hnf_2: - lea rbx,8[rcx] - mov rax,qword ptr 8[rcx] + lea rbx,[rcx+8] + mov rax,qword ptr [rcx+8] sub rsp,16 mov rsi,rcx mov rcx,qword ptr [rcx] - mov qword ptr 8[rsp],rbx + mov qword ptr [rsp+8],rbx mov qword ptr [rsp],rax - cmp rsp,qword ptr end_stack[rip] + cmp rsp,qword ptr [rip+end_stack] jb rmark_using_reversal rmark_node: - mov rax,qword ptr neg_heap_p3[rip] + mov rax,qword ptr [rip+neg_heap_p3] add rax,rcx - cmp rax,qword ptr heap_size_64_65[rip] + cmp rax,qword ptr [rip+heap_size_64_65] att_jnc rmark_next_node mov rbx,rsi @@ -86,7 +86,7 @@ rmark_node_: mov rdx,rax and rax,31*8 shr rdx,8 - lea r9,bit_set_table2[rip] + lea r9,[rip+bit_set_table2] mov eax,dword ptr [r9+rax] mov ebp,dword ptr [rdi+rdx*4] test rbp,rax @@ -100,7 +100,7 @@ rmark_arguments: cmp rcx,rbx att_ja rmark_no_reverse - lea rbp,1[rsi] + lea rbp,[rsi+1] mov qword ptr [rsi],rax mov qword ptr [rcx],rbp @@ -108,7 +108,7 @@ rmark_no_reverse: test al,2 je rmark_lazy_node - movzx rbp,word ptr (-2)[rax] + movzx rbp,word ptr [rax-2] test rbp,rbp je rmark_hnf_0 @@ -122,18 +122,18 @@ rmark_no_reverse: jc rmark_hnf_1 rmark_hnf_3: - mov rdx,qword ptr 8[rcx] + mov rdx,qword ptr [rcx+8] rmark_hnf_3_: - cmp rsp,qword ptr end_stack[rip] + cmp rsp,qword ptr [rip+end_stack] jb rmark_using_reversal_ - mov rax,qword ptr neg_heap_p3[rip] + mov rax,qword ptr [rip+neg_heap_p3] add rax,rdx mov rbx,rax and rax,31*8 shr rbx,8 - lea r9,bit_set_table2[rip] + lea r9,[rip+bit_set_table2] mov eax,dword ptr [r9+rax] test eax,[rdi+rbx*4] jne rmark_shared_argument_part @@ -142,8 +142,8 @@ rmark_hnf_3_: rmark_no_shared_argument_part: sub rsp,16 - mov qword ptr 8[rsp],rcx - lea rsi,8[rcx] + mov qword ptr [rsp+8],rcx + lea rsi,[rcx+8] mov rcx,qword ptr [rcx] lea rdx,[rdx+rbp*8] mov qword ptr [rsp],rcx @@ -151,7 +151,7 @@ rmark_no_shared_argument_part: rmark_push_hnf_args: mov rbx,qword ptr [rdx] sub rsp,16 - mov qword ptr 8[rsp],rdx + mov qword ptr [rsp+8],rdx sub rdx,8 mov qword ptr [rsp],rbx @@ -163,14 +163,14 @@ rmark_push_hnf_args: cmp rdx,rsi ja rmark_no_reverse_argument_pointer - lea rbp,3[rsi] + lea rbp,[rsi+3] mov qword ptr [rsi],rcx mov qword ptr [rdx],rbp - mov rax,qword ptr neg_heap_p3[rip] + mov rax,qword ptr [rip+neg_heap_p3] add rax,rcx - cmp rax,qword ptr heap_size_64_65[rip] + cmp rax,qword ptr [rip+heap_size_64_65] att_jnc rmark_next_node mov rbx,rdx @@ -185,9 +185,9 @@ rmark_shared_argument_part: att_ja rmark_hnf_1 mov rbx,qword ptr [rdx] - lea rax,(8+2+1)[rcx] + lea rax,[rcx+8+2+1] mov qword ptr [rdx],rax - mov qword ptr 8[rcx],rbx + mov qword ptr [rcx+8],rbx att_jmp rmark_hnf_1 rmark_record: @@ -196,8 +196,8 @@ rmark_record: jb rmark_record_1 rmark_record_3: - movzx rbp,word ptr (-2+2)[rax] - mov rdx,qword ptr (16-8)[rcx] + movzx rbp,word ptr [rax-2+2] + mov rdx,qword ptr [rcx+16-8] sub rbp,1 jb rmark_record_3_bb je rmark_record_3_ab @@ -208,13 +208,13 @@ rmark_record_3: rmark_record_3_bb: sub rcx,8 - mov rax,qword ptr neg_heap_p3[rip] + mov rax,qword ptr [rip+neg_heap_p3] add rax,rdx mov rbp,rax and rax,31*8 shr rbp,8 - lea r9,bit_set_table2[rip] + lea r9,[rip+bit_set_table2] mov eax,dword ptr [r9+rax] or dword ptr [rdi+rbp*4],eax @@ -229,7 +229,7 @@ rmark_bit_in_same_word1: test eax,dword ptr [rdi+rbp*4] je rmark_not_yet_linked_bb - mov rax,qword ptr neg_heap_p3[rip] + mov rax,qword ptr [rip+neg_heap_p3] add rax,rcx add rax,16 @@ -237,32 +237,32 @@ rmark_bit_in_same_word1: mov rbp,rax and rax,31*8 shr rbp,8 - lea r9,bit_set_table2[rip] + lea r9,[rip+bit_set_table2] mov eax,dword ptr [r9+rax] or dword ptr [rdi+rbp*4],eax mov rbp,qword ptr [rdx] - lea rax,(16+2+1)[rcx] - mov qword ptr 16[rcx],rbp + lea rax,[rcx+16+2+1] + mov qword ptr [rcx+16],rbp mov qword ptr [rdx],rax att_jmp rmark_next_node rmark_not_yet_linked_bb: or dword ptr [rdi+rbp*4],eax mov rbp,qword ptr [rdx] - lea rax,(16+2+1)[rcx] - mov qword ptr 16[rcx],rbp + lea rax,[rcx+16+2+1] + mov qword ptr [rcx+16],rbp mov qword ptr [rdx],rax att_jmp rmark_next_node rmark_record_3_ab: - mov rax,qword ptr neg_heap_p3[rip] + mov rax,qword ptr [rip+neg_heap_p3] add rax,rdx mov rbp,rax and rax,31*8 shr rbp,8 - lea r9,bit_set_table2[rip] + lea r9,[rip+bit_set_table2] mov eax,dword ptr [r9+rax] or dword ptr [rdi+rbp*4],eax @@ -277,50 +277,50 @@ rmark_bit_in_same_word2: test eax,dword ptr [rdi+rbp*4] je rmark_not_yet_linked_ab - mov rax,qword ptr neg_heap_p3[rip] + mov rax,qword ptr [rip+neg_heap_p3] add rax,rcx add rax,8 mov rbp,rax and rax,31*8 shr rbp,8 - lea r9,bit_set_table2[rip] + lea r9,[rip+bit_set_table2] mov eax,dword ptr [r9+rax] or dword ptr [rdi+rbp*4],eax mov rbp,qword ptr [rdx] - lea rax,(8+2+1)[rcx] - mov qword ptr 8[rcx],rbp + lea rax,[rcx+8+2+1] + mov qword ptr [rcx+8],rbp mov qword ptr [rdx],rax att_jmp rmark_hnf_1 rmark_not_yet_linked_ab: or dword ptr [rdi+rbp*4],eax mov rbp,qword ptr [rdx] - lea rax,(8+2+1)[rcx] - mov qword ptr 8[rcx],rbp + lea rax,[rcx+8+2+1] + mov qword ptr [rcx+8],rbp mov qword ptr [rdx],rax att_jmp rmark_hnf_1 rmark_record_3_aab: - cmp rsp,qword ptr end_stack[rip] + cmp rsp,qword ptr [rip+end_stack] att_jb rmark_using_reversal_ - mov rax,qword ptr neg_heap_p3[rip] + mov rax,qword ptr [rip+neg_heap_p3] add rax,rdx mov rbp,rax and rax,31*8 shr rbp,8 - lea r9,bit_set_table2[rip] + lea r9,[rip+bit_set_table2] mov eax,dword ptr [r9+rax] test eax,dword ptr [rdi+rbp*4] att_jne rmark_shared_argument_part or dword ptr [rdi+rbp*4],eax sub rsp,16 - mov qword ptr 8[rsp],rcx - lea rsi,8[rcx] + mov qword ptr [rsp+8],rcx + lea rsi,[rcx+8] mov rcx,qword ptr [rcx] mov qword ptr [rsp],rcx @@ -329,27 +329,27 @@ rmark_record_3_aab: cmp rdx,rsi att_ja rmark_no_reverse_argument_pointer - lea rbp,3[rsi] + lea rbp,[rsi+3] mov qword ptr [rsi],rcx mov qword ptr [rdx],rbp - mov rax,qword ptr neg_heap_p3[rip] + mov rax,qword ptr [rip+neg_heap_p3] add rax,rcx - cmp rax,qword ptr heap_size_64_65[rip] + cmp rax,qword ptr [rip+heap_size_64_65] att_jnc rmark_next_node mov rbx,rdx att_jmp rmark_node_ rmark_record_2: - cmp word ptr (-2+2)[rax],1 + cmp word ptr [rax-2+2],1 att_ja rmark_hnf_2 att_je rmark_hnf_1 att_jmp rmark_next_node rmark_record_1: - cmp word ptr (-2+2)[rax],0 + cmp word ptr [rax-2+2],0 att_jne rmark_hnf_1 att_jmp rmark_next_node @@ -364,20 +364,20 @@ rmark_hnf_1: /* selectors */ rmark_indirection_node: - mov rdx,qword ptr neg_heap_p3[rip] + mov rdx,qword ptr [rip+neg_heap_p3] sub rcx,8 add rdx,rcx mov rbp,rdx and rbp,31*8 shr rdx,8 - lea r9,bit_clear_table2[rip] + lea r9,[rip+bit_clear_table2] mov ebp,dword ptr [r9+rbp] and dword ptr [rdi+rdx*4],ebp mov rdx,rcx cmp rcx,rbx - mov rcx,qword ptr 8[rcx] + mov rcx,qword ptr [rcx+8] mov qword ptr [rsi],rcx att_ja rmark_node_d1 mov qword ptr [rdx],rax @@ -388,9 +388,9 @@ rmark_selector_node_1: att_je rmark_indirection_node mov rdx,qword ptr [rcx] - mov qword ptr pointer_compare_address[rip],rbx + mov qword ptr [rip+pointer_compare_address],rbx - mov rbx,qword ptr neg_heap_p3[rip] + mov rbx,qword ptr [rip+neg_heap_p3] add rbx,rdx shr rbx,3 @@ -400,7 +400,7 @@ rmark_selector_node_1: mov rbp,rbx shr rbx,5 and rbp,31 - lea r9,bit_set_table[rip] + lea r9,[rip+bit_set_table] mov ebp,dword ptr [r9+rbp*4] mov ebx,dword ptr [rdi+rbx*4] and rbx,rbp @@ -410,43 +410,43 @@ rmark_selector_node_1: test bl,2 att_je rmark_hnf_1 - cmp word ptr (-2)[rbx],2 + cmp word ptr [rbx-2],2 jbe rmark_small_tuple_or_record rmark_large_tuple_or_record: - mov r10,qword ptr 16[rdx] + mov r10,qword ptr [rdx+16] - mov rbx,qword ptr neg_heap_p3[rip] + mov rbx,qword ptr [rip+neg_heap_p3] add rbx,r10 shr rbx,3 mov rbp,rbx shr rbx,5 and rbp,31 - lea r9,bit_set_table[rip] + lea r9,[rip+bit_set_table] mov ebp,dword ptr [r9+rbp*4] mov ebx,dword ptr [rdi+rbx*4] and rbx,rbp att_jne rmark_hnf_1 - mov rbx,qword ptr neg_heap_p3[rip] - lea rbx,(-8)[rcx+rbx] + mov rbx,qword ptr [rip+neg_heap_p3] + lea rbx,[rcx+rbx-8] - movsxd r11,dword ptr (-8)[rax] + movsxd r11,dword ptr [rax-8] add rax,r11 mov r11,rbx and r11,31*8 shr rbx,8 - lea r9,bit_clear_table2[rip] + lea r9,[rip+bit_clear_table2] mov r11d,dword ptr [r9+r11] and dword ptr [rdi+rbx*4],r11d - movzx eax,word ptr (4-8)[rax] - mov rbx,qword ptr pointer_compare_address[rip] + movzx eax,word ptr [rax+4-8] + mov rbx,qword ptr [rip+pointer_compare_address] - lea r9,__indirection[rip] - mov qword ptr (-8)[rcx],r9 + lea r9,[rip+__indirection] + mov qword ptr [rcx-8],r9 cmp rax,16 jl rmark_tuple_or_record_selector_node_2 @@ -454,7 +454,7 @@ rmark_large_tuple_or_record: mov rdx,rcx je rmark_tuple_selector_node_2 - mov rcx,qword ptr (-24)[r10+rax] + mov rcx,qword ptr [r10+rax-24] mov qword ptr [rsi],rcx mov qword ptr [rdx],rcx att_jmp rmark_node_d1 @@ -471,7 +471,7 @@ rmark_record_selector_node_1: mov rbp,rbx shr rbx,5 and rbp,31 - lea r9,bit_set_table[rip] + lea r9,[rip+bit_set_table] mov ebp,dword ptr [r9+rbp*4] mov ebx,dword ptr [rdi+rbx*4] and rbx,rbp @@ -481,43 +481,43 @@ rmark_record_selector_node_1: test bl,2 att_je rmark_hnf_1 - cmp word ptr (-2)[rbx],258 + cmp word ptr [rbx-2],258 att_jbe rmark_small_tuple_or_record - mov r10,qword ptr 16[rdx] + mov r10,qword ptr [rdx+16] - mov rbx,qword ptr neg_heap_p3[rip] + mov rbx,qword ptr [rip+neg_heap_p3] add rbx,r10 shr rbx,3 mov rbp,rbx shr rbx,5 and rbp,31 - lea r9,bit_set_table[rip] + lea r9,[rip+bit_set_table] mov ebp,dword ptr [r9+rbp*4] mov ebx,dword ptr [rdi+rbx*4] and rbx,rbp att_jne rmark_hnf_1 rmark_small_tuple_or_record: - mov rbx,qword ptr neg_heap_p3[rip] - lea rbx,(-8)[rcx+rbx] + mov rbx,qword ptr [rip+neg_heap_p3] + lea rbx,[rcx+rbx-8] - movsxd r11,dword ptr(-8)[rax] + movsxd r11,dword ptr [rax-8] add rax,r11 mov r11,rbx and r11,31*8 shr rbx,8 - lea r9,bit_clear_table2[rip] + lea r9,[rip+bit_clear_table2] mov r11d,dword ptr [r9+r11] and dword ptr [rdi+rbx*4],r11d - movzx eax,word ptr (4-8)[rax] - mov rbx,qword ptr pointer_compare_address[rip] + movzx eax,word ptr [rax+4-8] + mov rbx,qword ptr [rip+pointer_compare_address] - lea r9,__indirection[rip] - mov qword ptr (-8)[rcx],r9 + lea r9,[rip+__indirection] + mov qword ptr [rcx-8],r9 cmp rax,16 att_jle rmark_tuple_or_record_selector_node_2 @@ -535,7 +535,7 @@ rmark_strict_record_selector_node_1: mov rbp,rbx shr rbx,5 and rbp,31 - lea r9,bit_set_table[rip] + lea r9,[rip+bit_set_table] mov ebp,dword ptr [r9+rbp*4] mov ebx,dword ptr [rdi+rbx*4] and rbx,rbp @@ -545,42 +545,42 @@ rmark_strict_record_selector_node_1: test bl,2 att_je rmark_hnf_1 - cmp word ptr (-2)[rbx],258 + cmp word ptr [rbx-2],258 jbe rmark_select_from_small_record - mov r10,qword ptr 16[rdx] + mov r10,qword ptr [rdx+16] - mov rbx,qword ptr neg_heap_p3[rip] + mov rbx,qword ptr [rip+neg_heap_p3] add rbx,r10 mov rbp,rbx shr rbx,8 and rbp,31*8 - lea r9,bit_set_table2[rip] + lea r9,[rip+bit_set_table2] mov ebp,dword ptr [r9+rbp] mov ebx,dword ptr [rdi+rbx*4] and rbx,rbp att_jne rmark_hnf_1 rmark_select_from_small_record: - movsxd rbx,dword ptr(-8)[rax] + movsxd rbx,dword ptr [rax-8] add rbx,rax sub rcx,8 - cmp rcx,qword ptr pointer_compare_address[rip] + cmp rcx,qword ptr [rip+pointer_compare_address] ja rmark_selector_pointer_not_reversed - movzx eax,word ptr (4-8)[rbx] + movzx eax,word ptr [rbx+4-8] cmp rax,16 jle rmark_strict_record_selector_node_2 - mov rax,qword ptr (-24)[r10+rax] + mov rax,qword ptr [r10+rax-24] jmp rmark_strict_record_selector_node_3 rmark_strict_record_selector_node_2: mov rax,qword ptr [rdx+rax] rmark_strict_record_selector_node_3: - mov qword ptr 8[rcx],rax + mov qword ptr [rcx+8],rax - movzx eax,word ptr (6-8)[rbx] + movzx eax,word ptr [rbx+6-8] test rax,rax je rmark_strict_record_selector_node_5 cmp rax,16 @@ -589,28 +589,28 @@ rmark_strict_record_selector_node_3: sub rax,24 rmark_strict_record_selector_node_4: mov rax,qword ptr [rdx+rax] - mov qword ptr 16[rcx],rax + mov qword ptr [rcx+16],rax rmark_strict_record_selector_node_5: - mov rax,qword ptr ((-8)-8)[rbx] + mov rax,qword ptr [rbx-8-8] add rsi,1 mov qword ptr [rcx],rsi - mov qword ptr (-1)[rsi],rax + mov qword ptr [rsi-1],rax att_jmp rmark_next_node rmark_selector_pointer_not_reversed: - movzx eax,word ptr (4-8)[rbx] + movzx eax,word ptr [rbx+4-8] cmp rax,16 jle rmark_strict_record_selector_node_6 - mov rax,qword ptr (-24)[r10+rax] + mov rax,qword ptr [r10+rax-24] jmp rmark_strict_record_selector_node_7 rmark_strict_record_selector_node_6: mov rax,qword ptr [rdx+rax] rmark_strict_record_selector_node_7: - mov qword ptr 8[rcx],rax + mov qword ptr [rcx+8],rax - movzx eax,word ptr (6-8)[rbx] + movzx eax,word ptr [rbx+6-8] test rax,rax je rmark_strict_record_selector_node_9 cmp rax,16 @@ -619,10 +619,10 @@ rmark_strict_record_selector_node_7: sub rax,24 rmark_strict_record_selector_node_8: mov rax,qword ptr [rdx+rax] - mov qword ptr 16[rcx],rax + mov qword ptr [rcx+16],rax rmark_strict_record_selector_node_9: - mov rax,qword ptr ((-8)-8)[rbx] + mov rax,qword ptr [rbx-8-8] mov qword ptr [rcx],rax att_jmp rmark_next_node @@ -639,7 +639,7 @@ rmark_reverse_and_mark_next_node: rmark_next_node: mov rcx,qword ptr [rsp] - mov rsi,qword ptr 8[rsp] + mov rsi,qword ptr [rsp+8] add rsp,16 cmp rcx,1 @@ -650,7 +650,7 @@ end_rmark_nodes: ret rmark_lazy_node: - movsxd rbp,dword ptr (-4)[rax] + movsxd rbp,dword ptr [rax-4] test rbp,rbp att_je rmark_next_node @@ -668,7 +668,7 @@ rmark_closure_with_unboxed_arguments_: rmark_push_lazy_args: mov rbx,qword ptr [rcx] sub rsp,16 - mov qword ptr 8[rsp],rcx + mov qword ptr [rsp+8],rcx sub rcx,8 mov qword ptr [rsp],rbx sub rbp,1 @@ -677,7 +677,7 @@ rmark_push_lazy_args: mov rsi,rcx mov rcx,qword ptr [rcx] - cmp rsp,qword ptr end_stack[rip] + cmp rsp,qword ptr [rip+end_stack] att_jae rmark_node att_jmp rmark_using_reversal @@ -695,27 +695,27 @@ rmark_closure_with_unboxed_arguments: att_jmp rmark_next_node rmark_hnf_0: - lea r9,dINT+2[rip] + lea r9,[rip+dINT+2] cmp rax,r9 je rmark_int_3 - lea r9,CHAR+2[rip] + lea r9,[rip+CHAR+2] cmp rax,r9 je rmark_char_3 jb rmark_no_normal_hnf_0 - mov rbp,qword ptr neg_heap_p3[rip] + mov rbp,qword ptr [rip+neg_heap_p3] add rbp,rcx mov rdx,rbp and rdx,31*8 shr rbp,8 - lea r9,bit_clear_table2[rip] + lea r9,[rip+bit_clear_table2] mov edx,dword ptr [r9+rdx] and dword ptr [rdi+rbp*4],edx - lea rdx,((-8)-2)[rax] + lea rdx,[rax-8-2] mov qword ptr [rsi],rdx cmp rcx,rbx att_ja rmark_next_node @@ -723,21 +723,21 @@ rmark_hnf_0: att_jmp rmark_next_node rmark_int_3: - mov rbp,qword ptr 8[rcx] + mov rbp,qword ptr [rcx+8] cmp rbp,33 att_jnc rmark_next_node shl rbp,4 - lea rdx,small_integers[rip] + lea rdx,[rip+small_integers] add rdx,rbp - mov rbp,qword ptr neg_heap_p3[rip] + mov rbp,qword ptr [rip+neg_heap_p3] mov qword ptr [rsi],rdx add rbp,rcx mov rdx,rbp and rdx,31*8 shr rbp,8 - lea r9,bit_clear_table2[rip] + lea r9,[rip+bit_clear_table2] mov edx,dword ptr [r9+rdx] and dword ptr [rdi+rbp*4],edx @@ -747,19 +747,19 @@ rmark_int_3: att_jmp rmark_next_node rmark_char_3: - movzx rdx,byte ptr 8[rcx] - mov rbp,qword ptr neg_heap_p3[rip] + movzx rdx,byte ptr [rcx+8] + mov rbp,qword ptr [rip+neg_heap_p3] shl rdx,4 add rbp,rcx - lea r9,static_characters[rip] + lea r9,[rip+static_characters] add rdx,r9 mov qword ptr [rsi],rdx mov rdx,rbp and rdx,31*8 shr rbp,8 - lea r9,bit_clear_table2[rip] + lea r9,[rip+bit_clear_table2] mov edx,dword ptr [r9+rdx] and dword ptr [rdi+rbp*4],edx @@ -769,23 +769,23 @@ rmark_char_3: att_jmp rmark_next_node rmark_no_normal_hnf_0: - lea r9,__ARRAY__+2[rip] + lea r9,[rip+__ARRAY__+2] cmp rax,r9 att_jne rmark_next_node - mov rax,qword ptr 16[rcx] + mov rax,qword ptr [rcx+16] test rax,rax je rmark_lazy_array - movzx rdx,word ptr (-2+2)[rax] + movzx rdx,word ptr [rax-2+2] test rdx,rdx je rmark_b_array - movzx rax,word ptr (-2)[rax] + movzx rax,word ptr [rax-2] test rax,rax att_je rmark_b_array - cmp rsp,qword ptr end_stack[rip] + cmp rsp,qword ptr [rip+end_stack] jb rmark_array_using_reversal sub rax,256 @@ -794,7 +794,7 @@ rmark_no_normal_hnf_0: je rmark_a_record_array rmark_ab_record_array: - mov rdx,qword ptr 8[rcx] + mov rdx,qword ptr [rcx+8] add rcx,16 push rcx @@ -808,24 +808,24 @@ rmark_ab_record_array: pop rcx mov rax,rbx - imul rax,qword ptr (-8)[rcx] + imul rax,qword ptr [rcx-8] jmp rmark_lr_array rmark_b_array: - mov rax,qword ptr neg_heap_p3[rip] + mov rax,qword ptr [rip+neg_heap_p3] add rax,rcx add rax,8 mov rbp,rax and rax,31*8 shr rbp,8 - lea r9,bit_set_table2[rip] + lea r9,[rip+bit_set_table2] mov eax,dword ptr [r9+rax] or dword ptr [rdi+rbp*4],eax att_jmp rmark_next_node rmark_a_record_array: - mov rax,qword ptr 8[rcx] + mov rax,qword ptr [rcx+8] add rcx,16 cmp rbx,2 att_jb rmark_lr_array @@ -834,14 +834,14 @@ rmark_a_record_array: att_jmp rmark_lr_array rmark_lazy_array: - cmp rsp,qword ptr end_stack[rip] + cmp rsp,qword ptr [rip+end_stack] att_jb rmark_array_using_reversal - mov rax,qword ptr 8[rcx] + mov rax,qword ptr [rcx+8] add rcx,16 rmark_lr_array: - mov rbx,qword ptr neg_heap_p3[rip] + mov rbx,qword ptr [rip+neg_heap_p3] add rbx,rcx shr rbx,3 add rbx,rax @@ -849,7 +849,7 @@ rmark_lr_array: mov rdx,rbx and rbx,31 shr rdx,5 - lea r9,bit_set_table[rip] + lea r9,[rip+bit_set_table] mov ebx,dword ptr [r9+rbx*4] or dword ptr [rdi+rdx*4],ebx @@ -866,10 +866,10 @@ rmark_lr_array: mov qword ptr [rcx],rbx - mov rax,qword ptr (-8)[rcx] + mov rax,qword ptr [rcx-8] sub rcx,8 - mov rbx,qword ptr (-8)[rdx] + mov rbx,qword ptr [rdx-8] sub rdx,8 mov qword ptr [rcx],rbx @@ -885,7 +885,7 @@ rmark_array_nodes1: ja rmark_next_array_node mov rbx,qword ptr [rcx] - lea rax,1[rsi] + lea rax,[rsi+1] mov qword ptr [rsi],rbx mov qword ptr [rcx],rax @@ -897,16 +897,16 @@ rmark_next_array_node: rmark_array_nodes: mov rcx,qword ptr [rsi] - mov rax,qword ptr neg_heap_p3[rip] + mov rax,qword ptr [rip+neg_heap_p3] add rax,rcx - cmp rax,qword ptr heap_size_64_65[rip] + cmp rax,qword ptr [rip+heap_size_64_65] att_jnc rmark_next_array_node mov rbx,rax and rax,31*8 shr rbx,8 - lea r9,bit_set_table2[rip] + lea r9,[rip+bit_set_table2] mov eax,dword ptr [r9+rax] mov ebp,dword ptr [rdi+rbx*4] test rbp,rax @@ -928,21 +928,21 @@ end_rmark_array_node: rmark_array_node: sub rsp,16 - mov qword ptr 8[rsp],rsi + mov qword ptr [rsp+8],rsi mov rbx,rsi mov qword ptr [rsp],1 att_jmp rmark_arguments rmark_array_length_0_1: - lea rcx,-16[rcx] + lea rcx,[rcx-16] att_jb rmark_next_node - mov rbx,qword ptr 24[rcx] - mov rbp,qword ptr 16[rcx] - mov qword ptr 24[rcx],rbp - mov rbp,qword ptr 8[rcx] - mov qword ptr 16[rcx],rbp - mov qword ptr 8[rcx],rbx + mov rbx,qword ptr [rcx+24] + mov rbp,qword ptr [rcx+16] + mov qword ptr [rcx+24],rbp + mov rbp,qword ptr [rcx+8] + mov qword ptr [rcx+16],rbp + mov qword ptr [rcx+8],rbx add rcx,8 att_jmp rmark_hnf_1 |