factor/basis/cpu/x86/64/bootstrap.factor

40 lines
1.0 KiB
Factor
Raw Normal View History

! Copyright (C) 2007, 2009 Slava Pestov.
2007-09-21 23:30:47 -04:00
! See http://factorcode.org/license.txt for BSD license.
USING: bootstrap.image.private kernel namespaces system
layouts vocabs parser compiler.constants math
2009-10-28 14:38:27 -04:00
cpu.x86.assembler cpu.x86.assembler.operands sequences ;
2007-09-21 23:30:47 -04:00
IN: bootstrap.x86
2007-09-20 18:09:08 -04:00
8 \ cell set
2007-09-21 23:30:47 -04:00
: shift-arg ( -- reg ) RCX ;
: div-arg ( -- reg ) RAX ;
: mod-arg ( -- reg ) RDX ;
2008-12-09 18:14:17 -05:00
: temp0 ( -- reg ) RDI ;
: temp1 ( -- reg ) RSI ;
: temp2 ( -- reg ) RDX ;
: temp3 ( -- reg ) RBX ;
: safe-reg ( -- reg ) RAX ;
2008-06-11 05:52:19 -04:00
: stack-reg ( -- reg ) RSP ;
: ds-reg ( -- reg ) R14 ;
: rs-reg ( -- reg ) R15 ;
2008-06-11 05:52:19 -04:00
: fixnum>slot@ ( -- ) ;
: rex-length ( -- n ) 1 ;
2007-09-21 23:30:47 -04:00
[
! load stack_chain
temp0 0 MOV rc-absolute-cell rt-stack-chain jit-rel
2008-12-09 18:14:17 -05:00
temp0 temp0 [] MOV
! save stack pointer
temp0 [] stack-reg MOV
! load vm ptr
arg1 0 MOV rc-absolute-cell rt-vm jit-rel
! load XT
temp1 0 MOV rc-absolute-cell rt-primitive jit-rel
! go
temp1 JMP
] jit-primitive jit-define
2009-10-28 14:38:27 -04:00
<< "vocab:cpu/x86/bootstrap.factor" parse-file suffix! >>
call