2008-08-02 00:31:43 -04:00
|
|
|
! Copyright (C) 2008 Slava Pestov.
|
|
|
|
! See http://factorcode.org/license.txt for BSD license.
|
2008-08-27 06:52:38 -04:00
|
|
|
USING: kernel namespaces assocs fry sequences
|
2008-08-02 00:31:43 -04:00
|
|
|
compiler.tree
|
|
|
|
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
|
2009-08-09 17:29:21 -04:00
|
|
|
H{ } clone value-classes set
|
2008-08-03 06:01:05 -04:00
|
|
|
dup (escape-analysis)
|
|
|
|
compute-escaping-allocations ;
|