diff options
author | Björn Gustavsson <[email protected]> | 2017-08-17 11:59:26 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2017-08-23 05:57:38 +0200 |
commit | 8f2646de9a74d82d8527782bdb58584c60e99742 (patch) | |
tree | b3692571fe81f436dd3573537a03a05dadb5217c /erts/emulator/beam/beam_emu.c | |
parent | 234ef0eb9803d4c4cfb82848e3d3d14d89d1ddf5 (diff) | |
download | otp-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.c | 1 |
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))) |