1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 01:17:35 +00:00

LibWeb+LibJS: Move some code around to make CSS/Parser parse faster

This makes it possible to include fewer full definitions of things,
which makes the file about 30% faster to compile.
This commit is contained in:
Ali Mohammad Pur 2023-07-09 11:40:17 +03:30 committed by Ali Mohammad Pur
parent 392b5c3b19
commit 06c6c40df9
28 changed files with 117 additions and 64 deletions

View file

@ -14,8 +14,6 @@
#include <LibJS/Forward.h>
#include <LibJS/Heap/GCPtr.h>
#include <LibJS/Heap/Internals.h>
#include <LibJS/Runtime/Completion.h>
#include <LibJS/Runtime/Value.h>
namespace JS {
@ -33,7 +31,7 @@ class Cell {
AK_MAKE_NONMOVABLE(Cell);
public:
virtual ThrowCompletionOr<void> initialize(Realm&) { return {}; }
virtual ThrowCompletionOr<void> initialize(Realm&);
virtual ~Cell() = default;
bool is_marked() const { return m_mark; }
@ -75,11 +73,7 @@ public:
visit_impl(const_cast<RemoveConst<T>&>(*cell.ptr()));
}
void visit(Value value)
{
if (value.is_cell())
visit_impl(value.as_cell());
}
void visit(Value value);
// Allow explicitly ignoring a GC-allocated member in a visit_edges implementation instead
// of just not using it.