ladybird/Libraries/LibGC
Jelle Raaijmakers 4bba63839e LibGC: Do not inadvertently resurrect stale pointers in sanitizer builds
In sanitizer builds, we need to convert the fake ASan stack pointers to
the real one in order to perform a conservative scan. We were blindly
scanning these stack frames regardless of whether they belong to the
_active_ stack range, i.e. the current function's frame and everything
above it. It's very likely that stale pointers exist below the stack
pointer, and we now take care to exclude that range.

Fixes a flake in the LibJS builtins/WeakRef/WeakRef.prototype.deref.js
test.
2026-04-30 14:20:39 +02:00
..
BlockAllocator.cpp LibGC: Remove unused header in BlockAllocator 2026-02-23 12:15:23 +01:00
BlockAllocator.h LibGC: Add allocator statistics to post-GC report 2025-12-19 20:21:07 -06:00
Cell.cpp LibGC+Everywhere: Factor out a LibGC from LibJS 2024-11-15 14:49:20 +01:00
Cell.h LibGC: Remove unused header in Cell 2026-02-23 12:15:23 +01:00
CellAllocator.cpp LibGC: Prefer Optional<StringView> for CellAllocator class name 2026-02-21 12:37:44 +01:00
CellAllocator.h LibGC: Remove unused header in CellAllocator 2026-02-23 12:15:23 +01:00
CMakeLists.txt Meta: Move most dependency checks to check_for_dependencies.cmake 2026-04-20 16:41:29 -06: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: Do not inadvertently resurrect stale pointers in sanitizer builds 2026-04-30 14:20:39 +02:00
Heap.h LibGC: Do not inadvertently resurrect stale pointers in sanitizer builds 2026-04-30 14:20:39 +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: Remove unused header in RootHashMap 2026-02-23 12:15:23 +01:00
RootVector.cpp LibGC: Allow move-assigning RootVector instances 2025-04-19 02:03:43 +02:00
RootVector.h LibGC: Enable EXPLICIT_SYMBOL_EXPORT 2025-06-30 10:50:36 -06: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