aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/src/beam_block.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_block.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_block.erl')
-rw-r--r--lib/compiler/src/beam_block.erl1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/compiler/src/beam_block.erl b/lib/compiler/src/beam_block.erl
index c928fc7187..0ed2a03a81 100644
--- a/lib/compiler/src/beam_block.erl
+++ b/lib/compiler/src/beam_block.erl
@@ -89,6 +89,7 @@ collect({move,S,D}) -> {set,[D],[S],move};
collect({put_list,S1,S2,D}) -> {set,[D],[S1,S2],put_list};
collect({put_tuple,A,D}) -> {set,[D],[],{put_tuple,A}};
collect({put,S}) -> {set,[],[S],put};
+collect({put_tuple2,D,{list,Els}}) -> {set,[D],Els,put_tuple2};
collect({get_tuple_element,S,I,D}) -> {set,[D],[S],{get_tuple_element,I}};
collect({set_tuple_element,S,D,I}) -> {set,[],[S,D],{set_tuple_element,I}};
collect({get_hd,S,D}) -> {set,[D],[S],get_hd};