aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/bif.c
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2017-09-01 10:19:11 +0200
committerBjörn Gustavsson <[email protected]>2017-09-01 10:19:11 +0200
commit2d32a4d56c2e2bf9aeb3593efca5a2f9d8419d97 (patch)
treeed0f215f5d1697918540541ba7ec9035e77ee96b /erts/emulator/beam/bif.c
parent661a422dd0d7b769dbb049f2d97fab04871cddd7 (diff)
parent84deb2692839ff876581f9ba8d74c5eefd6c3010 (diff)
downloadotp-2d32a4d56c2e2bf9aeb3593efca5a2f9d8419d97.tar.gz
otp-2d32a4d56c2e2bf9aeb3593efca5a2f9d8419d97.tar.bz2
otp-2d32a4d56c2e2bf9aeb3593efca5a2f9d8419d97.zip
Merge branch 'bjorn/erts/improve-beam-ops'
* bjorn/erts/improve-beam-ops: Optimize dispatch of loop_rec from recv_set Add missing -no_next directives Eliminate three arguments for erts_hibernate() Eliminate three arguments for the apply() helper Assign machine registers for X86-64 Annotate arithmetic instructions with likely/unlikely Add annotations for likely/unlikely ops.tab: Mark infrequently used instructions as %cold Introduce '%warm' and beam_warm.h
Diffstat (limited to 'erts/emulator/beam/bif.c')
-rw-r--r--erts/emulator/beam/bif.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/erts/emulator/beam/bif.c b/erts/emulator/beam/bif.c
index cbbc2e88a1..ded6c6f1a4 100644
--- a/erts/emulator/beam/bif.c
+++ b/erts/emulator/beam/bif.c
@@ -1250,7 +1250,11 @@ BIF_RETTYPE hibernate_3(BIF_ALIST_3)
*/
Eterm reg[3];
- if (erts_hibernate(BIF_P, BIF_ARG_1, BIF_ARG_2, BIF_ARG_3, reg)) {
+ reg[0] = BIF_ARG_1;
+ reg[1] = BIF_ARG_2;
+ reg[2] = BIF_ARG_3;
+
+ if (erts_hibernate(BIF_P, reg)) {
/*
* If hibernate succeeded, TRAP. The process will be wait in a
* hibernated state if its state is inactive (!ERTS_PSFLG_ACTIVE);