2008-11-07 21:33:32 -05:00
|
|
|
! Copyright (C) 2008 Slava Pestov.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2009-10-28 14:38:27 -04:00
|
|
|
USING: bootstrap.image.private cpu.x86.assembler
|
|
|
|
cpu.x86.assembler.operands kernel layouts namespaces parser
|
|
|
|
sequences system vocabs ;
|
2008-11-07 21:33:32 -05:00
|
|
|
IN: bootstrap.x86
|
|
|
|
|
2011-12-13 18:13:32 -05:00
|
|
|
: leaf-stack-frame-size ( -- n ) 2 bootstrap-cells ;
|
2011-12-13 22:31:59 -05:00
|
|
|
: signal-handler-stack-frame-size ( -- n ) 20 bootstrap-cells ;
|
2008-11-07 21:33:32 -05:00
|
|
|
: stack-frame-size ( -- n ) 4 bootstrap-cells ;
|
2010-01-02 07:03:30 -05:00
|
|
|
: nv-regs ( -- seq ) { RBX R12 R13 R14 R15 } ;
|
2011-10-24 17:26:58 -04:00
|
|
|
: volatile-regs ( -- seq ) { RAX RCX RDX RSI RDI R8 R9 R10 R11 } ;
|
2009-09-23 14:45:18 -04:00
|
|
|
: arg1 ( -- reg ) RDI ;
|
2009-08-19 14:02:12 -04:00
|
|
|
: arg2 ( -- reg ) RSI ;
|
2009-12-15 07:20:09 -05:00
|
|
|
: arg3 ( -- reg ) RDX ;
|
2010-01-02 07:03:30 -05:00
|
|
|
: arg4 ( -- reg ) RCX ;
|
2011-11-03 14:57:23 -04:00
|
|
|
: red-zone-size ( -- n ) 128 ;
|
2008-11-07 21:33:32 -05:00
|
|
|
|
2010-04-05 19:06:51 -04:00
|
|
|
<< "vocab:cpu/x86/unix/bootstrap.factor" parse-file suffix! >> call
|
|
|
|
<< "vocab:cpu/x86/64/bootstrap.factor" parse-file suffix! >> call
|
|
|
|
<< "vocab:cpu/x86/bootstrap.factor" parse-file suffix! >> call
|