1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-23 18:15:06 +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

@ -30,7 +30,7 @@
namespace JS {
NativeFunction::NativeFunction(AK::Function<Value(Object*, Vector<Value>)> native_function)
NativeFunction::NativeFunction(AK::Function<Value(Object*, const Vector<Value>&)> native_function)
: m_native_function(move(native_function))
{
}
@ -39,11 +39,11 @@ NativeFunction::~NativeFunction()
{
}
Value NativeFunction::call(Interpreter& interpreter, Vector<Value> arguments)
Value NativeFunction::call(Interpreter& interpreter, const Vector<Value>& arguments)
{
auto this_value = interpreter.this_value();
ASSERT(this_value.is_object());
return m_native_function(this_value.as_object(), move(arguments));
return m_native_function(this_value.as_object(), arguments);
}
}