cpu.x86.32: don't emit sub %esp,0x0 in prologue on Linux and Windows
parent
7e3fa45512
commit
1157f58f37
|
@ -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.
|
! 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
|
math namespaces sequences system layouts io vocabs.loader
|
||||||
accessors init combinators command-line cpu.x86.assembler
|
accessors init combinators command-line cpu.x86.assembler
|
||||||
cpu.x86 cpu.architecture make compiler compiler.units
|
cpu.x86 cpu.architecture make compiler compiler.units
|
||||||
|
@ -97,13 +97,12 @@ M: float-regs store-return-reg
|
||||||
align-stack incr-stack-reg ;
|
align-stack incr-stack-reg ;
|
||||||
|
|
||||||
: with-aligned-stack ( n quot -- )
|
: with-aligned-stack ( n quot -- )
|
||||||
[ [ align-sub ] [ call ] bi* ]
|
'[ align-sub @ ] [ align-add ] bi ; inline
|
||||||
[ [ align-add ] [ drop ] bi* ] 2bi ; inline
|
|
||||||
|
|
||||||
M: x86.32 %prologue ( n -- )
|
M: x86.32 %prologue ( n -- )
|
||||||
dup PUSH
|
dup PUSH
|
||||||
0 PUSH rc-absolute-cell rel-this
|
0 PUSH rc-absolute-cell rel-this
|
||||||
stack-reg swap 3 cells - SUB ;
|
3 cells - decr-stack-reg ;
|
||||||
|
|
||||||
M: object %load-param-reg 3drop ;
|
M: object %load-param-reg 3drop ;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue