aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/src/dialyzer_callgraph.erl
AgeCommit message (Collapse)Author
2017-03-10Update copyright yearRickard Green
2017-01-11dialyzer: Reduce ETS usage during the typesig phaseHans Bolinder
The condensed graph of SCCs occupies less ETS memory. A table translating to and from SCC to a unique integer is introduced.
2017-01-11dialyzer: Optimize graph condensationHans Bolinder
By not using ETS when calculating the condensation of graphs, peak heap memory consumption is reduced.
2016-01-26Split race_data_server out of dialyzer_callgraphLuca Favatella
... in order to reduce size of module dialyzer_callgraph, down from ~850 to ~750 lines.
2016-01-26Clarify that dialyzer_callgraph:callgraph() type is opaqueLuca Favatella
2015-12-28Merge branch 'maint'Zandra
2015-10-27Teach Dialyzer call to funs `M:F/A` (literal M, F, A)Luca Favatella
2015-10-09Update DialyzerHans Bolinder
Record field types have been modified due to commit 8ce35b2: "Take out automatic insertion of 'undefined' from typed record fields".
2015-06-18Change license text to APLv2Bruce Yinhe
2014-02-23Deprecate pre-defined built-in typesHans Bolinder
The types array(), dict(), digraph(), gb_set(), gb_tree(), queue(), set(), and tid() have been deprecated. They will be removed in OTP 18.0. Instead the types array:array(), dict:dict(), digraph:graph(), gb_set:set(), gb_tree:tree(), queue:queue(), sets:set(), and ets:tid() can be used. (Note: it has always been necessary to use ets:tid().) It is allowed in OTP 17.0 to locally re-define the types array(), dict(), and so on. New types array:array/1, dict:dict/2, gb_sets:set/1, gb_trees:tree/2, queue:queue/1, and sets:set/1 have been added.
2013-12-12Support non top level letrecs in dialyzerJosé Valim
Dialyzer so far only supported letrecs at the top-level and comprehension-like letrecs (i.e. that were directly applied) in their body. This commit address this issue by storing in the callgraph bound letrec labels pointing to their functions. This information is then used by the dataflow to properly lookup recursive definitions.
2013-02-22Update copyright yearsBjörn-Egil Dahlberg
2013-02-19Simplify a case construct using a boolean operatorKostis Sagonas
2012-05-21Regulate all kinds of running workers up to the number of schedulersStavros Aronis
2012-05-21Better names for callgaph ETS tablesStavros Aronis
2012-05-21Remove needless conversionStavros Aronis
The final version of the callgraph needs not be "reduced" for more efficient copying.
2012-05-21Fix types and specsStavros Aronis
2012-05-21Better reflect side-effect based code in dialyzer_callgraphStavros Aronis
2012-05-21Code simplifications (tidier)Kostis Sagonas
2012-05-21More efficient calculation of module deps and postorderStavros Aronis
2012-05-21All spawns are now spawn_linksStavros Aronis
2012-05-21Fix specsStavros Aronis
2012-05-21Add read_concurrency option to some ETS tablesStavros Aronis
2012-05-21Avoid digraph_utils:condensation and ordering in typesigStavros Aronis
2012-05-21Fix types and specs in DialyzerStavros Aronis
2012-05-21Parallel compilation of files under analysisStavros Aronis
2012-05-21Callgraph is ets based from the startStavros Aronis
2012-05-21Parallel dataflowStavros Aronis
2012-05-21Separate race related fields of callgraphStavros Aronis
2012-05-21Remove unused race detection related codeStavros Aronis
2012-05-21Moving code between callgraph & dataflowStavros Aronis
2012-05-21Parallel typesig analysisStavros Aronis
2012-05-21Simplify typesig postorder calculationStavros Aronis
As the storing in the codeserver is organized per function there is no need for fancy code to make use of the old caching capabilities.
2012-05-21Flatten order of dataflow analysesStavros Aronis
Dataflow analysis was structured to find SCCs of modules, without making any use of the information that these were indeed SCCs.
2012-03-30Update copyright yearsBjörn-Egil Dahlberg
2012-02-22Review by Kostis Sagonas and fixesStavros Aronis
2012-02-22Cleanups in dialyzer_callgraph and dialyzer_dataflowStavros Aronis
Refactorings, code movements and reflection of mutable variables in the code.
2010-06-03Support -export_type() in dialyzer and erl_typesKostis Sagonas
2010-02-17Merge branch 'ks/hipe' into ccase/r13b04_devErlang/OTP
* ks/hipe: dialyzer: Fix system_limit exception in race analysis syntax_tools: Add types and specs for most exported functions syntax_tools: Support the --enable-native-libs configure option syntax_tools: Remove $Id$ annotations dialyzer: New version for the R13B04 release hipe: Miscellaneous additions typer: New version for the R13B04 release Fix a HiPE compiler bug evaluating an expression that throws system_limit OTP-8460 ks/hipe
2010-02-16dialyzer: Fix system_limit exception in race analysisKostis Sagonas
dialyzer_callgraph: Avoid creation of too many ets tables by the race analysis. dialyzer_dataflow: The digraph returned by the race analysis should not be the translated one.
2010-02-14dialyzer: New version for the R13B04 releaseKostis Sagonas
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP