Documentation
Alias analysis for stack operations, array elements and tuple slots

Words

Tuple classes
ClassSuperclassSlots
vreg-not-new tuplevreg


Generic words
WordStack effect
analyze-aliases( insn -- insn' )
eliminate-dead-stores( insn -- ? )
insn-object( insn -- vreg )
insn-slot#( insn -- slot#/f )


Symbol words
ac-counter
acs>vregs
copies
dead-stores
heap-ac
live-slots
recent-stores
vregs>acs


Ordinary words
WordStack effect
ac>vregs( ac -- vregs )
alias-analysis( cfg -- )
alias-analysis-step( insns -- insns' )
aliases( vreg -- vregs )
clear-live-slots( -- )
clear-recent-stores( -- )
dead-store( insn# -- )
def-acs( insn -- insn' )
each-alias( vreg quot -- )
idempotent?( value slot#/f vreg -- ? )
init-alias-analysis( -- )
kill-computed-set-slot( vreg -- )
kill-constant-set-slot( slot# vreg -- )
live-slot( slot#/f vreg -- vreg' )
load-constant-slot( value slot# vreg -- )
load-slot( value slot#/f vreg -- )
merge-acs( vreg into -- )
next-ac( -- n )
recent-stores-of( vreg -- assoc )
record-computed-slot( vreg -- )
record-constant-set-slot( insn# slot# vreg -- )
record-constant-slot( slot# vreg -- )
record-copy( ##copy -- )
remember-set-slot( insn# slot# vreg -- )
remember-slot( value slot# vreg -- )
reset-alias-analysis( -- )
resolve( vreg -- vreg )
set-ac( vreg ac -- )
set-new-ac( vreg -- )
useless-compare?( insn -- ? )
vreg-not-new( vreg -- * )
vreg>ac( vreg -- ac )


Class predicate words
WordStack effect
vreg-not-new?( object -- ? )


Files