diff options
author | Hans Bolinder <[email protected]> | 2017-03-15 11:34:36 +0100 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2017-06-13 13:40:25 +0200 |
commit | 020a8817caca2684f8241dc5f9c84a37d53b4ff7 (patch) | |
tree | d2a9e1e455a292777d9d90b17e21a1d5ec186e33 /lib/dialyzer/src/dialyzer_dataflow.erl | |
parent | f05dd185fe56cccdefeca8bd3fa92ec6c0e7979d (diff) | |
download | otp-020a8817caca2684f8241dc5f9c84a37d53b4ff7.tar.gz otp-020a8817caca2684f8241dc5f9c84a37d53b4ff7.tar.bz2 otp-020a8817caca2684f8241dc5f9c84a37d53b4ff7.zip |
dialyzer: Minor optimizations
Avoid some ETS-lookups. Marginal speed-ups.
Diffstat (limited to 'lib/dialyzer/src/dialyzer_dataflow.erl')
-rw-r--r-- | lib/dialyzer/src/dialyzer_dataflow.erl | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/dialyzer/src/dialyzer_dataflow.erl b/lib/dialyzer/src/dialyzer_dataflow.erl index 46a8f01360..8367432ac5 100644 --- a/lib/dialyzer/src/dialyzer_dataflow.erl +++ b/lib/dialyzer/src/dialyzer_dataflow.erl @@ -138,7 +138,7 @@ %%-------------------------------------------------------------------- --type fun_types() :: dict:dict(label(), type()). +-type fun_types() :: orddict:orddict(label(), type()). -spec get_warnings(cerl:c_module(), dialyzer_plt:plt(), dialyzer_callgraph:callgraph(), @@ -3317,7 +3317,9 @@ state__clean_not_called(#state{fun_tab = FunTab} = State) -> state__all_fun_types(State) -> #state{fun_tab = FunTab} = state__clean_not_called(State), Tab1 = dict:erase(top, FunTab), - dict:map(fun(_Fun, {Args, Ret}) -> t_fun(Args, Ret)end, Tab1). + List = [{Fun, t_fun(Args, Ret)} || + {Fun, {Args, Ret}} <- dict:to_list(Tab1)], + orddict:from_list(List). state__fun_type(Fun, #state{fun_tab = FunTab}) -> Label = |