LibGC+Everywhere: Factor out a LibGC from LibJS

Resulting in a massive rename across almost everywhere! Alongside the
namespace change, we now have the following names:

 * JS::NonnullGCPtr -> GC::Ref
 * JS::GCPtr -> GC::Ptr
 * JS::HeapFunction -> GC::Function
 * JS::CellImpl -> GC::Cell
 * JS::Handle -> GC::Root
This commit is contained in:
Shannon Booth 2024-11-15 04:01:23 +13:00 committed by Andreas Kling
commit f87041bf3a
Notes: github-actions[bot] 2024-11-15 13:50:17 +00:00
1722 changed files with 9939 additions and 9906 deletions

View file

@ -12,8 +12,8 @@
namespace JS {
struct AlreadyResolved final : public Cell {
JS_CELL(AlreadyResolved, Cell);
JS_DECLARE_ALLOCATOR(AlreadyResolved);
GC_CELL(AlreadyResolved, Cell);
GC_DECLARE_ALLOCATOR(AlreadyResolved);
bool value { false };
@ -25,12 +25,12 @@ protected:
class PromiseResolvingFunction final : public NativeFunction {
JS_OBJECT(PromiseResolvingFunction, NativeFunction);
JS_DECLARE_ALLOCATOR(PromiseResolvingFunction);
GC_DECLARE_ALLOCATOR(PromiseResolvingFunction);
public:
using FunctionType = Function<Value(VM&, Promise&, AlreadyResolved&)>;
static NonnullGCPtr<PromiseResolvingFunction> create(Realm&, Promise&, AlreadyResolved&, FunctionType);
static GC::Ref<PromiseResolvingFunction> create(Realm&, Promise&, AlreadyResolved&, FunctionType);
virtual void initialize(Realm&) override;
virtual ~PromiseResolvingFunction() override = default;
@ -42,8 +42,8 @@ private:
virtual void visit_edges(Visitor&) override;
NonnullGCPtr<Promise> m_promise;
NonnullGCPtr<AlreadyResolved> m_already_resolved;
GC::Ref<Promise> m_promise;
GC::Ref<AlreadyResolved> m_already_resolved;
FunctionType m_native_function;
};