diff options
author | Sverker Eriksson <[email protected]> | 2016-01-19 16:33:15 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2016-01-19 16:33:15 +0100 |
commit | aa93302de0b56845411a3e89dcea07958f676dfd (patch) | |
tree | 24592e913959bfad91349373a188fb8ea2688b5f /erts/emulator/beam/global.h | |
parent | 4d08c9292af4cbefce1e067a0c2b28386843ef55 (diff) | |
parent | f6c266765cfd48416000e49f0043827d42e0e83f (diff) | |
download | otp-aa93302de0b56845411a3e89dcea07958f676dfd.tar.gz otp-aa93302de0b56845411a3e89dcea07958f676dfd.tar.bz2 otp-aa93302de0b56845411a3e89dcea07958f676dfd.zip |
Merge branch 'sverk/safe-purging/OTP-13122'
* sverk/safe-purging/OTP-13122:
erts: Ignore unexpected messages to erts_code_purger
erts: Optimize erlang:check_process_code
erts: Refactor check_process_code/3
erts: Make copy_literals more fail safe
erts: Move copy_literals/2 from erlang to erts_internal
erts: Make erlang:purge_module/1 safe
erts: Refactor code:purge/1 and code:soft_purge/1
erts: Introduce erts_code_purger
Diffstat (limited to 'erts/emulator/beam/global.h')
-rw-r--r-- | erts/emulator/beam/global.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/erts/emulator/beam/global.h b/erts/emulator/beam/global.h index 0bf5988244..3f5925765d 100644 --- a/erts/emulator/beam/global.h +++ b/erts/emulator/beam/global.h @@ -985,11 +985,15 @@ Eterm erl_send(Process *p, Eterm to, Eterm msg); Eterm erl_is_function(Process* p, Eterm arg1, Eterm arg2); /* beam_bif_load.c */ -Eterm erts_check_process_code(Process *c_p, Eterm module, int allow_gc, int *redsp); +#define ERTS_CPC_ALLOW_GC (1 << 0) +#define ERTS_CPC_COPY_LITERALS (1 << 1) +#define ERTS_CPC_ALL (ERTS_CPC_ALLOW_GC | ERTS_CPC_COPY_LITERALS) +Eterm erts_check_process_code(Process *c_p, Eterm module, Uint flags, int *redsp); typedef struct { Eterm *ptr; Uint sz; + Eterm pid; } copy_literals_t; extern copy_literals_t erts_clrange; |