compiler.cfg.linear-scan.allocation.state vocabulary
Factor handbook ยป Vocabulary index


Documentation
Live interval state

Words

Tuple classes
ClassSuperclassSlots
register-already-used tuplelive-interval


Generic words
WordStack effect
interval/sync-point-key( interval/sync-point -- key )


Symbol words
active-intervals
check-allocation?
handled-intervals
inactive-intervals
progress
registers
spill-slots
unhandled-min-heap


Ordinary words
WordStack effect
>unhandled-min-heap( intervals/sync-points -- min-heap )
activate( n live-interval -- keep? )
activate-intervals( n -- )
active-intervals-for( live-interval -- seq )
add-active( live-interval -- )
add-handled( live-interval -- )
add-inactive( live-interval -- )
add-unhandled( live-interval -- )
add-use-position( n reg assoc -- )
align-spill-area( align stack-frame -- )
assign-free-register( new registers -- )
assign-spill-slot( coalesced-vreg rep -- spill-slot )
check-activate( live-interval -- )
check-handled( live-interval -- )
check-unhandled( live-interval -- )
covers?( n live-interval -- ? )
deactivate( n live-interval -- keep? )
deactivate-intervals( n -- )
delete-active( live-interval -- )
delete-inactive( live-interval -- )
don't-change( n live-interval -- keep? )
finish( n live-interval -- keep? )
finished?( n live-interval -- ? )
inactive-intervals-for( live-interval -- seq )
init-allocator( intervals/sync-points registers -- )
lookup-spill-slot( coalesced-vreg rep -- spill-slot )
next-spill-slot( size stack-frame -- spill-slot )
process-intervals( n symbol quots -- )
reg-class-assoc( quot -- assoc )
register-already-used( live-interval -- * )
register-available( new result -- )
register-available?( new result -- ? )


Class predicate words
WordStack effect
register-already-used?( object -- ? )


Files