diff options
author | Björn Gustavsson <[email protected]> | 2010-04-22 13:37:18 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2010-05-11 08:54:26 +0200 |
commit | f39e0b6bbc5f5d9f6a55b87847bcad7707309883 (patch) | |
tree | 716d2cd1cfa00e1854ccba637484c8a7aec68919 /lib/compiler/test/receive_SUITE_data/ref_opt/no_2.erl | |
parent | 1d3148a8532b9319265fbe4107cdde81b554b3a2 (diff) | |
download | otp-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/no_2.erl')
-rw-r--r-- | lib/compiler/test/receive_SUITE_data/ref_opt/no_2.erl | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/compiler/test/receive_SUITE_data/ref_opt/no_2.erl b/lib/compiler/test/receive_SUITE_data/ref_opt/no_2.erl new file mode 100644 index 0000000000..bc8d30c2ac --- /dev/null +++ b/lib/compiler/test/receive_SUITE_data/ref_opt/no_2.erl @@ -0,0 +1,26 @@ +-module(no_2). +-compile(export_all). + +?MODULE() -> + ok. + +f1() -> + Ref = make_ref(), + receive + {'DOWN',Ref} -> + ok; + {'DOWN',_} -> + ok + end. + +f2(Pid, Msg) -> + Ref = erlang:monitor(process, Pid), + Pid ! Msg, + receive + {ok,Ref,Reply} -> + {ok,Reply}; + {error,Ref,Reply} -> + {error,Reply}; + {error,A,B} -> + {error,A,B} + end. |