EscapeAnalysis.jl
is a staging package for the new escape analysis for Julia programming language.
This escape analysis aims to:
- leverage Julia's high-level semantics, especially reason about escapes and aliasing via inter-procedural calls
- be versatile enough to be used for various optimizations including
alias-aware SROA,
early
finalize
call insertion, copy-freeImmutableArray
construction, stack allocation of mutable objects, and so on. - achieve a simple implementation based on a fully backward data-flow analysis implementation as well as a new lattice design that combines orthogonal lattice properties
Documentations on EA's design and usage are available at here.
EA is currently being ported to Julia base at this PR. Note that main development efforts are still happing here at this repository, allowing easier experiments and quick iterations.