diff options
author | Rickard Green <[email protected]> | 2016-09-26 17:05:50 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2017-01-12 15:22:26 +0100 |
commit | 5aff60d96efac96a41b514ed167f13eb787a415f (patch) | |
tree | befc33447680685029e6013f10124fbd8518a618 /erts/emulator/beam/beam_bif_load.c | |
parent | 6bcdd45abd97134fddfb5b0307b1d256337b0c67 (diff) | |
download | otp-5aff60d96efac96a41b514ed167f13eb787a415f.tar.gz otp-5aff60d96efac96a41b514ed167f13eb787a415f.tar.bz2 otp-5aff60d96efac96a41b514ed167f13eb787a415f.zip |
Support for dirty BIFs
Diffstat (limited to 'erts/emulator/beam/beam_bif_load.c')
-rw-r--r-- | erts/emulator/beam/beam_bif_load.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/erts/emulator/beam/beam_bif_load.c b/erts/emulator/beam/beam_bif_load.c index 09331eb8ad..36bbe81ed5 100644 --- a/erts/emulator/beam/beam_bif_load.c +++ b/erts/emulator/beam/beam_bif_load.c @@ -36,6 +36,7 @@ #include "erl_nif.h" #include "erl_bits.h" #include "erl_thr_progress.h" +#include "erl_nfunc_sched.h" #ifdef HIPE # include "hipe_bif0.h" # define IF_HIPE(X) (X) @@ -1105,6 +1106,11 @@ check_process_code(Process* rp, Module* modp, int *redsp, int fcalls) if (erts_check_nif_export_in_area(rp, mod_start, mod_size)) return am_true; + *redsp += 1; + + if (erts_check_nif_export_in_area(rp, mod_start, mod_size)) + return am_true; + *redsp += (STACK_START(rp) - rp->stop) / 32; /* |