From 8aef16bed2855297aa4f3fbf8e006c887af52fee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Lindqvist?= Date: Mon, 1 Aug 2016 20:56:21 +0200 Subject: [PATCH] compiler.cfg.builder.alien.*: merge of with-param-regs and with-param-regs* --- basis/compiler/cfg/builder/alien/alien.factor | 10 ++++++---- basis/compiler/cfg/builder/alien/params/params.factor | 3 --- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/basis/compiler/cfg/builder/alien/alien.factor b/basis/compiler/cfg/builder/alien/alien.factor index 5bf75fd2ad..2f7a0f2664 100644 --- a/basis/compiler/cfg/builder/alien/alien.factor +++ b/basis/compiler/cfg/builder/alien/alien.factor @@ -9,8 +9,10 @@ compiler.tree cpu.architecture fry kernel layouts make math namespaces sequences sequences.generalizations words ; IN: compiler.cfg.builder.alien -: with-param-regs* ( quot -- reg-values stack-values ) +: with-param-regs ( abi quot -- reg-values stack-values ) '[ + param-regs init-regs + 0 stack-params set V{ } clone reg-values set V{ } clone stack-values set @ @@ -18,7 +20,7 @@ IN: compiler.cfg.builder.alien stack-values get stack-params get struct-return-area get - ] with-param-regs + ] with-scope struct-return-area set stack-params set ; inline @@ -47,7 +49,7 @@ IN: compiler.cfg.builder.alien _ unbox-parameters _ prepare-struct-caller struct-return-area set (caller-parameters) - ] with-param-regs* ; + ] with-param-regs ; : prepare-caller-return ( params -- reg-outputs dead-outputs ) return>> [ { } ] [ base-type load-return ] if-void { } ; @@ -137,7 +139,7 @@ M: #alien-assembly emit-node ( block node -- block' ) '[ _ prepare-struct-callee struct-return-area set _ [ base-type ] map (callee-parameters) - ] with-param-regs* ; + ] with-param-regs ; : callee-return ( params -- reg-inputs ) return>> [ { } ] [ diff --git a/basis/compiler/cfg/builder/alien/params/params.factor b/basis/compiler/cfg/builder/alien/params/params.factor index 6a0c521b77..7650430498 100644 --- a/basis/compiler/cfg/builder/alien/params/params.factor +++ b/basis/compiler/cfg/builder/alien/params/params.factor @@ -59,9 +59,6 @@ M: double-rep next-reg-param : init-regs ( regs -- ) [ >vector swap set ] assoc-each ; -: with-param-regs ( abi quot -- ) - '[ param-regs init-regs 0 stack-params set @ ] with-scope ; inline - SYMBOLS: stack-values reg-values ; :: next-parameter ( vreg rep on-stack? odd-register? -- )