aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_emu.c
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2017-08-17 11:59:26 +0200
committerBjörn Gustavsson <[email protected]>2017-08-23 05:57:38 +0200
commit8f2646de9a74d82d8527782bdb58584c60e99742 (patch)
treeb3692571fe81f436dd3573537a03a05dadb5217c /erts/emulator/beam/beam_emu.c
parent234ef0eb9803d4c4cfb82848e3d3d14d89d1ddf5 (diff)
downloadotp-8f2646de9a74d82d8527782bdb58584c60e99742.tar.gz
otp-8f2646de9a74d82d8527782bdb58584c60e99742.tar.bz2
otp-8f2646de9a74d82d8527782bdb58584c60e99742.zip
beam_makeops: Rewrite the packer, fixing several bugs
The packer had several bugs and limitations. For instance, on a 32-bit Erlang virtual machine it would gladly pack three 't' values into one word even though it would be not safe. The rewritten version will be more careful how much it packs into each word. It will also be able to do packing for more instructions.
Diffstat (limited to 'erts/emulator/beam/beam_emu.c')
-rw-r--r--erts/emulator/beam/beam_emu.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c
index dc242229e5..badfe62aa9 100644
--- a/erts/emulator/beam/beam_emu.c
+++ b/erts/emulator/beam/beam_emu.c
@@ -238,6 +238,7 @@ void** beam_ops;
PROCESS_MAIN_CHK_LOCKS((P)); \
ERTS_UNREQ_PROC_MAIN_LOCK((P))
+#define db(N) (N)
#define tb(N) (N)
#define xb(N) (*(Eterm *) (((unsigned char *)reg) + (N)))
#define yb(N) (*(Eterm *) (((unsigned char *)E) + (N)))