aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.c
diff options
context:
space:
mode:
authorBjörn-Egil Dahlberg <[email protected]>2016-07-29 17:16:53 +0200
committerBjörn-Egil Dahlberg <[email protected]>2016-08-01 11:00:22 +0200
commite52fa24451306080be39a35444cf52210982b41a (patch)
treef9e285a9c32330d1e1a0956682551aa0238145fc /erts/emulator/beam/erl_process.c
parentdbea5c4023ec6ac59bb1988711532682a032536d (diff)
downloadotp-e52fa24451306080be39a35444cf52210982b41a.tar.gz
otp-e52fa24451306080be39a35444cf52210982b41a.tar.bz2
otp-e52fa24451306080be39a35444cf52210982b41a.zip
erts: Refactor literal purge area arguments
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r--erts/emulator/beam/erl_process.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index d6037e9f5d..85c37e08be 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -11100,8 +11100,8 @@ erl_create_process(Process* parent, /* Parent of process (default group leader).
erts_shcopy_t info;
INITIALIZE_SHCOPY(info);
#else
- Eterm *lit_purge_ptr = erts_clrange.ptr;
- Uint lit_purge_sz = erts_clrange.sz;
+ erts_literal_area_t litarea;
+ INITIALIZE_LITERAL_PURGE_AREA(litarea);
#endif
erts_smp_proc_lock(parent, ERTS_PROC_LOCKS_ALL_MINOR);
@@ -11160,7 +11160,7 @@ erl_create_process(Process* parent, /* Parent of process (default group leader).
#ifdef SHCOPY_SPAWN
arg_size = copy_shared_calculate(args, &info);
#else
- arg_size = size_object_litopt(args, lit_purge_ptr, lit_purge_sz);
+ arg_size = size_object_litopt(args, &litarea);
#endif
heap_need = arg_size;
@@ -11242,8 +11242,7 @@ erl_create_process(Process* parent, /* Parent of process (default group leader).
p->arg_reg[2] = copy_shared_perform(args, arg_size, &info, &p->htop, &p->off_heap);
DESTROY_SHCOPY(info);
#else
- p->arg_reg[2] = copy_struct_litopt(args, arg_size, &p->htop, &p->off_heap,
- lit_purge_ptr, lit_purge_sz);
+ p->arg_reg[2] = copy_struct_litopt(args, arg_size, &p->htop, &p->off_heap, &litarea);
#endif
p->arity = 3;