diff options
author | Kostis Sagonas <[email protected]> | 2013-03-12 18:22:07 +0100 |
---|---|---|
committer | Kostis Sagonas <[email protected]> | 2013-03-12 18:22:07 +0100 |
commit | 8df7d196b1bc491debb677779def8a317f95ad5c (patch) | |
tree | 94b6c189aed45bf0656baffa1038266851d8ed56 /lib/hipe/amd64/hipe_amd64_defuse.erl | |
parent | bec7094e6b238774997bcb12f308f7f5bfadf160 (diff) | |
download | otp-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