2009-07-26 22:11:26 -04:00
|
|
|
! Copyright (C) 2009 Slava Pestov.
|
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
|
|
|
USING: namespaces sets kernel assocs ;
|
|
|
|
|
IN: compiler.cfg.coalescing.state
|
|
|
|
|
|
|
|
|
|
SYMBOLS: processed-names waiting used-by-another renaming-sets ;
|
|
|
|
|
|
|
|
|
|
: init-coalescing ( -- )
|
2009-07-27 01:31:21 -04:00
|
|
|
H{ } clone renaming-sets set
|
2009-07-26 22:11:26 -04:00
|
|
|
H{ } clone processed-names set
|
|
|
|
|
H{ } clone waiting set
|
|
|
|
|
V{ } clone used-by-another set ;
|
|
|
|
|
|
|
|
|
|
: processed-name ( vreg -- ) processed-names get conjoin ;
|
|
|
|
|
|
|
|
|
|
: waiting-for ( bb -- assoc ) waiting get [ drop H{ } clone ] cache ;
|