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 }
|
||||
} finalize-stack-frame
|
||||
[ 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
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
! Copyright (C) 2009, 2010 Slava Pestov.
|
||||
! 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
|
||||
|
||||
TUPLE: stack-frame
|
||||
|
@ -15,10 +15,10 @@ TUPLE: stack-frame
|
|||
{ spill-area-base integer } ;
|
||||
|
||||
: local-allot-offset ( n -- offset )
|
||||
stack-frame get allot-area-base>> + ;
|
||||
cfg get stack-frame>> allot-area-base>> + ;
|
||||
|
||||
: spill-offset ( n -- offset )
|
||||
stack-frame get spill-area-base>> + ;
|
||||
cfg get stack-frame>> spill-area-base>> + ;
|
||||
|
||||
: (stack-frame-size) ( stack-frame -- n )
|
||||
[ spill-area-base>> ] [ spill-area-size>> ] bi + ;
|
||||
|
|
|
@ -112,8 +112,7 @@ M: ##no-tco generate-insn drop ;
|
|||
|
||||
M: ##prologue generate-insn
|
||||
drop
|
||||
cfg get stack-frame>>
|
||||
[ [ stack-frame set ] [ total-size>> %prologue ] bi ] when* ;
|
||||
cfg get stack-frame>> [ total-size>> %prologue ] when* ;
|
||||
|
||||
M: ##epilogue generate-insn
|
||||
drop
|
||||
|
|
Loading…
Reference in New Issue