Commit graph

192 commits

Author SHA1 Message Date
Vern Paxson
ecc93606c4 feature completeness for ZAM 2023-06-30 09:36:14 +02:00
Vern Paxson
65a7e3de5f -O gen-C++ tweaks to be compatible with ZAM changes 2023-06-30 09:36:14 +02:00
Vern Paxson
110ba7a0a1 AST profiling enhnacements in support of script optimization for lambdas/whens 2023-06-30 09:36:14 +02:00
Vern Paxson
46983cfb2f refinements to LambdaExpr's to provide flexibility, support for ZVal captures 2023-06-30 09:36:14 +02:00
Vern Paxson
b6464814c9 the "Capture" struct is now a class 2023-06-30 09:36:14 +02:00
Vern Paxson
18be4ba91b -O gen-C++ refinements for BiF failures, negative vector indices, boolean vector operations 2023-06-15 15:07:18 -07:00
Arne Welzel
7a043e5e8f all: Fix typos identified by typos pre-commit hook 2023-06-13 17:57:32 +02:00
Vern Paxson
7d7a293c04 updates to C++ maintenance scripts to better handle uncompilable BTests 2023-05-05 12:01:31 -07:00
Vern Paxson
2e2afa5e11 compile-scripts-to-C++ speedups by switching to raw record access 2023-04-10 11:43:40 -07:00
Arne Welzel
92f09f0db7 Merge remote-tracking branch 'origin/topic/vern/when-cleanup'
* origin/topic/vern/when-cleanup:
  test suite update for minor change in "when" error messages
  removed skeletal (non-functioning) "when" support from ZAM
  simplify WhenInfo and Trigger classes given removal of old capture semantics
  introduced notion of light-weight Frame clones
  changed function_ingredients struct to FunctionIngredients class with accessors

Renamed Frame::LightClone() to Frame::CloneForTrigger() during merge.
2023-04-04 10:02:01 +02:00
Vern Paxson
0c434ca4f8 changed function_ingredients struct to FunctionIngredients class with accessors 2023-04-02 11:34:16 -07:00
Vern Paxson
b5603fe5bf addressed static analysis concern about possible null pointer 2023-04-01 21:06:42 -07:00
Tim Wojtulewicz
7aa310ee50 Fix a bunch of -Wunqualified-std-cast-call warnings from clang 15 2023-03-24 13:58:01 -07:00
Vern Paxson
a934acc4f1 use a subclass of TableType for incremental construction of compiled scripts 2023-03-08 10:19:21 +01:00
Vern Paxson
c0dd2b4e81 script_opt/CPP: errors, recursive type fixes, fix embedded comments
better (than nothing) run-time errors for compiled scripts
fixes for dealing with recursive types in compiled scripts
fix for values in compiled scripts containing embedded comment markers
2023-03-08 10:19:17 +01:00
Vern Paxson
b7f7d32bf7 Fix for EnumVal's returning their underlying value
Change EnumVal()->AsEnum() to zeek_int_t.
2023-03-08 10:10:24 +01:00
Vern Paxson
2f347bf7d4 added to C++ script compiler maintainer notes utility of starting with full base script compile 2023-02-14 15:20:56 -08:00
Vern Paxson
3d0faa8cea fixes for order-of-initialization in scripts compiled to C++
annotations of such initializations to tie them to the original Zeek script
2023-02-14 15:19:49 -08:00
Vern Paxson
ce7e253dfd Fixed bad memory access in compiled-to-C++ scripts when initializing attributes 2023-02-14 15:18:10 -08:00
Vern Paxson
65a2900bb7 removed -O add-C++ option and updated documentation 2023-01-24 10:52:58 -08:00
Vern Paxson
18f4fcb5a4 Maintenance updates for -O gen-C++ / -O gen-standalone-C++
fixes for using BiFs in standalone global initializations
  avoiding redundant global initializations
  updates to maintenance scripts and notes
  removal of an unused member variable
2023-01-12 14:08:45 -08:00
Arne Welzel
33244ae75f Merge remote-tracking branch 'origin/topic/vern/script-opt-maint.Dec22'
* origin/topic/vern/script-opt-maint.Dec22:
  maintenance updates for -O C++
  maintenance updates for -O ZAM
  update test suite to avoid GH-2385 problems, including incorrect typing
