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
6 SYMBOLS: processed-names waiting used-by-another renaming-sets ;
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 ;
14 : processed-name ( vreg -- ) processed-names get conjoin ;
16 : waiting-for ( bb -- assoc ) waiting get [ drop H{ } clone ] cache ;