Uh oh!
There was an error while loading. Please reload this page.
[browser] streamline Task/Promise marshalling - #93010
Conversation
ghost
commented
Oct 4, 2023
Tagging subscribers to 'arch-wasm': @lewing Issue Detailsnull
|
pavelsavara
commented
Oct 4, 2023
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
pavelsavara
commented
Oct 4, 2023
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
a8d0432 to
e53d763Comparepavelsavara
commented
Oct 5, 2023
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
e53d763 to
8614283Comparecreate_task_callbackcreate_task_callback and mono_wasm_marshal_promise4bd77bd to
68ae9f1Comparecreate_task_callback and mono_wasm_marshal_promise68ae9f1 to
d6b56c2Comparepavelsavara
commented
Oct 12, 2023
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
pavelsavara
commented
Oct 12, 2023
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
pavelsavara
commented
Oct 12, 2023
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
pavelsavara
commented
Oct 12, 2023
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
radical
commented
Oct 12, 2023
Re-triggered the builds to pick up the build fixes from #93412 . |
radical
commented
Oct 12, 2023
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
0706b84 to
a55eda9Comparepavelsavara
commented
Oct 13, 2023
I moved logging changes to #93472 |
radical
commented
Oct 17, 2023
Please avoid merging on red when the failure is not known, and especially when the failures are in wasm jobs. If merging any way, then please add an explanation for that. |
This reverts commit 018efc5.
This streamlines passing Promise/Task from two cross-boundary calls per promise argument to one.
Changes
create_task_callbackcomplete_taskmono_wasm_marshal_promiseand rename it tomono_wasm_resolve_or_reject_promiseGCVHandleGCHandlein that it keeps proxy of C# object alive while JS owns it.JSVHandleJSHandlein that it keeps proxy of JS object alive while C# owns it.GetTaskResultDynamicto handlevoidTaskJSObject.DisposeLocalInterop "stack frame"
IntPtrand handles to beI32rather thanU32MarshalerTypefromI32toU8sizeMarshalerType.TaskResolvedandMarshalerType.TaskRejectedJSMarshalerArgumentslotJSMarshalerArgument.ElementTypeto different offsetJSMarshalerArgument.ElementTypenow contains type of the promise's resultJSBindingTypelayout accordingly.2Other
WeakRefInternal<T>ForceDisposeProxiesin the middle of the program because it can't balance C# side of handles