• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

vbpf / prevail / 26372764981
86%

Build:
DEFAULT BRANCH: main
Ran 24 May 2026 09:16PM UTC
Jobs 2
Files 77
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 May 2026 09:06PM UTC coverage: 86.456% (-0.2%) from 86.665%
26372764981

push

github

elazarg
Use COW shared_ptr for per-domain cell registry

The per-domain cell registry (introduced in the previous commit)
caused a 15-20% regression on heavy programs: every EbpfDomain copy
deep-cloned the registry, and every lattice join merged cell maps
that were already identical.

Introduce a generic Cow<T> wrapper (src/crab/cow.hpp) that enforces
copy-on-write through the type system: operator*/-> give const access;
get_mutable() detaches when shared. This eliminates the class of bugs
where a detach_cells() call is accidentally omitted — mutable access
is only possible through get_mutable(), which handles the COW dance.

Also return get_pre/get_post by const ref to avoid unnecessary copies
in join_all_prevs, and drop the now-unused array_domain.hpp include
from analysis_context.hpp.

Measured on cilium-core/bpf_host.o cil_host_policy:
  before: 0.50s  →  after: 0.42s (matches pre-refactor baseline).

Signed-off-by: Elazar Gershuni <elazarg@gmail.com>

40 of 45 new or added lines in 4 files covered. (88.89%)

120 existing lines in 5 files now uncovered.

8924 of 10322 relevant lines covered (86.46%)

6544581.17 hits per line

Uncovered Changes

Lines Coverage ∆ File
5
84.62
-3.97% src/crab/array_domain.cpp

Coverage Regressions

Lines Coverage ∆ File
50
92.22
-0.03% src/crab/ebpf_transformer.cpp
48
84.62
-3.97% src/crab/array_domain.cpp
9
79.4
-2.08% src/crab/ebpf_domain.cpp
8
94.9
0.07% src/fwd_analyzer.cpp
5
86.98
-2.96% src/crab/type_to_num.cpp
Jobs
ID Job ID Ran Files Coverage
1 run-Debug - 26372764981.1 24 May 2026 10:15PM UTC 77
84.69
GitHub Action Run
2 run-Release - 26372764981.2 24 May 2026 09:16PM UTC 77
85.59
GitHub Action Run
Source Files on build 26372764981
  • Tree
  • List 77
  • Changed 10
  • Source Changed 0
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 0573e07f on github
  • Prev Build on main (#26368619075)
  • Next Build on main (#26403522463)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc