diff options
author | Björn Gustavsson <[email protected]> | 2017-09-01 10:19:11 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2017-09-01 10:19:11 +0200 |
commit | 2d32a4d56c2e2bf9aeb3593efca5a2f9d8419d97 (patch) | |
tree | ed0f215f5d1697918540541ba7ec9035e77ee96b /erts/emulator/beam/bif.c | |
parent | 661a422dd0d7b769dbb049f2d97fab04871cddd7 (diff) | |
parent | 84deb2692839ff876581f9ba8d74c5eefd6c3010 (diff) | |
download | otp-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.c | 6 |
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); |