1 ! Copyright (C) 2008 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel layouts system math alien.c-types sequences
4 compiler.cfg.registers cpu.architecture cpu.x86.assembler cpu.x86
5 cpu.x86.assembler.operands ;
8 M: int-regs param-regs drop { RCX RDX R8 R9 } ;
10 M: float-regs param-regs drop { XMM0 XMM1 XMM2 XMM3 } ;
12 M: x86.64 reserved-area-size 4 cells ;
14 M: x86.64 return-struct-in-registers? ( c-type -- ? )
15 heap-size { 1 2 4 8 } member? ;
17 M: x86.64 value-struct? heap-size { 1 2 4 8 } member? ;
19 M: x86.64 dummy-stack-params? f ;
21 M: x86.64 dummy-int-params? t ;
23 M: x86.64 dummy-fp-params? t ;
25 M: x86.64 temp-reg RAX ;
28 longlong ptrdiff_t typedef
29 longlong intptr_t typedef
30 int c-type long define-primitive-type
31 uint c-type ulong define-primitive-type