compiler.cfg.builder.*: fix for tests that broke on windows
parent
2f12413595
commit
1b08ef3593
|
@ -3,7 +3,7 @@ compiler.cfg.builder.alien compiler.cfg.builder.alien.params
|
||||||
compiler.cfg.builder.blocks compiler.cfg.instructions
|
compiler.cfg.builder.blocks compiler.cfg.instructions
|
||||||
compiler.cfg.registers compiler.test compiler.tree.builder
|
compiler.cfg.registers compiler.test compiler.tree.builder
|
||||||
compiler.tree.optimizer cpu.architecture cpu.x86.assembler
|
compiler.tree.optimizer cpu.architecture cpu.x86.assembler
|
||||||
cpu.x86.assembler.operands kernel make namespaces sequences
|
cpu.x86.assembler.operands kernel literals make namespaces sequences
|
||||||
stack-checker.alien system tools.test words ;
|
stack-checker.alien system tools.test words ;
|
||||||
IN: compiler.cfg.builder.alien.tests
|
IN: compiler.cfg.builder.alien.tests
|
||||||
|
|
||||||
|
@ -43,13 +43,22 @@ IN: compiler.cfg.builder.alien.tests
|
||||||
|
|
||||||
! caller-parameters
|
! caller-parameters
|
||||||
cpu x86.64? [
|
cpu x86.64? [
|
||||||
{
|
${
|
||||||
|
os windows? [
|
||||||
|
V{
|
||||||
|
{ 1 int-rep RCX }
|
||||||
|
{ 2 float-rep XMM1 }
|
||||||
|
{ 3 double-rep XMM2 }
|
||||||
|
{ 4 int-rep R9 }
|
||||||
|
}
|
||||||
|
] [
|
||||||
V{
|
V{
|
||||||
{ 1 int-rep RDI }
|
{ 1 int-rep RDI }
|
||||||
{ 2 float-rep XMM0 }
|
{ 2 float-rep XMM0 }
|
||||||
{ 3 double-rep XMM1 }
|
{ 3 double-rep XMM1 }
|
||||||
{ 4 int-rep RSI }
|
{ 4 int-rep RSI }
|
||||||
}
|
}
|
||||||
|
] if
|
||||||
V{ }
|
V{ }
|
||||||
} [
|
} [
|
||||||
void { int float double char } cdecl f "func"
|
void { int float double char } cdecl f "func"
|
||||||
|
|
|
@ -22,7 +22,7 @@ HOOK: flatten-struct-type cpu ( type -- pairs )
|
||||||
HOOK: flatten-struct-type-return cpu ( type -- pairs )
|
HOOK: flatten-struct-type-return cpu ( type -- pairs )
|
||||||
|
|
||||||
M: object flatten-struct-type
|
M: object flatten-struct-type
|
||||||
heap-size cell align cell /i { int-rep f f } <repetition> ;
|
heap-size cell align cell /i { int-rep f f } <array> ;
|
||||||
|
|
||||||
M: struct-c-type flatten-c-type
|
M: struct-c-type flatten-c-type
|
||||||
flatten-struct-type ;
|
flatten-struct-type ;
|
||||||
|
|
|
@ -1,15 +1,10 @@
|
||||||
USING: alien compiler.cfg.builder.alien.params cpu.architecture
|
USING: alien compiler.cfg.builder.alien.params cpu.architecture
|
||||||
cpu.x86.assembler.operands kernel system tools.test ;
|
cpu.x86.assembler.operands kernel literals system tools.test ;
|
||||||
IN: compiler.cfg.builder.alien.params.tests
|
IN: compiler.cfg.builder.alien.params.tests
|
||||||
|
|
||||||
! next-reg-param
|
! next-reg-param
|
||||||
cpu x86.64? [
|
cpu x86.64? [
|
||||||
{
|
os windows? { RCX XMM1 XMM2 R9 } { RDI XMM0 XMM1 RSI } ? [
|
||||||
RDI
|
|
||||||
XMM0
|
|
||||||
XMM1
|
|
||||||
RSI
|
|
||||||
} [
|
|
||||||
cdecl param-regs init-regs
|
cdecl param-regs init-regs
|
||||||
f int-rep next-reg-param
|
f int-rep next-reg-param
|
||||||
f double-rep next-reg-param
|
f double-rep next-reg-param
|
||||||
|
|
Loading…
Reference in New Issue