mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 17:38:12 +00:00
LibJS: Add vector of local variables in ExecutionContext
Now ExecutionContext has vector of values that will represent values of local variables. This vector is initialized in ECMAScriptFunctionObject::internal_call() or ECMAScriptFunctionObject::internal_const() using number of local variables provided to ECMAScriptFunctionObject by the parser.
This commit is contained in:
parent
7765ebb5f2
commit
0daff637e2
3 changed files with 10 additions and 3 deletions
|
@ -13,17 +13,19 @@ namespace JS {
|
|||
|
||||
ExecutionContext::ExecutionContext(Heap& heap)
|
||||
: arguments(heap)
|
||||
, local_variables(heap)
|
||||
{
|
||||
}
|
||||
|
||||
ExecutionContext::ExecutionContext(MarkedVector<Value> existing_arguments)
|
||||
ExecutionContext::ExecutionContext(MarkedVector<Value> existing_arguments, MarkedVector<Value> existing_local_variables)
|
||||
: arguments(move(existing_arguments))
|
||||
, local_variables(move(existing_local_variables))
|
||||
{
|
||||
}
|
||||
|
||||
ExecutionContext ExecutionContext::copy() const
|
||||
{
|
||||
ExecutionContext copy { arguments };
|
||||
ExecutionContext copy { arguments, local_variables };
|
||||
|
||||
copy.function = function;
|
||||
copy.realm = realm;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue