summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibJS/Module.cpp
diff options
context:
space:
mode:
authorLinus Groh <mail@linusgroh.de>2022-08-16 00:20:50 +0100
committerLinus Groh <mail@linusgroh.de>2022-08-23 13:58:30 +0100
commite992a9f469a536b5a5442229a1adddd27deb1db9 (patch)
tree0fcfb0c3205530e9fd91d2cf8da315fb467e6d70 /Userland/Libraries/LibJS/Module.cpp
parentb99cc7d05039b9386538a581244be5af782c8d05 (diff)
downloadserenity-e992a9f469a536b5a5442229a1adddd27deb1db9.zip
LibJS+LibWeb: Replace GlobalObject with Realm in Heap::allocate<T>()
This is a continuation of the previous three commits. Now that create() receives the allocating realm, we can simply forward that to allocate(), which accounts for the majority of these changes. Additionally, we can get rid of the realm_from_global_object() in one place, with one more remaining in VM::throw_completion().
Diffstat (limited to 'Userland/Libraries/LibJS/Module.cpp')
-rw-r--r--Userland/Libraries/LibJS/Module.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/Userland/Libraries/LibJS/Module.cpp b/Userland/Libraries/LibJS/Module.cpp
index ef3d315a05..f32029e474 100644
--- a/Userland/Libraries/LibJS/Module.cpp
+++ b/Userland/Libraries/LibJS/Module.cpp
@@ -87,6 +87,8 @@ ThrowCompletionOr<Object*> Module::get_module_namespace(VM& vm)
// 10.4.6.12 ModuleNamespaceCreate ( module, exports ), https://tc39.es/ecma262/#sec-modulenamespacecreate
Object* Module::module_namespace_create(VM& vm, Vector<FlyString> unambiguous_names)
{
+ auto& realm = this->realm();
+
// 1. Assert: module.[[Namespace]] is empty.
VERIFY(m_namespace.is_null());
@@ -97,7 +99,7 @@ Object* Module::module_namespace_create(VM& vm, Vector<FlyString> unambiguous_na
// 6. Let sortedExports be a List whose elements are the elements of exports ordered as if an Array of the same values had been sorted using %Array.prototype.sort% using undefined as comparefn.
// 7. Set M.[[Exports]] to sortedExports.
// 8. Create own properties of M corresponding to the definitions in 28.3.
- Object* module_namespace = vm.heap().allocate<ModuleNamespaceObject>(realm().global_object(), realm(), this, move(unambiguous_names));
+ Object* module_namespace = vm.heap().allocate<ModuleNamespaceObject>(realm, realm, this, move(unambiguous_names));
// 9. Set module.[[Namespace]] to M.
m_namespace = make_handle(module_namespace);