ladybird/Libraries/LibGC
Andreas Kling 3b9c55bd5c LibGC: Gate per-GC report on LIBGC_LOG_LEVEL environment variable
Reading LIBGC_LOG_LEVEL once at startup picks the verbosity for the
collection reports:

  0/default: silent.
  1:         per-GC report with totals and detailed per-phase timings.
  2+:        everything in level 1, plus the full block allocator dump.

The existing collect_garbage(..., print_report=true) entry point still
works and behaves like a per-call floor of level 1, so the DevTools
"collect-garbage" inspector request keeps emitting a report regardless
of the env var. The allocator dump is now off by default at level 1
since most reports do not need it.

Right-aligned the percentage column in the breakdown so the numbers
line up cleanly.
2026-05-10 10:58:11 +02:00
..
BlockAllocator.cpp LibGC: Use mmap for HeapBlock chunks 2026-05-10 10:58:11 +02:00
BlockAllocator.h LibThreading/LibSync: Split out sync primitives 2026-05-08 18:58:35 -05:00
Cell.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Cell.h LibJS: Add JS_OBJECT_WITH_CUSTOM_CLASS_NAME 2026-05-09 14:36:18 +02:00
CellAllocator.cpp LibGC: Prefer Optional<StringView> for CellAllocator class name 2026-02-21 12:37:44 +01:00
CellAllocator.h LibGC: Remove size-based allocator support 2026-05-09 15:07:24 +02:00
CMakeLists.txt LibThreading/LibSync: Split out sync primitives 2026-05-08 18:58:35 -05:00
ConservativeVector.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
ConservativeVector.h LibGC: Remove unused header in ConservativeVector 2026-02-23 12:15:23 +01:00
DeferGC.h Everywhere: Abandon Swift adoption 2026-02-17 10:48:09 -05:00
Forward.h LibGC: Add missing HeapVector forward declaration 2026-02-23 18:44:26 +00:00
Function.h LibGC: Take GC::Function's AK::Function as rvalue reference 2026-02-18 13:13:32 -06:00
Heap.cpp LibGC: Gate per-GC report on LIBGC_LOG_LEVEL environment variable 2026-05-10 10:58:11 +02:00
Heap.h LibGC: Remove size-based allocator support 2026-05-09 15:07:24 +02:00
HeapBlock.cpp LibGC: Remove unused header in HeapBlock 2026-02-23 12:15:23 +01:00
HeapBlock.h LibGC: Remove unused cell name parameter from HeapBlock 2026-02-21 12:37:44 +01:00
HeapHashTable.h Libraries: Move #pragma once above include headers 2026-03-22 14:05:44 +01:00
HeapRoot.h LibGC+Meta: Look up and display stack frames for StackPointer roots 2026-03-01 21:50:51 +01:00
HeapVector.h LibGC: Include CellAllocator.h in HeapVector.h 2026-02-17 07:40:03 -05:00
Internals.h LibGC: Always use 16 KiB as HeapBlock size 2025-12-19 20:21:07 -06:00
NanBoxedValue.h LibGC: Enable EXPLICIT_SYMBOL_EXPORT 2025-06-30 10:50:36 -06:00
Ptr.h LibGC: Delete operators ! and bool from GC::Ref 2025-10-29 21:20:10 +01:00
Root.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Root.h LibGC: Remove unused header in Root 2026-02-23 12:15:23 +01:00
RootHashMap.cpp LibGC: Add GC::RootHashMap<...> template container 2025-05-03 17:33:54 +02:00
RootHashMap.h LibGC: Add static_assert for non-GC types in root containers 2026-05-07 13:00:52 +02:00
RootVector.cpp LibGC: Allow move-assigning RootVector instances 2025-04-19 02:03:43 +02:00
RootVector.h LibGC: Add static_assert for non-GC types in root containers 2026-05-07 13:00:52 +02:00
Weak.h LibGC+LibWeb: Add and use GC::weak_callback() 2026-02-26 08:03:50 -05:00
WeakBlock.cpp LibGC: Add GC::Weak<T> as an alternative to AK::WeakPtr<T> 2025-10-17 17:22:16 +02:00
WeakBlock.h LibGC: Add GC::Weak<T> as an alternative to AK::WeakPtr<T> 2025-10-17 17:22:16 +02:00
WeakContainer.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
WeakContainer.h LibGC: Enable EXPLICIT_SYMBOL_EXPORT 2025-06-30 10:50:36 -06:00
WeakHashSet.h LibGC: Amortize pruning of dead entries in WeakHashSet 2026-03-08 20:49:28 +01:00
WeakInlines.h LibGC: Add missing & in Weak assignment 2026-03-14 21:35:06 -05:00