From 1b08ef3593e2207cd093147fc31b469fd8ba8a12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Lindqvist?= Date: Fri, 5 Aug 2016 01:01:25 +0200 Subject: [PATCH] compiler.cfg.builder.*: fix for tests that broke on windows --- .../cfg/builder/alien/alien-tests.factor | 25 +++++++++++++------ .../cfg/builder/alien/boxing/boxing.factor | 2 +- .../builder/alien/params/params-tests.factor | 9 ++----- 3 files changed, 20 insertions(+), 16 deletions(-) diff --git a/basis/compiler/cfg/builder/alien/alien-tests.factor b/basis/compiler/cfg/builder/alien/alien-tests.factor index 0b38f05db4..cdc80868a1 100644 --- a/basis/compiler/cfg/builder/alien/alien-tests.factor +++ b/basis/compiler/cfg/builder/alien/alien-tests.factor @@ -3,7 +3,7 @@ compiler.cfg.builder.alien compiler.cfg.builder.alien.params compiler.cfg.builder.blocks compiler.cfg.instructions compiler.cfg.registers compiler.test compiler.tree.builder 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 ; IN: compiler.cfg.builder.alien.tests @@ -43,13 +43,22 @@ IN: compiler.cfg.builder.alien.tests ! caller-parameters cpu x86.64? [ - { - V{ - { 1 int-rep RDI } - { 2 float-rep XMM0 } - { 3 double-rep XMM1 } - { 4 int-rep RSI } - } + ${ + os windows? [ + V{ + { 1 int-rep RCX } + { 2 float-rep XMM1 } + { 3 double-rep XMM2 } + { 4 int-rep R9 } + } + ] [ + V{ + { 1 int-rep RDI } + { 2 float-rep XMM0 } + { 3 double-rep XMM1 } + { 4 int-rep RSI } + } + ] if V{ } } [ void { int float double char } cdecl f "func" diff --git a/basis/compiler/cfg/builder/alien/boxing/boxing.factor b/basis/compiler/cfg/builder/alien/boxing/boxing.factor index 49f06dc15d..e7713a09be 100644 --- a/basis/compiler/cfg/builder/alien/boxing/boxing.factor +++ b/basis/compiler/cfg/builder/alien/boxing/boxing.factor @@ -22,7 +22,7 @@ HOOK: flatten-struct-type cpu ( type -- pairs ) HOOK: flatten-struct-type-return cpu ( type -- pairs ) M: object flatten-struct-type - heap-size cell align cell /i { int-rep f f } ; + heap-size cell align cell /i { int-rep f f } ; M: struct-c-type flatten-c-type flatten-struct-type ; diff --git a/basis/compiler/cfg/builder/alien/params/params-tests.factor b/basis/compiler/cfg/builder/alien/params/params-tests.factor index ad90920852..ac362ad8c2 100644 --- a/basis/compiler/cfg/builder/alien/params/params-tests.factor +++ b/basis/compiler/cfg/builder/alien/params/params-tests.factor @@ -1,15 +1,10 @@ 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 ! next-reg-param cpu x86.64? [ - { - RDI - XMM0 - XMM1 - RSI - } [ + os windows? { RCX XMM1 XMM2 R9 } { RDI XMM0 XMM1 RSI } ? [ cdecl param-regs init-regs f int-rep next-reg-param f double-rep next-reg-param