aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/beam_utils.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2018-04-11 05:01:09 +0200
committerBjörn Gustavsson <[email protected]>2018-08-17 09:50:59 +0200
commitb4e41395494cb395fa8eb9bd771cadc712912ff3 (patch)
tree6e84f39c49ec7fbc36c3bb449fa237a70038e249 /lib/compiler/src/beam_utils.erl
parent1f221b27f1336e747f7409692f260055dd3ddf79 (diff)
downloadotp-b4e41395494cb395fa8eb9bd771cadc712912ff3.tar.gz
otp-b4e41395494cb395fa8eb9bd771cadc712912ff3.tar.bz2
otp-b4e41395494cb395fa8eb9bd771cadc712912ff3.zip
beam_except: Enhance recognition of function_clause exceptions
Don't match exact BEAM instructions when trying to recognize function_clause exceptions that should be replaced with a jump to the func_info instruction. Instead, do a symbolic evaluation of the list building code and see if the result is a list of the argument registers. While at it, also teach fix_block_1/2 to completely remove a test_heap instruction before an exception generation instruction.
Diffstat (limited to 'lib/compiler/src/beam_utils.erl')
0 files changed, 0 insertions, 0 deletions