compiler.cfg.register-allocation.backtracking vocabulary
Factor handbook ยป Vocabulary index


Summary
Bundle-based backtracking register allocation with eviction and splitting

Metadata
Parents:compiler.cfg.register-allocation


Words

Error classes
ClassSuperclassSlots
invalid-recorded-entry-reload tupleinterval instructions incoming
overlapping-backtracking-bundle tupleintervals
unconsumed-backtracking-moves tuplemappings
unsatisfiable-register-pressure tupleinterval


Tuple classes
ClassSuperclassSlots
allocation-bundle tupleintervals weight priority ranges reg-class spillset
allocation-spill-home tupleslot rep occupancy
allocation-spillset tuplemembers ranges rep hint splits home
backtracking-register-home tuplereg


Singleton classes
backtracking-allocator


Symbol words
assigned-bundles
backtracking-affinities
backtracking-barriers
backtracking-block-starts
backtracking-cluster-splits
backtracking-directed-splits
backtracking-edge-entry-reloads
backtracking-evictions
backtracking-hint-hits
backtracking-interior-gaps-skipped
backtracking-late-points
backtracking-local-moves
backtracking-merges
backtracking-minimal-splits
backtracking-original-intervals
backtracking-phase-mode?
backtracking-point-blocks
backtracking-register-transitions
backtracking-second-chance-assignments
backtracking-second-chance-attempts
backtracking-shared-homes
backtracking-split-budget-exhaustions
backtracking-splits
bundle-occupancy
bundle-queue
bundle-spillsets
spill-home-pool


Ordinary words
WordStack effect
<allocation-bundle>( intervals -- bundle )
allocate-second-chance( allocated -- intervals )
assign-backtracking-registers( cfg intervals -- )
assign-bundle( bundle reg -- )
assign-with-eviction( bundle candidate -- )
backtracking( cfg -- )
backtracking-allocation( intervals/syncs machine-regs -- intervals )
backtracking-allocation-with-registers( cfg machine-regs -- )
backtracking-max-splits( -- value )
bundle-conflicts( bundle reg -- conflicts )
bundle-reg-class( bundle -- reg-class )
bundle-register-occupancy( bundle reg -- occupancy )
bundle-register-order( bundle -- registers )
bundle-site-weights( bundle position -- before after )
bundle-split-sites( bundle -- sites )
bundles-intersect?( first-bundle second-bundle -- ? )
check-backtracking-bundle( bundle -- )
check-recorded-entry-reload( interval instructions incoming -- )
coalesce-bundle-groups( intervals -- groups )
common-entry-home?( interval bb -- ? )
conflict-cost( conflicts -- weight )
conflict-split-site( bundle conflict -- site/f )
edge-entry-reload?( interval -- ? )
enqueue-bundle( bundle -- )
enqueue-interval( interval/f -- )
enqueue-pieces( intervals -- )
ensure-interval-home( interval -- )
ensure-spillset-home( spillset -- )
entry-transport-records( intervals -- records )
evict-bundle( bundle -- )
first-bundle-conflict( bundle conflicts -- position )
gap-interval( vreg range -- interval/f )
gap-start( range -- start )
initialize-spillsets( groups -- )
insert-backtracking-moves( cfg -- )
interval-size( interval -- n )
invalid-recorded-entry-reload( interval instructions incoming -- * )
make-spillset( intervals -- spillset )
mergeable-groups?( first-group second-group -- ? )
minimal-interval?( interval -- ? )
normalize-phase-reload( interval -- interval/f )
overlapping-backtracking-bundle( intervals -- * )
phase-reload-start( use -- n )
phase-spill-before( interval -- interval/f )
prepare-backtracking-affinities( cfg -- )
prepare-backtracking-moves( intervals -- )
prepare-backtracking-phase-weights( -- )
prepare-backtracking-points( cfg -- )
prepare-bundles( intervals/syncs -- intervals )
process-bundle( bundle -- )
productive-gap?( range fragments -- ? )
register-candidates( bundle -- candidates )
reify-entry-transports( records -- )
reify-register-transition( before after -- )
reify-register-transitions( intervals -- )
second-chance-bundles( allocated -- bundles )
split-at-sync( interval sync -- intervals )
split-budget-exhausted?( bundle -- ? )
split-bundle( bundle -- )
split-bundle-at( bundle position -- )
split-bundle-minimally( bundle -- )
split-for-bundle( interval position -- before after )
split-single-interval( interval -- )
subtract-live-range( range occupied -- remaining )
sync-operand-slots( interval sync -- )
unconsumed-backtracking-moves( mappings -- * )
uncovered-ranges( interval allocated -- ranges )
uncovered-vreg-ranges( interval fragments -- ranges )
unsatisfiable-register-pressure( interval -- * )


Class predicate words
WordStack effect
allocation-bundle?( object -- ? )
allocation-spill-home?( object -- ? )
allocation-spillset?( object -- ? )
backtracking-allocator?( object -- ? )
backtracking-register-home?( object -- ? )
invalid-recorded-entry-reload?( object -- ? )
overlapping-backtracking-bundle?( object -- ? )
unconsumed-backtracking-moves?( object -- ? )
unsatisfiable-register-pressure?( object -- ? )


Files


Metadata files


Children from resource:basis
VocabularySummary
compiler.cfg.register-allocation.backtracking.evidence