mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
fixed for profiling missing some profile elements
This commit is contained in:
parent
ce7f886077
commit
4ea5785908
1 changed files with 15 additions and 9 deletions
|
@ -470,16 +470,22 @@ ProfileFuncs::ProfileFuncs(std::vector<FuncInfo>& funcs, is_compilable_pred pred
|
||||||
// functions. Recursively compute their hashes.
|
// functions. Recursively compute their hashes.
|
||||||
ComputeTypeHashes(main_types);
|
ComputeTypeHashes(main_types);
|
||||||
|
|
||||||
// Computing the hashes can have marked expressions (seen in
|
do
|
||||||
// record attributes) for further analysis. Likewise, when
|
{
|
||||||
// doing the profile merges above we may have noted lambda
|
// Computing the hashes can have marked expressions (seen in
|
||||||
// expressions. Analyze these, and iteratively any further
|
// record attributes) for further analysis. Likewise, when
|
||||||
// expressions that that analysis uncovers.
|
// doing the profile merges above we may have noted lambda
|
||||||
DrainPendingExprs();
|
// expressions. Analyze these, and iteratively any further
|
||||||
|
// expressions that that analysis uncovers.
|
||||||
|
DrainPendingExprs();
|
||||||
|
|
||||||
// We now have all the information we need to form definitive,
|
// We now have all the information we need to form definitive,
|
||||||
// deterministic hashes.
|
// deterministic hashes.
|
||||||
ComputeBodyHashes(funcs);
|
ComputeBodyHashes(funcs);
|
||||||
|
|
||||||
|
// Computing those hashes could have led to traversals that
|
||||||
|
// create more pending expressions to analyze.
|
||||||
|
} while ( ! pending_exprs.empty() );
|
||||||
}
|
}
|
||||||
|
|
||||||
void ProfileFuncs::MergeInProfile(ProfileFunc* pf)
|
void ProfileFuncs::MergeInProfile(ProfileFunc* pf)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue