aboutsummaryrefslogtreecommitdiffstats
path: root/lib/hipe/amd64/hipe_amd64_defuse.erl
diff options
context:
space:
mode:
authorKostis Sagonas <[email protected]>2013-03-12 18:22:07 +0100
committerKostis Sagonas <[email protected]>2013-03-12 18:22:07 +0100
commit8df7d196b1bc491debb677779def8a317f95ad5c (patch)
tree94b6c189aed45bf0656baffa1038266851d8ed56 /lib/hipe/amd64/hipe_amd64_defuse.erl
parentbec7094e6b238774997bcb12f308f7f5bfadf160 (diff)
downloadotp-8df7d196b1bc491debb677779def8a317f95ad5c.tar.gz
otp-8df7d196b1bc491debb677779def8a317f95ad5c.tar.bz2
otp-8df7d196b1bc491debb677779def8a317f95ad5c.zip
Loosen the assumptions of code that handles escaping functions
The HiPE compiler implicitly relied on the assumption that a function will never appear as both exported and also used as function closure. This was true because the BEAM compiler prior to R16B created module local anonymous functions for each closure. A proposed change to the BEAM compiler invalidates this invariant, so in order to accommodate for this change there needs to be a change of how the set of possibly escaping functions is computed. While doing this, the code was simplified by taking out a boolean() tag that indicated whether a function is a closure or exported and also slightly cleaned up the affected modules.
Diffstat (limited to 'lib/hipe/amd64/hipe_amd64_defuse.erl')
0 files changed, 0 insertions, 0 deletions