summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn van Groningen2015-09-28 11:43:06 +0000
committerJohn van Groningen2015-09-28 11:43:06 +0000
commitcc1dbc875e10bfd19b630e3e28bcb6d029a3a7dd (patch)
treea0e5cc852bdd45fd4c41294f3cfec0ec1b9e070d
parentchange 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.s418
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