[browser][MT] Schedule mono_wasm_resolve_or_reject_promise continuation to run asynchronously #99317
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Theory of this fix:
Task
to JS as parameter of asyncJSImport
with virtualJSHandle
-2 allocated withAllocJSVHandle()
mono_wasm_resolve_or_reject_promise
is executed before themono_wasm_invoke_jsimport
mono_threads_wasm_async_run_in_target_thread
and they could be deliverd in this order in case that the task is already resolvedtask.ContinueWith(Complete, ...
is executed synchronously from inside ofToJS(Task? value)
contributes to #98406