diff options
author | Björn Gustavsson <[email protected]> | 2016-05-23 20:13:48 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2016-05-30 13:19:20 +0200 |
commit | b1b27719d713c0e62d3242bbf1da0600ea0a651f (patch) | |
tree | 7376b00ada2e29bae532bd997a2a02fecec1faf6 /bootstrap/lib/compiler | |
parent | 88632d70cc866b5e54589ccb9311c7c5a88ecb46 (diff) | |
download | otp-b1b27719d713c0e62d3242bbf1da0600ea0a651f.tar.gz otp-b1b27719d713c0e62d3242bbf1da0600ea0a651f.tar.bz2 otp-b1b27719d713c0e62d3242bbf1da0600ea0a651f.zip |
Eliminate unsafe use of Y registers
If the Core Erlang optimization were turned off (using no_copt),
the optimization passes for Beam assembly could generate unsafe
code that did not initialize all Y registers before (for example)
a call instruction.
To fix this, beam_dead should not attempt to remove stores to Y
registers. That is not safe if there is an exception-generating
instruction inside a try...catch block.
Diffstat (limited to 'bootstrap/lib/compiler')
0 files changed, 0 insertions, 0 deletions