2022-12-09 16:08:26 +01:00
Vern Paxson
52775bea89 maintenance updates for -O C++ 2022-12-04 17:59:14 -08:00
Arne Welzel
da5fdb2072 ID: Add AddAttr() helper
This is just a follow-up as code cleanup, but not required
to be backported to 5.1.
2022-12-02 18:06:39 +01:00
Vern Paxson
134f8f2ef5 script optimization fixes:
new initialization model for standalone C++ scripts
 type coercion fix
 ZAM fix for compiling using C++ optimizer
 disambiguate empty constructors
2022-11-20 12:16:25 -08:00
Tim Wojtulewicz
a8fc63e182 Merge remote-tracking branch 'microsoft/master'
* microsoft/master: (71 commits)
  Clang formatting
  Mask ports before inserting them into the map
  Fix compiler warning from applied patch
  Remove statistics plugin in favor of stats bif
  Add EventHandler version of stats plugin
  Mark a few EventHandler methods const
  Changed implementation from std::map to std::unordered_map of Val.cc
  Removed const, Windows build is now working
  Added fixes suggested in PR
  Update src/packet_analysis/protocol/ip/IP.cc
  Apply suggestions from code review
  Clang format again but now with v13.0.1
  Rewrote usages of define(_MSC_VER) to ifdef _MSC_VER
  Clang format it all
  Fixed initial CR comments
  Add NEWS entry about Windows port
  Add a couple of extra unistd.h includes to fix a build failure
  Use std::chrono instead of gettimeofday
  Update libkqueue submodule [nomail]
  Don't call tokenize_string if the input string is empty
  ...
2022-11-11 15:23:21 -07:00
Tim Wojtulewicz
2739275b88 Merge remote-tracking branch 'jsoref/spelling-src'
* jsoref/spelling-src:
  Spelling src
2022-11-11 12:49:15 -07:00
Josh Soref
cd201aa24e Spelling src
These are non-functional changes.

* accounting
* activation
* actual
* added
* addresult
* aggregable
* aligned
* alternatively
* ambiguous
* analysis
* analyzer
* anticlimactic
* apparently
* application
* appropriate
* arithmetic
* assignment
* assigns
* associated
* authentication
* authoritative
* barrier
* boundary
* broccoli
* buffering
* caching
* called
* canonicalized
* capturing
* certificates
* ciphersuite
* columns
* communication
* comparison
* comparisons
* compilation
* component
* concatenating
* concatenation
* connection
* convenience
* correctly
* corresponding
* could
* counting
* data
* declared
* decryption
* defining
* dependent
* deprecated
* detached
* dictionary
* directional
* directly
* directory
* discarding
* disconnecting
* distinguishes
* documentation
* elsewhere
* emitted
* empty
* endianness
* endpoint
* enumerator
* essentially
* evaluated
* everything
* exactly
* execute
* explicit
* expressions
* facilitates
* fiddling
* filesystem
* flag
* flagged
* for
* fragments
* guarantee
* guaranteed
* happen
* happening
* hemisphere
* identifier
* identifies
* identify
* implementation
* implemented
* implementing
* including
* inconsistency
* indeterminate
* indices
* individual
* information
* initial
* initialization
* initialize
* initialized
* initializes
* instantiate
* instantiated
* instantiates
* interface
* internal
* interpreted
* interpreter
* into
* it
* iterators
* length
* likely
* log
* longer
* mainly
* mark
* maximum
* message
* minimum
* module
* must
* name
* namespace
* necessary
* nonexistent
* not
* notifications
* notifier
* number
* objects
* occurred
* operations
* original
* otherwise
* output
* overridden
* override
* overriding
* overwriting
* ownership
* parameters
* particular
* payload
* persistent
* potential
* precision
* preexisting
* preservation
* preserved
* primarily
* probably
* procedure
* proceed
* process
* processed
* processes
* processing
* propagate
* propagated
* prototype
* provides
* publishing
* purposes
* queue
* reached
* reason
* reassem
* reassemble
* reassembler
* recommend
* record
* reduction
* reference
* regularly
* representation
* request
* reserved
* retrieve
* returning
* separate
* should
* shouldn't
* significant
* signing
* simplified
* simultaneously
* single
* somebody
* sources
* specific
* specification
* specified
* specifies
* specify
* statement
* subdirectories
* succeeded
* successful
* successfully
* supplied
* synchronization
* tag
* temporarily
* terminating
* that
* the
* transmitted
* true
* truncated
* try
* understand
* unescaped
* unforwarding
* unknown
* unknowndata
* unspecified
* update
* usually
* which
* wildcard

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-11-09 12:08:15 -05:00
Elad Solomon
98a0e242ad Fixed invokation of make_enum__CPP 2022-11-09 18:15:34 +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
d442ea1bb9 egrep reported as obsolete by opensuse-tumbleweed builds 2022-10-27 11:48:43 -07:00
Tim Wojtulewicz
0143d0cb86 Merge remote-tracking branch 'origin/topic/vern/CPP-Oct22-maint'
* origin/topic/vern/CPP-Oct22-maint:
  -O C++ maintenance updates to test suite
  -O gen-C++ maintenance: fixes for attributes & initializing globals
