aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/beam_except.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2018-09-05 13:25:28 +0200
committerGitHub <[email protected]>2018-09-05 13:25:28 +0200
commit66b797b4aeca486f515d96c1677cc633ce12a5d3 (patch)
tree1d5d55a26a42a97b1f052fa87cfe772e212b6775 /lib/compiler/src/beam_except.erl
parent092f4847f489cba0381676a6a389ddbfc2af4f1e (diff)
parent47a2ff39ac75c69b41f90f05a63fd9a2e6c0b36a (diff)
downloadotp-66b797b4aeca486f515d96c1677cc633ce12a5d3.tar.gz
otp-66b797b4aeca486f515d96c1677cc633ce12a5d3.tar.bz2
otp-66b797b4aeca486f515d96c1677cc633ce12a5d3.zip
Merge pull request #1947 from bjorng/bjorn/opt-put-tuple
Introduce a put_tuple2 instruction
Diffstat (limited to 'lib/compiler/src/beam_except.erl')
-rw-r--r--lib/compiler/src/beam_except.erl9
1 files changed, 1 insertions, 8 deletions
diff --git a/lib/compiler/src/beam_except.erl b/lib/compiler/src/beam_except.erl
index 366ec6cd44..98831d87a7 100644
--- a/lib/compiler/src/beam_except.erl
+++ b/lib/compiler/src/beam_except.erl
@@ -113,14 +113,7 @@ dig_out_block([{set,[{x,0}],[{atom,if_clause}],move}]) ->
{yes,if_end,[]};
dig_out_block([{set,[{x,0}],[{literal,{Exc,Value}}],move}|Is]) ->
translate_exception(Exc, {literal,Value}, Is, 0);
-dig_out_block([{set,[{x,0}],[Tuple],move},
- {set,[],[Value],put},
- {set,[],[{atom,Exc}],put},
- {set,[Tuple],[],{put_tuple,2}}|Is]) ->
- translate_exception(Exc, Value, Is, 3);
-dig_out_block([{set,[],[Value],put},
- {set,[],[{atom,Exc}],put},
- {set,[{x,0}],[],{put_tuple,2}}|Is]) ->
+dig_out_block([{set,[{x,0}],[{atom,Exc},Value],put_tuple2}|Is]) ->
translate_exception(Exc, Value, Is, 3);
dig_out_block(_) -> no.