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