mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 23:58:11 +00:00
LibJS+LibWeb: Reduce use of GlobalObject as an intermediary
- Prefer VM::current_realm() over GlobalObject::associated_realm() - Prefer VM::heap() over GlobalObject::heap() - Prefer Cell::vm() over Cell::global_object() - Prefer Wrapper::vm() over Wrapper::global_object() - Inline Realm::global_object() calls used to access intrinsics as they will later perform a direct lookup without going through the global object
This commit is contained in:
parent
e3895e6c80
commit
b345a0acca
58 changed files with 157 additions and 231 deletions
|
@ -86,7 +86,6 @@ Completion Reference::throw_reference_error(VM& vm) const
|
|||
ThrowCompletionOr<Value> Reference::get_value(VM& vm) const
|
||||
{
|
||||
auto& realm = *vm.current_realm();
|
||||
auto& global_object = realm.global_object();
|
||||
|
||||
// 1. ReturnIfAbrupt(V).
|
||||
// 2. If V is not a Reference Record, return V.
|
||||
|
@ -119,11 +118,11 @@ ThrowCompletionOr<Value> Reference::get_value(VM& vm) const
|
|||
auto string_value = m_base_value.as_string().get(vm, m_name);
|
||||
if (string_value.has_value())
|
||||
return *string_value;
|
||||
base_obj = global_object.string_prototype();
|
||||
base_obj = realm.global_object().string_prototype();
|
||||
} else if (m_base_value.is_number())
|
||||
base_obj = global_object.number_prototype();
|
||||
base_obj = realm.global_object().number_prototype();
|
||||
else if (m_base_value.is_boolean())
|
||||
base_obj = global_object.boolean_prototype();
|
||||
base_obj = realm.global_object().boolean_prototype();
|
||||
else
|
||||
base_obj = TRY(m_base_value.to_object(vm));
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue