diff options
Diffstat (limited to 'Userland/Libraries/LibJS/Runtime/VM.cpp')
-rw-r--r-- | Userland/Libraries/LibJS/Runtime/VM.cpp | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/Userland/Libraries/LibJS/Runtime/VM.cpp b/Userland/Libraries/LibJS/Runtime/VM.cpp index 17bc99b593..c8f297756d 100644 --- a/Userland/Libraries/LibJS/Runtime/VM.cpp +++ b/Userland/Libraries/LibJS/Runtime/VM.cpp @@ -37,7 +37,7 @@ VM::VM() m_single_ascii_character_strings[i] = m_heap.allocate_without_global_object<PrimitiveString>(String::formatted("{:c}", i)); } - m_scope_object_shape = m_heap.allocate_without_global_object<Shape>(Shape::ShapeWithoutGlobalObjectTag::Tag); + m_environment_record_shape = m_heap.allocate_without_global_object<Shape>(Shape::ShapeWithoutGlobalObjectTag::Tag); #define __JS_ENUMERATE(SymbolName, snake_name) \ m_well_known_symbol_##snake_name = js_symbol(*this, "Symbol." #SymbolName, false); @@ -91,7 +91,7 @@ void VM::gather_roots(HashTable<Cell*>& roots) for (auto* string : m_single_ascii_character_strings) roots.set(string); - roots.set(m_scope_object_shape); + roots.set(m_environment_record_shape); roots.set(m_exception); if (m_last_value.is_cell()) @@ -105,7 +105,7 @@ void VM::gather_roots(HashTable<Cell*>& roots) if (argument.is_cell()) roots.set(&argument.as_cell()); } - roots.set(call_frame->scope); + roots.set(call_frame->environment_record); } #define __JS_ENUMERATE(SymbolName, snake_name) \ @@ -131,7 +131,7 @@ Symbol* VM::get_global_symbol(const String& description) return new_global_symbol; } -void VM::set_variable(const FlyString& name, Value value, GlobalObject& global_object, bool first_assignment, ScopeObject* specific_scope) +void VM::set_variable(const FlyString& name, Value value, GlobalObject& global_object, bool first_assignment, EnvironmentRecord* specific_scope) { Optional<Variable> possible_match; if (!specific_scope && m_call_stack.size()) { @@ -164,7 +164,7 @@ void VM::set_variable(const FlyString& name, Value value, GlobalObject& global_o bool VM::delete_variable(FlyString const& name) { - ScopeObject* specific_scope = nullptr; + EnvironmentRecord* specific_scope = nullptr; Optional<Variable> possible_match; if (!m_call_stack.is_empty()) { for (auto* scope = current_scope(); scope; scope = scope->parent()) { @@ -185,12 +185,12 @@ bool VM::delete_variable(FlyString const& name) return specific_scope->delete_from_scope(name); } -void VM::assign(const FlyString& target, Value value, GlobalObject& global_object, bool first_assignment, ScopeObject* specific_scope) +void VM::assign(const FlyString& target, Value value, GlobalObject& global_object, bool first_assignment, EnvironmentRecord* specific_scope) { set_variable(target, move(value), global_object, first_assignment, specific_scope); } -void VM::assign(const Variant<NonnullRefPtr<Identifier>, NonnullRefPtr<BindingPattern>>& target, Value value, GlobalObject& global_object, bool first_assignment, ScopeObject* specific_scope) +void VM::assign(const Variant<NonnullRefPtr<Identifier>, NonnullRefPtr<BindingPattern>>& target, Value value, GlobalObject& global_object, bool first_assignment, EnvironmentRecord* specific_scope) { if (auto id_ptr = target.get_pointer<NonnullRefPtr<Identifier>>()) return assign((*id_ptr)->string(), move(value), global_object, first_assignment, specific_scope); @@ -198,7 +198,7 @@ void VM::assign(const Variant<NonnullRefPtr<Identifier>, NonnullRefPtr<BindingPa assign(target.get<NonnullRefPtr<BindingPattern>>(), move(value), global_object, first_assignment, specific_scope); } -void VM::assign(const NonnullRefPtr<BindingPattern>& target, Value value, GlobalObject& global_object, bool first_assignment, ScopeObject* specific_scope) +void VM::assign(const NonnullRefPtr<BindingPattern>& target, Value value, GlobalObject& global_object, bool first_assignment, EnvironmentRecord* specific_scope) { auto& binding = *target; @@ -424,8 +424,8 @@ Value VM::construct(Function& function, Function& new_target, Optional<MarkedVal call_frame.arguments = function.bound_arguments(); if (arguments.has_value()) call_frame.arguments.extend(arguments.value().values()); - auto* environment = function.create_environment(); - call_frame.scope = environment; + auto* environment = function.create_environment_record(); + call_frame.environment_record = environment; if (environment) environment->set_new_target(&new_target); @@ -460,8 +460,8 @@ Value VM::construct(Function& function, Function& new_target, Optional<MarkedVal // set the prototype on objects created by constructors that return an object (i.e. NativeFunction subclasses). if (function.constructor_kind() == Function::ConstructorKind::Base && new_target.constructor_kind() == Function::ConstructorKind::Derived && result.is_object()) { if (environment) { - VERIFY(is<LexicalEnvironment>(current_scope())); - static_cast<LexicalEnvironment*>(current_scope())->replace_this_binding(result); + VERIFY(is<DeclarativeEnvironmentRecord>(current_scope())); + static_cast<DeclarativeEnvironmentRecord*>(current_scope())->replace_this_binding(result); } auto prototype = new_target.get(names.prototype); if (exception()) @@ -505,7 +505,7 @@ Value VM::resolve_this_binding(GlobalObject& global_object) const return find_this_scope()->get_this_binding(global_object); } -const ScopeObject* VM::find_this_scope() const +const EnvironmentRecord* VM::find_this_scope() const { // We will always return because the Global environment will always be reached, which has a |this| binding. for (auto* scope = current_scope(); scope; scope = scope->parent()) { @@ -517,8 +517,8 @@ const ScopeObject* VM::find_this_scope() const Value VM::get_new_target() const { - VERIFY(is<LexicalEnvironment>(find_this_scope())); - return static_cast<const LexicalEnvironment*>(find_this_scope())->new_target(); + VERIFY(is<DeclarativeEnvironmentRecord>(find_this_scope())); + return static_cast<const DeclarativeEnvironmentRecord*>(find_this_scope())->new_target(); } Value VM::call_internal(Function& function, Value this_value, Optional<MarkedValueList> arguments) @@ -536,11 +536,11 @@ Value VM::call_internal(Function& function, Value this_value, Optional<MarkedVal call_frame.arguments = function.bound_arguments(); if (arguments.has_value()) call_frame.arguments.extend(arguments.value().values()); - auto* environment = function.create_environment(); - call_frame.scope = environment; + auto* environment = function.create_environment_record(); + call_frame.environment_record = environment; if (environment) { - VERIFY(environment->this_binding_status() == LexicalEnvironment::ThisBindingStatus::Uninitialized); + VERIFY(environment->this_binding_status() == DeclarativeEnvironmentRecord::ThisBindingStatus::Uninitialized); environment->bind_this_value(function.global_object(), call_frame.this_value); } @@ -626,9 +626,9 @@ void VM::dump_scope_chain() const { for (auto* scope = current_scope(); scope; scope = scope->parent()) { dbgln("+> {} ({:p})", scope->class_name(), scope); - if (is<LexicalEnvironment>(*scope)) { - auto& lexical_environment = static_cast<LexicalEnvironment const&>(*scope); - for (auto& variable : lexical_environment.variables()) { + if (is<DeclarativeEnvironmentRecord>(*scope)) { + auto& environment_record = static_cast<DeclarativeEnvironmentRecord const&>(*scope); + for (auto& variable : environment_record.variables()) { dbgln(" {}", variable.key); } } |