Commit graph

32 commits

Author SHA1 Message Date
Tim Wojtulewicz
e7f694bcbb Merge remote-tracking branch 'origin/topic/vern/ZAM-tbl-iteration-memory-mgt-fix'
* origin/topic/vern/ZAM-tbl-iteration-memory-mgt-fix:
  fix for memory management associated with ZAM table iteration

(cherry picked from commit 805e9db588)
2024-12-13 12:27:16 -07:00
Arne Welzel
68bfe8d1c0 Merge remote-tracking branch 'origin/topic/vern/zam-exception-leaks'
* origin/topic/vern/zam-exception-leaks:
  More robust memory management for ZAM execution - fixes #4052

(cherry picked from commit c3b30b187e)
2024-12-12 13:05:13 -07:00
Vern Paxson
f693f22192 porting of GH-4022 2024-11-12 15:41:20 -08:00
Vern Paxson
9cddf16800 rewrite of ZAM optimization of BiFs and script functions/idioms 2024-04-25 09:15:13 -07:00
Vern Paxson
b3dacce3e1 $ZAM_PROFILE_ALL set tells ZAM to profile function bodies even if not executed 2024-04-25 09:15:12 -07:00
Vern Paxson
a474106fce improve ZAM's estimation of profiling overheads 2024-04-09 15:12:00 -07:00
Vern Paxson
c29db63fdd ZAM execution changes to support richer profiling 2024-03-19 10:59:49 -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
e9b990254a memory-handling fixes for information associated with low-level ZAM instructions 2023-12-12 09:45:19 +01:00
Vern Paxson
1dc74eaa9c fixes for a number of ZAM optimization bugs 2023-11-10 09:56:59 +01:00
Vern Paxson
c49918ba8b fixed some warnings about mixing signed & unsigned integers 2023-11-10 09:56:59 +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
Arne Welzel
cbaf43e8ea VectorVal: Embed vector_val
Similar motivation as for RecordVal, save an extra malloc/free
and pointer indirection.

This breaks the `auto& RawVec()` API which previously returned
a reference to the std::vector*. It now returns a reference
to the vector instead. It's commented as intended for internal
and compiled code, so even though it's public API,

The previous `std::vector<std::optional<ZVal>>*&` return type was also very
likely not intended (all consumers just dereference it anyhow). I'm certain
this API was never meant to modify the actual pointer value.

I've switched to explicit typing, too.
2023-09-22 21:52:52 +02:00
Vern Paxson
b6b4a81e0d removal of unused functionality and some follow-on simplifications 2023-06-30 09:36:14 +02:00
Vern Paxson
d89b39a0bb ZAM support for "when" statements 2023-06-30 09:36:14 +02:00
Arne Welzel
ed169b537c file_analysis/Manager: Remove RunState.h include
The file_analysis/Manager.h header only needs run_state::terminating, so
declare just that similar to what Val.h does. This breaks ZBody compilation
due to OP_READING_LIVE_TRAFFIC_V and OP_READING_TRACES_V accessing
run-state::reading_live and run_state::reading_traces. Add the include to
ZBody.cc as a fix.

This may break external plugins, too, but then they didn't have the
right includes setup to begin with.
2023-04-19 15:53:33 +02:00
Tim Wojtulewicz
c3ed97c04c Add a missing deletion in ZAM code 2022-11-03 09:21:18 -07:00
Tim Wojtulewicz
f624c18383 Deprecate bro_int_t and bro_uint_t 2022-07-12 12:01:23 -07:00
Vern Paxson
41aee03c17 make curr_CPU_time() broadly available rather than just isolated to ZAM 2022-05-03 10:38:32 -07:00
Tim Wojtulewicz
9834793386 Fix uninitialized variable warning 2022-01-10 17:06:39 -07:00
Vern Paxson
3f9f47980a updates to ZAM to track recent changes in script semantics 2021-12-04 20:24:39 -05:00
Tim Wojtulewicz
cb99ae2b7c clang-format: Enforce ordering of includes in ZBody 2021-09-25 11:52:55 -07:00
Tim Wojtulewicz
30aa4621c5 Minor fixes for build problems after reformatting 2021-09-16 15:36:09 -07:00
Tim Wojtulewicz
b2f171ec69 Reformat the world 2021-09-16 15:35:39 -07:00
Vern Paxson
693fc14eb2 tweaks to address some compiler warnings 2021-09-13 19:55:26 -07:00
Vern Paxson
196b8767e8 fixes for vector coercion overflows, typing, and holes 2021-09-08 10:23:39 -07:00
Vern Paxson
a67897135e factoring out logic to check for overflows during coercions 2021-09-08 10:23:39 -07:00
Vern Paxson
38578a2ea3 low-level cleanups found by code review 2021-09-08 10:23:39 -07:00
Vern Paxson
b6daf14868 a number of low-level tweaks from code review 2021-09-08 10:23:38 -07:00
Vern Paxson
d609a11312 switch simple loops that don't need indices to being iterator-based 2021-09-08 10:23:38 -07:00
Vern Paxson
ffd1905f90 use container empty() rather than size() where appropriate 2021-09-08 10:23:38 -07:00
Vern Paxson
906d1fc1f2 the main ZAM code 2021-09-08 10:23:38 -07:00