@@ -2563,6 +2563,8 @@ static void generate_named_properties_object_definitions(IDL::Interface const& i
generator.append(R"~~~(
#include <LibWeb/WebIDL/AbstractOperations.h>
+JS_DEFINE_ALLOCATOR(@named_properties_class@);
+
@named_properties_class@::@named_properties_class@(JS::Realm& realm)
: JS::Object(realm, nullptr, MayInterfereWithIndexedPropertyAccess::Yes)
, m_realm(realm)
@@ -14,7 +14,7 @@
namespace JS {
-JS_DECLARE_ALLOCATOR(AsyncFromSyncIteratorPrototype);
+JS_DEFINE_ALLOCATOR(AsyncFromSyncIteratorPrototype);
AsyncFromSyncIteratorPrototype::AsyncFromSyncIteratorPrototype(Realm& realm)
: PrototypeObject(realm.intrinsics().async_iterator_prototype())
@@ -10,6 +10,8 @@
namespace JS::Intl {
+JS_DEFINE_ALLOCATOR(NumberFormatFunction);
// 15.5.2 Number Format Functions, https://tc39.es/ecma402/#sec-number-format-functions
NonnullGCPtr<NumberFormatFunction> NumberFormatFunction::create(Realm& realm, NumberFormat& number_format)
{
@@ -14,6 +14,7 @@ namespace JS::Intl {
class NumberFormatFunction final : public NativeFunction {
JS_OBJECT(NumberFormatFunction, NativeFunction);
+ JS_DECLARE_ALLOCATOR(NumberFormatFunction);
public:
static NonnullGCPtr<NumberFormatFunction> create(Realm&, NumberFormat&);
@@ -11,6 +11,8 @@
+JS_DEFINE_ALLOCATOR(Symbol);
Symbol::Symbol(Optional<String> description, bool is_global)
: m_description(move(description))
, m_is_global(is_global)
@@ -14,6 +14,8 @@
namespace JS::Temporal {
+JS_DEFINE_ALLOCATOR(DurationConstructor);
// 7.1 The Temporal.Duration Constructor, https://tc39.es/proposal-temporal/#sec-temporal-duration-constructor
DurationConstructor::DurationConstructor(Realm& realm)
: NativeFunction(realm.vm().names.Duration.as_string(), realm.intrinsics().function_prototype())
@@ -9,6 +9,8 @@
namespace Web::Animations {
+JS_DEFINE_ALLOCATOR(KeyframeEffect);
JS::NonnullGCPtr<KeyframeEffect> KeyframeEffect::create(JS::Realm& realm)
return realm.heap().allocate<KeyframeEffect>(realm, realm);
namespace Web::CSS {
+JS_DEFINE_ALLOCATOR(CSSFontFaceRule);
JS::NonnullGCPtr<CSSFontFaceRule> CSSFontFaceRule::create(JS::Realm& realm, FontFace&& font_face)
return realm.heap().allocate<CSSFontFaceRule>(realm, realm, move(font_face));
namespace Web::FileAPI {
+JS_DEFINE_ALLOCATOR(FileList);
JS::NonnullGCPtr<FileList> FileList::create(JS::Realm& realm, Vector<JS::NonnullGCPtr<File>>&& files)
return realm.heap().allocate<FileList>(realm, realm, move(files));
@@ -20,6 +20,7 @@
namespace Web::HTML {
+JS_DEFINE_ALLOCATOR(CustomElementRegistry);
JS_DEFINE_ALLOCATOR(CustomElementDefinition);
CustomElementRegistry::CustomElementRegistry(JS::Realm& realm)
+JS_DEFINE_ALLOCATOR(HTMLDataListElement);
HTMLDataListElement::HTMLDataListElement(DOM::Document& document, DOM::QualifiedName qualified_name)
: HTMLElement(document, move(qualified_name))
@@ -8,7 +8,7 @@
-JS_DECLARE_ALLOCATOR(HTMLDocument);
+JS_DEFINE_ALLOCATOR(HTMLDocument);
HTMLDocument::HTMLDocument(JS::Realm& realm, AK::URL const& url)
: Document(realm, url)
@@ -36,7 +36,7 @@
-JS_DECLARE_ALLOCATOR(HTMLElement);
+JS_DEFINE_ALLOCATOR(HTMLElement);
HTMLElement::HTMLElement(DOM::Document& document, DOM::QualifiedName qualified_name)
: Element(document, move(qualified_name))
@@ -19,6 +19,8 @@
+JS_DEFINE_ALLOCATOR(HTMLTextAreaElement);
HTMLTextAreaElement::HTMLTextAreaElement(DOM::Document& document, DOM::QualifiedName qualified_name)
+JS_DEFINE_ALLOCATOR(TrackEvent);
JS::NonnullGCPtr<TrackEvent> TrackEvent::create(JS::Realm& realm, FlyString const& event_name, TrackEventInit event_init)
return realm.heap().allocate<TrackEvent>(realm, realm, event_name, move(event_init));