factor/basis/compiler/tree/escape-analysis/escape-analysis.factor

22 lines
660 B
Factor
Raw Normal View History

2008-08-02 00:31:43 -04:00
! Copyright (C) 2008 Slava Pestov.
! See http://factorcode.org/license.txt for BSD license.
2008-08-03 22:32:12 -04:00
USING: kernel namespaces search-dequeues assocs fry sequences
disjoint-sets
2008-08-02 00:31:43 -04:00
compiler.tree
compiler.tree.def-use
compiler.tree.escape-analysis.allocations
compiler.tree.escape-analysis.recursive
compiler.tree.escape-analysis.branches
compiler.tree.escape-analysis.nodes
2008-08-03 06:01:05 -04:00
compiler.tree.escape-analysis.simple ;
2008-08-02 00:31:43 -04:00
IN: compiler.tree.escape-analysis
2008-08-07 07:34:28 -04:00
! This pass must run after propagation
2008-08-02 00:31:43 -04:00
: escape-analysis ( node -- node )
2008-08-03 22:32:12 -04:00
init-escaping-values
2008-08-02 00:31:43 -04:00
H{ } clone allocations set
2008-08-08 14:14:36 -04:00
H{ } clone slot-accesses set
2008-08-03 06:01:05 -04:00
dup (escape-analysis)
compute-escaping-allocations ;