diff options
author | Linus Groh <mail@linusgroh.de> | 2022-08-22 19:00:49 +0100 |
---|---|---|
committer | Linus Groh <mail@linusgroh.de> | 2022-08-23 13:58:30 +0100 |
commit | b345a0acca725d1b4e4d6df26fc602d69e97f073 (patch) | |
tree | c1a1b7936505373fc3be8cb7b6f0ced444d05d63 /Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp | |
parent | e3895e6c808d4606f02b26b1eaad3a3a803bba12 (diff) | |
download | serenity-b345a0acca725d1b4e4d6df26fc602d69e97f073.zip |
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
Diffstat (limited to 'Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp')
-rw-r--r-- | Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp b/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp index a1c205fce9..c80b9d7cd6 100644 --- a/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp +++ b/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp @@ -68,8 +68,7 @@ PromiseAllResolveElementFunction::PromiseAllResolveElementFunction(size_t index, ThrowCompletionOr<Value> PromiseAllResolveElementFunction::resolve_element() { auto& vm = this->vm(); - auto& global_object = this->global_object(); - auto& realm = *global_object.associated_realm(); + auto& realm = *vm.current_realm(); // 8. Set values[index] to x. m_values.values()[m_index] = vm.argument(0); @@ -101,11 +100,10 @@ PromiseAllSettledResolveElementFunction::PromiseAllSettledResolveElementFunction ThrowCompletionOr<Value> PromiseAllSettledResolveElementFunction::resolve_element() { auto& vm = this->vm(); - auto& global_object = this->global_object(); - auto& realm = *global_object.associated_realm(); + auto& realm = *vm.current_realm(); // 9. Let obj be OrdinaryObjectCreate(%Object.prototype%). - auto* object = Object::create(realm, global_object.object_prototype()); + auto* object = Object::create(realm, realm.global_object().object_prototype()); // 10. Perform ! CreateDataPropertyOrThrow(obj, "status", "fulfilled"). MUST(object->create_data_property_or_throw(vm.names.status, js_string(vm, "fulfilled"sv))); @@ -143,11 +141,10 @@ PromiseAllSettledRejectElementFunction::PromiseAllSettledRejectElementFunction(s ThrowCompletionOr<Value> PromiseAllSettledRejectElementFunction::resolve_element() { auto& vm = this->vm(); - auto& global_object = this->global_object(); - auto& realm = *global_object.associated_realm(); + auto& realm = *vm.current_realm(); // 9. Let obj be OrdinaryObjectCreate(%Object.prototype%). - auto* object = Object::create(realm, global_object.object_prototype()); + auto* object = Object::create(realm, realm.global_object().object_prototype()); // 10. Perform ! CreateDataPropertyOrThrow(obj, "status", "rejected"). MUST(object->create_data_property_or_throw(vm.names.status, js_string(vm, "rejected"sv))); @@ -185,8 +182,7 @@ PromiseAnyRejectElementFunction::PromiseAnyRejectElementFunction(size_t index, P ThrowCompletionOr<Value> PromiseAnyRejectElementFunction::resolve_element() { auto& vm = this->vm(); - auto& global_object = this->global_object(); - auto& realm = *global_object.associated_realm(); + auto& realm = *vm.current_realm(); // 8. Set errors[index] to x. m_values.values()[m_index] = vm.argument(0); |