mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-26 01:35:08 +02:00
No other engine defines this function, so it is an observable difference of our engine. This traces back to the earliest days of LibJS. We now define `gc` in just the test-js and test262 runners.
40 lines
948 B
C++
40 lines
948 B
C++
/*
|
|
* Copyright (c) 2021, Linus Groh <linusg@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <LibJS/Contrib/Test262/AgentObject.h>
|
|
#include <LibJS/Contrib/Test262/IsHTMLDDA.h>
|
|
#include <LibJS/Runtime/GlobalObject.h>
|
|
#include <LibJS/Runtime/Object.h>
|
|
|
|
namespace JS::Test262 {
|
|
|
|
class $262Object final : public Object {
|
|
JS_OBJECT($262Object, Object);
|
|
GC_DECLARE_ALLOCATOR($262Object);
|
|
|
|
public:
|
|
virtual void initialize(Realm&) override;
|
|
virtual ~$262Object() override = default;
|
|
|
|
private:
|
|
explicit $262Object(Realm&);
|
|
|
|
virtual void visit_edges(Visitor&) override;
|
|
|
|
GC::Ptr<AgentObject> m_agent;
|
|
GC::Ptr<IsHTMLDDA> m_is_htmldda;
|
|
|
|
JS_DECLARE_NATIVE_FUNCTION(clear_kept_objects);
|
|
JS_DECLARE_NATIVE_FUNCTION(collect_garbage);
|
|
JS_DECLARE_NATIVE_FUNCTION(create_realm);
|
|
JS_DECLARE_NATIVE_FUNCTION(detach_array_buffer);
|
|
JS_DECLARE_NATIVE_FUNCTION(eval_script);
|
|
};
|
|
|
|
}
|