aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_emu.c
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2016-09-29 17:38:54 +0200
committerSverker Eriksson <[email protected]>2016-10-14 14:29:16 +0200
commit870d49f0f8d383e62ea231700089933c4cf8fe2a (patch)
tree0f6076b91cff9b43db4964a7cff537f5e443177b /erts/emulator/beam/beam_emu.c
parente77d7a8417368617c4c228af9556a7f6a8f3e84c (diff)
downloadotp-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.c3
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];