From 1157f58f371c0fc60164d93cffd4d8cff59666cb Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Wed, 1 Jul 2009 18:13:45 -0500 Subject: [PATCH] cpu.x86.32: don't emit sub %esp,0x0 in prologue on Linux and Windows --- basis/cpu/x86/32/32.factor | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/basis/cpu/x86/32/32.factor b/basis/cpu/x86/32/32.factor index 86cd53712d..96a99f4d5e 100755 --- a/basis/cpu/x86/32/32.factor +++ b/basis/cpu/x86/32/32.factor @@ -1,6 +1,6 @@ -! Copyright (C) 2005, 2008 Slava Pestov. +! Copyright (C) 2005, 2009 Slava Pestov. ! See http://factorcode.org/license.txt for BSD license. -USING: locals alien.c-types alien.syntax arrays kernel +USING: locals alien.c-types alien.syntax arrays kernel fry math namespaces sequences system layouts io vocabs.loader accessors init combinators command-line cpu.x86.assembler cpu.x86 cpu.architecture make compiler compiler.units @@ -97,13 +97,12 @@ M: float-regs store-return-reg align-stack incr-stack-reg ; : with-aligned-stack ( n quot -- ) - [ [ align-sub ] [ call ] bi* ] - [ [ align-add ] [ drop ] bi* ] 2bi ; inline + '[ align-sub @ ] [ align-add ] bi ; inline M: x86.32 %prologue ( n -- ) dup PUSH 0 PUSH rc-absolute-cell rel-this - stack-reg swap 3 cells - SUB ; + 3 cells - decr-stack-reg ; M: object %load-param-reg 3drop ;