summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn van Groningen2015-09-29 10:16:54 +0000
committerJohn van Groningen2015-09-29 10:16:54 +0000
commit295d6ab6b8cbcf4cb8aed282365c747435342cf9 (patch)
tree1923ee4fbfeac2e92ff012816e7d3a5d00eb4fe4
parentchange syntax to workaround limitations of the llvm assembler (diff)
change syntax to workaround limitations of the llvm assembler
-rw-r--r--macho64/astartup.s1378
1 files changed, 689 insertions, 689 deletions
diff --git a/macho64/astartup.s b/macho64/astartup.s
index 112367b..d0628c4 100644
--- a/macho64/astartup.s
+++ b/macho64/astartup.s
@@ -654,7 +654,7 @@ _abc_main:
call init_timer
- mov halt_sp[rip],rsp
+ mov [rip+halt_sp],rsp
.if PROFILE
call init_profiler
@@ -694,7 +694,7 @@ init_error:
pop rbx
.if LINUX
- mov eax,dword ptr _return_code[rip]
+ mov eax,dword ptr [rip+_return_code]
jne return_code_set_1
mov eax,-1
return_code_set_1:
@@ -729,7 +729,7 @@ DLL_PROCESS_ATTACH:
push r14
push r15
.endif
- mov qword ptr dll_initisialised[rip],1
+ mov qword ptr [rip+dll_initisialised],1
att_call init_clean
test rax,rax
@@ -737,15 +737,15 @@ DLL_PROCESS_ATTACH:
att_call init_timer
- mov halt_sp[rip],rsp
+ mov [rip+halt_sp],rsp
.if PROFILE
att_call init_profiler
.endif
- mov qword ptr saved_heap_p[rip],rdi
- mov qword ptr saved_heap_p+8[rip],r15
- mov saved_a_stack_p[rip],rsi
+ mov qword ptr [rip+saved_heap_p],rdi
+ mov qword ptr [rip+saved_heap_p+8],r15
+ mov [rip+saved_a_stack_p],rsi
mov rax,1
jmp exit_dll_init
@@ -775,9 +775,9 @@ DLL_PROCESS_DETACH:
push r15
.endif
- mov rdi,qword ptr saved_heap_p[rip]
- mov r15,qword ptr saved_heap_p+8[rip]
- mov rsi,saved_a_stack_p[rip]
+ mov rdi,qword ptr [rip+saved_heap_p]
+ mov r15,qword ptr [rip+saved_heap_p+8]
+ mov rsi,[rip+saved_a_stack_p]
att_call exit_clean
@@ -804,40 +804,40 @@ exit_dll_init:
ret
init_clean:
- lea rax,128[rsp]
+ lea rax,[rsp+128]
sub rsp,32+8
- sub rax,qword ptr _ab_stack_size[rip]
- mov end_b_stack[rip],rax
+ sub rax,qword ptr [rip+_ab_stack_size]
+ mov [rip+end_b_stack],rax
- mov rax,qword ptr _flags[rip]
+ mov rax,qword ptr [rip+_flags]
and rax,1
- mov basic_only[rip],rax
+ mov [rip+basic_only],rax
/* call allow_prefetch_for_athlon */
- mov rax,qword ptr _heap_size[rip]
+ mov rax,qword ptr [rip+_heap_size]
sub rax,7
xor rdx,rdx
mov rbx,65
div rbx
- mov qword ptr heap_size_65[rip],rax
+ mov qword ptr [rip+heap_size_65],rax
- mov rax,qword ptr _heap_size[rip]
+ mov rax,qword ptr [rip+_heap_size]
sub rax,7
xor rdx,rdx
mov rbx,257
div rbx
- mov heap_size_257[rip],rax
+ mov [rip+heap_size_257],rax
add rax,7
and rax,-8
- mov qword ptr heap_copied_vector_size[rip],rax
- mov qword ptr heap_end_after_copy_gc[rip],0
+ mov qword ptr [rip+heap_copied_vector_size],rax
+ mov qword ptr [rip+heap_end_after_copy_gc],0
- mov rax,qword ptr _heap_size[rip]
+ mov rax,qword ptr [rip+_heap_size]
add rax,7
and rax,-8
- mov qword ptr _heap_size[rip],rax
+ mov qword ptr [rip+_heap_size],rax
add rax,7
mov rbp,rsp
@@ -854,16 +854,16 @@ init_clean:
test rax,rax
je no_memory_2
- mov heap_mbp[rip],rax
- lea rdi,7[rax]
+ mov [rip+heap_mbp],rax
+ lea rdi,[rax+7]
and rdi,-8
- mov heap_p[rip],rdi
+ mov [rip+heap_p],rdi
mov rbp,rsp
and rsp,-16
.if LINUX
mov r14,rdi
- mov rdi,qword ptr _ab_stack_size[rip]
+ mov rdi,qword ptr [rip+_ab_stack_size]
add rdi,7
att_call _malloc
mov rdi,r14
@@ -877,85 +877,85 @@ init_clean:
test rax,rax
je no_memory_3
- mov stack_mbp[rip],rax
+ mov [rip+stack_mbp],rax
- add rax,qword ptr _ab_stack_size[rip]
+ add rax,qword ptr [rip+_ab_stack_size]
add rax,7+4095
and rax,-4096
- mov qword ptr a_stack_guard_page[rip],rax
- sub rax,qword ptr _ab_stack_size[rip]
+ mov qword ptr [rip+a_stack_guard_page],rax
+ sub rax,qword ptr [rip+_ab_stack_size]
add rax,7
and rax,-8
mov rsi,rax
- mov stack_p[rip],rax
+ mov [rip+stack_p],rax
- add rax,qword ptr _ab_stack_size[rip]
+ add rax,qword ptr [rip+_ab_stack_size]
sub rax,64
- mov qword ptr end_a_stack[rip],rax
+ mov qword ptr [rip+end_a_stack],rax
- lea rcx,small_integers[rip]
+ lea rcx,[rip+small_integers]
xor rax,rax
- lea rbx,(dINT+2)[rip]
+ lea rbx,[rip+dINT+2]
make_small_integers_lp:
mov [rcx],rbx
- mov 8[rcx],rax
+ mov [rcx+8],rax
inc rax
add rcx,16
cmp rax,33
att_jne make_small_integers_lp
- lea rcx,static_characters[rip]
+ lea rcx,[rip+static_characters]
xor rax,rax
- lea rbx,(CHAR+2)[rip]
+ lea rbx,[rip+CHAR+2]
make_static_characters_lp:
mov [rcx],rbx
- mov 8[rcx],rax
+ mov [rcx+8],rax
inc rax
add rcx,16
cmp rax,256
att_jne make_static_characters_lp
- lea rcx,(caf_list+8[rip])
- mov qword ptr caf_listp[rip],rcx
+ lea rcx,[rip+caf_list+8]
+ mov qword ptr [rip+caf_listp],rcx
- lea rcx,__Nil-8[rip]
- mov qword ptr finalizer_list[rip],rcx
- mov qword ptr free_finalizer_list[rip],rcx
+ lea rcx,[rip+__Nil-8]
+ mov qword ptr [rip+finalizer_list],rcx
+ mov qword ptr [rip+free_finalizer_list],rcx
- mov heap_p1[rip],rdi
+ mov [rip+heap_p1],rdi
- mov rbp,qword ptr heap_size_257[rip]
+ mov rbp,qword ptr [rip+heap_size_257]
shl rbp,4
lea rax,[rdi+rbp*8]
- mov heap_copied_vector[rip],rax
- add rax,heap_copied_vector_size[rip]
- mov heap_p2[rip],rax
+ mov [rip+heap_copied_vector],rax
+ add rax,[rip+heap_copied_vector_size]
+ mov [rip+heap_p2],rax
- mov byte ptr garbage_collect_flag[rip],0
+ mov byte ptr [rip+garbage_collect_flag],0
- test byte ptr _flags[rip],64
+ test byte ptr [rip+_flags],64
je no_mark1
- mov rax,qword ptr heap_size_65[rip]
- mov qword ptr heap_vector[rip],rdi
+ mov rax,qword ptr [rip+heap_size_65]
+ mov qword ptr [rip+heap_vector],rdi
add rdi,rax
add rdi,7
and rdi,-8
- mov qword ptr heap_p3[rip],rdi
+ mov qword ptr [rip+heap_p3],rdi
lea rbp,[rax*8]
- mov byte ptr garbage_collect_flag[rip],-1
+ mov byte ptr [rip+garbage_collect_flag],-1
no_mark1:
- mov rax,qword ptr _initial_heap_size[rip]
+ mov rax,qword ptr [rip+_initial_heap_size]
mov rbx,4000
- test byte ptr _flags[rip],64
+ test byte ptr [rip+_flags],64
jne no_mark9
add rbx,rbx
no_mark9:
@@ -969,11 +969,11 @@ no_mark9:
too_large_or_too_small:
lea rax,[rdi+rbp*8]
- mov heap_end_after_gc[rip],rax
+ mov [rip+heap_end_after_gc],rax
- test byte ptr _flags[rip],64
+ test byte ptr [rip+_flags],64
att_je no_mark2
- mov qword ptr bit_vector_size[rip],rbp
+ mov qword ptr [rip+bit_vector_size],rbp
no_mark2:
mov r15,rbp
@@ -986,14 +986,14 @@ no_memory_2:
mov rbp,rsp
and rsp,-16
.if LINUX
- lea rdi,out_of_memory_string_1[rip]
+ lea rdi,[rip+out_of_memory_string_1]
.else
lea rcx,out_of_memory_string_1
.endif
att_call _ew_print_string
mov rsp,rbp
- mov qword ptr _execution_aborted[rip],1
+ mov qword ptr [rip+_execution_aborted],1
add rsp,32
mov rax,1
@@ -1004,16 +1004,16 @@ no_memory_3:
and rsp,-16
.if LINUX
- lea rdi,out_of_memory_string_1[rip]
+ lea rdi,[rip+out_of_memory_string_1]
.else
lea ecx,out_of_memory_string_1
.endif
att_call _ew_print_string
- mov qword ptr _execution_aborted[rip],1
+ mov qword ptr [rip+_execution_aborted],1
.if LINUX
- mov rdi,heap_mbp[rip]
+ mov rdi,[rip+heap_mbp]
att_call _free
.else
mov rcx,heap_mbp
@@ -1029,7 +1029,7 @@ no_memory_3:
exit_clean:
att_call add_execute_time
- mov rax,qword ptr _flags[rip]
+ mov rax,qword ptr [rip+_flags]
test al,8
je no_print_execution_time
@@ -1040,27 +1040,27 @@ exit_clean:
.endif
.if LINUX
- lea rdi,time_string_1[rip]
+ lea rdi,[rip+time_string_1]
.else
lea rcx,time_string_1
.endif
att_call _ew_print_string
- mov rax,execute_time[rip]
+ mov rax,[rip+execute_time]
call print_time
.if LINUX
- lea rdi,time_string_2[rip]
+ lea rdi,[rip+time_string_2]
.else
lea rcx,time_string_2
.endif
att_call _ew_print_string
- mov rax,garbage_collect_time[rip]
+ mov rax,[rip+garbage_collect_time]
.if MEASURE_GC
.else
- add rax,mark_compact_garbage_collect_time[rip]
- add rax,compact_garbage_collect_time[rip]
+ add rax,[rip+mark_compact_garbage_collect_time]
+ add rax,[rip+compact_garbage_collect_time]
.endif
att_call print_time
@@ -1089,18 +1089,18 @@ exit_clean:
.endif
.if LINUX
- lea rdi,time_string_4[rip]
+ lea rdi,[rip+time_string_4]
.else
lea rcx,time_string_4
.endif
att_call _ew_print_string
- mov rax,execute_time[rip]
- add rax,garbage_collect_time[rip]
- add rax,IO_time[rip]
+ mov rax,[rip+execute_time]
+ add rax,[rip+garbage_collect_time]
+ add rax,[rip+IO_time]
- add rax,mark_compact_garbage_collect_time[rip]
- add rax,compact_garbage_collect_time[rip]
+ add rax,[rip+mark_compact_garbage_collect_time]
+ add rax,[rip+compact_garbage_collect_time]
att_call print_time
@@ -1128,9 +1128,9 @@ exit_clean:
call _ew_print_char
.if LINUX
- mov rdi,total_compact_gc_bytes
+ mov rdi,total_compact_gc_bytes
.else
- mov rcx,total_compact_gc_bytes
+ mov rcx,total_compact_gc_bytes
.endif
call _ew_print_int
@@ -1254,10 +1254,10 @@ no_print_execution_time:
mov rbp,rsp
and rsp,-16
.if LINUX
- mov rdi,stack_mbp[rip]
+ mov rdi,[rip+stack_mbp]
att_call _free
- mov rdi,heap_mbp[rip]
+ mov rdi,[rip+heap_mbp]
att_call _free
.else
mov rcx,stack_mbp
@@ -1279,7 +1279,7 @@ no_print_execution_time:
ret
__driver:
- mov rbp,qword ptr _flags[rip]
+ mov rbp,qword ptr [rip+_flags]
test rbp,16
att_je __print__graph
att_jmp __eval__to__nf
@@ -1308,7 +1308,7 @@ print_time:
att_call _ew_print_int
mov rsp,rbp
- lea rcx,sprintf_time_buffer[rip]
+ lea rcx,[rip+sprintf_time_buffer]
xor rdx,rdx
mov rbx,10
@@ -1321,8 +1321,8 @@ print_time:
div rbx
add rax,48
add rdx,48
- mov byte ptr 1[rcx],al
- mov byte ptr 2[rcx],dl
+ mov byte ptr [rcx+1],al
+ mov byte ptr [rcx+2],dl
mov rbp,rsp
and rsp,-16
@@ -1340,7 +1340,7 @@ print_time:
ret
print_sc:
- mov rbp,basic_only[rip]
+ mov rbp,[rip+basic_only]
test rbp,rbp
jne end_print
@@ -1378,10 +1378,10 @@ printD: test al,2
mov r13,rsi
mov r14,rdi
- lea rdi,4[rax]
+ lea rdi,[rax+4]
mov esi,0[rax]
.else
- lea rcx,4[rax]
+ lea rcx,[rax+4]
mov edx,dword ptr [rax]
sub rsp,32
.endif
@@ -1394,8 +1394,8 @@ printD: test al,2
ret
DtoAC_record:
- movsxd rbx,dword ptr (-6)[rax]
- lea rbp,(-6)[rax+rbx]
+ movsxd rbx,dword ptr [rax-6]
+ lea rbp,[rax+rbx-6]
jmp DtoAC_string_a2
DtoAC: test al,2
@@ -1406,13 +1406,13 @@ DtoAC: test al,2
DtoAC_:
.if NEW_DESCRIPTORS
- cmp word ptr (-2)[rax],256
+ cmp word ptr [rax-2],256
att_jae DtoAC_record
movzx rbx,word ptr [rax]
- lea rbp,10[rax+rbx]
+ lea rbp,[rax+rbx+10]
.else
- lea rbp,(-2)[rax]
+ lea rbp,[rax-2]
movsx rbx,word ptr [rbp]
cmp rbx,256
jae DtoAC_record
@@ -1420,13 +1420,13 @@ DtoAC_:
shl rbx,3
sub rbp,rbx
- movzx rbx,word ptr (-2)[rbp]
- lea rbp,4[rbp+rbx*8]
+ movzx rbx,word ptr [rbp-2]
+ lea rbp,[rbp+rbx*8+4]
.endif
DtoAC_string_a2:
mov eax,dword ptr [rbp]
- lea rcx,4[rbp]
+ lea rcx,[rbp+4]
jmp build_string
print_symbol:
@@ -1434,23 +1434,23 @@ print_symbol:
jmp print_symbol_2
print_symbol_sc:
- mov rbx,basic_only[rip]
+ mov rbx,[rip+basic_only]
print_symbol_2:
mov rax,[rcx]
- lea rbp,dINT+2[rip]
+ lea rbp,[rip+dINT+2]
cmp rax,rbp
je print_int_node
- lea rbp,CHAR+2[rip]
+ lea rbp,[rip+CHAR+2]
cmp rax,rbp
je print_char_denotation
- lea rbp,BOOL+2[rip]
+ lea rbp,[rip+BOOL+2]
cmp rax,rbp
je print_bool
- lea rbp,REAL+2[rip]
+ lea rbp,[rip+REAL+2]
cmp rax,rbp
je print_real_node
@@ -1458,16 +1458,16 @@ print_symbol_2:
jne end_print_symbol
printD_:
- cmp word ptr (-2)[rax],256
+ cmp word ptr [rax-2],256
jae print_record
movzx rbx,word ptr [rax]
- lea rbp,10[rax+rbx]
+ lea rbp,[rax+rbx+10]
jmp print_string_a2
print_record:
- movsxd rbp,dword ptr (-6)[rax]
- lea rbp,-6[rax+rbp]
+ movsxd rbp,dword ptr [rax-6]
+ lea rbp,[rax+rbp-6]
att_jmp print_string_a2
end_print_symbol:
@@ -1479,10 +1479,10 @@ print_int_node:
.if LINUX
mov r13,rsi
mov r14,rdi
- mov rdi,8[rcx]
+ mov rdi,[rcx+8]
.else
sub rsp,32
- mov rcx,8[rcx]
+ mov rcx,[rcx+8]
.endif
att_call _w_print_int
.if LINUX
@@ -1523,7 +1523,7 @@ print_char_denotation:
.else
sub rsp,32
.endif
- mov rbx,8[rcx]
+ mov rbx,[rcx+8]
.if LINUX
mov rdi,0x27
@@ -1560,9 +1560,9 @@ print_char_node:
mov r13,rsi
mov r14,rdi
- mov rdi,8[rcx]
+ mov rdi,[rcx+8]
.else
- mov rcx,8[rcx]
+ mov rcx,[rcx+8]
sub rsp,32
.endif
att_call _w_print_char
@@ -1594,7 +1594,7 @@ print_char:
ret
print_bool:
- movsx rcx,byte ptr 8[rcx]
+ movsx rcx,byte ptr [rcx+8]
test rcx,rcx
je print_false
@@ -1604,7 +1604,7 @@ print_true:
.if LINUX
mov r13,rsi
mov r14,rdi
- lea rdi,true_c_string[rip]
+ lea rdi,[rip+true_c_string]
.else
lea rcx,true_c_string
sub rsp,32
@@ -1623,7 +1623,7 @@ print_false:
.if LINUX
mov r13,rsi
mov r14,rdi
- lea rdi,false_c_string[rip]
+ lea rdi,[rip+false_c_string]
.else
lea rcx,false_c_string
sub rsp,32
@@ -1637,7 +1637,7 @@ print_false:
ret
print_real_node:
- movlpd xmm0,qword ptr 8[rcx]
+ movlpd xmm0,qword ptr [rcx+8]
print_real:
mov rbp,rsp
and rsp,-16
@@ -1659,12 +1659,12 @@ print_string_a2:
.if LINUX
mov r13,rsi
mov r14,rdi
- lea rdi,4[rbp]
+ lea rdi,[rbp+4]
mov esi,0[rbp]
mov rbp,rsp
and rsp,-16
.else
- lea rcx,4[rbp]
+ lea rcx,[rbp+4]
mov edx,0[rbp]
mov rbp,rsp
and rsp,-16
@@ -1679,7 +1679,7 @@ print_string_a2:
ret
print__chars__sc:
- mov rbp,basic_only[rip]
+ mov rbp,[rip+basic_only]
test rbp,rbp
jne no_print_chars
@@ -1689,11 +1689,11 @@ print__string__:
.if LINUX
mov r13,rsi
mov r14,rdi
- mov rsi,8[rcx]
- lea rdi,16[rcx]
+ mov rsi,[rcx+8]
+ lea rdi,[rcx+16]
.else
- mov rdx,8[rcx]
- lea rcx,16[rcx]
+ mov rdx,[rcx+8]
+ lea rcx,[rcx+16]
sub rsp,32
.endif
att_call _w_print_text
@@ -1708,11 +1708,11 @@ no_print_chars:
push_a_r_args:
push rdi
- mov rdx,qword ptr 16[rcx]
+ mov rdx,qword ptr [rcx+16]
sub rdx,2
movzx rdi,word ptr [rdx]
sub rdi,256
- movzx rbx,word ptr 2[rdx]
+ movzx rbx,word ptr [rdx+2]
add rdx,4
push rdx
@@ -1720,7 +1720,7 @@ push_a_r_args:
sub rdx,rbx
shl rax,3
- lea rcx,24[rcx+rbx*8]
+ lea rcx,[rcx+rbx*8+24]
dec rdi
mul_array_size_lp:
add rcx,rax
@@ -1730,7 +1730,7 @@ mul_array_size_lp:
lea rdi,[rcx+rdx*8]
jmp push_a_elements
push_a_elements_lp:
- mov rax,qword ptr (-8)[rcx]
+ mov rax,qword ptr [rcx-8]
sub rcx,8
mov qword ptr [rsi],rax
add rsi,8
@@ -1745,7 +1745,7 @@ push_a_elements:
pop rbp
jmp push_b_elements
push_b_elements_lp:
- push (-8)[rcx]
+ push [rcx-8]
sub rcx,8
push_b_elements:
sub rdx,1
@@ -1761,11 +1761,11 @@ push_t_r_args:
sub rdx,2
movzx rax,word ptr [rdx]
sub rax,256
- movzx rbx,word ptr 2[rdx]
+ movzx rbx,word ptr [rdx+2]
add rdx,4
mov qword ptr [rsi],rdx
- mov qword ptr 8[rsi],rbx
+ mov qword ptr [rsi+8],rbx
sub rbx,rax
neg rbx
@@ -1773,8 +1773,8 @@ push_t_r_args:
lea rdx,[rcx+rax*8]
cmp rax,2
jbe small_record
- mov rdx,qword ptr 8[rcx]
- lea rdx,(-8)[rdx+rax*8]
+ mov rdx,qword ptr [rcx+8]
+ lea rdx,[rdx+rax*8-8]
small_record:
jmp push_r_b_elements
@@ -1785,13 +1785,13 @@ push_r_b_elements_lp:
push [rcx]
att_jmp push_r_b_elements
not_first_arg_b:
- push (-8)[rdx]
+ push [rdx-8]
sub rdx,8
push_r_b_elements:
sub rbx,1
att_jnc push_r_b_elements_lp
- mov rbx,qword ptr 8[rsi]
+ mov rbx,qword ptr [rsi+8]
push rbp
push [rsi]
jmp push_r_a_elements
@@ -1805,7 +1805,7 @@ push_r_a_elements_lp:
add rsi,8
att_jmp push_r_a_elements
not_first_arg_a:
- mov rbp,qword ptr (-8)[rdx]
+ mov rbp,qword ptr [rdx-8]
sub rdx,8
mov qword ptr [rsi],rbp
add rsi,8
@@ -1820,10 +1820,10 @@ BtoAC:
test al,al
je BtoAC_false
BtoAC_true:
- lea rcx,true_string[rip]
+ lea rcx,[rip+true_string]
ret
BtoAC_false:
- lea rcx,false_string[rip]
+ lea rcx,[rip+false_string]
ret
RtoAC:
@@ -1832,8 +1832,8 @@ RtoAC:
.if LINUX
mov r13,rsi
mov r14,rdi
- lea rsi,printf_real_string[rip]
- lea rdi,sprintf_buffer[rip]
+ lea rsi,[rip+printf_real_string]
+ lea rdi,[rip+sprintf_buffer]
mov rax,1
call _sprintf
mov rsi,r13
@@ -1847,11 +1847,11 @@ RtoAC:
jmp return_sprintf_buffer
ItoAC:
- lea rcx,sprintf_buffer[rip]
+ lea rcx,[rip+sprintf_buffer]
call int_to_string
mov rax,rcx
- lea rcx,sprintf_buffer[rip]
+ lea rcx,[rip+sprintf_buffer]
sub rax,rcx
jmp sprintf_buffer_to_string
@@ -1882,7 +1882,7 @@ calculate_digits:
cmp rax,10
jb last_digit
- mov rdx,0x0cccccccccccccccd
+ movabs rdx,0x0cccccccccccccccd
mov rbx,rax
mul rdx
@@ -1927,20 +1927,20 @@ end_reverse_digits:
ret
return_sprintf_buffer:
- lea rax,(sprintf_buffer-1)[rip]
+ lea rax,[rip+sprintf_buffer-1]
skip_characters:
inc rax
cmp byte ptr [rax],0
att_jne skip_characters
- lea rcx,sprintf_buffer[rip]
+ lea rcx,[rip+sprintf_buffer]
sub rax,rcx
sprintf_buffer_to_string:
- lea rcx,sprintf_buffer[rip]
+ lea rcx,[rip+sprintf_buffer]
build_string:
- lea rbx,16+7[rax]
+ lea rbx,[rax+16+7]
shr rbx,3
sub r15,rbx
@@ -1953,9 +1953,9 @@ build_string:
D_to_S_no_gc:
sub rbx,2
mov rbp,rdi
- lea r9,__STRING__+2[rip]
+ lea r9,[rip+__STRING__+2]
mov qword ptr [rdi],r9
- mov 8[rdi],rax
+ mov [rdi+8],rax
add rdi,16
jmp D_to_S_cp_str_2
@@ -1975,16 +1975,16 @@ eqD: mov rax,[rcx]
cmp rax,[rdx]
jne eqD_false
- lea rbp,dINT+2[rip]
+ lea rbp,[rip+dINT+2]
cmp rax,rbp
je eqD_INT
- lea rbp,CHAR+2[rip]
+ lea rbp,[rip+CHAR+2]
cmp rax,rbp
je eqD_CHAR
- lea rbp,BOOL+2[rip]
+ lea rbp,[rip+BOOL+2]
cmp rax,rbp
je eqD_BOOL
- lea rbp,REAL+2[rip]
+ lea rbp,[rip+REAL+2]
cmp rax,rbp
je eqD_REAL
@@ -1993,22 +1993,22 @@ eqD: mov rax,[rcx]
eqD_CHAR:
eqD_INT:
- mov rbx,8[rcx]
+ mov rbx,[rcx+8]
xor rax,rax
- cmp rbx,8[rdx]
+ cmp rbx,[rdx+8]
sete al
ret
eqD_BOOL:
- mov bl,byte ptr 8[rcx]
+ mov bl,byte ptr [rcx+8]
xor rax,rax
- cmp bl,byte ptr 8[rdx]
+ cmp bl,byte ptr [rdx+8]
sete al
ret
eqD_REAL:
- movlpd xmm0,qword ptr 8[rcx]
- comisd xmm0,qword ptr 8[rdx]
+ movlpd xmm0,qword ptr [rcx+8]
+ comisd xmm0,qword ptr [rdx+8]
fnstsw ax
and ah,68
xor ah,64
@@ -2036,20 +2036,20 @@ init_timer:
mov rsi,r13
mov rdi,r14
mov eax,[rsp]
- imul eax,10
+ imul eax,eax,10
.else
call GetTickCount
.endif
mov rsp,rbp
- mov last_time[rip],rax
+ mov [rip+last_time],rax
xor rax ,rax
- mov execute_time[rip],rax
- mov garbage_collect_time[rip],rax
- mov IO_time[rip],rax
+ mov [rip+execute_time],rax
+ mov [rip+garbage_collect_time],rax
+ mov [rip+IO_time],rax
- mov mark_compact_garbage_collect_time[rip],rax
- mov compact_garbage_collect_time[rip],rax
+ mov [rip+mark_compact_garbage_collect_time],rax
+ mov [rip+compact_garbage_collect_time],rax
ret
@@ -2065,13 +2065,13 @@ get_time_diff:
mov rsi,r13
mov rdi,r14
mov eax,[rsp]
- imul eax,10
+ imul eax,eax,10
.else
call GetTickCount
.endif
mov rsp,rbp
- lea rcx,last_time[rip]
+ lea rcx,[rip+last_time]
mov rdx,[rcx]
mov [rcx],rax
sub rax,rdx
@@ -2079,7 +2079,7 @@ get_time_diff:
add_execute_time:
att_call get_time_diff
- lea rcx,execute_time[rip]
+ lea rcx,[rip+execute_time]
add_time:
add rax,[rcx]
@@ -2088,22 +2088,22 @@ add_time:
add_garbage_collect_time:
att_call get_time_diff
- lea rcx,garbage_collect_time[rip]
+ lea rcx,[rip+garbage_collect_time]
att_jmp add_time
add_IO_time:
att_call get_time_diff
- lea rcx,IO_time[rip]
+ lea rcx,[rip+IO_time]
att_jmp add_time
add_mark_compact_garbage_collect_time:
att_call get_time_diff
- lea rcx,mark_compact_garbage_collect_time[rip]
+ lea rcx,[rip+mark_compact_garbage_collect_time]
att_jmp add_time
add_compact_garbage_collect_time:
att_call get_time_diff
- lea rcx,compact_garbage_collect_time[rip]
+ lea rcx,[rip+compact_garbage_collect_time]
att_jmp add_time
/* */
/* the garbage collector */
@@ -2111,17 +2111,17 @@ add_compact_garbage_collect_time:
collect_3:
.if PROFILE
- lea rbp,garbage_collector_name[rip]
+ lea rbp,[rip+garbage_collector_name]
att_call profile_s
.endif
mov [rsi],rcx
- mov 8[rsi],rdx
- mov 16[rsi],r8
+ mov [rsi+8],rdx
+ mov [rsi+16],r8
add rsi,24
call collect_0_
- mov r8,(-8)[rsi]
- mov rdx,(-16)[rsi]
- mov rcx,(-24)[rsi]
+ mov r8,[rsi-8]
+ mov rdx,[rsi-16]
+ mov rcx,[rsi-24]
sub rsi,24
.if PROFILE
jmp profile_r
@@ -2131,15 +2131,15 @@ collect_3:
collect_2:
.if PROFILE
- lea rbp,garbage_collector_name[rip]
+ lea rbp,[rip+garbage_collector_name]
att_call profile_s
.endif
mov [rsi],rcx
- mov 8[rsi],rdx
+ mov [rsi+8],rdx
add rsi,16
att_call collect_0_
- mov rdx,(-8)[rsi]
- mov rcx,(-16)[rsi]
+ mov rdx,[rsi-8]
+ mov rcx,[rsi-16]
sub rsi,16
.if PROFILE
att_jmp profile_r
@@ -2149,13 +2149,13 @@ collect_2:
collect_1:
.if PROFILE
- lea rbp,garbage_collector_name[rip]
+ lea rbp,[rip+garbage_collector_name]
att_call profile_s
.endif
mov [rsi],rcx
add rsi,8
att_call collect_0_
- mov rcx,(-8)[rsi]
+ mov rcx,[rsi-8]
sub rsi,8
.if PROFILE
att_jmp profile_r
@@ -2165,7 +2165,7 @@ collect_1:
collect_0:
.if PROFILE
- lea rbp,garbage_collector_name[rip]
+ lea rbp,[rip+garbage_collector_name]
att_call profile_s
.endif
att_call collect_0_
@@ -2181,17 +2181,17 @@ collect_0_:
push rax
push rbx
- mov rbx,qword ptr heap_end_after_gc[rip]
+ mov rbx,qword ptr [rip+heap_end_after_gc]
sub rbx,rdi
shr rbx,3
sub rbx,r15
- mov qword ptr n_allocated_words[rip],rbx
+ mov qword ptr [rip+n_allocated_words],rbx
- test byte ptr _flags[rip],64
+ test byte ptr [rip+_flags],64
je no_mark3
- mov rbp,qword ptr bit_counter[rip]
+ mov rbp,qword ptr [rip+bit_counter]
test rbp,rbp
je no_scan
@@ -2199,7 +2199,7 @@ collect_0_:
mov rsi,rbx
xor rbx,rbx
- mov rcx,qword ptr bit_vector_p[rip]
+ mov rcx,qword ptr [rip+bit_vector_p]
scan_bits:
cmp ebx,dword ptr[rcx]
@@ -2212,7 +2212,7 @@ scan_bits:
jmp end_scan
zero_bits:
- lea rdx,4[rcx]
+ lea rdx,[rcx+4]
add rcx,4
sub rbp,1
jne skip_zero_bits_lp1
@@ -2229,7 +2229,7 @@ skip_zero_bits_lp1:
test rax,rax
att_je end_bits
- mov dword ptr (-4)[rcx],ebx
+ mov dword ptr [rcx-4],ebx
mov rax,rcx
sub rax,rdx
jmp end_bits2
@@ -2238,24 +2238,24 @@ end_zero_bits:
mov rax,rcx
sub rax,rdx
shl rax,3
- add qword ptr n_free_words_after_mark[rip],rax
- mov dword ptr (-4)[rcx],ebx
+ add qword ptr [rip+n_free_words_after_mark],rax
+ mov dword ptr [rcx-4],ebx
cmp rax,rsi
att_jb scan_bits
found_free_memory:
- mov qword ptr bit_counter[rip],rbp
- mov qword ptr bit_vector_p[rip],rcx
+ mov qword ptr [rip+bit_counter],rbp
+ mov qword ptr [rip+bit_vector_p],rcx
- lea rbp,(-4)[rdx]
- sub rbp,qword ptr heap_vector[rip]
+ lea rbp,[rdx-4]
+ sub rbp,qword ptr [rip+heap_vector]
shl rbp,6
- mov rdi,qword ptr heap_p3[rip]
+ mov rdi,qword ptr [rip+heap_p3]
add rdi,rbp
lea rbp,[rdi+rax*8]
- mov qword ptr heap_end_after_gc[rip],rbp
+ mov qword ptr [rip+heap_end_after_gc],rbp
mov r15,rax
sub r15,rsi
@@ -2271,34 +2271,34 @@ end_bits:
add rax,4
end_bits2:
shl rax,3
- add qword ptr n_free_words_after_mark[rip],rax
+ add qword ptr [rip+n_free_words_after_mark],rax
cmp rax,rsi
att_jae found_free_memory
end_scan:
pop rsi
- mov qword ptr bit_counter[rip],rbp
+ mov qword ptr [rip+bit_counter],rbp
no_scan:
no_mark3:
- movsx rax,byte ptr garbage_collect_flag[rip]
+ movsx rax,byte ptr [rip+garbage_collect_flag]
test rax,rax
jle collect
sub rax,2
- mov byte ptr garbage_collect_flag[rip],al
+ mov byte ptr [rip+garbage_collect_flag],al
- mov rbp,qword ptr extra_heap_size[rip]
+ mov rbp,qword ptr [rip+extra_heap_size]
cmp rbx,rbp
att_ja collect
- mov rdi,qword ptr extra_heap[rip]
+ mov rdi,qword ptr [rip+extra_heap]
mov r15,rbp
lea rbp,[rdi+rbp*8]
- mov qword ptr heap_end_after_gc[rip],rbp
+ mov qword ptr [rip+heap_end_after_gc],rbp
sub r15,rbx
@@ -2312,10 +2312,10 @@ collect:
.else
sub rsp,88
.endif
- mov 32[rsp],r10
- mov 24[rsp],r11
- mov 16[rsp],r12
- mov 8[rsp],r13
+ mov [rsp+32],r10
+ mov [rsp+24],r11
+ mov [rsp+16],r12
+ mov [rsp+8],r13
mov [rsp],r14
movsd 40[rsp],xmm0
movsd 48[rsp],xmm1
@@ -2330,7 +2330,7 @@ collect:
att_call add_execute_time
- test qword ptr _flags[rip],4
+ test qword ptr [rip+_flags],4
je no_print_stack_sizes
mov rbp,rsp
@@ -2344,9 +2344,9 @@ collect:
.if 0
.if LINUX
- mov rdi,qword ptr 64[rsp]
+ mov rdi,qword ptr [rsp+64]
.else
- mov rcx,qword ptr 96[rsp]
+ mov rcx,qword ptr [rsp+96]
.endif
call _ew_print_int
@@ -2359,7 +2359,7 @@ collect:
.endif
.if LINUX
- lea rdi,garbage_collect_string_1[rip]
+ lea rdi,[rip+garbage_collect_string_1]
.else
lea rcx,garbage_collect_string_1
.endif
@@ -2367,7 +2367,7 @@ collect:
.if LINUX
mov rdi,r13
- sub rdi,stack_p[rip]
+ sub rdi,[rip+stack_p]
.else
mov rcx,rsi
sub rcx,stack_p
@@ -2375,14 +2375,14 @@ collect:
att_call _ew_print_int
.if LINUX
- lea rdi,garbage_collect_string_2[rip]
+ lea rdi,[rip+garbage_collect_string_2]
.else
lea rcx,garbage_collect_string_2
.endif
att_call _ew_print_string
.if LINUX
- mov rdi,halt_sp[rip]
+ mov rdi,[rip+halt_sp]
sub rdi,rsp
.else
mov rcx,halt_sp
@@ -2391,7 +2391,7 @@ collect:
att_call _ew_print_int
.if LINUX
- lea rdi,garbage_collect_string_3[rip]
+ lea rdi,[rip+garbage_collect_string_3]
.else
lea rcx,garbage_collect_string_3
.endif
@@ -2404,46 +2404,46 @@ collect:
mov rsp,rbp
no_print_stack_sizes:
- mov rax,stack_p[rip]
- add rax,qword ptr _ab_stack_size[rip]
+ mov rax,[rip+stack_p]
+ add rax,qword ptr [rip+_ab_stack_size]
cmp rsi,rax
att_ja stack_overflow
- test byte ptr _flags[rip],64
+ test byte ptr [rip+_flags],64
jne compacting_collector
- cmp byte ptr garbage_collect_flag[rip],0
+ cmp byte ptr [rip+garbage_collect_flag],0
att_jne compacting_collector
- mov rbp,heap_copied_vector[rip]
+ mov rbp,[rip+heap_copied_vector]
- cmp qword ptr heap_end_after_copy_gc[rip],0
+ cmp qword ptr [rip+heap_end_after_copy_gc],0
je zero_all
mov rax,rdi
- sub rax,qword ptr heap_p1[rip]
+ sub rax,qword ptr [rip+heap_p1]
add rax,127*8
shr rax,9
call zero_bit_vector
- mov rdx,qword ptr heap_end_after_copy_gc[rip]
- sub rdx,qword ptr heap_p1[rip]
+ mov rdx,qword ptr [rip+heap_end_after_copy_gc]
+ sub rdx,qword ptr [rip+heap_p1]
shr rdx,7
and rdx,-4
- mov rbp,qword ptr heap_copied_vector[rip]
- mov rax,qword ptr heap_copied_vector_size[rip]
+ mov rbp,qword ptr [rip+heap_copied_vector]
+ mov rax,qword ptr [rip+heap_copied_vector_size]
add rbp,rdx
sub rax,rdx
shr rax,2
- mov qword ptr heap_end_after_copy_gc[rip],0
+ mov qword ptr [rip+heap_end_after_copy_gc],0
att_call zero_bit_vector
jmp end_zero_bit_vector
zero_all:
- mov rax,heap_copied_vector_size[rip]
+ mov rax,[rip+heap_copied_vector_size]
shr rax,2
att_call zero_bit_vector
@@ -2451,15 +2451,15 @@ end_zero_bit_vector:
.include "acopy.s"
- mov qword ptr heap2_begin_and_end[rip],rsi
+ mov qword ptr [rip+heap2_begin_and_end],rsi
mov r15,rsi
sub r15,rdi
- mov rax,heap_size_257[rip]
+ mov rax,[rip+heap_size_257]
shl rax,7
sub rax,r15
- add qword ptr total_gc_bytes[rip],rax
+ add qword ptr [rip+total_gc_bytes],rax
shr r15,3
@@ -2467,12 +2467,12 @@ end_zero_bit_vector:
att_call add_garbage_collect_time
- sub r15,qword ptr n_allocated_words[rip]
+ sub r15,qword ptr [rip+n_allocated_words]
jc switch_to_mark_scan
lea rax,[r15+r15*4]
shl rax,6
- mov rbx,qword ptr _heap_size[rip]
+ mov rbx,qword ptr [rip+_heap_size]
mov rcx,rbx
shl rbx,2
add rbx,rcx
@@ -2482,82 +2482,82 @@ end_zero_bit_vector:
jnc no_mark_scan
switch_to_mark_scan:
- mov rax,qword ptr heap_size_65[rip]
+ mov rax,qword ptr [rip+heap_size_65]
shl rax,6
- mov rbx,qword ptr heap_p[rip]
+ mov rbx,qword ptr [rip+heap_p]
- mov rcx,qword ptr heap_p1[rip]
- cmp rcx,qword ptr heap_p2[rip]
+ mov rcx,qword ptr [rip+heap_p1]
+ cmp rcx,qword ptr [rip+heap_p2]
jc vector_at_begin
vector_at_end:
- mov qword ptr heap_p3[rip],rbx
+ mov qword ptr [rip+heap_p3],rbx
add rbx,rax
- mov qword ptr heap_vector[rip],rbx
+ mov qword ptr [rip+heap_vector],rbx
- mov rax,qword ptr heap_p1[rip]
- mov qword ptr extra_heap[rip],rax
+ mov rax,qword ptr [rip+heap_p1]
+ mov qword ptr [rip+extra_heap],rax
sub rbx,rax
shr rbx,3
- mov qword ptr extra_heap_size[rip],rbx
+ mov qword ptr [rip+extra_heap_size],rbx
jmp switch_to_mark_scan_2
vector_at_begin:
- mov qword ptr heap_vector[rip],rbx
- add rbx,qword ptr _heap_size[rip]
+ mov qword ptr [rip+heap_vector],rbx
+ add rbx,qword ptr [rip+_heap_size]
sub rbx,rax
- mov qword ptr heap_p3[rip],rbx
+ mov qword ptr [rip+heap_p3],rbx
- mov qword ptr extra_heap[rip],rbx
- mov rcx,qword ptr heap_p2[rip]
+ mov qword ptr [rip+extra_heap],rbx
+ mov rcx,qword ptr [rip+heap_p2]
sub rcx,rbx
shr rcx,3
- mov qword ptr extra_heap_size[rip],rcx
+ mov qword ptr [rip+extra_heap_size],rcx
switch_to_mark_scan_2:
- mov rax,heap_size_257[rip]
+ mov rax,[rip+heap_size_257]
shl rax,7-3
sub rax,r15
shl rax,3
- mov byte ptr garbage_collect_flag[rip],1
+ mov byte ptr [rip+garbage_collect_flag],1
- lea rcx,heap_use_after_gc_string_1[rip]
+ lea rcx,[rip+heap_use_after_gc_string_1]
test r15,r15
jns end_garbage_collect
- mov byte ptr garbage_collect_flag[rip],-1
+ mov byte ptr [rip+garbage_collect_flag],-1
- mov rbx,qword ptr extra_heap_size[rip]
+ mov rbx,qword ptr [rip+extra_heap_size]
mov r15,rbx
- sub r15,qword ptr n_allocated_words[rip]
+ sub r15,qword ptr [rip+n_allocated_words]
js out_of_memory_4_3
- mov rdi,qword ptr extra_heap[rip]
+ mov rdi,qword ptr [rip+extra_heap]
shl rbx,3
add rbx,rdi
- mov qword ptr heap_end_after_gc[rip],rbx
+ mov qword ptr [rip+heap_end_after_gc],rbx
- mov qword ptr heap_end_write_heap[rip],rdi
+ mov qword ptr [rip+heap_end_write_heap],rdi
- mov qword ptr d3_flag_write_heap[rip],1
+ mov qword ptr [rip+d3_flag_write_heap],1
jmp end_garbage_collect_
no_mark_scan:
/* exchange the semi_spaces */
- mov rax,heap_p1[rip]
- mov rbx,heap_p2[rip]
- mov heap_p2[rip],rax
- mov heap_p1[rip],rbx
+ mov rax,[rip+heap_p1]
+ mov rbx,[rip+heap_p2]
+ mov [rip+heap_p2],rax
+ mov [rip+heap_p1],rbx
- mov rax,heap_size_257[rip]
+ mov rax,[rip+heap_size_257]
shl rax,7-3
mov rbx,rax
sub rax,r15
mov rcx,rax
- imul qword ptr _heap_size_multiple[rip]
+ imul qword ptr [rip+_heap_size_multiple]
shrd rax,rdx,9
shr rdx,9
jne no_small_heap1
@@ -2571,26 +2571,26 @@ not_too_small1:
sub r15,rbx
shl rbx,3
- mov rbp,qword ptr heap_end_after_gc[rip]
- mov qword ptr heap_end_after_copy_gc[rip],rbp
+ mov rbp,qword ptr [rip+heap_end_after_gc]
+ mov qword ptr [rip+heap_end_after_copy_gc],rbp
sub rbp,rbx
- mov qword ptr heap_end_after_gc[rip],rbp
+ mov qword ptr [rip+heap_end_after_gc],rbp
no_small_heap1:
mov rax,rcx
shl rax,3
- lea rcx,heap_use_after_gc_string_1[rip]
+ lea rcx,[rip+heap_use_after_gc_string_1]
end_garbage_collect:
- mov qword ptr heap_end_write_heap[rip],rdi
- mov qword ptr d3_flag_write_heap[rip],0
+ mov qword ptr [rip+heap_end_write_heap],rdi
+ mov qword ptr [rip+d3_flag_write_heap],0
end_garbage_collect_:
push rax
- test qword ptr _flags[rip],2
+ test qword ptr [rip+_flags],2
je no_heap_use_message
mov rbp,rsp
@@ -2614,7 +2614,7 @@ end_garbage_collect_:
att_call _ew_print_int
.if LINUX
- lea rdi,heap_use_after_gc_string_2[rip]
+ lea rdi,[rip+heap_use_after_gc_string_2]
.else
lea rcx,heap_use_after_gc_string_2
.endif
@@ -2633,38 +2633,38 @@ no_heap_use_message:
pop rax
- test byte ptr _flags[rip],32
+ test byte ptr [rip+_flags],32
je no_write_heap
- cmp rax,qword ptr _min_write_heap_size[rip]
+ cmp rax,qword ptr [rip+_min_write_heap_size]
att_jb no_write_heap
push rcx
- push rdx
+ push rdx
push rbp
push rsi
push rdi
sub rsp,128
- mov rax,qword ptr d3_flag_write_heap[rip]
+ mov rax,qword ptr [rip+d3_flag_write_heap]
test rax,rax
jne copy_to_compact_with_alloc_in_extra_heap
- movsx rax,byte ptr garbage_collect_flag[rip]
+ movsx rax,byte ptr [rip+garbage_collect_flag]
- mov rcx,qword ptr heap2_begin_and_end[rip]
- mov rdx,qword ptr (heap2_begin_and_end+8)[rip]
+ mov rcx,qword ptr [rip+heap2_begin_and_end]
+ mov rdx,qword ptr [rip+heap2_begin_and_end+8]
- lea rbx,heap_p1[rip]
+ lea rbx,[rip+heap_p1]
test rax,rax
je gc0
- lea rbx,heap_p2[rip]
+ lea rbx,[rip+heap_p2]
jg gc1
- lea rbx,heap_p3[rip]
+ lea rbx,[rip+heap_p3]
xor rcx,rcx
xor rdx,rdx
@@ -2675,36 +2675,36 @@ gc1:
mov rax,rsp
mov qword ptr [rax],rbx
- mov qword ptr 8[rax],rdi
+ mov qword ptr [rax+8],rdi
- mov qword ptr 16[rax],rcx
- mov qword ptr 24[rax],rdx
+ mov qword ptr [rax+16],rcx
+ mov qword ptr [rax+24],rdx
- mov rbx ,qword ptr stack_p[rip]
+ mov rbx ,qword ptr [rip+stack_p]
- mov qword ptr 32[rax],rbx
+ mov qword ptr [rax+32],rbx
- mov qword ptr 40[rax],rsi
- mov qword ptr 48[rax],0
- mov qword ptr 56[rax],0
+ mov qword ptr [rax+40],rsi
+ mov qword ptr [rax+48],0
+ mov qword ptr [rax+56],0
- lea rbp,small_integers[rip]
- mov qword ptr 64[rax],rbp
- lea rbp,static_characters[rip]
- mov qword ptr 72[rax],rbp
-
- lea rbp,dINT+2[rip]
- mov qword ptr 80[rax],rbp
- lea rbp,CHAR+2[rip]
- mov qword ptr 88[rax],rbp
- lea rbp,REAL+2[rip]
- mov qword ptr 96[rax],rbp
- lea rbp,BOOL+2[rip]
- mov qword ptr 104[rax],rbp
- lea rbp,__STRING__+2[rip]
- mov qword ptr 112[rax],rbp
- lea rbp,__ARRAY__+2[rip]
- mov qword ptr 120[rax],rbp
+ lea rbp,[rip+small_integers]
+ mov qword ptr [rax+64],rbp
+ lea rbp,[rip+static_characters]
+ mov qword ptr [rax+72],rbp
+
+ lea rbp,[rip+dINT+2]
+ mov qword ptr [rax+80],rbp
+ lea rbp,[rip+CHAR+2]
+ mov qword ptr [rax+88],rbp
+ lea rbp,[rip+REAL+2]
+ mov qword ptr [rax+96],rbp
+ lea rbp,[rip+BOOL+2]
+ mov qword ptr [rax+104],rbp
+ lea rbp,[rip+__STRING__+2]
+ mov qword ptr [rax+112],rbp
+ lea rbp,[rip+__ARRAY__+2]
+ mov qword ptr [rax+120],rbp
mov rbp,rsp
and rsp,-16
@@ -2729,10 +2729,10 @@ gc1:
no_write_heap:
restore_registers_after_gc_and_return:
- mov r10,32[rsp]
- mov r11,24[rsp]
- mov r12,16[rsp]
- mov r13,8[rsp]
+ mov r10,[rsp+32]
+ mov r11,[rsp+24]
+ mov r12,[rsp+16]
+ mov r13,[rsp+8]
mov r14,[rsp]
movlpd xmm0,40[rsp]
movlpd xmm1,48[rsp]
@@ -2752,33 +2752,33 @@ restore_registers_after_gc_and_return:
ret
call_finalizers:
- mov rax,qword ptr free_finalizer_list[rip]
+ mov rax,qword ptr [rip+free_finalizer_list]
call_finalizers_lp:
- lea r9,__Nil-8[rip]
+ lea r9,[rip+__Nil-8]
cmp rax,r9
je end_call_finalizers
- push 8[rax]
- mov rbx,qword ptr 16[rax]
- push 8[rbx]
+ push [rax+8]
+ mov rbx,qword ptr [rax+16]
+ push [rbx+8]
call qword ptr [rbx]
add rsp,8
pop rax
att_jmp call_finalizers_lp
end_call_finalizers:
- lea r9,__Nil-8[rip]
- mov qword ptr free_finalizer_list[rip],r9
+ lea r9,[rip+__Nil-8]
+ mov qword ptr [rip+free_finalizer_list],r9
ret
copy_to_compact_with_alloc_in_extra_heap:
- mov rcx,qword ptr heap2_begin_and_end[rip]
- mov rdx,qword ptr (heap2_begin_and_end+8)[rip]
- lea rbx,heap_p2[rip]
+ mov rcx,qword ptr [rip+heap2_begin_and_end]
+ mov rdx,qword ptr [rip+heap2_begin_and_end+8]
+ lea rbx,[rip+heap_p2]
att_jmp gc1
allow_prefetch_for_athlon:
- test qword ptr _flags[rip],4096
+ test qword ptr [rip+_flags],4096
jne no_prefetch_flag
xor rax,rax
@@ -2787,18 +2787,18 @@ allow_prefetch_for_athlon:
jz disable_prefetch_flag
.if LINUX
- cmp rbx,'A+('u*0x100)+('t*0x10000)+('h*0x1000000)
+ cmp rbx,0x68747541 # 'A+('u*0x100)+('t*0x10000)+('h*0x1000000)
att_jne disable_prefetch_flag
- cmp rdx,'e+('n*0x100)+('t*0x10000)+('i*0x1000000)
+ cmp rdx,0x69746e65 # 'e+('n*0x100)+('t*0x10000)+('i*0x1000000)
att_jne disable_prefetch_flag
- cmp rcx,'c+('A*0x100)+('M*0x10000)+('D*0x1000000)
+ cmp rcx,0x444d4163 # 'c+('A*0x100)+('M*0x10000)+('D*0x1000000)
att_jne disable_prefetch_flag
.else
- cmp rbx,'A'+('u' shl 8)+('t' shl 16)+('h' shl 24)
+ cmp rbx,65 # 'A''+('u' shl 8)+(116 # 't'' shl 16)+(104 # 'h'' shl 24)
jne disable_prefetch_flag
- cmp rdx,'e'+('n' shl 8)+('t' shl 16)+('i' shl 24)
+ cmp rdx,101 # 'e''+('n' shl 8)+(116 # 't'' shl 16)+(105 # 'i'' shl 24)
jne disable_prefetch_flag
- cmp rcx,'c'+('A' shl 8)+('M' shl 16)+('D' shl 24)
+ cmp rcx,99 # 'c''+(65 # 'A'' shl 8)+('M' shl 16)+('D' shl 24)
jne disable_prefetch_flag
.endif
@@ -2811,7 +2811,7 @@ allow_prefetch_for_athlon:
ret
disable_prefetch_flag:
- and qword ptr _flags[rip],-4097
+ and qword ptr [rip+_flags],-4097
keep_prefetch_flag:
no_prefetch_flag:
ret
@@ -2822,7 +2822,7 @@ out_of_memory_4_1:
out_of_memory_4:
att_call add_garbage_collect_time
- lea rbp,out_of_memory_string_4[rip]
+ lea rbp,[rip+out_of_memory_string_4]
att_jmp print_error
zero_bit_vector:
@@ -2844,10 +2844,10 @@ zero_bits1_1:
zero_bits1_4:
mov dword ptr [rbp],edx
- mov dword ptr 4[rbp],edx
+ mov dword ptr [rbp+4],edx
zero_bits1_2:
- mov dword ptr 8[rbp],edx
- mov dword ptr 12[rbp],edx
+ mov dword ptr [rbp+8],edx
+ mov dword ptr [rbp+12],edx
add rbp,16
zero_bits1_5:
sub rax,1
@@ -2873,8 +2873,8 @@ reorder:
reorder_lp:
mov rbp,qword ptr [rcx]
- mov rsi,qword ptr (-8)[rdx]
- mov qword ptr (-8)[rdx],rbp
+ mov rsi,qword ptr [rdx-8]
+ mov qword ptr [rdx-8],rbp
sub rdx,8
mov qword ptr [rcx],rsi
add rcx,8
@@ -2882,12 +2882,12 @@ reorder_lp:
dec rax
jne next_b_in_element
mov rax,qword ptr [rsp]
- add rcx,qword ptr 24[rsp]
+ add rcx,qword ptr [rsp+24]
next_b_in_element:
dec rbx
jne next_a_in_element
- mov rbx,qword ptr 8[rsp]
- sub rdx,qword ptr 16[rsp]
+ mov rbx,qword ptr [rsp+8]
+ sub rdx,qword ptr [rsp+16]
next_a_in_element:
st_reorder_lp:
cmp rdx,rcx
@@ -2907,25 +2907,25 @@ st_reorder_lp:
compacting_collector:
/* zero all mark bits */
- mov rax,qword ptr heap_p3[rip]
+ mov rax,qword ptr [rip+heap_p3]
neg rax
- mov qword ptr neg_heap_p3[rip],rax
+ mov qword ptr [rip+neg_heap_p3],rax
- mov qword ptr stack_top[rip],rsi
+ mov qword ptr [rip+stack_top],rsi
- mov rdi,qword ptr heap_vector[rip]
+ mov rdi,qword ptr [rip+heap_vector]
- test byte ptr _flags[rip],64
+ test byte ptr [rip+_flags],64
je no_mark4
- cmp qword ptr zero_bits_before_mark[rip],0
+ cmp qword ptr [rip+zero_bits_before_mark],0
je no_zero_bits
- mov qword ptr zero_bits_before_mark[rip],0
+ mov qword ptr [rip+zero_bits_before_mark],0
no_mark4:
mov rbp,rdi
- mov rax,qword ptr heap_size_65[rip]
+ mov rax,qword ptr [rip+heap_size_65]
add rax,3
shr rax,2
@@ -2947,21 +2947,21 @@ zero_bits_1:
zero_bits_4:
mov dword ptr [rbp],ebx
- mov dword ptr 4[rbp],ebx
+ mov dword ptr [rbp+4],ebx
zero_bits_2:
- mov dword ptr 8[rbp],ebx
- mov dword ptr 12[rbp],ebx
+ mov dword ptr [rbp+8],ebx
+ mov dword ptr [rbp+12],ebx
add rbp,16
zero_bits_5:
sub rax,1
att_jnc zero_bits_4
- test byte ptr _flags[rip],64
+ test byte ptr [rip+_flags],64
je no_mark5
no_zero_bits:
- mov rax,qword ptr n_last_heap_free_bytes[rip]
- mov rbx,qword ptr n_free_words_after_mark[rip]
+ mov rax,qword ptr [rip+n_last_heap_free_bytes]
+ mov rbx,qword ptr [rip+n_free_words_after_mark]
shl rbx,3
mov rbp,rbx
@@ -2972,13 +2972,13 @@ no_zero_bits:
cmp rax,rbp
jg compact_gc
- mov rbx,qword ptr bit_vector_size[rip]
+ mov rbx,qword ptr [rip+bit_vector_size]
shl rbx,3
sub rax,rbx
neg rax
- imul qword ptr _heap_size_multiple[rip]
+ imul qword ptr [rip+_heap_size_multiple]
shrd rax,rdx,7
shr rdx,7
jne no_smaller_heap
@@ -2991,7 +2991,7 @@ no_zero_bits:
att_jmp compact_gc
no_smaller_heap:
- test qword ptr _flags[rip],4096
+ test qword ptr [rip+_flags],4096
jne pmark
.include "amark.s"
@@ -2999,26 +2999,26 @@ no_smaller_heap:
.include "amark_prefetch.s"
compact_gc:
- mov qword ptr zero_bits_before_mark[rip],1
- mov qword ptr n_last_heap_free_bytes[rip],0
- mov qword ptr n_free_words_after_mark[rip],1000
+ mov qword ptr [rip+zero_bits_before_mark],1
+ mov qword ptr [rip+n_last_heap_free_bytes],0
+ mov qword ptr [rip+n_free_words_after_mark],1000
no_mark5:
.include "acompact.s"
- mov rsi,qword ptr stack_top[rip]
+ mov rsi,qword ptr [rip+stack_top]
- mov rbx,qword ptr heap_size_65[rip]
+ mov rbx,qword ptr [rip+heap_size_65]
shl rbx,6
- add rbx,qword ptr heap_p3[rip]
+ add rbx,qword ptr [rip+heap_p3]
- mov qword ptr heap_end_after_gc[rip],rbx
+ mov qword ptr [rip+heap_end_after_gc],rbx
sub rbx,rdi
shr rbx,3
- sub rbx,qword ptr n_allocated_words[rip]
+ sub rbx,qword ptr [rip+n_allocated_words]
mov r15,rbx
att_jc out_of_memory_4_1
@@ -3026,21 +3026,21 @@ no_mark5:
shl rax,2
add rax,rbx
shl rax,4
- cmp rax,qword ptr _heap_size[rip]
+ cmp rax,qword ptr [rip+_heap_size]
att_jc out_of_memory_4_2
- test byte ptr _flags[rip],64
+ test byte ptr [rip+_flags],64
je no_mark_6
- mov rax,qword ptr neg_heap_p3[rip]
+ mov rax,qword ptr [rip+neg_heap_p3]
add rax,rdi
- mov rbx,qword ptr n_allocated_words[rip]
+ mov rbx,qword ptr [rip+n_allocated_words]
lea rax,[rax+rbx*8]
- mov rbx,qword ptr heap_size_65[rip]
+ mov rbx,qword ptr [rip+heap_size_65]
shl rbx,6
- imul qword ptr _heap_size_multiple[rip]
+ imul qword ptr [rip+_heap_size_multiple]
shrd rax,rdx,8
shr rdx,8
jne no_small_heap2
@@ -3055,7 +3055,7 @@ not_too_small2:
sub rcx,rax
att_jb no_small_heap2
- sub qword ptr heap_end_after_gc[rip],rcx
+ sub qword ptr [rip+heap_end_after_gc],rcx
shr rcx,3
sub r15,rcx
@@ -3063,7 +3063,7 @@ not_too_small2:
no_small_heap2:
shr rbx,3
- mov qword ptr bit_vector_size[rip],rbx
+ mov qword ptr [rip+bit_vector_size],rbx
no_mark_6:
jmp no_copy_garbage_collection
@@ -3072,16 +3072,16 @@ no_copy_garbage_collection:
att_call add_compact_garbage_collect_time
mov rax,rdi
- sub rax,qword ptr heap_p3[rip]
+ sub rax,qword ptr [rip+heap_p3]
- add qword ptr total_compact_gc_bytes[rip],rax
+ add qword ptr [rip+total_compact_gc_bytes],rax
mov rax,rdi
- sub rax,qword ptr heap_p3[rip]
- mov rbx,qword ptr n_allocated_words[rip]
+ sub rax,qword ptr [rip+heap_p3]
+ mov rbx,qword ptr [rip+n_allocated_words]
lea rax,[rax+rbx*8]
- lea rcx,heap_use_after_compact_gc_string_1[rip]
+ lea rcx,[rip+heap_use_after_compact_gc_string_1]
att_jmp end_garbage_collect
.globl clean_exception_handler_
@@ -3105,18 +3105,18 @@ no_stack_overflow_exception:
ret
guard_page_or_access_violation_exception:
- mov rax,qword ptr 16[rax]
+ mov rax,qword ptr [rax+16]
and rax,-4096
- cmp qword ptr a_stack_guard_page[rip],rax
+ cmp qword ptr [rip+a_stack_guard_page],rax
att_jne no_stack_overflow_exception
- cmp qword ptr a_stack_guard_page[rip],0
+ cmp qword ptr [rip+a_stack_guard_page],0
att_je no_stack_overflow_exception
stack_overflow_exception:
- mov rax,qword ptr 8[rcx]
- lea rax,stack_overflow[rip]
- mov qword ptr (0x0F8)[rax],rax
+ mov rax,qword ptr [rcx+8]
+ lea rax,[rip+stack_overflow]
+ mov qword ptr [rax+0x0F8],rax
mov rax,-1
ret
@@ -3124,7 +3124,7 @@ stack_overflow_exception:
stack_overflow:
att_call add_execute_time
- lea rbp,stack_overflow_string[rip]
+ lea rbp,[rip+stack_overflow_string]
att_jmp print_error
_IO_error:
@@ -3133,7 +3133,7 @@ _IO_error:
.if LINUX
mov rbx,rdi
- lea rdi,IO_error_string[rip]
+ lea rdi,[rip+IO_error_string]
.else
mov rbx,rcx
sub rsp,32
@@ -3149,7 +3149,7 @@ _IO_error:
att_call _ew_print_string
.if LINUX
- lea rdi,new_line_string[rip]
+ lea rdi,[rip+new_line_string]
.else
lea rcx,new_line_string
.endif
@@ -3171,34 +3171,34 @@ print_error:
mov rsp,rbp
halt:
- mov rsp,halt_sp[rip]
+ mov rsp,[rip+halt_sp]
.if PROFILE
call write_profile_stack
.endif
- mov qword ptr _execution_aborted[rip],1
+ mov qword ptr [rip+_execution_aborted],1
- cmp qword ptr dll_initisialised[rip],0
+ cmp qword ptr [rip+dll_initisialised],0
.if LINUX
att_je exit_
.else
je exit
.endif
.if LINUX
- cmp dword ptr _return_code[rip],0
+ cmp dword ptr [rip+_return_code],0
.else
cmp qword ptr return_code,0
.endif
jne return_code_set
.if LINUX
- mov dword ptr _return_code[rip],-1
+ mov dword ptr [rip+_return_code],-1
.else
mov qword ptr return_code,-1
.endif
return_code_set:
.if LINUX
- mov edi,dword ptr _return_code[rip]
+ mov edi,dword ptr [rip+_return_code]
and rsp,-16
att_call _exit
.else
@@ -3215,59 +3215,59 @@ eval_fill:
mov rcx,rdx
call qword ptr [rdx]
mov rdx,rcx
- mov rcx,(-8)[rsi]
+ mov rcx,[rsi-8]
sub rsi,8
mov rbp,[rdx]
mov [rcx],rbp
- mov rbp,8[rdx]
- mov 8[rcx],rbp
- mov rbp,16[rdx]
- mov 16[rcx],rbp
+ mov rbp,[rdx+8]
+ mov [rcx+8],rbp
+ mov rbp,[rdx+16]
+ mov [rcx+16],rbp
ret
.align 2
- lea rax,e__system__eaind[rip]
+ lea rax,[rip+e__system__eaind]
jmp rax
.byte 0,0,0
.long 0x80000000 /* e__system__dind */
.long -2
e__system__nind:
__indirection:
- mov rdx,8[rcx]
+ mov rdx,[rcx+8]
mov rax,[rdx]
test al,2
je eval_fill2
mov [rcx],rax
- mov rbp,8[rdx]
- mov 8[rcx],rbp
- mov rbp,16[rdx]
- mov 16[rcx],rbp
+ mov rbp,[rdx+8]
+ mov [rcx+8],rbp
+ mov rbp,[rdx+16]
+ mov [rcx+16],rbp
ret
eval_fill2:
- lea r9,__cycle__in__spine[rip]
+ lea r9,[rip+__cycle__in__spine]
mov qword ptr [rcx],r9
mov qword ptr [rsi],rcx
- test byte ptr _flags[rip],64
+ test byte ptr [rip+_flags],64
att_je __cycle__in__spine
add rsi,8
mov rcx,rdx
call rax
mov rdx,rcx
- mov rcx,qword ptr (-8)[rsi]
+ mov rcx,qword ptr [rsi-8]
sub rsi,8
mov rbp,[rdx]
mov [rcx],rbp
- mov rbp,8[rdx]
- mov 8[rcx],rbp
- mov rbp,16[rdx]
- mov 16[rcx],rbp
+ mov rbp,[rdx+8]
+ mov [rcx+8],rbp
+ mov rbp,[rdx+16]
+ mov [rcx+16],rbp
ret
.if PROFILE
@@ -3275,9 +3275,9 @@ eval_fill2:
mov rbp,rax
.endif
eval_upd_0:
- lea r8,__indirection[rip]
+ lea r8,[rip+__indirection]
mov qword ptr [rdx],r8
- mov 8[rdx],rcx
+ mov [rdx+8],rcx
jmp rbp
.if PROFILE
@@ -3285,10 +3285,10 @@ eval_upd_0:
mov rbp,rax
.endif
eval_upd_1:
- lea r8,__indirection[rip]
+ lea r8,[rip+__indirection]
mov qword ptr [rdx],r8
- mov rax,8[rdx]
- mov 8[rdx],rcx
+ mov rax,[rdx+8]
+ mov [rdx+8],rcx
mov rdx,rax
jmp rbp
@@ -3297,11 +3297,11 @@ eval_upd_1:
mov rbp,rax
.endif
eval_upd_2:
- lea r8,__indirection[rip]
+ lea r8,[rip+__indirection]
mov qword ptr [rdx],r8
- mov r8,8[rdx]
- mov 8[rdx],rcx
- mov rdx,16[rdx]
+ mov r8,[rdx+8]
+ mov [rdx+8],rcx
+ mov rdx,[rdx+16]
jmp rbp
.if PROFILE
@@ -3309,14 +3309,14 @@ eval_upd_2:
mov rbp,rax
.endif
eval_upd_3:
- lea r8,__indirection[rip]
+ lea r8,[rip+__indirection]
mov qword ptr [rdx],r8
- mov r8,8[rdx]
- mov 8[rdx],rcx
+ mov r8,[rdx+8]
+ mov [rdx+8],rcx
mov [rsi],rcx
- mov rcx,24[rdx]
+ mov rcx,[rdx+24]
add rsi,8
- mov rdx,16[rdx]
+ mov rdx,[rdx+16]
jmp rbp
.if PROFILE
@@ -3324,16 +3324,16 @@ eval_upd_3:
mov rbp,rax
.endif
eval_upd_4:
- lea r8,__indirection[rip]
+ lea r8,[rip+__indirection]
mov qword ptr [rdx],r8
- mov r8,8[rdx]
- mov 8[rdx],rcx
+ mov r8,[rdx+8]
+ mov [rdx+8],rcx
mov [rsi],rcx
- mov rbx,32[rdx]
- mov 8[rsi],rbx
- mov rcx,24[rdx]
+ mov rbx,[rdx+32]
+ mov [rsi+8],rbx
+ mov rcx,[rdx+24]
add rsi,16
- mov rdx,16[rdx]
+ mov rdx,[rdx+16]
jmp rbp
.if PROFILE
@@ -3341,18 +3341,18 @@ eval_upd_4:
mov rbp,rax
.endif
eval_upd_5:
- lea r8,__indirection[rip]
+ lea r8,[rip+__indirection]
mov qword ptr [rdx],r8
- mov r8,8[rdx]
+ mov r8,[rdx+8]
mov [rsi],rcx
- mov 8[rdx],rcx
- mov rbx,40[rdx]
- mov 8[rsi],rbx
- mov rbx,32[rdx]
- mov 16[rsi],rbx
- mov rcx,24[rdx]
+ mov [rdx+8],rcx
+ mov rbx,[rdx+40]
+ mov [rsi+8],rbx
+ mov rbx,[rdx+32]
+ mov [rsi+16],rbx
+ mov rcx,[rdx+24]
add rsi,24
- mov rdx,16[rdx]
+ mov rdx,[rdx+16]
jmp rbp
.if PROFILE
@@ -3360,20 +3360,20 @@ eval_upd_5:
mov rbp,rax
.endif
eval_upd_6:
- lea r8,__indirection[rip]
+ lea r8,[rip+__indirection]
mov qword ptr [rdx],r8
- mov r8,8[rdx]
+ mov r8,[rdx+8]
mov [rsi],rcx
- mov 8[rdx],rcx
- mov rbx,48[rdx]
- mov 8[rsi],rbx
- mov rbx,40[rdx]
- mov 16[rsi],rbx
- mov rbx,32[rdx]
- mov 24[rsi],rbx
- mov rcx,24[rdx]
+ mov [rdx+8],rcx
+ mov rbx,[rdx+48]
+ mov [rsi+8],rbx
+ mov rbx,[rdx+40]
+ mov [rsi+16],rbx
+ mov rbx,[rdx+32]
+ mov [rsi+24],rbx
+ mov rcx,[rdx+24]
add rsi,32
- mov rdx,16[rdx]
+ mov rdx,[rdx+16]
jmp rbp
.if PROFILE
@@ -3384,30 +3384,30 @@ eval_upd_7:
mov rax,0
mov rbx,40
eval_upd_n:
- lea r8,__indirection[rip]
+ lea r8,[rip+__indirection]
mov qword ptr [rdx],r8
- mov r8,8[rdx]
+ mov r8,[rdx+8]
mov [rsi],rcx
- mov 8[rdx],rcx
+ mov [rdx+8],rcx
add rdx,rbx
- mov rbx,16[rdx ]
- mov 8[rsi],rbx
- mov rbx,8[rdx]
- mov 16[rsi],rbx
+ mov rbx,[rdx +16]
+ mov [rsi+8],rbx
+ mov rbx,[rdx+8]
+ mov [rsi+16],rbx
mov rbx,[rdx]
- mov 24[rsi],rbx
+ mov [rsi+24],rbx
add rsi,32
eval_upd_n_lp:
- mov rbx,(-8)[rdx]
+ mov rbx,[rdx-8]
sub rdx,8
mov [rsi],rbx
add rsi,8
sub rax,1
att_jnc eval_upd_n_lp
- mov rcx,(-8)[rdx]
- mov rdx,(-16)[rdx ]
+ mov rcx,[rdx-8]
+ mov rdx,[rdx -16]
jmp rbp
.if PROFILE
@@ -3640,9 +3640,9 @@ eval_upd_32:
/* */
catAC:
- mov rax,8[rcx]
- mov rbx,8[rdx]
- lea rbp,16+7[rax+rbx]
+ mov rax,[rcx+8]
+ mov rbx,[rdx+8]
+ lea rbp,[rax+rbx+16+7]
shr rbp,3
sub r15,rbp
jl gc_3
@@ -3653,18 +3653,18 @@ gc_r_3:
/* fill_node */
mov r8,rdi
- lea rbp,__STRING__+2[rip]
+ lea rbp,[rip+__STRING__+2]
mov qword ptr [rdi],rbp
/* store length */
lea rbp,[rax+rbx]
- mov 8[rdi],rbp
+ mov [rdi+8],rbp
add rdi,16
/* copy string 1 */
- lea rbp,7[rbx]
+ lea rbp,[rbx+7]
shr rbp,3
add rbx,rdi
@@ -3724,11 +3724,11 @@ gc_3: att_call collect_2
att_jmp gc_r_3
empty_string:
- lea rcx,zero_length_string[rip]
+ lea rcx,[rip+zero_length_string]
ret
sliceAC:
- mov rbp,8[rcx]
+ mov rbp,[rcx+8]
test rbx,rbx
jns slice_string_1
xor rbx,rbx
@@ -3744,18 +3744,18 @@ slice_string_1:
slice_string_2:
sub rax,rbx
- lea rbp,(16+7)[rax]
+ lea rbp,[rax+16+7]
shr rbp,3
sub r15,rbp
jl gc_4
r_gc_4:
sub rbp,2
- lea rdx,16[rcx+rbx]
+ lea rdx,[rcx+rbx+16]
- lea rcx,__STRING__+2[rip]
+ lea rcx,[rip+__STRING__+2]
mov qword ptr [rdi],rcx
- mov 8[rdi],rax
+ mov [rdi+8],rax
/* copy part of string */
mov rcx,rbp
@@ -3772,12 +3772,12 @@ r_gc_4:
gc_4:
mov rbp,rdx
att_call collect_1
- lea rbp,(16+7)[rax]
+ lea rbp,[rax+16+7]
shr rbp,3
att_jmp r_gc_4
updateAC:
- mov rbp,8[rcx]
+ mov rbp,[rcx+8]
cmp rbx,rbp
jae update_string_error
@@ -3787,17 +3787,17 @@ updateAC:
sub r15,rbp
jl gc_5
r_gc_5:
- mov rbp,8[rcx]
+ mov rbp,[rcx+8]
add rbp,7
shr rbp,3
mov rdx,rcx
mov r8,rdi
- lea rcx,__STRING__+2[rip]
+ lea rcx,[rip+__STRING__+2]
mov qword ptr [rdi],rcx
- mov rcx,8[rdx]
+ mov rcx,[rdx+8]
add rdx,16
- mov 8[rdi],rcx
+ mov [rdi+8],rcx
add rdi,16
add rbx,rdi
@@ -3816,16 +3816,16 @@ gc_5: att_call collect_1
att_jmp r_gc_5
update_string_error:
- lea rbp,high_index_string[rip]
+ lea rbp,[rip+high_index_string]
test rax,rax
jns update_string_error_2
- lea rbp,low_index_string[rip]
+ lea rbp,[rip+low_index_string]
update_string_error_2:
att_jmp print_error
eqAC:
- mov rax,8[rcx]
- cmp rax,8[rdx]
+ mov rax,[rcx+8]
+ cmp rax,[rdx+8]
jne equal_string_ne
add rcx,16
add rdx,16
@@ -3871,8 +3871,8 @@ equal_string_ne:
ret
cmpAC:
- mov rbx,8[rcx]
- mov rbp,8[rdx]
+ mov rbx,[rcx+8]
+ mov rbp,[rdx+8]
add rcx,16
add rdx,16
cmp rbp,rbx
@@ -3911,8 +3911,8 @@ cmp_string_w:
mov bpl,byte ptr [rdx]
cmp bpl,byte ptr [rcx]
jne cmp_string_ne
- mov bpl,byte ptr 1[rdx]
- cmp bpl,byte ptr 1[rcx]
+ mov bpl,byte ptr [rdx+1]
+ cmp bpl,byte ptr [rcx+1]
att_jne cmp_string_ne
add rdx,2
add rcx,2
@@ -3947,7 +3947,7 @@ string_to_string_node:
mov rax,qword ptr [rcx]
add rcx,8
- lea rbx,16+7[rax]
+ lea rbx,[rax+16+7]
shr rbx,3
sub r15,rbx
@@ -3955,9 +3955,9 @@ string_to_string_node:
string_to_string_node_r:
sub rbx,2
- lea rbp,__STRING__+2[rip]
+ lea rbp,[rip+__STRING__+2]
mov qword ptr [rdi],rbp
- mov qword ptr 8[rdi],rax
+ mov qword ptr [rdi+8],rax
mov rbp,rdi
add rdi,16
jmp string_to_string_node_4
@@ -3982,19 +3982,19 @@ string_to_string_node_gc:
int_array_to_node:
- mov rax,qword ptr -16[rcx]
- lea rbx,3[rax]
+ mov rax,qword ptr [rcx-16]
+ lea rbx,[rax+3]
sub r15,rbx
jl int_array_to_node_gc
int_array_to_node_r:
- lea rbx,__ARRAY__+2[rip]
+ lea rbx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rbx
mov rdx,rcx
- mov qword ptr 8[rdi],rax
+ mov qword ptr [rdi+8],rax
mov rcx,rdi
- lea rbx,dINT+2[rip]
- mov qword ptr 16[rdi],rbx
+ lea rbx,[rip+dINT+2]
+ mov qword ptr [rdi+16],rbx
add rdi,24
jmp int_or_real_array_to_node_4
@@ -4017,19 +4017,19 @@ int_array_to_node_gc:
real_array_to_node:
- mov rax,qword ptr -16[rcx]
- lea rbx,3[rax]
+ mov rax,qword ptr [rcx-16]
+ lea rbx,[rax+3]
sub r15,rbx
jl real_array_to_node_gc
real_array_to_node_r:
- lea rbx,__ARRAY__+2[rip]
+ lea rbx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rbx
mov rdx,rcx
- mov qword ptr 8[rdi],rax
+ mov qword ptr [rdi+8],rax
mov rcx,rdi
- lea rbx,REAL+2[rip]
- mov qword ptr 16[rdi],rbx
+ lea rbx,[rip+REAL+2]
+ mov qword ptr [rdi+16],rbx
add rdi,24
att_jmp int_or_real_array_to_node_4
@@ -4145,11 +4145,11 @@ _create_arrayB:
att_call collect_0
no_collect_4574:
mov rcx,rdi
- lea rdx,__ARRAY__+2[rip]
+ lea rdx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rbx
- lea rdx,BOOL+2[rip]
- mov qword ptr 16[rdi],rdx
+ mov qword ptr [rdi+8],rbx
+ lea rdx,[rip+BOOL+2]
+ mov qword ptr [rdi+16],rdx
lea rdi,[rdi+rax*8]
ret
@@ -4162,25 +4162,25 @@ _create_arrayC:
att_call collect_0
no_collect_4573:
mov rcx,rdi
- lea rdx,__STRING__+2[rip]
+ lea rdx,[rip+__STRING__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rbx
+ mov qword ptr [rdi+8],rbx
lea rdi,[rdi+rax*8]
ret
_create_arrayI:
- lea rbp,3[rax]
+ lea rbp,[rax+3]
sub r15,rbp
jge no_collect_4572
att_call collect_0
no_collect_4572:
mov rcx,rdi
- lea rdx,__ARRAY__+2[rip]
+ lea rdx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rax
- lea rbp,dINT+2[rip]
- mov qword ptr 16[rdi],rbp
- lea rdi,24[rdi+rax*8]
+ mov qword ptr [rdi+8],rax
+ lea rbp,[rip+dINT+2]
+ mov qword ptr [rdi+16],rbp
+ lea rdi,[rdi+rax*8+24]
ret
_create_arrayI32:
@@ -4192,27 +4192,27 @@ _create_arrayI32:
att_call collect_0
no_collect_3572:
mov rcx,rdi
- lea rdx,__ARRAY__+2[rip]
+ lea rdx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rbx
- lea rdx,INT32+2[rip]
- mov qword ptr 16[rdi],rdx
+ mov qword ptr [rdi+8],rbx
+ lea rdx,[rip+INT32+2]
+ mov qword ptr [rdi+16],rdx
lea rdi,[rdi+rax*8]
ret
_create_arrayR:
- lea rbp,3[rax]
+ lea rbp,[rax+3]
sub r15,rbp
jge no_collect_4580
att_call collect_0
no_collect_4580:
mov rcx,rdi
- lea rdx,__ARRAY__+2[rip]
+ lea rdx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rax
- lea rdx,REAL+2[rip]
- mov qword ptr 16[rdi],rdx
- lea rdi,24[rdi+rax*8]
+ mov qword ptr [rdi+8],rax
+ lea rdx,[rip+REAL+2]
+ mov qword ptr [rdi+16],rdx
+ lea rdi,[rdi+rax*8+24]
ret
_create_arrayR32:
@@ -4224,11 +4224,11 @@ _create_arrayR32:
att_call collect_0
no_collect_3580:
mov rcx,rdi
- lea rdx,__ARRAY__+2[rip]
+ lea rdx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rax
- lea rdx,REAL32+2[rip]
- mov qword ptr 16[rdi],rdx
+ mov qword ptr [rdi+8],rax
+ lea rdx,[rip+REAL32+2]
+ mov qword ptr [rdi+16],rdx
lea rdi,[rdi+rax*8]
ret
@@ -4243,12 +4243,12 @@ _create_r_array:
jge no_collect_4586
att_call collect_1
no_collect_4586:
- lea rdx,__ARRAY__+2[rip]
+ lea rdx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rdx
mov rdx,rcx
- mov qword ptr 8[rdi],rax
+ mov qword ptr [rdi+8],rax
mov rcx,rdi
- mov qword ptr 16[rdi],rbx
+ mov qword ptr [rdi+16],rbx
add rdi,24
test r11,r11
@@ -4282,7 +4282,7 @@ _create_r_array_2:
jmp _st_fillr2_array
_fillr2_array:
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rdx
+ mov qword ptr [rdi+8],rdx
add rdi,r10
_st_fillr2_array:
sub rax,1
@@ -4294,8 +4294,8 @@ _create_r_array_3:
jmp _st_fillr3_array
_fillr3_array:
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rdx
- mov qword ptr 16[rdi],rdx
+ mov qword ptr [rdi+8],rdx
+ mov qword ptr [rdi+16],rdx
add rdi,r10
_st_fillr3_array:
sub rax,1
@@ -4307,9 +4307,9 @@ _create_r_array_4:
jmp _st_fillr4_array
_fillr4_array:
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rdx
- mov qword ptr 16[rdi],rdx
- mov qword ptr 24[rdi],rdx
+ mov qword ptr [rdi+8],rdx
+ mov qword ptr [rdi+16],rdx
+ mov qword ptr [rdi+24],rdx
add rdi,r10
_st_fillr4_array:
sub rax,1
@@ -4325,9 +4325,9 @@ _create_r_array_5:
_fillr5_array:
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rdx
- mov qword ptr 16[rdi],rdx
- mov qword ptr 24[rdi],rdx
+ mov qword ptr [rdi+8],rdx
+ mov qword ptr [rdi+16],rdx
+ mov qword ptr [rdi+24],rdx
add rdi,32
mov rbx,r11
@@ -4363,11 +4363,11 @@ no_collect_4575:
shl rbp,32
or rax,rbp
mov rcx,rdi
- lea rdx,__ARRAY__+2[rip]
+ lea rdx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],r10
- lea rdx,BOOL+2[rip]
- mov qword ptr 16[rdi],rdx
+ mov qword ptr [rdi+8],r10
+ lea rdx,[rip+BOOL+2]
+ mov qword ptr [rdi+16],rdx
add rdi,24
jmp create_arrayBCI
@@ -4390,9 +4390,9 @@ no_collect_4578:
shl rbp,32
or rax,rbp
mov rcx,rdi
- lea rdx,__STRING__+2[rip]
+ lea rdx,[rip+__STRING__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],r10
+ mov qword ptr [rdi+8],r10
add rdi,16
att_jmp create_arrayBCI
@@ -4405,11 +4405,11 @@ create_arrayI32:
att_call collect_0
no_collect_3577:
mov rcx,rdi
- lea rdx,__ARRAY__+2[rip]
+ lea rdx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],r10
- lea rdx,INT32+2[rip]
- mov qword ptr 16[rdi],rdx
+ mov qword ptr [rdi+8],r10
+ lea rdx,[rip+INT32+2]
+ mov qword ptr [rdi+16],rdx
add rdi,24
sub rbx,3
@@ -4420,17 +4420,17 @@ no_collect_3577:
att_jmp create_arrayBCI
create_arrayI:
- lea rbp,3[rbx]
+ lea rbp,[rbx+3]
sub r15,rbp
jge no_collect_4577
att_call collect_0
no_collect_4577:
mov rcx,rdi
- lea rbp,__ARRAY__+2[rip]
+ lea rbp,[rip+__ARRAY__+2]
mov qword ptr [rdi],rbp
- mov qword ptr 8[rdi],rbx
- lea rbp,dINT+2[rip]
- mov qword ptr 16[rdi],rbp
+ mov qword ptr [rdi+8],rbx
+ lea rbp,[rip+dINT+2]
+ mov qword ptr [rdi+16],rbp
add rdi,24
create_arrayBCI:
mov rdx,rbx
@@ -4444,7 +4444,7 @@ create_arrayBCI:
filli_array:
mov qword ptr [rdi],rax
- mov qword ptr 8[rdi],rax
+ mov qword ptr [rdi+8],rax
add rdi,16
st_filli_array:
sub rbx,1
@@ -4454,21 +4454,21 @@ st_filli_array:
create_arrayR32:
cvtsd2ss xmm0,xmm0
- movss dword ptr (-8)[rsp],xmm0
+ movss dword ptr [rsp-8],xmm0
mov r10,rax
add rax,6+1
shr rax,1
- mov ebx,dword ptr (-8)[rsp]
+ mov ebx,dword ptr [rsp-8]
sub r15,rax
jge no_collect_3579
att_call collect_0
no_collect_3579:
mov rcx,rdi
- lea rdx,__ARRAY__+2[rip]
+ lea rdx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],r10
- lea rdx,REAL32+2[rip]
- mov qword ptr 16[rdi],rdx
+ mov qword ptr [rdi+8],r10
+ lea rdx,[rip+REAL32+2]
+ mov qword ptr [rdi+16],rdx
add rdi,24
sub rax,3
@@ -4479,21 +4479,21 @@ no_collect_3579:
jmp st_fillr_array
create_arrayR:
- movsd qword ptr (-8)[rsp],xmm0
- lea rbp,3[rax]
+ movsd qword ptr [rsp-8],xmm0
+ lea rbp,[rax+3]
- mov rbx,qword ptr (-8)[rsp]
+ mov rbx,qword ptr [rsp-8]
sub r15,rbp
jge no_collect_4579
att_call collect_0
no_collect_4579:
mov rcx,rdi
- lea rdx,__ARRAY__+2[rip]
+ lea rdx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rax
- lea rdx,REAL+2[rip]
- mov qword ptr 16[rdi],rdx
+ mov qword ptr [rdi+8],rax
+ lea rdx,[rip+REAL+2]
+ mov qword ptr [rdi+16],rdx
add rdi,24
att_jmp st_fillr_array
fillr_array:
@@ -4506,17 +4506,17 @@ st_fillr_array:
ret
create_array:
- lea rbp,3[rax]
+ lea rbp,[rax+3]
sub r15,rbp
jge no_collect_4576
att_call collect_1
no_collect_4576:
mov rbx,rcx
mov rcx,rdi
- lea rdx,__ARRAY__+2[rip]
+ lea rdx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rax
- mov qword ptr 16[rdi],0
+ mov qword ptr [rdi+8],rax
+ mov qword ptr [rdi+16],0
add rdi,24
jmp fillr1_array
@@ -4537,26 +4537,26 @@ create_R_array:
jmp create_R_array_5
create_R_array_1:
- lea rbp,3[rax]
+ lea rbp,[rax+3]
sub r15,rbp
jge no_collect_4581
att_call collect_0
no_collect_4581:
mov rcx,rdi
- lea rdx,__ARRAY__+2[rip]
+ lea rdx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rax
- mov qword ptr 16[rdi],rbx
+ mov qword ptr [rdi+8],rax
+ mov qword ptr [rdi+16],rbx
add rdi,24
test r11,r11
je r_array_1_b
- mov rbx,qword ptr (-8)[rsi]
+ mov rbx,qword ptr [rsi-8]
att_jmp fillr1_array
r_array_1_b:
- mov rbx,qword ptr 8[rsp]
+ mov rbx,qword ptr [rsp+8]
fillr1_array:
mov rdx,rax
@@ -4570,7 +4570,7 @@ fillr1_array:
fillr1_array_lp:
mov qword ptr [rdi],rbx
- mov qword ptr 8[rdi],rbx
+ mov qword ptr [rdi+8],rbx
add rdi,16
st_fillr1_array_1:
sub rax,1
@@ -4579,37 +4579,37 @@ st_fillr1_array_1:
ret
create_R_array_2:
- lea rbp,3[rax*2]
+ lea rbp,[rax*2+3]
sub r15,rbp
jge no_collect_4582
att_call collect_0
no_collect_4582:
mov rcx,rdi
- lea rdx,__ARRAY__+2[rip]
+ lea rdx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rax
- mov qword ptr 16[rdi],rbx
+ mov qword ptr [rdi+8],rax
+ mov qword ptr [rdi+16],rbx
add rdi,24
sub r11,1
jc r_array_2_bb
je r_array_2_ab
r_array_2_aa:
- mov rbx,qword ptr (-8)[rsi]
- mov rbp,qword ptr (-16)[rsi]
+ mov rbx,qword ptr [rsi-8]
+ mov rbp,qword ptr [rsi-16]
jmp st_fillr2_array
r_array_2_ab:
- mov rbx,qword ptr (-8)[rsi]
- mov rbp,qword ptr 8[rsp]
+ mov rbx,qword ptr [rsi-8]
+ mov rbp,qword ptr [rsp+8]
att_jmp st_fillr2_array
r_array_2_bb:
- mov rbx,qword ptr 8[rsp]
- mov rbp,qword ptr 16[rsp]
+ mov rbx,qword ptr [rsp+8]
+ mov rbp,qword ptr [rsp+16]
att_jmp st_fillr2_array
fillr2_array_1:
mov qword ptr [rdi],rbx
- mov qword ptr 8[rdi],rbp
+ mov qword ptr [rdi+8],rbp
add rdi,16
st_fillr2_array:
sub rax,1
@@ -4618,16 +4618,16 @@ st_fillr2_array:
ret
create_R_array_3:
- lea rbp,3[rax+rax*2]
+ lea rbp,[rax+rax*2+3]
sub r15,rbp
jge no_collect_4583
att_call collect_0
no_collect_4583:
mov rcx,rdi
- lea rdx,__ARRAY__+2[rip]
+ lea rdx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rax
- mov qword ptr 16[rdi],rbx
+ mov qword ptr [rdi+8],rax
+ mov qword ptr [rdi+16],rbx
add rdi,24
pop rdx
@@ -4636,7 +4636,7 @@ no_collect_4583:
test r11,r11
je r_array_3
- lea r13,0[r11*8]
+ lea r13,[r11*8+0]
mov rbp,rsi
sub rbp,r13
@@ -4650,8 +4650,8 @@ copy_a_to_b_lp3:
r_array_3:
mov rbx,qword ptr [rsp]
- mov r13,qword ptr 8[rsp]
- mov rbp,qword ptr 16[rsp]
+ mov r13,qword ptr [rsp+8]
+ mov rbp,qword ptr [rsp+16]
mov rsp,r12
push rdx
@@ -4660,8 +4660,8 @@ r_array_3:
fillr3_array_1:
mov qword ptr [rdi],rbx
- mov qword ptr 8[rdi],r13
- mov qword ptr 16[rdi],rbp
+ mov qword ptr [rdi+8],r13
+ mov qword ptr [rdi+16],rbp
add rdi,24
st_fillr3_array:
sub rax,1
@@ -4670,16 +4670,16 @@ st_fillr3_array:
ret
create_R_array_4:
- lea rbp,3[rax*4]
+ lea rbp,[rax*4+3]
sub r15,rbp
jge no_collect_4584
att_call collect_0
no_collect_4584:
mov rcx,rdi
- lea rdx,__ARRAY__+2[rip]
+ lea rdx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rdx
- mov qword ptr 8[rdi],rax
- mov qword ptr 16[rdi],rbx
+ mov qword ptr [rdi+8],rax
+ mov qword ptr [rdi+16],rbx
add rdi,24
pop rdx
@@ -4688,7 +4688,7 @@ no_collect_4584:
test r11,r11
je r_array_4
- lea r13,0[r11*8]
+ lea r13,[r11*8+0]
mov rbp,rsi
sub rbp,r13
sub r11,1
@@ -4701,9 +4701,9 @@ copy_a_to_b_lp4:
r_array_4:
mov rbx,qword ptr [rsp]
- mov r13,qword ptr 8[rsp]
- mov r14,qword ptr 16[rsp]
- mov rbp,qword ptr 24[rsp]
+ mov r13,qword ptr [rsp+8]
+ mov r14,qword ptr [rsp+16]
+ mov rbp,qword ptr [rsp+24]
mov rsp,r12
push rdx
@@ -4712,9 +4712,9 @@ r_array_4:
fillr4_array:
mov qword ptr [rdi],rbx
- mov qword ptr 8[rdi],r13
- mov qword ptr 16[rdi],r14
- mov qword ptr 24[rdi],rbp
+ mov qword ptr [rdi+8],r13
+ mov qword ptr [rdi+16],r14
+ mov qword ptr [rdi+24],rbp
add rdi,32
st_fillr4_array:
sub rax,1
@@ -4723,7 +4723,7 @@ st_fillr4_array:
ret
create_R_array_5:
- lea r12,4[r10]
+ lea r12,[r10+4]
mov rbp,rax
imul rbp,r12
add rbp,3
@@ -4731,10 +4731,10 @@ create_R_array_5:
jge no_collect_4585
att_call collect_0
no_collect_4585:
- lea rcx,__ARRAY__+2[rip]
+ lea rcx,[rip+__ARRAY__+2]
mov qword ptr [rdi],rcx
- mov qword ptr 8[rdi],rax
- mov qword ptr 16[rdi],rbx
+ mov qword ptr [rdi+8],rax
+ mov qword ptr [rdi+16],rbx
mov rcx,rdi
add rdi,24
@@ -4744,7 +4744,7 @@ no_collect_4585:
test r11,r11
je r_array_5
- lea r13,0[r11*8]
+ lea r13,[r11*8+0]
mov rbp,rsi
sub rbp,r13
sub r11,1
@@ -4757,9 +4757,9 @@ copy_a_to_b_lp5:
r_array_5:
mov r13,qword ptr [rsp]
- mov r14,qword ptr 8[rsp]
- mov r8,qword ptr 16[rsp]
- mov r9,qword ptr 24[rsp]
+ mov r14,qword ptr [rsp+8]
+ mov r8,qword ptr [rsp+16]
+ mov r9,qword ptr [rsp+24]
add rsp,32
sub r10,1
@@ -4767,13 +4767,13 @@ r_array_5:
fillr5_array_1:
mov qword ptr [rdi],r13
- mov qword ptr 8[rdi],r14
+ mov qword ptr [rdi+8],r14
mov r11,rsp
mov rbx,r10
- mov qword ptr 16[rdi],r8
- mov qword ptr 24[rdi],r9
+ mov qword ptr [rdi+16],r8
+ mov qword ptr [rdi+24],r9
add rdi,32
copy_elem_lp5:
@@ -4795,21 +4795,21 @@ st_fillr5_array:
yet_args_needed:
/* for more than 4 arguments */
mov r10,[rdx]
- movzx rax,word ptr (-2)[r10]
+ movzx rax,word ptr [r10-2]
add rax,3
sub r15,rax
jl gc_1
gc_r_1: sub rax,3+1+4
- mov rbx,8[rdx]
+ mov rbx,[rdx+8]
add r10,8
- mov rdx,16[rdx]
+ mov rdx,[rdx+16]
mov rbp,rdi
mov r8,[rdx]
mov [rdi],r8
- mov r8,8[rdx]
- mov 8[rdi],r8
- mov r8,16[rdx]
- mov 16[rdi],r8
+ mov r8,[rdx+8]
+ mov [rdi+8],r8
+ mov r8,[rdx+16]
+ mov [rdi+16],r8
add rdx,24
add rdi,24
@@ -4821,10 +4821,10 @@ cp_a: mov r8,[rdx]
jge cp_a
mov [rdi],rcx
- mov 8[rdi],r10
- lea rcx,8[rdi]
- mov 16[rdi],rbx
- mov 24[rdi],rbp
+ mov [rdi+8],r10
+ lea rcx,[rdi+8]
+ mov [rdi+16],rbx
+ mov [rdi+24],rbp
add rdi,32
ret
@@ -4836,7 +4836,7 @@ yet_args_needed_0:
sub r15,2
jl gc_20
gc_r_20:
- mov 8[rdi],rcx
+ mov [rdi+8],rcx
mov rax,[rdx]
mov rcx,rdi
add rax,8
@@ -4852,13 +4852,13 @@ yet_args_needed_1:
sub r15,3
jl gc_21
gc_r_21:
- mov 16[rdi],rcx
+ mov [rdi+16],rcx
mov rax,[rdx]
mov rcx,rdi
add rax,8
mov [rdi],rax
- mov rbx,8[rdx]
- mov 8[rdi],rbx
+ mov rbx,[rdx+8]
+ mov [rdi+8],rbx
add rdi,24
ret
@@ -4871,15 +4871,15 @@ yet_args_needed_2:
jl gc_22
gc_r_22:
mov rax,[rdx]
- mov 8[rdi],rcx
+ mov [rdi+8],rcx
add rax,8
- mov rbp,8[rdx]
- mov 16[rdi],rax
- lea rcx,16[rdi]
- mov 24[rdi],rbp
- mov rbp,16[rdx]
+ mov rbp,[rdx+8]
+ mov [rdi+16],rax
+ lea rcx,[rdi+16]
+ mov [rdi+24],rbp
+ mov rbp,[rdx+16]
mov [rdi],rbp
- mov 32[rdi],rdi
+ mov [rdi+32],rdi
add rdi,40
ret
@@ -4892,18 +4892,18 @@ yet_args_needed_3:
jl gc_23
gc_r_23:
mov rax,[rdx]
- mov 16[rdi],rcx
+ mov [rdi+16],rcx
add rax,8
- mov rbp,8[rdx]
- mov 24[rdi],rax
- mov rdx,16[rdx]
- mov 32[rdi],rbp
+ mov rbp,[rdx+8]
+ mov [rdi+24],rax
+ mov rdx,[rdx+16]
+ mov [rdi+32],rbp
mov rbp,[rdx]
- mov 40[rdi],rdi
+ mov [rdi+40],rdi
mov [rdi],rbp
- mov rbp,8[rdx]
- lea rcx,24[rdi]
- mov 8[rdi],rbp
+ mov rbp,[rdx+8]
+ lea rcx,[rdi+24]
+ mov [rdi+8],rbp
add rdi,48
ret
@@ -4916,20 +4916,20 @@ yet_args_needed_4:
jl gc_24
gc_r_24:
mov rax,[rdx]
- mov 24[rdi],rcx
+ mov [rdi+24],rcx
add rax,8
- mov rbp,8[rdx]
- mov 32[rdi],rax
- mov rdx,16[rdx]
- mov 40[rdi],rbp
+ mov rbp,[rdx+8]
+ mov [rdi+32],rax
+ mov rdx,[rdx+16]
+ mov [rdi+40],rbp
mov rbp,[rdx]
- mov 48[rdi],rdi
+ mov [rdi+48],rdi
mov [rdi],rbp
- mov rbp,8[rdx]
- lea rcx,32[rdi]
- mov 8[rdi],rbp
- mov rbp,16[rdx ]
- mov 16[rdi],rbp
+ mov rbp,[rdx+8]
+ lea rcx,[rdi+32]
+ mov [rdi+8],rbp
+ mov rbp,[rdx +16]
+ mov [rdi+16],rbp
add rdi,56
ret
@@ -4945,7 +4945,7 @@ repl_args_b:
dec rax
je repl_args_b_4
- mov rdx,16[rcx]
+ mov rdx,[rcx+16]
sub rbx,2
jne repl_args_b_2
@@ -4957,7 +4957,7 @@ repl_args_b_2:
lea rdx,[rdx+rax*8]
repl_args_b_3:
- mov rbp,(-8)[rdx]
+ mov rbp,[rdx-8]
sub rdx,8
mov [rsi],rbp
add rsi,8
@@ -4965,7 +4965,7 @@ repl_args_b_3:
att_jne repl_args_b_3
repl_args_b_4:
- mov rbp,8[rcx]
+ mov rbp,[rcx+8]
mov [rsi],rbp
add rsi,8
repl_args_b_1:
@@ -4978,7 +4978,7 @@ push_arg_b:
cmp rbx,rax
att_je push_arg_b_1
push_arg_b_2:
- mov rcx,16[rcx]
+ mov rcx,[rcx+16]
sub rbx,2
push_arg_b_1:
mov rcx,[rcx+rbx*8]
@@ -4987,26 +4987,26 @@ push_arg_b_1:
del_args:
mov rbx,[rcx]
sub rbx,rax
- movsx rax,word ptr (-2)[rbx]
+ movsx rax,word ptr [rbx-2]
sub rax,2
jge del_args_2
mov [rdx],rbx
- mov rbp,8[rcx]
- mov 8[rdx],rbp
- mov rbp,16[rcx]
- mov 16[rdx],rbp
+ mov rbp,[rcx+8]
+ mov [rdx+8],rbp
+ mov rbp,[rcx+16]
+ mov [rdx+16],rbp
ret
del_args_2:
jne del_args_3
mov [rdx],rbx
- mov rbp,8[rcx]
- mov 8[rdx],rbp
- mov rbp,16[rcx]
+ mov rbp,[rcx+8]
+ mov [rdx+8],rbp
+ mov rbp,[rcx+16]
mov rbp,[rbp]
- mov 16[rdx],rbp
+ mov [rdx+16],rbp
ret
del_args_3:
@@ -5014,10 +5014,10 @@ del_args_3:
jl del_args_gc
del_args_r_gc:
mov [rdx],rbx
- mov 16[rdx],rdi
- mov rbp,8[rcx]
- mov rcx,16[rcx]
- mov 8[rdx],rbp
+ mov [rdx+16],rdi
+ mov rbp,[rcx+8]
+ mov rcx,[rcx+16]
+ mov [rdx+8],rbp
del_args_copy_args:
mov rbp,[rcx]
@@ -5094,13 +5094,13 @@ _c_entier:
entier_real:
cvttsd2si rax,xmm0
- ucomisd xmm0,qword ptr real_0_0[rip]
+ ucomisd xmm0,qword ptr [rip+real_0_0]
jb entier_real_m
ret
entier_real_m:
- movsd qword ptr (-8)[rsp],xmm0
- mov rcx,qword ptr (-8)[rsp]
+ movsd qword ptr [rsp-8],xmm0
+ mov rcx,qword ptr [rsp-8]
mov rbx,rcx
shr rcx,52
cmp rcx,0x0bff
@@ -5124,7 +5124,7 @@ r_to_i_real:
getheapend:
lea rbx,[rdi+r15*8]
- mov rax,heap_end_after_gc[rip]
+ mov rax,[rip+heap_end_after_gc]
ret
.include "areals.s"