factor/basis/compiler/cfg/stack-frame/stack-frame.factor

25 lines
656 B
Factor
Raw Normal View History

2010-04-27 10:51:00 -04:00
! Copyright (C) 2009, 2010 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
2014-12-13 19:10:21 -05:00
USING: accessors kernel math namespaces ;
IN: compiler.cfg.stack-frame
TUPLE: stack-frame
{ params integer }
{ allot-area-size integer }
{ allot-area-align integer }
{ spill-area-size integer }
{ spill-area-align integer }
{ total-size integer }
{ allot-area-base integer }
{ spill-area-base integer } ;
: local-allot-offset ( n -- offset )
stack-frame get allot-area-base>> + ;
: spill-offset ( n -- offset )
stack-frame get spill-area-base>> + ;
: (stack-frame-size) ( stack-frame -- n )
[ spill-area-base>> ] [ spill-area-size>> ] bi + ;