aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/external.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/external.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/external.c')
-rw-r--r--erts/emulator/beam/external.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/erts/emulator/beam/external.c b/erts/emulator/beam/external.c
index beed847578..ca79f83184 100644
--- a/erts/emulator/beam/external.c
+++ b/erts/emulator/beam/external.c
@@ -3749,7 +3749,6 @@ dec_term_atom_common:
if (funp->fe->native_address == NULL) {
hipe_set_closure_stub(funp->fe, num_free);
}
- funp->native_address = funp->fe->native_address;
#endif
hp = factory->hp;
@@ -3821,9 +3820,6 @@ dec_term_atom_common:
funp->fe = erts_put_fun_entry(module, old_uniq, old_index);
funp->arity = funp->fe->address[-1] - num_free;
-#ifdef HIPE
- funp->native_address = funp->fe->native_address;
-#endif
hp = factory->hp;
/* Environment */