2008-11-07 21:33:32 -05:00
|
|
|
! Copyright (C) 2008 Slava Pestov.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2008-11-17 19:42:10 -05:00
|
|
|
USING: kernel layouts system math alien.c-types sequences
|
2008-11-08 22:40:47 -05:00
|
|
|
compiler.cfg.registers cpu.architecture cpu.x86.assembler cpu.x86 ;
|
2008-11-07 21:33:32 -05:00
|
|
|
IN: cpu.x86.64.winnt
|
|
|
|
|
|
|
|
M: int-regs param-regs drop { RCX RDX R8 R9 } ;
|
|
|
|
|
|
|
|
M: float-regs param-regs drop { XMM0 XMM1 XMM2 XMM3 } ;
|
|
|
|
|
|
|
|
M: x86.64 reserved-area-size 4 cells ;
|
|
|
|
|
2009-02-12 07:25:07 -05:00
|
|
|
M: x86.64 return-struct-in-registers? ( c-type -- ? )
|
|
|
|
heap-size { 1 2 4 8 } member? ;
|
2008-11-17 14:34:37 -05:00
|
|
|
|
|
|
|
M: x86.64 value-struct? heap-size { 1 2 4 8 } member? ;
|
2008-11-08 22:40:47 -05:00
|
|
|
|
|
|
|
M: x86.64 dummy-stack-params? f ;
|
|
|
|
|
|
|
|
M: x86.64 dummy-int-params? t ;
|
|
|
|
|
|
|
|
M: x86.64 dummy-fp-params? t ;
|
|
|
|
|
2008-11-30 09:05:36 -05:00
|
|
|
M: x86.64 temp-reg-1 RAX ;
|
|
|
|
|
|
|
|
M: x86.64 temp-reg-2 RCX ;
|
|
|
|
|
2008-11-07 21:33:32 -05:00
|
|
|
<<
|
|
|
|
"longlong" "ptrdiff_t" typedef
|
2008-11-17 19:42:10 -05:00
|
|
|
"longlong" "intptr_t" typedef
|
2008-11-24 17:28:56 -05:00
|
|
|
"int" c-type "long" define-primitive-type
|
|
|
|
"uint" c-type "ulong" define-primitive-type
|
2008-11-07 21:33:32 -05:00
|
|
|
>>
|