]> gitweb.factorcode.org Git - factor.git/blob - basis/compiler/cfg/ssa/destruction/state/state.factor
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / basis / compiler / cfg / ssa / destruction / state / state.factor
1 ! Copyright (C) 2009 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: namespaces sets kernel assocs ;
4 IN: compiler.cfg.ssa.destruction.state
5
6 SYMBOLS: processed-names waiting used-by-another renaming-sets ;
7
8 : init-coalescing ( -- )
9     H{ } clone renaming-sets set
10     H{ } clone processed-names set
11     H{ } clone waiting set
12     V{ } clone used-by-another set ;
13
14 : processed-name ( vreg -- ) processed-names get conjoin ;
15
16 : waiting-for ( bb -- assoc ) waiting get [ drop H{ } clone ] cache ;