diff options
author | Björn Gustavsson <[email protected]> | 2016-04-07 10:06:44 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2016-04-08 10:28:42 +0200 |
commit | 3c0f98c1b0e74eb58a4e4e82a3ec89dc7ecdb579 (patch) | |
tree | c7b5544b9a7e506bc641302d265f6e44a468a660 /lib/compiler/src/beam_z.erl | |
parent | 0e1e90907ae76aae80f15316c2e43200a70d639b (diff) | |
download | otp-3c0f98c1b0e74eb58a4e4e82a3ec89dc7ecdb579.tar.gz otp-3c0f98c1b0e74eb58a4e4e82a3ec89dc7ecdb579.tar.bz2 otp-3c0f98c1b0e74eb58a4e4e82a3ec89dc7ecdb579.zip |
Simplify the raise instruction to reduce code size
The raise/2 instruction is almost always used like this:
raise x(2) x(1)
Therefore, we can translate it to an internal i_raise/0
instruction that uses x(2) x(1) as its implicit operands.
We will also remove the backward compatibility with R10-0. It is
unlikely that anyone still is using BEAM files compiled with the R10-0
compiler, especially since most of those modules cannot be loaded. The
loader will refuse to load any module that uses the old non-GCIng
arithmetic instructions or the non-GCing versions of length/1 or
size/1.
Doing these changes will reduce both the size of the loaded BEAM
code and size of the code in process_main().
Diffstat (limited to 'lib/compiler/src/beam_z.erl')
0 files changed, 0 insertions, 0 deletions