From b75b7f0c0d6980e474f4aad910c6b7d45c876518 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Sat, 28 Jan 2023 13:39:44 -0500 Subject: LibJS+Everywhere: Propagate Cell::initialize errors from Heap::allocate Callers that are already in a fallible context will now TRY to allocate cells. Callers in infallible contexts get a FIXME. --- .../Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp') diff --git a/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp b/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp index 0ba3dd2cdd..908b3aa405 100644 --- a/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp +++ b/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp @@ -57,7 +57,7 @@ void PromiseResolvingElementFunction::visit_edges(Cell::Visitor& visitor) NonnullGCPtr PromiseAllResolveElementFunction::create(Realm& realm, size_t index, PromiseValueList& values, NonnullGCPtr capability, RemainingElements& remaining_elements) { - return realm.heap().allocate(realm, index, values, capability, remaining_elements, *realm.intrinsics().function_prototype()); + return realm.heap().allocate(realm, index, values, capability, remaining_elements, *realm.intrinsics().function_prototype()).release_allocated_value_but_fixme_should_propagate_errors(); } PromiseAllResolveElementFunction::PromiseAllResolveElementFunction(size_t index, PromiseValueList& values, NonnullGCPtr capability, RemainingElements& remaining_elements, Object& prototype) @@ -89,7 +89,7 @@ ThrowCompletionOr PromiseAllResolveElementFunction::resolve_element() NonnullGCPtr PromiseAllSettledResolveElementFunction::create(Realm& realm, size_t index, PromiseValueList& values, NonnullGCPtr capability, RemainingElements& remaining_elements) { - return realm.heap().allocate(realm, index, values, capability, remaining_elements, *realm.intrinsics().function_prototype()); + return realm.heap().allocate(realm, index, values, capability, remaining_elements, *realm.intrinsics().function_prototype()).release_allocated_value_but_fixme_should_propagate_errors(); } PromiseAllSettledResolveElementFunction::PromiseAllSettledResolveElementFunction(size_t index, PromiseValueList& values, NonnullGCPtr capability, RemainingElements& remaining_elements, Object& prototype) @@ -130,7 +130,7 @@ ThrowCompletionOr PromiseAllSettledResolveElementFunction::resolve_elemen NonnullGCPtr PromiseAllSettledRejectElementFunction::create(Realm& realm, size_t index, PromiseValueList& values, NonnullGCPtr capability, RemainingElements& remaining_elements) { - return realm.heap().allocate(realm, index, values, capability, remaining_elements, *realm.intrinsics().function_prototype()); + return realm.heap().allocate(realm, index, values, capability, remaining_elements, *realm.intrinsics().function_prototype()).release_allocated_value_but_fixme_should_propagate_errors(); } PromiseAllSettledRejectElementFunction::PromiseAllSettledRejectElementFunction(size_t index, PromiseValueList& values, NonnullGCPtr capability, RemainingElements& remaining_elements, Object& prototype) @@ -171,7 +171,7 @@ ThrowCompletionOr PromiseAllSettledRejectElementFunction::resolve_element NonnullGCPtr PromiseAnyRejectElementFunction::create(Realm& realm, size_t index, PromiseValueList& errors, NonnullGCPtr capability, RemainingElements& remaining_elements) { - return realm.heap().allocate(realm, index, errors, capability, remaining_elements, *realm.intrinsics().function_prototype()); + return realm.heap().allocate(realm, index, errors, capability, remaining_elements, *realm.intrinsics().function_prototype()).release_allocated_value_but_fixme_should_propagate_errors(); } PromiseAnyRejectElementFunction::PromiseAnyRejectElementFunction(size_t index, PromiseValueList& errors, NonnullGCPtr capability, RemainingElements& remaining_elements, Object& prototype) -- cgit v1.2.3