diff options
author | Sverker Eriksson <[email protected]> | 2016-09-29 17:38:54 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2016-10-14 14:29:16 +0200 |
commit | 870d49f0f8d383e62ea231700089933c4cf8fe2a (patch) | |
tree | 0f6076b91cff9b43db4964a7cff537f5e443177b /erts/emulator/beam/beam_emu.c | |
parent | e77d7a8417368617c4c228af9556a7f6a8f3e84c (diff) | |
download | otp-870d49f0f8d383e62ea231700089933c4cf8fe2a.tar.gz otp-870d49f0f8d383e62ea231700089933c4cf8fe2a.tar.bz2 otp-870d49f0f8d383e62ea231700089933c4cf8fe2a.zip |
hipe,erts: Remove cached fun 'native_address'
Did not work with purge and made worse by new purge strategy.
Did yield terrible performance when fun thing is created *before*
fun code is loaded. Like when receiving not yet loaded fun
from other node. The cached 'native_address' in ErlFunThing
will not be updated leading to mode switch and error_handler
being called for every call to the fun from native code.
Diffstat (limited to 'erts/emulator/beam/beam_emu.c')
-rw-r--r-- | erts/emulator/beam/beam_emu.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c index ccb0f786ec..3fa4fb5b3f 100644 --- a/erts/emulator/beam/beam_emu.c +++ b/erts/emulator/beam/beam_emu.c @@ -6667,9 +6667,6 @@ new_fun(Process* p, Eterm* reg, ErlFunEntry* fe, int num_free) funp->fe = fe; funp->num_free = num_free; funp->creator = p->common.id; -#ifdef HIPE - funp->native_address = fe->native_address; -#endif funp->arity = (int)fe->address[-1] - num_free; for (i = 0; i < num_free; i++) { *hp++ = reg[i]; |