Commit graph

32 commits

Author SHA1 Message Date
Vern Paxson
9ada7ac4e7 tracking of when statements/expressions occur in a "when" context 2022-05-12 13:45:45 -07:00
Matthew Luckie
11f8729997 remove deprecated union and timer types, addressing #1898 2022-02-19 19:17:51 +13:00
Tim Wojtulewicz
3d9d6e953b Merge remote-tracking branch 'origin/topic/vern/when-lambda'
* origin/topic/vern/when-lambda:
  explicitly provide the frame for evaluating a "when" timeout expression
  attempt to make "when" btest deterministic
  tests for new "when" semantics/errors
  update existing test suite usage of "when" statements to include captures
  update uses of "when" in base scripts to include captures
  captures for "when" statements update Triggers to IntrusivePtr's and simpler AST traversal introduce IDSet type, migrate associated "ID*" types to "const ID*"
  logic (other than in profiling) for assignments that yield separate values
  option for internal use to mark a function type as allowing non-expression returns
  removed some now-obsolete profiling functionality
  minor commenting clarifications
2022-01-14 14:41:42 -07:00
Vern Paxson
f895008c34 captures for "when" statements
update Triggers to IntrusivePtr's and simpler AST traversal
introduce IDSet type, migrate associated "ID*" types to "const ID*"
2022-01-07 14:50:35 -08:00
Vern Paxson
6cb5ea6835 removed some now-obsolete profiling functionality 2022-01-07 11:50:01 -08:00
Vern Paxson
a09c5e6bde fix: don't treat pseudo-identifiers in type cases as local variables 2021-12-23 11:37:17 -08:00
Vern Paxson
a10fafe398 tweak to keep clang-format happy 2021-12-12 12:43:30 -08:00
Vern Paxson
2f7137999f restored support for incremental compilation of scripts to C++ 2021-12-12 12:36:45 -08:00
Vern Paxson
4ea5785908 fixed for profiling missing some profile elements 2021-12-12 12:33:06 -08:00
Vern Paxson
9069e744f9 replace --optimize-only with --optimize-funcs and --optimize-files 2021-12-10 12:45:27 -08:00
Vern Paxson
f865897cac AST profiles track the associated function/body/expression 2021-11-24 15:18:40 -08:00
Tim Wojtulewicz
4423574d26 clang-format: Set IndentCaseBlocks to false 2021-09-27 10:49:48 -07:00
Tim Wojtulewicz
b2f171ec69 Reformat the world 2021-09-16 15:35:39 -07:00
Vern Paxson
da6ac0b521 switch to ID definition regions; reworked driver functions; more info for reporting uncompilable functions 2021-09-08 10:23:38 -07:00
Vern Paxson
9a9995bdd1 tracking of optimization information associated with identifiers 2021-09-08 10:23:38 -07:00
Vern Paxson
fb101f7b0e track implicit assignments when profiling, associate counts with assignees 2021-09-08 10:23:38 -07:00
Vern Paxson
9900a3468c support for profiling function bodies w/o needing accompanying ScriptFunc object 2021-05-30 17:44:24 -07:00
Jon Siwek
3e85375010 Fix various compiler/linter warnings in script_opt/CPP code 2021-05-05 16:55:05 -07:00
Vern Paxson
158e82a2c1 expand profiling to include values to which globals are assigned 2021-05-05 16:55:04 -07:00
Vern Paxson
dd05beff50 fixed missing profiling for ?$ operator 2021-05-05 16:55:04 -07:00
Vern Paxson
72f62f398a FuncInfo now tracks priority; some tidying/widening of its accessors 2021-05-05 16:55:04 -07:00
Jon Siwek
d57848828e Avoid a redundant set operation in ProfileFuncs::MergeInProfile() 2021-04-02 11:55:22 -07:00
Vern Paxson
0b45ff2179 optionally hash original, not extended, form of records for profiling
profile types associated with global initializations
incorporate type name, if present, into type hash
2021-04-01 20:20:12 -07:00
Jon Siwek
be21843859 Add missing errno include to ProfileFunc.cc 2021-03-31 15:14:27 -07:00
Jon Siwek
bdadbabf18 Adjust GetAttrs() usage in ProfileFunc::PreExpr() to const-reference 2021-03-31 14:52:01 -07:00
Jon Siwek
dc9e7f6d03 Fix whitespace in ProfileFunc::PreExpr() 2021-03-31 14:50:45 -07:00
Jon Siwek
ccd27a3dfa Avoid redundant map/set searches in various ProfileFunc methods 2021-03-31 14:48:02 -07:00
Jon Siwek
ab1f1f8360 Improve detail::script_specific_filename()
- To handle relative paths that don't start with a '.'
- To handle getcwd() failures
2021-03-31 14:18:36 -07:00
Vern Paxson
297adf3486 function profiling rewritten - more detailed info, supports global profiling 2021-03-25 16:17:32 -07:00
Jon Siwek
70ff4ef678 Remove Func::AsScriptFunc() methods
Not used frequently enough, so possibly better to minimize leakage of
details from non-detail API.
2020-12-13 14:03:39 -08:00
Jon Siwek
481d989495 Superficial changes to script-opt related code
* Rename overly generic ACCESSORS macro with ZEEK_ prefix
* A few places where whitespace was noticeably wrong/distracting
* Minor/obvious reference/move semantics improvements suggested by linter
* Remove unused detail::Scope::Remove(), no need for deprecation
2020-12-13 10:33:28 -08:00
Vern Paxson
c42586af2c inlining of Zeek script functions 2020-11-19 16:16:59 -08:00