]> gitweb.factorcode.org Git - factor.git/blob - basis/cpu/x86/64/unix/bootstrap.factor
Store stack bounds in TIB on win64 to make C++ exceptions work
[factor.git] / basis / cpu / x86 / 64 / unix / bootstrap.factor
1 ! Copyright (C) 2008 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: bootstrap.image.private cpu.x86.assembler
4 cpu.x86.assembler.operands kernel layouts namespaces parser
5 sequences system vocabs ;
6 IN: bootstrap.x86
7
8 : stack-frame-size ( -- n ) 4 bootstrap-cells ;
9 : nv-regs ( -- seq ) { RBX R12 R13 R14 R15 } ;
10 : arg1 ( -- reg ) RDI ;
11 : arg2 ( -- reg ) RSI ;
12 : arg3 ( -- reg ) RDX ;
13 : arg4 ( -- reg ) RCX ;
14
15 << "vocab:cpu/x86/unix/bootstrap.factor" parse-file suffix! >> call
16 << "vocab:cpu/x86/64/bootstrap.factor" parse-file suffix! >> call
17 << "vocab:cpu/x86/bootstrap.factor" parse-file suffix! >> call