[procdesc] look at capture DB only -- cost

Summary:
`AnalysisCallbacks.get_proc_desc` potentially introduces non-determinism because it first looks for the `proc_desc` in the capture DB and if absent it tries to retrieve it from a summary.

The problem is the two proc descs are generally different, as the one in the summary is preanalysed and the one in the capture DB is not.

Unless the caller specifically needs a preanalysed `procdesc`, calls to `AnalysisCallbacks.get_proc_desc` should be replaced with `Procdesc.load`.

Reviewed By: skcho

Differential Revision: D29826482

fbshipit-source-id: f8c7cb243
master
Nikos Gorogiannis 3 years ago committed by Facebook GitHub Bot
parent 41c4021162
commit 66d9ce1d51

@ -444,7 +444,7 @@ let checker ({InterproceduralAnalysis.proc_desc; exe_env; analyze_dependency} as
; get_node_nb_exec
; get_summary
; get_formals
; get_proc_desc= AnalysisCallbacks.get_proc_desc
; get_proc_desc= Procdesc.load
; proc_resolve_attributes= Attributes.load }
in
AnalysisCallbacks.html_debug_new_node_session (NodeCFG.start_node node_cfg)

Loading…
Cancel
Save