diff options
author | Rickard Green <[email protected]> | 2017-01-17 12:39:55 +0100 |
---|---|---|
committer | Rickard Green <[email protected]> | 2017-01-17 12:39:55 +0100 |
commit | 8e77d78810c2b77a81e261234b351d30e374d629 (patch) | |
tree | db5c8dc37898b5c8e8bcd9d91b1c1e35ca3ff4dc /erts/emulator/beam/global.h | |
parent | 894cceaa2191bbb59474c1a1bfc657493c5ea79e (diff) | |
parent | 0d20adbfbb0918c8d6bfc629e9e4ff89d2ef1a64 (diff) | |
download | otp-8e77d78810c2b77a81e261234b351d30e374d629.tar.gz otp-8e77d78810c2b77a81e261234b351d30e374d629.tar.bz2 otp-8e77d78810c2b77a81e261234b351d30e374d629.zip |
Merge branch 'rickard/ds-features-20'
OTP-14152
* rickard/ds-features-20:
Remove experimental disclaimer on dirty schedulers
Scheduler wall time support for dirty schedulers
Always return info from system_info(dirty_[cpu|io]_schedulers*)
Improve etp-commands
Switch between scheduler types when multi-scheduling is blocked
Perform potentially long GC on dirty schedulers if available
Return and exception trace for nif-export scheduled BIFs
Optimize handling of BIF errors
Support for dirty BIFs
Reduction counting on non-tail return
Diffstat (limited to 'erts/emulator/beam/global.h')
-rw-r--r-- | erts/emulator/beam/global.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/erts/emulator/beam/global.h b/erts/emulator/beam/global.h index 2b2f3c5cdc..d5ca3b04eb 100644 --- a/erts/emulator/beam/global.h +++ b/erts/emulator/beam/global.h @@ -61,12 +61,6 @@ struct enif_environment_t /* ErlNifEnv */ extern void erts_pre_nif(struct enif_environment_t*, Process*, struct erl_module_nif*, Process* tracee); extern void erts_post_nif(struct enif_environment_t* env); -#ifdef ERTS_DIRTY_SCHEDULERS -extern void erts_pre_dirty_nif(ErtsSchedulerData *, - struct enif_environment_t*, Process*, - struct erl_module_nif*); -extern void erts_post_dirty_nif(struct enif_environment_t* env); -#endif extern Eterm erts_nif_taints(Process* p); extern void erts_print_nif_taints(fmtfn_t to, void* to_arg); void erts_unload_nif(struct erl_module_nif* nif); @@ -78,6 +72,12 @@ extern Eterm erts_nif_call_function(Process *p, Process *tracee, struct enif_func_t *, int argc, Eterm *argv); +#ifdef ERTS_DIRTY_SCHEDULERS +int erts_call_dirty_nif(ErtsSchedulerData *esdp, Process *c_p, + BeamInstr *I, Eterm *reg); +#endif /* ERTS_DIRTY_SCHEDULERS */ + + /* Driver handle (wrapper for old plain handle) */ #define ERL_DE_OK 0 #define ERL_DE_UNLOAD 1 @@ -993,7 +993,7 @@ void erts_queue_monitor_message(Process *, Eterm, Eterm); void erts_init_trap_export(Export* ep, Eterm m, Eterm f, Uint a, - Eterm (*bif)(Process*,Eterm*)); + Eterm (*bif)(Process*, Eterm*, BeamInstr*)); void erts_init_bif(void); Eterm erl_send(Process *p, Eterm to, Eterm msg); |