LibGC: Enforce that a Cell type must declare the allocator to use

This ensures that we are explicitly declaring the allocator to use when
allocating a cell(-inheriting) type, instead of silently falling back
to size-based allocation.

Since this is done in allocate_cell, this will only be detected for
types that are actively being allocated. However, since that means
they're _not_ being allocated, that means it's safe to not declare
an allocator to use for those. For example, the base TypedArray<T>,
which is never directly allocated and only the defined specializations
are ever allocated.
This commit is contained in:
Luke Wilde 2026-01-18 17:42:26 +00:00 committed by Alexander Kalenik
parent dc79259970
commit babfd70ca7
Notes: github-actions[bot] 2026-02-06 11:24:52 +00:00
34 changed files with 81 additions and 1 deletions

View file

@ -21,6 +21,8 @@ TestRunner* ::Test::TestRunner::s_the = nullptr;
namespace JS {
GC_DEFINE_ALLOCATOR(TestRunnerGlobalObject);
RefPtr<::JS::VM> g_vm;
bool g_collect_on_every_allocation = false;
ByteString g_currently_running_test;