1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 05:47:34 +00:00

LibJS: Make Bytecode::Executable GC-allocated

This is a step towards making ExecutionContext easier to allocate.
This commit is contained in:
Andreas Kling 2023-11-27 13:23:59 +01:00
parent ece961f882
commit ecfcc9aef3
13 changed files with 34 additions and 19 deletions

View file

@ -155,11 +155,11 @@ public:
{
}
Bytecode::Executable const* bytecode_executable() const { return m_bytecode_executable; }
void set_bytecode_executable(Bytecode::Executable const* bytecode_executable) { m_bytecode_executable = bytecode_executable; }
Bytecode::Executable* bytecode_executable() const { return m_bytecode_executable; }
void set_bytecode_executable(Bytecode::Executable* bytecode_executable) { m_bytecode_executable = make_handle(bytecode_executable); }
private:
RefPtr<Bytecode::Executable> m_bytecode_executable;
Handle<Bytecode::Executable> m_bytecode_executable;
};
// 14.13 Labelled Statements, https://tc39.es/ecma262/#sec-labelled-statements
@ -685,7 +685,7 @@ struct FunctionParameter {
Variant<NonnullRefPtr<Identifier const>, NonnullRefPtr<BindingPattern const>> binding;
RefPtr<Expression const> default_value;
bool is_rest { false };
RefPtr<Bytecode::Executable> bytecode_executable {};
Handle<Bytecode::Executable> bytecode_executable {};
};
class FunctionNode {