diff options
author | Björn Gustavsson <[email protected]> | 2011-10-08 10:06:13 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2011-11-07 14:00:27 +0100 |
commit | 7f434109e62fb7b36a350240729aeed2477fd594 (patch) | |
tree | 706730d5d6690a6a09821f50e86735cb82af1c41 /erts | |
parent | a772f06a2de3b83e8b21072eeae837e05f7b46e7 (diff) | |
download | otp-7f434109e62fb7b36a350240729aeed2477fd594.tar.gz otp-7f434109e62fb7b36a350240729aeed2477fd594.tar.bz2 otp-7f434109e62fb7b36a350240729aeed2477fd594.zip |
compiler: Eliminate use of deprecated erlang:hash/2
Now that beam_asm computes the Index and Uniq values for funs, there
is no need to compute those values in the sys_pre_expand and v3_kernel
modules, thus eliminating the calls to the deprecated erlang:hash/2
function.
It would be tempting to stop generating the name for the fun in
sys_pre_expand so that we did not have to add the Info field to a tuple.
But:
* The debugger depends on the name being there. (Simple solution:
Let the debugger generate the name itself.)
* When a fun has been inlined into another function, the fun name in
'id' annotation will be used to notice the inlining and change the
final clause of the top-level case from generating a 'function_clause'
exception to a case_clause exception. (Possible workaround: Have the
inliner set an inlined attribute on functions that have been inlined, or
have the inliner rewrite 'function_clause' exceptions itself.)
Diffstat (limited to 'erts')
0 files changed, 0 insertions, 0 deletions