Uh oh!
There was an error while loading. Please reload this page.
[browser][MT] dispatch across threads via emscripten - #97669
Merged
pavelsavara merged 8 commits intoFeb 5, 2024
Conversation
ghost
commented
Jan 29, 2024
Tagging subscribers to 'arch-wasm': @lewing Issue Detailsnull
|
pavelsavaraforce-pushed
the
browser_mt_emscripten_dispatch
branch
2 times, most recently
from
January 30, 2024 18:37
ef0ff17 to
0d4b99fCompare
This was referenced Jan 30, 2024
pavelsavaraforce-pushed
the
browser_mt_emscripten_dispatch
branch
from
January 31, 2024 08:07
0d4b99f to
cd460dbCompare
This was referenced Jan 31, 2024
This comment was marked as resolved.
This comment was marked as resolved.
pavelsavara
commented
Jan 31, 2024
MemberAuthor
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
pavelsavaraforce-pushed
the
browser_mt_emscripten_dispatch
branch
from
February 1, 2024 14:26
98d8cf5 to
e4ec20aComparepavelsavaraforce-pushed
the
browser_mt_emscripten_dispatch
branch
from
February 2, 2024 18:35
e4ec20a to
7b1df18Comparepavelsavara
commented
Feb 2, 2024
MemberAuthor
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
pavelsavara
marked this pull request as ready for review
February 2, 2024 19:26
pavelsavara
requested review from
lambdageek, lewing and vargaz
as code ownersFebruary 2, 2024 19:26
31 tasks
maraf
reviewed
Feb 5, 2024
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
…stem/Runtime/InteropServices/JavaScript/JSSynchronizationContext.cs Co-authored-by: Marek Fišera <mara@neptuo.com>
…stem/Runtime/InteropServices/JavaScript/JSSynchronizationContext.cs Co-authored-by: Marek Fišera <mara@neptuo.com>
Co-authored-by: Marek Fišera <mara@neptuo.com>
…avelsavara/runtime into browser_mt_emscripten_dispatch
pavelsavara
commented
Feb 5, 2024
MemberAuthor
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
pavelsavara
commented
Feb 5, 2024
MemberAuthor
I filled #97968 |
This was referenced Feb 5, 2024
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Dispatch
use emscripten job queue in the target thread instead of
JSSynchronizationContextto call cross-thread JS functions.This has following benefits
JSSynchronizationContextschedule_background_exec->setTimeouttickCross-thread asynchronous
All of them are fire-and-forget messages
ReleaseCSOwnedObjectPostInvokeJSImportAsyncPostResolveOrRejectPromisePost&CancelPromisePostCross-thread synchronous
InvokeJSFunctionSend&InvokeJSImportSyncSendmono_coop_sem_wait.Waitfor too longJSSynchronizationContext.Sendnow throws PNSE on JS threads viaThrowOnBlockingWaitOnJSInteropThreadConsolePal.Clear- ICAL instead ofJSImport- more in line the rest of with posix console pal.Other