aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/sys_core_alias.erl
AgeCommit message (Collapse)Author
2018-06-18Update copyright yearHenrik Nord
2017-12-08Use the new syntax for retrieving stack tracesBjörn Gustavsson
2017-07-06Introduce a new core pass called sys_core_aliasJosé Valim
The goal of this pass is to find values that are built from patterns and generate aliases for those values to remove pressure from the GC. For example, this code: example({ok, Val}) -> {ok, Val}. shall become: example({ok, Val} = Tuple) -> Tuple. Currently this pass aliases tuple and cons nodes made of literals, variables and other cons. The tuple/cons may appear anywhere in the pattern and it will be aliased if used later on. Notice a tuple/cons made only of literals is not aliased as it may be part of the literal pool.