vm passed in primitives as arg0 for x86.64

db4
Phil Dawes 2009-09-07 07:15:10 +01:00
parent 480a15c2c3
commit 8a65f35c31
2 changed files with 6 additions and 5 deletions

View File

@ -21,9 +21,7 @@ IN: bootstrap.x86
: rex-length ( -- n ) 1 ;
[
! HACK: stash vm pointer above the ds stack
temp0 0 MOV rc-absolute-cell rt-vm jit-rel
ds-reg bootstrap-cell [+] temp0 MOV
! load stack_chain
temp0 0 MOV rc-absolute-cell rt-stack-chain jit-rel
temp0 temp0 [] MOV
@ -31,6 +29,8 @@ IN: bootstrap.x86
temp0 [] stack-reg MOV
! load XT
temp1 0 MOV rc-absolute-cell rt-primitive jit-rel
! load vm ptr
arg 0 MOV rc-absolute-cell rt-vm jit-rel
! go
temp1 JMP
] jit-primitive jit-define

View File

@ -79,10 +79,11 @@ DEF(long long,read_timestamp_counter,(void)):
or %rdx,%rax
ret
DEF(void,primitive_inline_cache_miss,(void)):
DEF(void,primitive_inline_cache_miss,(void *vm)):
mov (%rsp),%rbx
DEF(void,primitive_inline_cache_miss_tail,(void)):
DEF(void,primitive_inline_cache_miss_tail,(void *vm)):
sub $STACK_PADDING,%rsp
mov ARG0,ARG1
mov %rbx,ARG0
call MANGLE(inline_cache_miss)
add $STACK_PADDING,%rsp