Avatar for the zeek user
zeek
spicy
BlogDocsChangelog

Branches performance

Pull requests

Fix printer for functions.#2273
last run
14 hours ago
Fix printer for functions. We would previously inject a redundant `function` before dispatching to the printer of implementations which already emits the kind.
14 hours ago
47937a1
topic/bbannier/function-print
CodSpeed Performance Gauge
0%
Add env var to skip running `FileCheck` tests Since `FileCheck` may give verbose output, and is not updated with baselines (ie with -U), it may be useful during development to skip the `FileCheck` tests, then later run them when it is closer to completion.
3 days ago
9b796f2
topic/etyp/filecheck-tests-hardening
CodSpeed Performance Gauge
0%
Optimize grouping with side-effect free local variables. Our resolver can sometimes leave new groupings behind that are more complex than necessary because they introduce local temporary variables even though their value is constant and side-effect free. The problem is that the resolver can't tell if something is side-effect free (that needs data flow analysis) and hence it needs to remain conservative. This commit adds a peephole optimization that removes local variables from groupings if they aren't necessary. We generally prefer repeating the side-effect expressions for readability and further optimizations down the line.
3 days ago
40585b4
topic/robin/opt-groupings
CodSpeed Performance Gauge
0%
Make the visitors' `replaceNode()` safe. The existing `replaceNode()` method was impossible to use safely: if it was passed a replacement node that was already part of the AST somewhere, the method would disconnect that node from its original position first. That, however, is generally not safe because AST nodes do not give any guarantees about their internal child layout, so that simply removing one can lead to trouble. Plus, one always had to keep mind that the replacement node would now disappear from its original place, which is error-prone even in safe cases. This changes `replaceNode()` to instead use our standard semantics when making AST modifications: If a node is being inserted that already has a parent, we deep-copy it first. That way, the caller doesn't need to worry about safe memory management. In addition, we add a new method `replaceNodeWithChild()` that optimizes the operation for a special case: If an existing child is taking the position of a parent of itself, then we can always safely move it over into its new place without copying. We now use that for cases across the code base that match this special case.
5 days ago
12e4ee6
topic/robin/replace-node
CodSpeed Performance Gauge
0%
© 2026 CodSpeed Technology
Home Terms Privacy Docs