LibJS+LibWeb: Add missing GC marking visits

This adds visit_edges(Cell::Visitor&) methods to various helper structs
that contain GC pointers, and makes sure they are called from owning
GC-heap-allocated objects as needed.

These were found by our Clang plugin after expanding its capabilities.
The added rules will be enforced by CI going forward.
This commit is contained in:
Andreas Kling 2026-01-06 00:36:34 +01:00 committed by Andreas Kling
parent 2677338f43
commit a9cc425cde
Notes: github-actions[bot] 2026-01-07 11:50:00 +00:00
41 changed files with 322 additions and 38 deletions

View file

@ -95,6 +95,7 @@ void Executable::visit_edges(Visitor& visitor)
visitor.visit(constants);
for (auto& cache : template_object_caches)
visitor.visit(cache.cached_template_object);
property_key_table->visit_edges(visitor);
}
Optional<Executable::ExceptionHandlers const&> Executable::exception_handlers_for_offset(size_t offset) const