diff options
author | Björn Gustavsson <[email protected]> | 2010-04-22 15:18:13 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2010-05-11 08:53:27 +0200 |
commit | d60f055697cfe8e7f94be4d291d49bb00a66bc52 (patch) | |
tree | 0db2f8a0ae0737e3f58460b2b1fccdae525b6c9b /lib/compiler/src/beam_validator.erl | |
parent | ea0f50dfbc8ec99820b81f99be81ada727bb3cf8 (diff) | |
download | otp-d60f055697cfe8e7f94be4d291d49bb00a66bc52.tar.gz otp-d60f055697cfe8e7f94be4d291d49bb00a66bc52.tar.bz2 otp-d60f055697cfe8e7f94be4d291d49bb00a66bc52.zip |
Introduce the new recv_mark/1 and recv_mark/1 instructions
Make the recv_mark/1 and recv_mark/1 instructions known to the
compiler and run-time system. For the moment, make the loader ignore
any occurrences of those instructions in BEAM files.
Also update hipe_beam_to_icode to ignore those instructions.
Diffstat (limited to 'lib/compiler/src/beam_validator.erl')
-rw-r--r-- | lib/compiler/src/beam_validator.erl | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/compiler/src/beam_validator.erl b/lib/compiler/src/beam_validator.erl index 1fd61831e0..34065cfdce 100644 --- a/lib/compiler/src/beam_validator.erl +++ b/lib/compiler/src/beam_validator.erl @@ -416,6 +416,11 @@ valfun_1({put,Src}, Vst) -> valfun_1({put_string,Sz,_,Dst}, Vst0) when is_integer(Sz) -> Vst = eat_heap(2*Sz, Vst0), set_type_reg(cons, Dst, Vst); +%% Instructions for optimization of selective receives. +valfun_1({recv_mark,{f,Fail}}, Vst) when is_integer(Fail) -> + Vst; +valfun_1({recv_set,{f,Fail}}, Vst) when is_integer(Fail) -> + Vst; %% Misc. valfun_1({'%live',Live}, Vst) -> verify_live(Live, Vst), |