20 lines
608 B
Factor
20 lines
608 B
Factor
! Copyright (C) 2008 Slava Pestov.
|
|
! See http://factorcode.org/license.txt for BSD license.
|
|
USING: kernel namespaces assocs fry sequences
|
|
compiler.tree
|
|
compiler.tree.escape-analysis.allocations
|
|
compiler.tree.escape-analysis.recursive
|
|
compiler.tree.escape-analysis.branches
|
|
compiler.tree.escape-analysis.nodes
|
|
compiler.tree.escape-analysis.simple ;
|
|
IN: compiler.tree.escape-analysis
|
|
|
|
! This pass must run after propagation
|
|
|
|
: escape-analysis ( node -- node )
|
|
init-escaping-values
|
|
H{ } clone allocations set
|
|
H{ } clone slot-accesses set
|
|
dup (escape-analysis)
|
|
compute-escaping-allocations ;
|