Files
ladybird/Libraries/LibWeb/IndexedDB
Andreas Kling 57aab623af LibWeb/IndexedDB: Avoid GC allocation in cleanup function
cleanup_indexed_database_transactions() is called on every event
loop spin. It was calling associated_connections() which allocates
a GC::HeapVector every time, creating massive GC pressure on
JS-heavy sites (217K allocations observed on x.com).

Switch the hot path to use a GC::RootVector instead, which lives
on the stack and avoids GC heap allocation while still being
visible to the garbage collector.

Rename the existing methods to make the return type explicit:
- associated_connections_as_heap_vector() for callers that
  capture the result in GC::Function lambdas
- associated_connections_as_root_vector() for callers that
  just iterate safely within a single scope
2026-03-14 23:00:08 -05:00
..
2025-01-14 23:46:09 +01:00
2025-08-27 16:13:25 +02:00