cpu.x86.32: don't emit sub %esp,0x0 in prologue on Linux and Windows

db4
Slava Pestov 2009-07-01 18:13:45 -05:00
parent 7e3fa45512
commit 1157f58f37
1 changed files with 4 additions and 5 deletions

View File

@ -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 ;