Vern Paxson
ca49e69aac
tracking of event groups for compilation to standalone-C++
2025-09-15 14:07:29 -07:00
Vern Paxson
a6f9d69c91
fixup! shift much of the internal use of ID* identifier pointers over to IDPtr objects
2025-09-03 11:20:29 -07:00
Tim Wojtulewicz
b592b6c998
Use .contains() instead of .find() or .count()
2025-09-02 16:42:52 +00:00
Tim Wojtulewicz
a3078f3132
Fix clang-tidy modernize-use-emplace findings
2025-06-06 11:43:06 -07:00
Tim Wojtulewicz
12356a6393
Remove unnecessary #includes in script_opt
2025-05-19 10:25:05 -07:00
Arne Welzel
0ebcd9608f
Merge remote-tracking branch 'origin/topic/vern/script-opt-uncompilable-AST'
...
* origin/topic/vern/script-opt-uncompilable-AST:
ScriptOpt: Fail compilation if known exprs/stmts is outdated
skip optimization of functions with AST nodes unknown to script optimization
2024-12-09 14:04:01 +01:00
Vern Paxson
c523684cc4
ZAM support for option to not coalesce event handlers
2024-12-03 10:38:05 -07:00
Vern Paxson
35e157a0ab
skip optimization of functions with AST nodes unknown to script optimization
2024-11-29 16:12:05 -08:00
Arne Welzel
71e9c8d436
script_opt: Use Func::GetName()
2024-09-27 15:11:17 +02:00
Vern Paxson
7c8c83efc4
factor script optimization Expr AST nodes out of main AST header
2024-04-25 09:15:13 -07:00
Vern Paxson
1b838ca91d
introduce notions of script functions/BiFs that are (1) foldable, (2) replaceable
2024-04-25 09:15:12 -07:00
Vern Paxson
e5bb63c662
fixes & enhancements to location information associated w/ AST nodes & ZAM optimization
2024-02-06 11:03:02 +01:00
Vern Paxson
dd91790f1e
script optimization tracking of functions called by event engine or indirectly
2023-12-12 09:45:19 +01:00
Vern Paxson
f573036099
script optimization fixes for pattern tables
2023-12-12 09:45:19 +01:00
Arne Welzel
b0a200a5dc
Merge remote-tracking branch 'origin/topic/vern/zam-EH-coalesce'
...
* origin/topic/vern/zam-EH-coalesce:
BTest updates to accommodate event handler coalescence differences
BTests for testing that event handler coalescence operates as expected
coalescing of event handlers (ZAM optimization)
Minor fixups during merge as commented on the PR.
2023-11-17 18:05:32 +01:00
Vern Paxson
3d21d80dac
coalescing of event handlers (ZAM optimization)
2023-11-16 12:58:28 -08:00
Vern Paxson
b489cfc508
greater ZAM optimization of inlined function calls
2023-11-10 09:57:35 +01:00
Benjamin Bannier
f5a76c1aed
Reformat Zeek in Spicy style
...
This largely copies over Spicy's `.clang-format` configuration file. The
one place where we deviate is header include order since Zeek depends on
headers being included in a certain order.
2023-10-30 09:40:55 +01:00
Vern Paxson
3f64858335
fixes for correctly tracking which functions have been fully inlined
2023-07-26 13:32:00 -07:00
Vern Paxson
1ff490b41c
more extensive ZAM inlining & compilation of lambdas
2023-07-17 16:31:30 -07:00
Vern Paxson
ecc93606c4
feature completeness for ZAM
2023-06-30 09:36:14 +02:00
Vern Paxson
ee0a6f6835
Script optimization maintenance and updates:
...
maintenance fixes for variadic run-time checks, '_' placeholder identifier
"-O allow-cond" permits compiling scripts to C++ when influenced by @if conditionals
more robust standalone compile-to-C++ properties
fix for nested "when" statements
test suite updates
2022-11-08 11:56:32 -08:00
Tim Wojtulewicz
73273fc87b
Merge remote-tracking branch 'origin/topic/vern/ZAM-inlining'
...
* origin/topic/vern/ZAM-inlining:
speed up ZAM compilation by capping function size when inlining
2022-05-19 11:45:50 -07:00
Vern Paxson
7d00ce0082
speed up ZAM compilation by capping function size when inlining
2022-05-14 14:52:31 -07:00
Vern Paxson
94e71b738a
minor enhancements for ZAM inlining
2022-02-03 08:53:10 -08:00
Vern Paxson
9069e744f9
replace --optimize-only with --optimize-funcs and --optimize-files
2021-12-10 12:45:27 -08:00
Tim Wojtulewicz
b2f171ec69
Reformat the world
2021-09-16 15:35:39 -07:00
Vern Paxson
5efba9e115
Stmt tag for compiled-to-C++; Inliner knows to avoid it
2021-05-05 16:55:04 -07:00
Vern Paxson
e42b1fa05d
low-level tidying
2021-01-10 14:15:11 -08:00
Jon Siwek
10ae10d4e4
Remove unused local in Inliner::Analyzer()
2021-01-06 22:13:31 -08:00
Jon Siwek
7b2ee2514e
Tweak FuncInfo memory management
...
Idea being for everything to be automatically released when process
exits just so there's less potential noise from leak profilers.
2020-12-13 17:06:57 -08:00
Jon Siwek
c7bec09e14
Switch InlineExpr from using IDPList* to vector<IDPtr>
2020-12-13 15:04:53 -08: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
4824da0325
Remove superflous std::move's from Inliner return values
2020-12-13 13:44:00 -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