]> gitweb.factorcode.org Git - factor.git/blob - basis/cpu/x86/64/winnt/bootstrap.factor
fuel.eval: some minor cleanup.
[factor.git] / basis / cpu / x86 / 64 / winnt / bootstrap.factor
1 ! Copyright (C) 2008 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: bootstrap.image.private kernel namespaces system layouts
4 vocabs sequences cpu.x86.assembler parser
5 cpu.x86.assembler.operands ;
6 IN: bootstrap.x86
7
8 DEFER: stack-reg
9
10 : stack-frame-size ( -- n ) 8 bootstrap-cells ;
11 : nv-regs ( -- seq ) { RBX RSI RDI R12 R13 R14 R15 } ;
12 : arg1 ( -- reg ) RCX ;
13 : arg2 ( -- reg ) RDX ;
14 : arg3 ( -- reg ) R8 ;
15 : arg4 ( -- reg ) R9 ;
16
17 : tib-segment ( -- ) GS ;
18 : tib-temp ( -- reg ) R11 ;
19
20 : jit-install-seh ( -- ) stack-reg bootstrap-cell ADD ;
21 : jit-update-seh ( ctx-reg -- ) drop ;
22
23 << "vocab:cpu/x86/winnt/bootstrap.factor" parse-file suffix! >> call
24 << "vocab:cpu/x86/64/bootstrap.factor" parse-file suffix! >> call
25 << "vocab:cpu/x86/bootstrap.factor" parse-file suffix! >> call