Commit 8952630c authored by John van Groningen's avatar John van Groningen
Browse files

for 32 bit Intel use (rsi) instead of 0(rsi) (was optimisation for AMD K6)

parent 013b8333
...@@ -536,7 +536,7 @@ mark_next_node: ...@@ -536,7 +536,7 @@ mark_next_node:
je argument_part_cycle1 je argument_part_cycle1
movl 4(a3),a1 movl 4(a3),a1
movl a1,K6_0(a3) movl a1,(a3)
c_argument_part_cycle1: c_argument_part_cycle1:
cmpl a3,a0 cmpl a3,a0
...@@ -797,7 +797,7 @@ mark_parent: ...@@ -797,7 +797,7 @@ mark_parent:
subl $1,d1 subl $1,d1
je argument_part_parent je argument_part_parent
movl K6_0(a3),a2 movl (a3),a2
cmpl a3,a0 cmpl a3,a0
ja no_reverse_2 ja no_reverse_2
...@@ -808,14 +808,14 @@ mark_parent: ...@@ -808,14 +808,14 @@ mark_parent:
movl d0,(a1) movl d0,(a1)
no_reverse_2: no_reverse_2:
movl a0,K6_0(a3) movl a0,(a3)
leal -4(a3),a0 leal -4(a3),a0
movl a2,a3 movl a2,a3
jmp mark_next_node jmp mark_next_node
argument_part_parent: argument_part_parent:
movl K6_0(a3),a2 movl (a3),a2
movl a3,a1 movl a3,a1
movl a0,a3 movl a0,a3
...@@ -836,7 +836,7 @@ no_upward_pointer: ...@@ -836,7 +836,7 @@ no_upward_pointer:
ja no_reverse_3 ja no_reverse_3
movl a3,d1 movl a3,d1
movl K6_0(a3),a3 movl (a3),a3
leal 1(a0),d0 leal 1(a0),d0
movl d0,(d1) movl d0,(d1)
...@@ -849,7 +849,7 @@ no_reverse_3: ...@@ -849,7 +849,7 @@ no_reverse_3:
movl a3,a1 movl a3,a1
movl $3,d1 movl $3,d1
movl K6_0(a3),a2 movl (a3),a2
andl a2,d1 andl a2,d1
movl 4(a1),d0 movl 4(a1),d0
...@@ -906,7 +906,7 @@ mark_next_node_after_static: ...@@ -906,7 +906,7 @@ mark_next_node_after_static:
je argument_part_cycle2 je argument_part_cycle2
movl 4(a3),d0 movl 4(a3),d0
movl d0,K6_0(a3) movl d0,(a3)
c_argument_part_cycle2: c_argument_part_cycle2:
movl a0,4(a3) movl a0,4(a3)
...@@ -925,14 +925,14 @@ mark_parent_after_static: ...@@ -925,14 +925,14 @@ mark_parent_after_static:
subl $1,d1 subl $1,d1
je argument_part_parent_after_static je argument_part_parent_after_static
movl K6_0(a3),a2 movl (a3),a2
movl a0,K6_0(a3) movl a0,(a3)
leal -4(a3),a0 leal -4(a3),a0
movl a2,a3 movl a2,a3
jmp mark_next_node jmp mark_next_node
argument_part_parent_after_static: argument_part_parent_after_static:
movl K6_0(a3),a2 movl (a3),a2
movl a3,a1 movl a3,a1
movl a0,a3 movl a0,a3
......
...@@ -617,7 +617,7 @@ rmarkr_next_node: ...@@ -617,7 +617,7 @@ rmarkr_next_node:
je rmarkr_argument_part_cycle1 je rmarkr_argument_part_cycle1
movl 4(a3),a1 movl 4(a3),a1
movl a1,K6_0(a3) movl a1,(a3)
rmarkr_c_argument_part_cycle1: rmarkr_c_argument_part_cycle1:
cmpl a3,a0 cmpl a3,a0
...@@ -878,7 +878,7 @@ rmarkr_parent: ...@@ -878,7 +878,7 @@ rmarkr_parent:
subl $1,d1 subl $1,d1
je rmarkr_argument_part_parent je rmarkr_argument_part_parent
movl K6_0(a3),a2 movl (a3),a2
cmpl a3,a0 cmpl a3,a0
ja rmarkr_no_reverse_2 ja rmarkr_no_reverse_2
...@@ -889,14 +889,14 @@ rmarkr_parent: ...@@ -889,14 +889,14 @@ rmarkr_parent:
movl d0,(a1) movl d0,(a1)
rmarkr_no_reverse_2: rmarkr_no_reverse_2:
movl a0,K6_0(a3) movl a0,(a3)
leal -4(a3),a0 leal -4(a3),a0
movl a2,a3 movl a2,a3
jmp rmarkr_next_node jmp rmarkr_next_node
rmarkr_argument_part_parent: rmarkr_argument_part_parent:
movl K6_0(a3),a2 movl (a3),a2
movl a3,a1 movl a3,a1
movl a0,a3 movl a0,a3
...@@ -917,7 +917,7 @@ rmarkr_no_upward_pointer: ...@@ -917,7 +917,7 @@ rmarkr_no_upward_pointer:
ja rmarkr_no_reverse_3 ja rmarkr_no_reverse_3
movl a3,d1 movl a3,d1
movl K6_0(a3),a3 movl (a3),a3
leal 1(a0),d0 leal 1(a0),d0
movl d0,(d1) movl d0,(d1)
...@@ -930,7 +930,7 @@ rmarkr_no_reverse_3: ...@@ -930,7 +930,7 @@ rmarkr_no_reverse_3:
movl a3,a1 movl a3,a1
movl $3,d1 movl $3,d1
movl K6_0(a3),a2 movl (a3),a2
andl a2,d1 andl a2,d1
movl 4(a1),d0 movl 4(a1),d0
...@@ -987,7 +987,7 @@ rmarkr_next_node_after_static: ...@@ -987,7 +987,7 @@ rmarkr_next_node_after_static:
je rmarkr_argument_part_cycle2 je rmarkr_argument_part_cycle2
movl 4(a3),d0 movl 4(a3),d0
movl d0,K6_0(a3) movl d0,(a3)
rmarkr_c_argument_part_cycle2: rmarkr_c_argument_part_cycle2:
movl a0,4(a3) movl a0,4(a3)
...@@ -1006,14 +1006,14 @@ rmarkr_parent_after_static: ...@@ -1006,14 +1006,14 @@ rmarkr_parent_after_static:
subl $1,d1 subl $1,d1
je rmarkr_argument_part_parent_after_static je rmarkr_argument_part_parent_after_static
movl K6_0(a3),a2 movl (a3),a2
movl a0,K6_0(a3) movl a0,(a3)
leal -4(a3),a0 leal -4(a3),a0
movl a2,a3 movl a2,a3
jmp rmarkr_next_node jmp rmarkr_next_node
rmarkr_argument_part_parent_after_static: rmarkr_argument_part_parent_after_static:
movl K6_0(a3),a2 movl (a3),a2
movl a3,a1 movl a3,a1
movl a0,a3 movl a0,a3
...@@ -1054,7 +1054,7 @@ rmarkr_skip_pointer_list2: ...@@ -1054,7 +1054,7 @@ rmarkr_skip_pointer_list2:
end_rmarkr_after_static: end_rmarkr_after_static:
movl (sp),a3 movl (sp),a3
addl $8,sp addl $8,sp
movl a0,K6_0(a3) movl a0,(a3)
jmp rmarkr_next_stack_node jmp rmarkr_next_stack_node
end_rmarkr: end_rmarkr:
...@@ -1070,7 +1070,7 @@ end_rmarkr: ...@@ -1070,7 +1070,7 @@ end_rmarkr:
movl d0,(a1) movl d0,(a1)
rmark_no_reverse_4: rmark_no_reverse_4:
movl a0,K6_0(a3) movl a0,(a3)
rmarkr_next_stack_node: rmarkr_next_stack_node:
cmpl end_stack,sp cmpl end_stack,sp
......
...@@ -1612,8 +1612,8 @@ __mark_next_node: ...@@ -1612,8 +1612,8 @@ __mark_next_node:
jne __mark_parent jne __mark_parent
movl -4(a3),a2 movl -4(a3),a2
movl K6_0(a3),a1 movl (a3),a1
movl a0,K6_0(a3) movl a0,(a3)
movl a1,-4(a3) movl a1,-4(a3)
subl $4,a3 subl $4,a3
...@@ -1629,8 +1629,8 @@ __mark_parent: ...@@ -1629,8 +1629,8 @@ __mark_parent:
je __end_mark_using_reversal je __end_mark_using_reversal
andl $3,d1 andl $3,d1
movl K6_0(a3),a2 movl (a3),a2
movl a0,K6_0(a3) movl a0,(a3)
subl $1,d1 subl $1,d1
je __argument_part_parent je __argument_part_parent
...@@ -1843,9 +1843,9 @@ fits__in__word__14: ...@@ -1843,9 +1843,9 @@ fits__in__word__14:
lea (a1,d1,4),a3 lea (a1,d1,4),a3
movl (a1),d0 movl (a1),d0
orl $1,d0 orl $1,d0
movl K6_0(a3),a2 movl (a3),a2
movl d0,(a1) movl d0,(a1)
movl a0,K6_0(a3) movl a0,(a3)
movl a2,a0 movl a2,a0
jmp __mark_node jmp __mark_node
......
...@@ -1405,7 +1405,7 @@ mul_array_size_lp: ...@@ -1405,7 +1405,7 @@ mul_array_size_lp:
push_a_elements_lp: push_a_elements_lp:
movl -4(a0),d0 movl -4(a0),d0
subl $4,a0 subl $4,a0
movl d0,K6_0(a3) movl d0,(a3)
addl $4,a3 addl $4,a3
push_a_elements: push_a_elements:
subl $1,d1 subl $1,d1
...@@ -1437,7 +1437,7 @@ push_t_r_args: ...@@ -1437,7 +1437,7 @@ push_t_r_args:
movzwl 2(a1),d1 movzwl 2(a1),d1
addl $4,a1 addl $4,a1
movl a1,K6_0(a3) movl a1,(a3)
movl d1,4(a3) movl d1,4(a3)
subl d0,d1 subl d0,d1
...@@ -1466,7 +1466,7 @@ push_r_b_elements: ...@@ -1466,7 +1466,7 @@ push_r_b_elements:
movl 4(a3),d1 movl 4(a3),d1
pushl a2 pushl a2
pushl K6_0(a3) pushl (a3)
jmp push_r_a_elements jmp push_r_a_elements
push_r_a_elements_lp: push_r_a_elements_lp:
...@@ -1474,13 +1474,13 @@ push_r_a_elements_lp: ...@@ -1474,13 +1474,13 @@ push_r_a_elements_lp:
jne not_first_arg_a jne not_first_arg_a
movl (a0),a2 movl (a0),a2
movl a2,K6_0(a3) movl a2,(a3)
addl $4,a3 addl $4,a3
jmp push_r_a_elements jmp push_r_a_elements
not_first_arg_a: not_first_arg_a:
movl -4(a1),a2 movl -4(a1),a2
subl $4,a1 subl $4,a1
movl a2,K6_0(a3) movl a2,(a3)
addl $4,a3 addl $4,a3
push_r_a_elements: push_r_a_elements:
subl $1,d1 subl $1,d1
...@@ -1919,7 +1919,7 @@ collect_2l: ...@@ -1919,7 +1919,7 @@ collect_2l:
call profile_s call profile_s
popl a2 popl a2
#endif #endif
mov a0,K6_0(a3) mov a0,(a3)
mov a1,4(a3) mov a1,4(a3)
add $8,a3 add $8,a3
call collect_0l_ call collect_0l_
...@@ -1939,7 +1939,7 @@ collect_1l: ...@@ -1939,7 +1939,7 @@ collect_1l:
call profile_s call profile_s
popl a2 popl a2
#endif #endif
mov a0,K6_0(a3) mov a0,(a3)
add $4,a3 add $4,a3
call collect_0l_ call collect_0l_
mov -4(a3),a0 mov -4(a3),a0
...@@ -1955,7 +1955,7 @@ collect_2: ...@@ -1955,7 +1955,7 @@ collect_2:
movl $garbage_collector_name,a2 movl $garbage_collector_name,a2
call profile_s call profile_s
#endif #endif
mov a0,K6_0(a3) mov a0,(a3)
mov a1,4(a3) mov a1,4(a3)
add $8,a3 add $8,a3
call collect_0_ call collect_0_
...@@ -1973,7 +1973,7 @@ collect_1: ...@@ -1973,7 +1973,7 @@ collect_1:
movl $garbage_collector_name,a2 movl $garbage_collector_name,a2
call profile_s call profile_s
#endif #endif
mov a0,K6_0(a3) mov a0,(a3)
add $4,a3 add $4,a3
call collect_0_ call collect_0_
mov -4(a3),a0 mov -4(a3),a0
...@@ -2962,7 +2962,7 @@ return_code_set: ...@@ -2962,7 +2962,7 @@ return_code_set:
e__system__eaind: e__system__eaind:
__eaind: __eaind:
eval_fill: eval_fill:
mov a0,K6_0(a3) mov a0,(a3)
add $4,a3 add $4,a3
mov a1,a0 mov a1,a0
call *(a1) call *(a1)
...@@ -3004,7 +3004,7 @@ __indirection: ...@@ -3004,7 +3004,7 @@ __indirection:
#ifdef MARK_GC #ifdef MARK_GC
eval_fill2: eval_fill2:
movl $__cycle__in__spine,(a0) movl $__cycle__in__spine,(a0)
movl a0,K6_0(a3) movl a0,(a3)
# ifdef MARK_AND_COPY_GC # ifdef MARK_AND_COPY_GC
testb $64,@flags testb $64,@flags
je __cycle__in__spine je __cycle__in__spine
...@@ -3065,7 +3065,7 @@ eval_upd_2: ...@@ -3065,7 +3065,7 @@ eval_upd_2:
movl $e__system__nind,(a1) movl $e__system__nind,(a1)
mov 4(a1),d0 mov 4(a1),d0
mov a0,4(a1) mov a0,4(a1)
mov a0,K6_0(a3) mov a0,(a3)
add $4,a3 add $4,a3
mov 8(a1),a0 mov 8(a1),a0
mov d0,a1 mov d0,a1
...@@ -3083,7 +3083,7 @@ eval_upd_3: ...@@ -3083,7 +3083,7 @@ eval_upd_3:
movl $e__system__nind,(a1) movl $e__system__nind,(a1)
mov 4(a1),d0 mov 4(a1),d0
mov a0,4(a1) mov a0,4(a1)
mov a0,K6_0(a3) mov a0,(a3)
mov 12(a1),d1 mov 12(a1),d1
mov d1,4(a3) mov d1,4(a3)
add $8,a3 add $8,a3
...@@ -3103,7 +3103,7 @@ eval_upd_4: ...@@ -3103,7 +3103,7 @@ eval_upd_4:
movl $e__system__nind,(a1) movl $e__system__nind,(a1)
mov 4(a1),d0 mov 4(a1),d0
mov a0,4(a1) mov a0,4(a1)
mov a0,K6_0(a3) mov a0,(a3)
mov 16(a1),d1 mov 16(a1),d1
mov d1,4(a3) mov d1,4(a3)
mov 12(a1),d1 mov 12(a1),d1
...@@ -3124,7 +3124,7 @@ eval_upd_4: ...@@ -3124,7 +3124,7 @@ eval_upd_4:
eval_upd_5: eval_upd_5:
movl $e__system__nind,(a1) movl $e__system__nind,(a1)
mov 4(a1),d0 mov 4(a1),d0
mov a0,K6_0(a3) mov a0,(a3)
mov a0,4(a1) mov a0,4(a1)
mov 20(a1),d1 mov 20(a1),d1
mov d1,4(a3) mov d1,4(a3)
...@@ -3148,7 +3148,7 @@ eval_upd_5: ...@@ -3148,7 +3148,7 @@ eval_upd_5:
eval_upd_6: eval_upd_6:
movl $e__system__nind,(a1) movl $e__system__nind,(a1)
mov 4(a1),d0 mov 4(a1),d0
mov a0,K6_0(a3) mov a0,(a3)
mov a0,4(a1) mov a0,4(a1)
mov 24(a1),d1 mov 24(a1),d1
mov d1,4(a3) mov d1,4(a3)
...@@ -3177,7 +3177,7 @@ eval_upd_7: ...@@ -3177,7 +3177,7 @@ eval_upd_7:
eval_upd_n: eval_upd_n:
movl $e__system__nind,(a1) movl $e__system__nind,(a1)
push 4(a1) push 4(a1)
mov a0,K6_0(a3) mov a0,(a3)
mov a0,4(a1) mov a0,4(a1)
add d1,a1 add d1,a1
mov 8(a1),d1 mov 8(a1),d1
...@@ -3191,13 +3191,13 @@ eval_upd_n: ...@@ -3191,13 +3191,13 @@ eval_upd_n:
eval_upd_n_lp: eval_upd_n_lp:
mov -4(a1),d1 mov -4(a1),d1
sub $4,a1 sub $4,a1
mov d1,K6_0(a3) mov d1,(a3)
add $4,a3 add $4,a3
sub $1,d0 sub $1,d0
jnc eval_upd_n_lp jnc eval_upd_n_lp
mov -4(a1),d1 mov -4(a1),d1
mov d1,K6_0(a3) mov d1,(a3)
add $4,a3 add $4,a3
mov -8(a1),a0 mov -8(a1),a0
pop a1 pop a1
...@@ -4588,7 +4588,7 @@ copy_a_to_b_lp3: ...@@ -4588,7 +4588,7 @@ copy_a_to_b_lp3:
jnc copy_a_to_b_lp3 jnc copy_a_to_b_lp3
r_array_3: r_array_3:
movl a0,K6_0(a3) movl a0,(a3)
popl d1 popl d1
popl a0 popl a0
...@@ -4604,7 +4604,7 @@ st_fillr3_array: ...@@ -4604,7 +4604,7 @@ st_fillr3_array:
subl $1,d0 subl $1,d0
jnc fillr3_array_1 jnc fillr3_array_1
movl K6_0(a3),a0 movl (a3),a0
jmp *a1 jmp *a1
create_r_array_4: create_r_array_4:
...@@ -4650,7 +4650,7 @@ copy_a_to_b_lp4: ...@@ -4650,7 +4650,7 @@ copy_a_to_b_lp4:
r_array_4: r_array_4:
popl d1 popl d1
movl a0,K6_0(a3) movl a0,(a3)
movl a1,4(a3) movl a1,4(a3)
popl a0 popl a0
popl a1 popl a1
...@@ -4668,7 +4668,7 @@ st_fillr4_array: ...@@ -4668,7 +4668,7 @@ st_fillr4_array:
jnc fillr4_array jnc fillr4_array
movl 4(a3),a1 movl 4(a3),a1
movl K6_0(a3),a0 movl (a3),a0
jmp *a1 jmp *a1
create_r_array_5: create_r_array_5:
...@@ -4722,7 +4722,7 @@ copy_a_to_b_lp5: ...@@ -4722,7 +4722,7 @@ copy_a_to_b_lp5:
jnc copy_a_to_b_lp5 jnc copy_a_to_b_lp5
r_array_5: r_array_5:
movl a4,K6_0(a3) movl a4,(a3)
movl a1,4(a3) movl a1,4(a3)
addl $12,a4 addl $12,a4
...@@ -4739,7 +4739,7 @@ fillr5_array_1: ...@@ -4739,7 +4739,7 @@ fillr5_array_1:
lea 4(sp),a3 lea 4(sp),a3
pushl d0 pushl d0
movl K6_0(a3),a2 movl (a3),a2
movl a2,8(a4) movl a2,8(a4)
movl 4(a3),a2 movl 4(a3),a2
...@@ -4748,7 +4748,7 @@ fillr5_array_1: ...@@ -4748,7 +4748,7 @@ fillr5_array_1:
addl $16,a4 addl $16,a4
copy_elem_lp5: copy_elem_lp5:
movl