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

vbpf / prevail / 26372764981 / 1
86%
main: 86%

Build:
DEFAULT BRANCH: main
Ran 24 May 2026 10:15PM UTC
Files 77
Run time 2s
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: 84.687% (-0.2%) from 84.897%
26372764981.1

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>

8622 of 10181 relevant lines covered (84.69%)

3392176.98 hits per line

Source Files on job run-Debug - 26372764981.1
  • Tree
  • List 77
  • Changed 10
  • Source Changed 0
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 26372764981
  • 0573e07f on github
  • Prev Job for on main (#26368619075.1)
  • 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