1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 22:47:44 +00:00

LibJS: Convert Heap::allocate{,_without_realm}() to NonnullGCPtr

This commit is contained in:
Linus Groh 2022-12-14 17:40:33 +00:00 committed by Tim Flynn
parent 2a66fc6cae
commit 22089436ed
161 changed files with 367 additions and 370 deletions

View file

@ -36,7 +36,7 @@ JS::ThrowCompletionOr<JS::Object*> WebAssemblyInstanceConstructor::construct(Fun
return vm.throw_completion<JS::TypeError>(JS::ErrorType::NotAnObjectOfType, "WebAssembly.Module");
auto& module_object = static_cast<WebAssemblyModuleObject&>(*module_argument);
auto result = TRY(WebAssemblyObject::instantiate_module(vm, module_object.module()));
return heap().allocate<WebAssemblyInstanceObject>(realm, realm, result);
return heap().allocate<WebAssemblyInstanceObject>(realm, realm, result).ptr();
}
void WebAssemblyInstanceConstructor::initialize(JS::Realm& realm)

View file

@ -46,7 +46,7 @@ JS::ThrowCompletionOr<JS::Object*> WebAssemblyMemoryConstructor::construct(Funct
if (!address.has_value())
return vm.throw_completion<JS::TypeError>("Wasm Memory allocation failed");
return vm.heap().allocate<WebAssemblyMemoryObject>(realm, realm, *address);
return vm.heap().allocate<WebAssemblyMemoryObject>(realm, realm, *address).ptr();
}
void WebAssemblyMemoryConstructor::initialize(JS::Realm& realm)

View file

@ -33,7 +33,7 @@ JS::ThrowCompletionOr<JS::Object*> WebAssemblyModuleConstructor::construct(Funct
auto* buffer_object = TRY(vm.argument(0).to_object(vm));
auto result = TRY(parse_module(vm, buffer_object));
return heap().allocate<WebAssemblyModuleObject>(realm, realm, result);
return heap().allocate<WebAssemblyModuleObject>(realm, realm, result).ptr();
}
void WebAssemblyModuleConstructor::initialize(JS::Realm& realm)

View file

@ -77,7 +77,7 @@ JS::ThrowCompletionOr<JS::Object*> WebAssemblyTableConstructor::construct(Functi
for (auto& element : table.elements())
element = reference;
return vm.heap().allocate<WebAssemblyTableObject>(realm, realm, *address);
return vm.heap().allocate<WebAssemblyTableObject>(realm, realm, *address).ptr();
}
void WebAssemblyTableConstructor::initialize(JS::Realm& realm)