Commit graph

53 commits

Author SHA1 Message Date
Tim Wojtulewicz
5ca0bb79c8 Fixes from review, post-rebase 2022-05-26 18:39:01 -07:00
Vern Paxson
d9479c0502 --no-usage-warnings flag to suppress analysis 2022-05-26 17:39:15 -07:00
Vern Paxson
fb6725a9ce "-O use-C++" now fails if no C++ bodies wound up being applicable 2022-05-12 14:08:54 -07:00
Vern Paxson
34b448ee7b update environemnt variable names to match command-line arguments 2022-05-12 14:08:17 -07:00
Vern Paxson
03194949c9 reduce interpreter frames for compiled function bodies 2022-04-01 18:00:11 -07:00
Tim Wojtulewicz
16ee942a8d Merge remote-tracking branch 'origin/topic/vern/use-C++-fix'
* origin/topic/vern/use-C++-fix:
  fix existing checks for looking to use C++ when it's not available
2022-02-04 10:33:55 -07:00
Vern Paxson
a6e493062c fix existing checks for looking to use C++ when it's not available 2022-02-03 20:35:25 -08:00
Vern Paxson
16e9af137f fixes for ZAM profiling, which didn't get fully integrated originally 2022-02-03 08:59:39 -08:00
Vern Paxson
2f7137999f restored support for incremental compilation of scripts to C++ 2021-12-12 12:36:45 -08:00
Vern Paxson
d5e7db1070 new ZEEK_FILE_ONLY and ZEEK_FUNC_ONLY environment variables for debugging script optimization - replaces ZEEK_ONLY 2021-12-12 12:34:50 -08:00
Vern Paxson
9069e744f9 replace --optimize-only with --optimize-funcs and --optimize-files 2021-12-10 12:45:27 -08:00
Vern Paxson
8c59626eb9 reintroduction of "-O add-C++" option 2021-12-10 10:19:23 -08:00
Vern Paxson
a2cec7463f suppress unneeded initializations 2021-11-24 12:17:16 -08:00
Vern Paxson
bb618bae30 remove -O add-C++ and -O update-C++ options 2021-11-07 17:02:18 -08:00
Vern Paxson
e1a760e674 extensive rewrite of generation & execution of run-time initialization 2021-11-07 17:00:19 -08:00
Vern Paxson
509428a9dc removing -uu functionality and associated script analysis now no longer needed 2021-09-22 11:17:28 -07:00
Tim Wojtulewicz
b2f171ec69 Reformat the world 2021-09-16 15:35:39 -07:00
Vern Paxson
f89ed411cf updates for usage issues: support for -uu, maybe/definitely distinctions 2021-09-08 10:23:38 -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
Tim Wojtulewicz
0b342b7bfa Merge remote-tracking branch 'origin/topic/vern/CPP-workflow2'
* origin/topic/vern/CPP-workflow2:
  low-level coding style fixes
  support for standalone compiled scripts to export globals with module qualifiers
  updates for documentation of functionality for compiling scripts to C++
  fixes for standalone C++ scripts making types & variables/functions available
  fixed bug limiting availability of load_CPP() BiF
  updates to development helper scripts to support new workflow
  simpler workflow for -O gen-C++ ; also some hooks for -O gen-standalone-C++
  ReplaceBody now deletes a body if the replacement is nil
  removal of can't-actually-be-executed code
2021-07-01 08:46:53 -07:00
Vern Paxson
725aa558a7 fixes for standalone C++ scripts making types & variables/functions available 2021-06-04 17:14:46 -07:00
Vern Paxson
e1dc3e7b08 simpler workflow for -O gen-C++ ; also some hooks for -O gen-standalone-C++ 2021-06-04 17:01:53 -07:00
Vern Paxson
b5b58b0a3a "-O compile-all" option to specify compilation of inlined functions 2021-06-01 09:24:17 -07:00
Vern Paxson
7855557e92 compile inlined functions if they're also used indirectly 2021-06-01 09:05:01 -07:00
Vern Paxson
143d306883 fix for AST optimization altering top-level body statement 2021-05-30 17:37:44 -07:00
Vern Paxson
efd03d41f8 convert scopes to be managed using IntrusivePtr's 2021-05-30 17:20:29 -07:00
Vern Paxson
e697f351ad fixed cut-and-paste botch (redundant line of code) 2021-05-09 14:42:03 -07:00
Vern Paxson
2b0f1c9d6e remove -O force-C++, and also some inadvertently replicated code 2021-05-05 19:11:17 -07:00
Vern Paxson
93e9801f89 removed redundant Traverse invocation 2021-05-05 16:55:05 -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
24e92fa54a hooks for activating the compiler & associated BiF 2021-05-05 16:55:04 -07:00
Vern Paxson
863be9436b the bulk of the compiler 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
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
fb33597372 Merge branch 'master' into topic/vern/cpp-prep-profiling 2021-03-31 12:02:17 -07:00
Vern Paxson
297adf3486 function profiling rewritten - more detailed info, supports global profiling 2021-03-25 16:17:32 -07:00
Vern Paxson
e5a0b2c04c whitespace adjustment 2021-03-24 21:52:20 -07:00
Vern Paxson
95b89be571 put global statements into a quasi-function to support script optimization 2021-03-24 21:22:03 -07:00
Vern Paxson
7294bb34be fixes for propagating optimization options, and pruning script function analysis 2021-03-18 08:40:48 -07:00
Vern Paxson
faf1b65ec4 logic for driving AST optimization when requested 2021-02-27 11:39:44 -08:00
Vern Paxson
64ef7f0eb2 simplify and tidy up some interfaces 2021-02-27 11:07:39 -08:00
Vern Paxson
d38cc04e83 enable setting "-O optimize-AST" option 2021-02-27 10:59:27 -08:00
Vern Paxson
94b85e3527 driver glue for invoking use-def construction 2021-02-06 10:58:56 -08:00
Vern Paxson
a067f4c5b0 some tidying with smart pointers 2021-02-06 09:49:37 -08:00
Vern Paxson
12c9b5ede5 flag/environment variable for dumping use-defs 2021-02-05 22:26:24 -08:00
Vern Paxson
cb9a959978 tidier memory management 2021-02-02 17:00:28 -08:00
Vern Paxson
2f0d02c878 driver class for generating RDs across an AST, and logic to invoke it 2021-01-23 10:54:43 -08:00
Vern Paxson
732633ebb4 option handling for new -u/-uu flag for reporting usage issues 2021-01-23 10:25:06 -08:00
Jon Siwek
12f9ba5f37 Guard against nullptr deref after AST-reduction consistency checks
Addresses Coverity issue 1443771
2021-01-19 11:22:52 -08:00
Jon Siwek
81fa7f7e3d Switch AnalyOpt::only_func to optional<string>
Nothing of consequence; may help express meaning and memory management.
2021-01-13 13:19:46 -08:00