aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_process.c
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2016-08-23 07:46:43 +0200
committerBjörn Gustavsson <[email protected]>2016-09-01 15:29:32 +0200
commitd5ba65f0aa25768c1af7a1639eb73298b029eaf3 (patch)
treeea37b407bb1e0edd549d510bcb18e689bbdc6824 /erts/emulator/beam/erl_process.c
parent18d398f0908346dbf9f7e2c08f68759a05673d2f (diff)
downloadotp-d5ba65f0aa25768c1af7a1639eb73298b029eaf3.tar.gz
otp-d5ba65f0aa25768c1af7a1639eb73298b029eaf3.tar.bz2
otp-d5ba65f0aa25768c1af7a1639eb73298b029eaf3.zip
Slightly reduce code size of process_main()
clang will generate smaller code if we avoid reassigning the reg and freg arrays. That can be easily arranged by passing them as arguments to process_main().
Diffstat (limited to 'erts/emulator/beam/erl_process.c')
-rw-r--r--erts/emulator/beam/erl_process.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index bcbb9b3115..b577ae95b0 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -8169,7 +8169,8 @@ sched_thread_func(void *vesdp)
ERTS_VERIFY_UNUSED_TEMP_ALLOC(NULL);
#endif
- process_main();
+ process_main(esdp->x_reg_array, esdp->f_reg_array);
+
/* No schedulers should *ever* terminate */
erts_exit(ERTS_ABORT_EXIT,
"Scheduler thread number %beu terminated\n",