diff options
author | Björn Gustavsson <[email protected]> | 2012-10-10 16:00:04 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2012-10-10 16:00:04 +0200 |
commit | b16c127d4dc2bb070d6e98e5c4cdc38220708a13 (patch) | |
tree | 60e0fe128f9fe6d36354952d70f06463683a112d /lib/compiler/test/misc_SUITE.erl | |
parent | 55358002ddfa9f19e4142677d1ad4bd0a1760c0a (diff) | |
parent | e1aa422290b09a68bd761cbd0e70bd48442009b3 (diff) | |
download | otp-b16c127d4dc2bb070d6e98e5c4cdc38220708a13.tar.gz otp-b16c127d4dc2bb070d6e98e5c4cdc38220708a13.tar.bz2 otp-b16c127d4dc2bb070d6e98e5c4cdc38220708a13.zip |
Merge branch 'bjorn/compiler/minor-optimization-polishing/OTP-10193'
* bjorn/compiler/minor-optimization-polishing/OTP-10193: (25 commits)
beam_bsm: Handle calls slightly better
Break apart tail-recursive call instructions
Represent the 'send' instruction as a call_ext/2 instruction
Rewrite select_val and select_tuple_arity to a select instruction
Rewrite binary creation instructions to bs_init instructions
Rewrite bs_add, bs_utf*_size to BIF instructions in optimizations
Rewrite bs_put* instructions to a generic bs_put instruction
Refactor removal of unused labels
Introduce the mandatory beam_a and beam_z passes
compile: Fix bug in selection of passes
beam_receive: Optimize receives using refs created by spawn_monitor/{1,3}
compile: Give a friendler error message if a parse transform cannot be found
beam_jump: Don't move a block which can be entered via a fallthrough
beam_jump: Fix broken optimization
v3_kernel: Fix match code for matched out segment size in multiple clauses
Improve binary matching of literals
v3_codegen: Combine adjacent bs_match_string instructions
beam_bool: Recognize more safe optimizations
beam_utils: Correct usage calculations for GC BIFs in blocks
beam_utils:live_opt/1: Correct liveness calculation for 'try'
...
Diffstat (limited to 'lib/compiler/test/misc_SUITE.erl')
-rw-r--r-- | lib/compiler/test/misc_SUITE.erl | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/compiler/test/misc_SUITE.erl b/lib/compiler/test/misc_SUITE.erl index 0376c7ef3e..6df8b2ac30 100644 --- a/lib/compiler/test/misc_SUITE.erl +++ b/lib/compiler/test/misc_SUITE.erl @@ -182,6 +182,14 @@ silly_coverage(Config) when is_list(Config) -> CodegenInput = {?MODULE,[{foo,0}],[],[{function,foo,0,[a|b],a,b,[]}]}, ?line expect_error(fun() -> v3_codegen:module(CodegenInput, []) end), + %% beam_a + BeamAInput = {?MODULE,[{foo,0}],[], + [{function,foo,0,2, + [{label,1}, + {func_info,{atom,?MODULE},{atom,foo},0}, + {label,2}|non_proper_list]}],99}, + expect_error(fun() -> beam_a:module(BeamAInput, []) end), + %% beam_block BlockInput = {?MODULE,[{foo,0}],[], [{function,foo,0,2, @@ -263,6 +271,13 @@ silly_coverage(Config) when is_list(Config) -> {block,[a|b]}]}],0}, ?line expect_error(fun() -> beam_receive:module(ReceiveInput, []) end), + BeamZInput = {?MODULE,[{foo,0}],[], + [{function,foo,0,2, + [{label,1}, + {func_info,{atom,?MODULE},{atom,foo},0}, + {label,2}|non_proper_list]}],99}, + expect_error(fun() -> beam_z:module(BeamZInput, []) end), + ok. expect_error(Fun) -> |