diff options
author | Björn Gustavsson <[email protected]> | 2016-02-04 07:25:50 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2016-02-25 14:53:11 +0100 |
commit | c634592019654ae801710665320d20c062252524 (patch) | |
tree | 3ba9c49c96a694cf8aeff0b8150606b3c6dea23b /erts | |
parent | 54debd4a9ce3afb680738179d29bafb43e2cba3b (diff) | |
download | otp-c634592019654ae801710665320d20c062252524.tar.gz otp-c634592019654ae801710665320d20c062252524.tar.bz2 otp-c634592019654ae801710665320d20c062252524.zip |
Refactor post_beam_load handling
After loading a module without native code, it is still necessary
to call hipe_unified_loader:post_beam_load() to ensure that any
native calls to the module is done to the newly loaded module
(and not to a previous version of the module in native code).
Unfortunately, hipe_unified_loader:post_beam_load() can be slow
and most of the time it doesn't do anything because no previous
native code was loaded. Therefore, ad2962278f added a kludge using
the process dictionary to avoid calling post_beam_load() if no
native code at all has been loaded.
Remove the kludge by keeping track exactly of which modules that
have native code in the existing ets table. Also generalize
post_beam_load() to handle severals modules at once, since we
will soon need that functionality.
Diffstat (limited to 'erts')
0 files changed, 0 insertions, 0 deletions