1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-15 01:54:57 +00:00

LibJS: Pass argument value vectors as const Vector<Value>&

Now that Interpreter keeps all arguments in the CallFrame stack, we can
just pass a const-reference to the CallFrame's argument vector to each
function handler (instead of copying it.)
This commit is contained in:
Andreas Kling 2020-03-17 16:24:53 +01:00
parent bf9912cc59
commit 0a71533aff
8 changed files with 13 additions and 13 deletions

View file

@ -40,7 +40,7 @@ ScriptFunction::~ScriptFunction()
{
}
Value ScriptFunction::call(Interpreter& interpreter, Vector<Value> argument_values)
Value ScriptFunction::call(Interpreter& interpreter, const Vector<Value>& argument_values)
{
Vector<Argument> arguments;
for (size_t i = 0; i < m_parameters.size(); ++i) {
@ -50,7 +50,7 @@ Value ScriptFunction::call(Interpreter& interpreter, Vector<Value> argument_valu
value = argument_values[i];
arguments.append({ move(name), move(value) });
}
return interpreter.run(m_body, move(arguments), ScopeType::Function);
return interpreter.run(m_body, arguments, ScopeType::Function);
}
}