27 lines
		
	
	
		
			753 B
		
	
	
	
		
			Factor
		
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			753 B
		
	
	
	
		
			Factor
		
	
	
! Copyright (C) 2009, 2010 Slava Pestov.
 | 
						|
! See http://factorcode.org/license.txt for BSD license.
 | 
						|
USING: math math.order namespaces accessors kernel layouts
 | 
						|
combinators assocs sequences cpu.architecture
 | 
						|
words compiler.cfg.instructions ;
 | 
						|
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 + ;
 |