diff options
author | Hans Bolinder <[email protected]> | 2017-09-11 13:11:40 +0200 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2017-09-12 14:38:59 +0200 |
commit | fbed19107051cb0830434a8ffe09f16e0ddbd944 (patch) | |
tree | fc739722befee5318348bccc4d42712978254048 | |
parent | eee9dc863a4dc806ee48eea07da08bd87ab0bb0c (diff) | |
download | otp-fbed19107051cb0830434a8ffe09f16e0ddbd944.tar.gz otp-fbed19107051cb0830434a8ffe09f16e0ddbd944.tar.bz2 otp-fbed19107051cb0830434a8ffe09f16e0ddbd944.zip |
dialyzer: Do not fix ETS tables when merging PLTs
This commit removes the call to ets:safe_fixtable/2 introduced in
commit 9458495. ETS memory can now be reclaimed while merging PLTs.
-rw-r--r-- | lib/dialyzer/src/dialyzer_plt.erl | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/dialyzer/src/dialyzer_plt.erl b/lib/dialyzer/src/dialyzer_plt.erl index 0fd99bbc04..95c8b5ebce 100644 --- a/lib/dialyzer/src/dialyzer_plt.erl +++ b/lib/dialyzer/src/dialyzer_plt.erl @@ -772,12 +772,16 @@ tab_is_disj(K1, T1, T2) -> end. merge_tables(T1, T2) -> - ets:safe_fixtable(T1, true), tab_merge(ets:first(T1), T1, T2). tab_merge('$end_of_table', T1, T2) -> - true = ets:delete(T1), - T2; + case ets:first(T1) of % no safe_fixtable()... + '$end_of_table' -> + true = ets:delete(T1), + T2; + Key -> + tab_merge(Key, T1, T2) + end; tab_merge(K1, T1, T2) -> Vs = ets:lookup(T1, K1), NextK1 = ets:next(T1, K1), |