diff options
author | John van Groningen | 2015-09-28 11:43:06 +0000 |
---|---|---|
committer | John van Groningen | 2015-09-28 11:43:06 +0000 |
commit | cc1dbc875e10bfd19b630e3e28bcb6d029a3a7dd (patch) | |
tree | a0e5cc852bdd45fd4c41294f3cfec0ec1b9e070d | |
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_prefetch.s | 418 |
1 files changed, 209 insertions, 209 deletions
diff --git a/macho64/acompact_rmark_prefetch.s b/macho64/acompact_rmark_prefetch.s index 09a996d..68a7e93 100644 --- a/macho64/acompact_rmark_prefetch.s +++ b/macho64/acompact_rmark_prefetch.s @@ -15,29 +15,29 @@ rmarkp_queue: rmarkp_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 rmarkp_next_stack_node: add rsi,8 rmarkp_stack_nodes: - cmp rsi,qword ptr end_vector[rip] + cmp rsi,qword ptr [rip+end_vector] je end_rmarkp_nodes rmarkp_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 rmarkp_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 @@ -50,48 +50,48 @@ rmarkp_more_stack_nodes: call rmarkp_stack_node add rsi,8 - cmp rsi,qword ptr end_vector[rip] + cmp rsi,qword ptr [rip+end_vector] att_jne rmarkp_more_stack_nodes ret rmarkp_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 rmarkp_no_reverse rmarkp_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 rmarkp_next_node jmp rmarkp_node_ rmarkp_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] att_jb rmark_using_reversal rmarkp_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 rmarkp_next_node mov rbx,rsi @@ -103,26 +103,26 @@ rmarkp_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] test eax,dword ptr [rdi+rdx*4] jne rmarkp_reverse_and_mark_next_node - mov rbp,qword ptr rmarkp_queue_first[rip] - mov rdx,qword ptr rmarkp_n_queue_items_16[rip] + mov rbp,qword ptr [rip+rmarkp_queue_first] + mov rdx,qword ptr [rip+rmarkp_n_queue_items_16] prefetch [rcx] - lea r9,rmarkp_queue[rip] + lea r9,[rip+rmarkp_queue] mov qword ptr [r9+rbp],rcx - mov qword ptr 8[r9+rbp],rsi - mov qword ptr 16[r9+rbp],rbx + mov qword ptr [r9+rbp+8],rsi + mov qword ptr [r9+rbp+16],rbx lea rbx,[rbp+rdx] add rbp,32 and rbp,7*32 and rbx,7*32 - mov qword ptr rmarkp_queue_first[rip],rbp + mov qword ptr [rip+rmarkp_queue_first],rbp cmp rdx,-4*32 je rmarkp_last_item_in_queue @@ -132,18 +132,18 @@ rmarkp_add_items: cmp rcx,1 jbe rmarkp_add_stacked_item - mov rsi,8[rsp] + mov rsi,[rsp+8] add rsp,16 - 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 rmarkp_add_items 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 @@ -161,23 +161,23 @@ rmarkp_add_items: rmarkp_add_stacked_item: att_je rmarkp_last_item_in_queue rmarkp_add_items2: - mov rsi,8[rsp] + mov rsi,[rsp+8] add rsi,8 - cmp rsi,qword ptr end_vector[rip] + cmp rsi,qword ptr [rip+end_vector] att_je rmarkp_last_item_in_queue mov rcx,[rsi] - mov 8[rsp],rsi + mov [rsp+8],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 rmarkp_add_items2 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 @@ -191,43 +191,43 @@ rmarkp_add_items2: rmarkp_add_item2: prefetch [rcx] - mov rbp,qword ptr rmarkp_queue_first[rip] - mov rdx,qword ptr rmarkp_n_queue_items_16[rip] + mov rbp,qword ptr [rip+rmarkp_queue_first] + mov rdx,qword ptr [rip+rmarkp_n_queue_items_16] - lea r9,rmarkp_queue[rip] + lea r9,[rip+rmarkp_queue] mov qword ptr [r9+rbp],rcx - mov qword ptr 8[r9+rbp],rsi - mov qword ptr 16[r9+rbp],-1 + mov qword ptr [r9+rbp+8],rsi + mov qword ptr [r9+rbp+16],-1 add rbp,32 and rbp,7*32 sub rdx,32 - mov qword ptr rmarkp_queue_first[rip],rbp - mov qword ptr rmarkp_n_queue_items_16[rip],rdx + mov qword ptr [rip+rmarkp_queue_first],rbp + mov qword ptr [rip+rmarkp_n_queue_items_16],rdx cmp rdx,-4*32 att_jne rmarkp_add_items2 att_jmp rmarkp_last_item_in_queue rmarkp_add_items3: - mov rsi,8[rsp] + mov rsi,[rsp+8] add rsi,8 - cmp rsi,24[rsp] + cmp rsi,[rsp+24] att_je rmarkp_last_item_in_queue mov rcx,[rsi] - mov 8[rsp],rsi + mov [rsp+8],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 rmarkp_add_items3 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,[rdi+rdx*4] test rbp,rax @@ -244,20 +244,20 @@ rmarkp_add_items3: rmarkp_add_item3: prefetch [rcx] - mov rbp,qword ptr rmarkp_queue_first[rip] - mov rdx,qword ptr rmarkp_n_queue_items_16[rip] + mov rbp,qword ptr [rip+rmarkp_queue_first] + mov rdx,qword ptr [rip+rmarkp_n_queue_items_16] - lea r9,rmarkp_queue[rip] + lea r9,[rip+rmarkp_queue] mov qword ptr [r9+rbp],rcx - mov qword ptr 8[r9+rbp],rsi - mov qword ptr 16[r9+rbp],rsi + mov qword ptr [r9+rbp+8],rsi + mov qword ptr [r9+rbp+16],rsi add rbp,32 and rbp,7*32 sub rdx,32 - mov qword ptr rmarkp_queue_first[rip],rbp - mov qword ptr rmarkp_n_queue_items_16[rip],rdx + mov qword ptr [rip+rmarkp_queue_first],rbp + mov qword ptr [rip+rmarkp_n_queue_items_16],rdx cmp rdx,-4*32 att_jne rmarkp_add_items3 @@ -265,32 +265,32 @@ rmarkp_add_item3: rmarkp_add_item: prefetch [rcx] - mov rbp,qword ptr rmarkp_queue_first[rip] - mov rdx,qword ptr rmarkp_n_queue_items_16[rip] + mov rbp,qword ptr [rip+rmarkp_queue_first] + mov rdx,qword ptr [rip+rmarkp_n_queue_items_16] - lea r9,rmarkp_queue[rip] + lea r9,[rip+rmarkp_queue] mov qword ptr [r9+rbp],rcx - mov qword ptr 8[r9+rbp],rsi - mov qword ptr 16[r9+rbp],rsi + mov qword ptr [r9+rbp+8],rsi + mov qword ptr [r9+rbp+16],rsi add rbp,32 and rbp,7*32 sub rdx,32 - mov qword ptr rmarkp_queue_first[rip],rbp - mov qword ptr rmarkp_n_queue_items_16[rip],rdx + mov qword ptr [rip+rmarkp_queue_first],rbp + mov qword ptr [rip+rmarkp_n_queue_items_16],rdx cmp rdx,-4*32 att_jne rmarkp_add_items rmarkp_last_item_in_queue: - lea r9,rmarkp_queue[rip] + lea r9,[rip+rmarkp_queue] mov rcx,qword ptr [r9+rbx] - mov rax,qword ptr neg_heap_p3[rip] + mov rax,qword ptr [rip+neg_heap_p3] - mov rsi,qword ptr 8[r9+rbx] - mov rbx,qword ptr 16[r9+rbx] + mov rsi,qword ptr [r9+rbx+8] + mov rbx,qword ptr [r9+rbx+16] add rax,rcx @@ -301,7 +301,7 @@ rmarkp_node_no_prefetch: 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 @@ -315,7 +315,7 @@ rmarkp_arguments: cmp rcx,rbx att_ja rmarkp_no_reverse - lea rbp,1[rsi] + lea rbp,[rsi+1] mov qword ptr [rsi],rax mov qword ptr [rcx],rbp @@ -323,7 +323,7 @@ rmarkp_no_reverse: test al,2 je rmarkp_lazy_node - movzx rbp,word ptr (-2)[rax] + movzx rbp,word ptr [rax-2] test rbp,rbp je rmarkp_hnf_0 @@ -337,18 +337,18 @@ rmarkp_no_reverse: jc rmarkp_hnf_1 rmarkp_hnf_3: - mov rdx,qword ptr 8[rcx] + mov rdx,qword ptr [rcx+8] rmarkp_hnf_3_: - 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 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 rmarkp_shared_argument_part @@ -357,8 +357,8 @@ rmarkp_hnf_3_: rmarkp_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 @@ -366,7 +366,7 @@ rmarkp_no_shared_argument_part: rmarkp_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 @@ -378,14 +378,14 @@ rmarkp_push_hnf_args: cmp rdx,rsi ja rmarkp_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 rmarkp_next_node mov rbx,rdx @@ -394,9 +394,9 @@ rmarkp_push_hnf_args: rmarkp_no_reverse_argument_pointer: mov rsi,rdx - 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 rmarkp_next_node mov rbx,rsi att_jmp rmarkp_node_no_prefetch @@ -406,9 +406,9 @@ rmarkp_shared_argument_part: att_ja rmarkp_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 rmarkp_hnf_1 rmarkp_record: @@ -417,8 +417,8 @@ rmarkp_record: jb rmarkp_record_1 rmarkp_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 rmarkp_record_3_bb je rmarkp_record_3_ab @@ -429,13 +429,13 @@ rmarkp_record_3: rmarkp_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 @@ -450,7 +450,7 @@ rmarkp_bit_in_same_word1: test eax,dword ptr [rdi+rbp*4] je rmarkp_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 @@ -458,32 +458,32 @@ rmarkp_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 rmarkp_next_node rmarkp_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 rmarkp_next_node rmarkp_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 @@ -498,50 +498,50 @@ rmarkp_bit_in_same_word2: test eax,dword ptr [rdi+rbp*4] je rmarkp_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 rmarkp_hnf_1 rmarkp_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 rmarkp_hnf_1 rmarkp_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 rmarkp_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 @@ -550,27 +550,27 @@ rmarkp_record_3_aab: cmp rdx,rsi att_ja rmarkp_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 rmarkp_next_node mov rbx,rdx att_jmp rmarkp_node_ rmarkp_record_2: - cmp word ptr (-2+2)[rax],1 + cmp word ptr [rax-2+2],1 att_ja rmarkp_hnf_2 att_je rmarkp_hnf_1 att_jmp rmarkp_next_node rmarkp_record_1: - cmp word ptr (-2+2)[rax],0 + cmp word ptr [rax-2+2],0 att_jne rmarkp_hnf_1 att_jmp rmarkp_next_node @@ -585,20 +585,20 @@ rmarkp_hnf_1: /* selectors */ rmarkp_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 rmarkp_node_d1 mov qword ptr [rdx],rax @@ -609,9 +609,9 @@ rmarkp_selector_node_1: att_je rmarkp_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 @@ -621,7 +621,7 @@ rmarkp_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 @@ -631,43 +631,43 @@ rmarkp_selector_node_1: test bl,2 att_je rmarkp_hnf_1 - cmp word ptr (-2)[rbx],2 + cmp word ptr [rbx-2],2 jbe rmarkp_small_tuple_or_record rmarkp_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 rmarkp_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 rmarkp_tuple_or_record_selector_node_2 @@ -675,7 +675,7 @@ rmarkp_large_tuple_or_record: mov rdx,rcx je rmarkp_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 rmarkp_node_d1 @@ -692,7 +692,7 @@ rmarkp_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 @@ -702,43 +702,43 @@ rmarkp_record_selector_node_1: test bl,2 att_je rmarkp_hnf_1 - cmp word ptr (-2)[rbx],258 + cmp word ptr [rbx-2],258 att_jbe rmarkp_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 rmarkp_hnf_1 rmarkp_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 rmarkp_tuple_or_record_selector_node_2 @@ -756,7 +756,7 @@ rmarkp_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 @@ -766,42 +766,42 @@ rmarkp_strict_record_selector_node_1: test bl,2 att_je rmarkp_hnf_1 - cmp word ptr (-2)[rbx],258 + cmp word ptr [rbx-2],258 jbe rmarkp_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 rmarkp_hnf_1 rmarkp_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 rmarkp_selector_pointer_not_reversed - movzx eax,word ptr (4-8)[rbx] + movzx eax,word ptr [rbx+4-8] cmp rax,16 jle rmarkp_strict_record_selector_node_2 - mov rax,qword ptr (-24)[r10+rax] + mov rax,qword ptr [r10+rax-24] jmp rmarkp_strict_record_selector_node_3 rmarkp_strict_record_selector_node_2: mov rax,qword ptr [rdx+rax] rmarkp_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 rmarkp_strict_record_selector_node_5 cmp rax,16 @@ -810,27 +810,27 @@ rmarkp_strict_record_selector_node_3: sub rax,24 rmarkp_strict_record_selector_node_4: mov rax,qword ptr [rdx+rax] - mov qword ptr 16[rcx],rax + mov qword ptr [rcx+16],rax rmarkp_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 rmarkp_next_node rmarkp_selector_pointer_not_reversed: - movzx eax,word ptr (4-8)[rbx] + movzx eax,word ptr [rbx+4-8] cmp rax,16 jle rmarkp_strict_record_selector_node_6 - mov rax,qword ptr (-24)[r10+rax] + mov rax,qword ptr [r10+rax-24] jmp rmarkp_strict_record_selector_node_7 rmarkp_strict_record_selector_node_6: mov rax,qword ptr [rdx+rax] rmarkp_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 rmarkp_strict_record_selector_node_9 cmp rax,16 @@ -839,10 +839,10 @@ rmarkp_strict_record_selector_node_7: sub rax,24 rmarkp_strict_record_selector_node_8: mov rax,qword ptr [rdx+rax] - mov qword ptr 16[rcx],rax + mov qword ptr [rcx+16],rax rmarkp_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 rmarkp_next_node @@ -859,34 +859,34 @@ rmarkp_reverse_and_mark_next_node: rmarkp_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 att_ja rmarkp_node rmarkp_next_node_: - mov rdx,qword ptr rmarkp_n_queue_items_16[rip] + mov rdx,qword ptr [rip+rmarkp_n_queue_items_16] test rdx,rdx att_je end_rmarkp_nodes sub rsp,16 - mov rbp,qword ptr rmarkp_queue_first[rip] + mov rbp,qword ptr [rip+rmarkp_queue_first] lea rbx,[rbp+rdx] add rdx,32 and rbx,7*32 - mov qword ptr rmarkp_n_queue_items_16[rip],rdx + mov qword ptr [rip+rmarkp_n_queue_items_16],rdx att_jmp rmarkp_last_item_in_queue end_rmarkp_nodes: ret rmarkp_lazy_node: - movsxd rbp,dword ptr (-4)[rax] + movsxd rbp,dword ptr [rax-4] test rbp,rbp att_je rmarkp_next_node @@ -904,7 +904,7 @@ rmarkp_closure_with_unboxed_arguments_: rmarkp_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 @@ -913,7 +913,7 @@ rmarkp_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 rmarkp_node att_jmp rmark_using_reversal @@ -931,27 +931,27 @@ rmarkp_closure_with_unboxed_arguments: att_jmp rmarkp_next_node rmarkp_hnf_0: - lea r9,dINT+2[rip] + lea r9,[rip+dINT+2] cmp rax,r9 je rmarkp_int_3 - lea r9,CHAR+2[rip] + lea r9,[rip+CHAR+2] cmp rax,r9 je rmarkp_char_3 jb rmarkp_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 rmarkp_next_node @@ -959,21 +959,21 @@ rmarkp_hnf_0: att_jmp rmarkp_next_node rmarkp_int_3: - mov rbp,qword ptr 8[rcx] + mov rbp,qword ptr [rcx+8] cmp rbp,33 att_jnc rmarkp_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 @@ -983,19 +983,19 @@ rmarkp_int_3: att_jmp rmarkp_next_node rmarkp_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 @@ -1005,23 +1005,23 @@ rmarkp_char_3: att_jmp rmarkp_next_node rmarkp_no_normal_hnf_0: - lea r9,__ARRAY__+2[rip] + lea r9,[rip+__ARRAY__+2] cmp rax,r9 att_jne rmarkp_next_node - mov rax,qword ptr 16[rcx] + mov rax,qword ptr [rcx+16] test rax,rax je rmarkp_lazy_array - movzx rdx,word ptr (-2+2)[rax] + movzx rdx,word ptr [rax-2+2] test rdx,rdx je rmarkp_b_array - movzx rax,word ptr (-2)[rax] + movzx rax,word ptr [rax-2] test rax,rax att_je rmarkp_b_array - cmp rsp,qword ptr end_stack[rip] + cmp rsp,qword ptr [rip+end_stack] att_jb rmark_array_using_reversal sub rax,256 @@ -1030,7 +1030,7 @@ rmarkp_no_normal_hnf_0: je rmarkp_a_record_array rmarkp_ab_record_array: - mov rdx,qword ptr 8[rcx] + mov rdx,qword ptr [rcx+8] add rcx,16 push rcx @@ -1044,24 +1044,24 @@ rmarkp_ab_record_array: pop rcx mov rax,rbx - imul rax,qword ptr (-8)[rcx] + imul rax,qword ptr [rcx-8] jmp rmarkp_lr_array rmarkp_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 rmarkp_next_node rmarkp_a_record_array: - mov rax,qword ptr 8[rcx] + mov rax,qword ptr [rcx+8] add rcx,16 cmp rbx,2 att_jb rmarkp_lr_array @@ -1070,14 +1070,14 @@ rmarkp_a_record_array: att_jmp rmarkp_lr_array rmarkp_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 rmarkp_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 @@ -1085,7 +1085,7 @@ rmarkp_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 @@ -1102,10 +1102,10 @@ rmarkp_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 @@ -1121,7 +1121,7 @@ rmarkp_array_nodes1: ja rmarkp_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 @@ -1133,16 +1133,16 @@ rmarkp_next_array_node: rmarkp_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 rmarkp_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 @@ -1164,20 +1164,20 @@ end_rmarkp_array_node: rmarkp_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 rmarkp_arguments rmarkp_array_length_0_1: - lea rcx,-16[rcx] + lea rcx,[rcx-16] att_jb rmarkp_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 rmarkp_hnf_1 |