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

LibJS: Get rid of Argument and ArgumentVector

This was used for a feature where you could pass a vector of arguments
to enter_scope(). Since that way of passing arguments was not GC-aware
(as vectors use C++ heap storage), let's avoid using it and make sure
everything that needs to stay alive is either on the stack or in traced
storage instead.
This commit is contained in:
Andreas Kling 2020-12-08 18:21:55 +01:00
parent 38268f1c53
commit 48d2545572
6 changed files with 10 additions and 23 deletions

View file

@ -74,10 +74,10 @@ public:
ScopeObject* current_scope() { return vm().current_scope(); }
LexicalEnvironment* current_environment();
void enter_scope(const ScopeNode&, ArgumentVector, ScopeType, GlobalObject&);
void enter_scope(const ScopeNode&, ScopeType, GlobalObject&);
void exit_scope(const ScopeNode&);
Value execute_statement(GlobalObject&, const Statement&, ArgumentVector = {}, ScopeType = ScopeType::Block);
Value execute_statement(GlobalObject&, const Statement&, ScopeType = ScopeType::Block);
private:
explicit Interpreter(VM&);