2022-10-17 16:19:04 -07:00
Vern Paxson
26dae9a5ae -O gen-C++ maintenance: fixes for attributes & initializing globals 2022-10-14 08:37:45 -05:00
Tim Wojtulewicz
ec14589206 Fix some compiler warnings in script_opt 2022-10-12 15:56:03 -05:00
Tim Wojtulewicz
31a6ef266a Fix recent Coverity findings
1491334: AUTO_CAUSES_COPY due to a for loop using auto& instead of const auto&
1498652: AUTO_CAUSES_COPY due to a for loop using auto& instead of const auto&
1498745: AUTO_CAUSES_COPY due to a for loop using auto& instead of const auto&
2022-10-12 15:56:03 -05:00
Tim Wojtulewicz
bf98c1e9c8 Merge remote-tracking branch 'origin/topic/vern/CPP-global-init'
* origin/topic/vern/CPP-global-init:
  updates to -O C++ user and maintenance documentation
  use dynamic rather than static initialization of globals for scripts compiled to C++
  safety checking for initializing scripts compiled to C++
  fixes for initializing scripts compiled to C++
  restructured tracking of initializations of globals for script compilation
2022-10-03 09:45:19 -07:00
Vern Paxson
403efd4052 updates to -O C++ user and maintenance documentation 2022-09-29 15:12:04 -07:00
Vern Paxson
0687959f1c use dynamic rather than static initialization of globals for scripts compiled to C++ 2022-09-29 15:11:05 -07:00
Vern Paxson
6ad28b37e6 safety checking for initializing scripts compiled to C++ 2022-09-29 15:10:28 -07:00
Vern Paxson
5c21240daf fixes for initializing scripts compiled to C++ 2022-09-29 15:09:37 -07:00
Vern Paxson
96668ca0d3 fixes for compiling "standalone" C++ scripts 2022-09-24 14:56:42 -07:00
Vern Paxson
eec733beae updates to notes for compile-to-C++ maintenance 2022-09-16 16:53:42 -07:00
Vern Paxson
dbae112bdc C++ script generation fix for lambdas that have identical bodies 2022-09-16 16:46:35 -07:00
Vern Paxson
7210225bba fix for C++ scripts that refer to "opaque" types 2022-09-16 16:45:37 -07:00
Vern Paxson
a725cfa9e3 C++ compilation support for 2-valued vector "for" loops 2022-09-16 16:45:09 -07:00
Vern Paxson
7b8d92b4f6 C++ compilation support for RE /s operator 2022-09-16 16:44:00 -07:00
Vern Paxson
5c6801131f run-time checking of vector operations for overflows and division-by-zero 2022-09-16 16:43:12 -07:00
Tim Wojtulewicz
2abc82722f Fix a swath of AUTO_CAUSES_COPY issues reported by Coverity 2022-08-15 09:45:46 -07:00
Vern Paxson
7a41170a59 updates for gen-C++ maintenance, including skipping some inappropriate tests 2022-08-01 16:47:17 -07:00
Vern Paxson
1bbf345e46 gen-C++ support for vector bit-shift operations 2022-08-01 10:26:26 -07:00