aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_nfunc_sched.h
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2016-10-28 18:34:14 +0200
committerRickard Green <[email protected]>2017-01-12 15:22:26 +0100
commit95ec5d385cfba23c770d946871c0197bf374ff3c (patch)
tree4eabd4401d83066c07a77d7dec34600deac64edd /erts/emulator/beam/erl_nfunc_sched.h
parent5aff60d96efac96a41b514ed167f13eb787a415f (diff)
downloadotp-95ec5d385cfba23c770d946871c0197bf374ff3c.tar.gz
otp-95ec5d385cfba23c770d946871c0197bf374ff3c.tar.bz2
otp-95ec5d385cfba23c770d946871c0197bf374ff3c.zip
Optimize handling of BIF errors
Diffstat (limited to 'erts/emulator/beam/erl_nfunc_sched.h')
-rw-r--r--erts/emulator/beam/erl_nfunc_sched.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/erts/emulator/beam/erl_nfunc_sched.h b/erts/emulator/beam/erl_nfunc_sched.h
index 72de7f0eb5..d7eccb28ba 100644
--- a/erts/emulator/beam/erl_nfunc_sched.h
+++ b/erts/emulator/beam/erl_nfunc_sched.h
@@ -52,7 +52,7 @@ typedef struct {
NifExport *erts_new_proc_nif_export(Process *c_p, int argc);
void erts_destroy_nif_export(Process *p);
NifExport *erts_nif_export_schedule(Process *c_p, Process *dirty_shadow_proc,
- ErtsCodeMFA *mfa, void *nif, BeamInstr *pc,
+ ErtsCodeMFA *mfa, BeamInstr *pc,
BeamInstr instr,
void *dfunc, void *ifunc,
Eterm mod, Eterm func,
@@ -65,7 +65,7 @@ ERTS_GLB_INLINE int erts_check_nif_export_in_area(Process *p,
char *start, Uint size);
ERTS_GLB_INLINE void erts_nif_export_restore(Process *c_p, NifExport *ep);
ERTS_GLB_INLINE void erts_nif_export_restore_error(Process* c_p, BeamInstr **pc,
- Eterm *reg, void **nif);
+ Eterm *reg, ErtsCodeMFA **nif_mfa);
ERTS_GLB_INLINE Process *erts_proc_shadow2real(Process *c_p);
#if ERTS_GLB_INLINE_INCL_FUNC_DEF
@@ -132,8 +132,8 @@ erts_nif_export_restore(Process *c_p, NifExport *ep)
}
ERTS_GLB_INLINE void
-erts_nif_export_restore_error(Process* c_p, BeamInstr **pc, Eterm *reg,
- void **nif)
+erts_nif_export_restore_error(Process* c_p, BeamInstr **pc,
+ Eterm *reg, ErtsCodeMFA **nif_mfa)
{
NifExport *nep = (NifExport *) ERTS_PROC_GET_NIF_TRAP_EXPORT(c_p);
int ix;
@@ -141,7 +141,7 @@ erts_nif_export_restore_error(Process* c_p, BeamInstr **pc, Eterm *reg,
ASSERT(nep);
*pc = nep->pc;
c_p->cp = nep->cp;
- *nif = nep->nif;
+ *nif_mfa = nep->mfa;
for (ix = 0; ix < nep->argc; ix++)
reg[ix] = nep->argv[ix];
erts_nif_export_restore(c_p, nep);