compiler.cfg.stack-frame: using cfg get stack-frame>> instead of the
stack-frame variable that pointed to the same instancedb4
parent
5eec781b40
commit
b5333ec7aa
|
@ -15,5 +15,8 @@ IN: compiler.cfg.stack-frame.tests
|
||||||
{ spill-area-size 16 }
|
{ spill-area-size 16 }
|
||||||
} finalize-stack-frame
|
} finalize-stack-frame
|
||||||
[ spill-area-base>> ]
|
[ spill-area-base>> ]
|
||||||
[ stack-frame set 37 spill-offset ] bi
|
[
|
||||||
|
f f <basic-block> <cfg> swap >>stack-frame cfg set
|
||||||
|
37 spill-offset
|
||||||
|
] bi
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
! Copyright (C) 2009, 2010 Slava Pestov.
|
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: accessors kernel math namespaces ;
|
USING: accessors compiler.cfg kernel math namespaces ;
|
||||||
IN: compiler.cfg.stack-frame
|
IN: compiler.cfg.stack-frame
|
||||||
|
|
||||||
TUPLE: stack-frame
|
TUPLE: stack-frame
|
||||||
|
@ -15,10 +15,10 @@ TUPLE: stack-frame
|
||||||
{ spill-area-base integer } ;
|
{ spill-area-base integer } ;
|
||||||
|
|
||||||
: local-allot-offset ( n -- offset )
|
: local-allot-offset ( n -- offset )
|
||||||
stack-frame get allot-area-base>> + ;
|
cfg get stack-frame>> allot-area-base>> + ;
|
||||||
|
|
||||||
: spill-offset ( n -- offset )
|
: spill-offset ( n -- offset )
|
||||||
stack-frame get spill-area-base>> + ;
|
cfg get stack-frame>> spill-area-base>> + ;
|
||||||
|
|
||||||
: (stack-frame-size) ( stack-frame -- n )
|
: (stack-frame-size) ( stack-frame -- n )
|
||||||
[ spill-area-base>> ] [ spill-area-size>> ] bi + ;
|
[ spill-area-base>> ] [ spill-area-size>> ] bi + ;
|
||||||
|
|
|
@ -112,8 +112,7 @@ M: ##no-tco generate-insn drop ;
|
||||||
|
|
||||||
M: ##prologue generate-insn
|
M: ##prologue generate-insn
|
||||||
drop
|
drop
|
||||||
cfg get stack-frame>>
|
cfg get stack-frame>> [ total-size>> %prologue ] when* ;
|
||||||
[ [ stack-frame set ] [ total-size>> %prologue ] bi ] when* ;
|
|
||||||
|
|
||||||
M: ##epilogue generate-insn
|
M: ##epilogue generate-insn
|
||||||
drop
|
drop
|
||||||
|
|
Loading…
Reference in New Issue