finish elimination of list usage from x86 backend

cvs
Slava Pestov 2005-12-02 08:24:59 +00:00
parent fe991f4aee
commit 895de95355
3 changed files with 6 additions and 6 deletions

View File

@ -43,7 +43,7 @@ M: %dispatch generate-node ( vop -- )
! Add to jump table base
dup HEX: ffff ADD just-compiled >r 0 0 rel-address
! Jump to jump table entry
unit JMP
1array JMP
! Align for better performance
compile-aligned
! Fix up jump table pointer

View File

@ -11,7 +11,7 @@ M: %slot generate-node ( vop -- )
! compute slot address in 0 vop-out
dupd ADD
! load slot value in 0 vop-out
dup unit MOV ;
dup 1array MOV ;
M: %fast-slot generate-node ( vop -- )
dup 0 vop-in swap 0 vop-out v>operand tuck >r 2array r>
@ -33,7 +33,7 @@ M: %set-slot generate-node ( vop -- )
! compute slot address in 1 vop-in
dupd ADD
! store new slot value
>r 0 vop-in v>operand r> unit swap MOV ;
>r 0 vop-in v>operand r> 1array swap MOV ;
M: %fast-set-slot generate-node ( vop -- )
dup 2 vop-in over 1 vop-in v>operand
@ -44,9 +44,9 @@ M: %fast-set-slot generate-node ( vop -- )
M: %getenv generate-node ( vop -- )
dup 0 vop-out v>operand swap 0 vop-in
[ userenv@ unit MOV ] keep 0 rel-userenv ;
[ userenv@ 1array MOV ] keep 0 rel-userenv ;
M: %setenv generate-node ( vop -- )
dup 1 vop-in
[ userenv@ unit swap 0 vop-in v>operand MOV ] keep
[ userenv@ 1array swap 0 vop-in v>operand MOV ] keep
0 rel-userenv ;

View File

@ -27,7 +27,7 @@ M: %immediate generate-node ( vop -- )
dup 0 vop-out v>operand swap 0 vop-in address MOV ;
: load-indirect ( dest literal -- )
add-literal unit MOV 0 0 rel-address ;
add-literal 1array MOV 0 0 rel-address ;
M: %indirect generate-node ( vop -- )
#! indirect load of a literal through a table