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
parent ce23efc5f6
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

@ -16,7 +16,7 @@
namespace Web::UserTiming {
JS_DEFINE_ALLOCATOR(PerformanceMark);
GC_DEFINE_ALLOCATOR(PerformanceMark);
PerformanceMark::PerformanceMark(JS::Realm& realm, String const& name, HighResolutionTime::DOMHighResTimeStamp start_time, HighResolutionTime::DOMHighResTimeStamp duration, JS::Value detail)
: PerformanceTimeline::PerformanceEntry(realm, name, start_time, duration)
@ -27,7 +27,7 @@ PerformanceMark::PerformanceMark(JS::Realm& realm, String const& name, HighResol
PerformanceMark::~PerformanceMark() = default;
// https://w3c.github.io/user-timing/#dfn-performancemark-constructor
WebIDL::ExceptionOr<JS::NonnullGCPtr<PerformanceMark>> PerformanceMark::construct_impl(JS::Realm& realm, String const& mark_name, Web::UserTiming::PerformanceMarkOptions const& mark_options)
WebIDL::ExceptionOr<GC::Ref<PerformanceMark>> PerformanceMark::construct_impl(JS::Realm& realm, String const& mark_name, Web::UserTiming::PerformanceMarkOptions const& mark_options)
{
auto& current_principal_global_object = HTML::current_principal_global_object();
auto& vm = realm.vm();

View file

@ -19,12 +19,12 @@ struct PerformanceMarkOptions {
// https://w3c.github.io/user-timing/#dom-performancemark
class PerformanceMark final : public PerformanceTimeline::PerformanceEntry {
WEB_PLATFORM_OBJECT(PerformanceMark, PerformanceTimeline::PerformanceEntry);
JS_DECLARE_ALLOCATOR(PerformanceMark);
GC_DECLARE_ALLOCATOR(PerformanceMark);
public:
virtual ~PerformanceMark();
static WebIDL::ExceptionOr<JS::NonnullGCPtr<PerformanceMark>> construct_impl(JS::Realm&, String const& mark_name, PerformanceMarkOptions const& mark_options = {});
static WebIDL::ExceptionOr<GC::Ref<PerformanceMark>> construct_impl(JS::Realm&, String const& mark_name, PerformanceMarkOptions const& mark_options = {});
// NOTE: These three functions are answered by the registry for the given entry type.
// https://w3c.github.io/timing-entrytypes-registry/#registry

View file

@ -16,7 +16,7 @@
namespace Web::UserTiming {
JS_DEFINE_ALLOCATOR(PerformanceMeasure);
GC_DEFINE_ALLOCATOR(PerformanceMeasure);
PerformanceMeasure::PerformanceMeasure(JS::Realm& realm, String const& name, HighResolutionTime::DOMHighResTimeStamp start_time, HighResolutionTime::DOMHighResTimeStamp duration, JS::Value detail)
: PerformanceTimeline::PerformanceEntry(realm, name, start_time, duration)
@ -26,7 +26,7 @@ PerformanceMeasure::PerformanceMeasure(JS::Realm& realm, String const& name, Hig
PerformanceMeasure::~PerformanceMeasure() = default;
JS::NonnullGCPtr<PerformanceMeasure> PerformanceMeasure::create(JS::Realm& realm, String const& measure_name, HighResolutionTime::DOMHighResTimeStamp start_time, HighResolutionTime::DOMHighResTimeStamp duration, JS::Value detail)
GC::Ref<PerformanceMeasure> PerformanceMeasure::create(JS::Realm& realm, String const& measure_name, HighResolutionTime::DOMHighResTimeStamp start_time, HighResolutionTime::DOMHighResTimeStamp duration, JS::Value detail)
{
return realm.create<PerformanceMeasure>(realm, measure_name, start_time, duration, detail);
}

View file

@ -21,12 +21,12 @@ struct PerformanceMeasureOptions {
// https://w3c.github.io/user-timing/#dom-performancemeasure
class PerformanceMeasure final : public PerformanceTimeline::PerformanceEntry {
WEB_PLATFORM_OBJECT(PerformanceMeasure, PerformanceTimeline::PerformanceEntry);
JS_DECLARE_ALLOCATOR(PerformanceMeasure);
GC_DECLARE_ALLOCATOR(PerformanceMeasure);
public:
virtual ~PerformanceMeasure();
[[nodiscard]] static JS::NonnullGCPtr<PerformanceMeasure> create(JS::Realm&, String const& measure_name, HighResolutionTime::DOMHighResTimeStamp start_time, HighResolutionTime::DOMHighResTimeStamp duration, JS::Value detail);
[[nodiscard]] static GC::Ref<PerformanceMeasure> create(JS::Realm&, String const& measure_name, HighResolutionTime::DOMHighResTimeStamp start_time, HighResolutionTime::DOMHighResTimeStamp duration, JS::Value detail);
// NOTE: These three functions are answered by the registry for the given entry type.
// https://w3c.github.io/timing-entrytypes-registry/#registry