mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-02 20:42:11 +02:00
Revert "LibJS: Shrink ExecutionContext by replacing ScriptOrModule …"
… with Cell*.
This reverts commit d3495c62a7.
This commit is contained in:
committed by
Tim Ledbetter
parent
ba8d63556f
commit
36f74ba96c
Notes:
github-actions[bot]
2026-03-11 23:14:19 +00:00
Author: https://github.com/tcl3 Commit: https://github.com/LadybirdBrowser/ladybird/commit/36f74ba96ce Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/8374
@@ -9,23 +9,12 @@
|
||||
|
||||
#include <LibGC/Heap.h>
|
||||
#include <LibJS/Bytecode/Executable.h>
|
||||
#include <LibJS/Module.h>
|
||||
#include <LibJS/Runtime/DeclarativeEnvironment.h>
|
||||
#include <LibJS/Runtime/ExecutionContext.h>
|
||||
#include <LibJS/Runtime/FunctionObject.h>
|
||||
#include <LibJS/Script.h>
|
||||
|
||||
namespace JS {
|
||||
|
||||
ScriptOrModule script_or_module_from_cell(GC::Ptr<Cell> cell)
|
||||
{
|
||||
if (!cell)
|
||||
return Empty {};
|
||||
if (auto* script = as_if<Script>(*cell))
|
||||
return GC::Ref<Script> { *script };
|
||||
return GC::Ref<Module> { as<Module>(*cell) };
|
||||
}
|
||||
|
||||
class ExecutionContextAllocator {
|
||||
public:
|
||||
NonnullOwnPtr<ExecutionContext> allocate(u32 registers_and_locals_count, u32 constants_count, u32 arguments_count)
|
||||
@@ -141,9 +130,13 @@ void ExecutionContext::visit_edges(Cell::Visitor& visitor)
|
||||
visitor.visit(lexical_environment);
|
||||
visitor.visit(private_environment);
|
||||
visitor.visit(this_value);
|
||||
visitor.visit(script_or_module);
|
||||
visitor.visit(executable);
|
||||
visitor.visit(registers_and_constants_and_locals_and_arguments_span());
|
||||
script_or_module.visit(
|
||||
[](Empty) {},
|
||||
[&](auto& script_or_module) {
|
||||
visitor.visit(script_or_module);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user