]> gitweb.factorcode.org Git - factor.git/blob - basis/bootstrap/assembler/x86.64.windows.factor
Switch to https urls
[factor.git] / basis / bootstrap / assembler / x86.64.windows.factor
1 ! Copyright (C) 2008 Slava Pestov.
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: cpu.x86.assembler cpu.x86.assembler.operands kernel
4 layouts parser sequences ;
5 IN: bootstrap.assembler.x86
6
7 DEFER: stack-reg
8
9 : stack-frame-size ( -- n ) 8 bootstrap-cells ;
10 : nv-regs ( -- seq ) { RBX RSI RDI R12 R13 R14 R15 } ;
11 : volatile-regs ( -- seq ) { RAX RCX RDX R8 R9 R10 R11 } ;
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 : red-zone-size ( -- n ) 0 ;
24
25 << "resource:basis/bootstrap/assembler/x86.windows.factor" parse-file suffix! >> call
26 << "resource:basis/bootstrap/assembler/x86.64.factor" parse-file suffix! >> call
27 << "resource:basis/bootstrap/assembler/x86.factor" parse-file suffix! >> call