diff options
author | Björn Gustavsson <[email protected]> | 2017-08-31 14:56:33 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2017-08-31 15:02:29 +0200 |
commit | 1b8cbb336698ab0a1992a35e2c08e2d25c6a66d5 (patch) | |
tree | 8a83353926bf97c647410b223d69e0de9d7d77ac /erts/emulator/beam | |
parent | f0b2ac51019181cc765b55e95b2723f5ed03d3fa (diff) | |
download | otp-1b8cbb336698ab0a1992a35e2c08e2d25c6a66d5.tar.gz otp-1b8cbb336698ab0a1992a35e2c08e2d25c6a66d5.tar.bz2 otp-1b8cbb336698ab0a1992a35e2c08e2d25c6a66d5.zip |
Introduce '%warm' and beam_warm.h
The bit syntax instructions are mixed among other instructions
in beam_hot.h and beam_cold.h.
Introduce a new hotness level called '%warm' with is associated
file beam_warm.h. Mark all bit syntax instructions as '%warm'.
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r-- | erts/emulator/beam/beam_emu.c | 2 | ||||
-rw-r--r-- | erts/emulator/beam/ops.tab | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c index 2c37dc42b3..48569a90a9 100644 --- a/erts/emulator/beam/beam_emu.c +++ b/erts/emulator/beam/beam_emu.c @@ -870,6 +870,8 @@ void process_main(Eterm * x_reg_array, FloatDef* f_reg_array) goto do_schedule1; } +#include "beam_warm.h" + OpCase(normal_exit): { SWAPOUT; c_p->freason = EXC_NORMAL; diff --git a/erts/emulator/beam/ops.tab b/erts/emulator/beam/ops.tab index b6e995fdbe..d199c9e9f2 100644 --- a/erts/emulator/beam/ops.tab +++ b/erts/emulator/beam/ops.tab @@ -1040,7 +1040,7 @@ func_info M F A => i_func_info u M F A # New bit syntax matching (R11B). # ================================================================ -%cold +%warm bs_start_match2 Fail=f ica X Y D => jump Fail bs_start_match2 Fail Bin X Y D => i_bs_start_match2 Bin Fail X Y D i_bs_start_match2 xy f I I x @@ -1138,7 +1138,7 @@ i_bs_validate_unicode_retract j s s # # Constructing binaries # -%cold +%warm bs_init2 Fail Sz Words Regs Flags Dst | binary_too_big(Sz) => system_limit Fail |