aboutsummaryrefslogtreecommitdiffstats
path: root/lib/compiler/test/receive_SUITE_data/ref_opt/yes_4.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2010-04-22 13:37:18 +0200
committerBjörn Gustavsson <[email protected]>2010-05-11 08:54:26 +0200
commitf39e0b6bbc5f5d9f6a55b87847bcad7707309883 (patch)
tree716d2cd1cfa00e1854ccba637484c8a7aec68919 /lib/compiler/test/receive_SUITE_data/ref_opt/yes_4.erl
parent1d3148a8532b9319265fbe4107cdde81b554b3a2 (diff)
downloadotp-f39e0b6bbc5f5d9f6a55b87847bcad7707309883.tar.gz
otp-f39e0b6bbc5f5d9f6a55b87847bcad7707309883.tar.bz2
otp-f39e0b6bbc5f5d9f6a55b87847bcad7707309883.zip
compiler test: Test optimization of receive statements
We don't attempt to run the generated code, but use beam_disasm and check for the presence or absence (as appropriate) of the recv_mark/1 and recv_set/1 instructions.
Diffstat (limited to 'lib/compiler/test/receive_SUITE_data/ref_opt/yes_4.erl')
-rw-r--r--lib/compiler/test/receive_SUITE_data/ref_opt/yes_4.erl16
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/compiler/test/receive_SUITE_data/ref_opt/yes_4.erl b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_4.erl
new file mode 100644
index 0000000000..d1ba4832c7
--- /dev/null
+++ b/lib/compiler/test/receive_SUITE_data/ref_opt/yes_4.erl
@@ -0,0 +1,16 @@
+-module(yes_4).
+-compile(export_all).
+
+?MODULE() ->
+ ok.
+
+f(Pid, Msg) ->
+ Ref = make_ref(),
+ catch do_send(Pid, Msg),
+ receive
+ {Ref,Reply} ->
+ Reply
+ end.
+
+do_send(Pid, Msg) ->
+ Pid ! Msg.