-
Notifications
You must be signed in to change notification settings - Fork 5.3k
[browser][MT] deputy thread #98118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[browser][MT] deputy thread #98118
Conversation
|
Tagging subscribers to 'arch-wasm': @lewing Issue Detailsnull
|
d3249e5 to
b47568b
Compare
145b59f to
cf52083
Compare
This comment was marked as outdated.
This comment was marked as outdated.
cf52083 to
f1a8883
Compare
f1a8883 to
0baecfb
Compare
978c8b8 to
cdc2135
Compare
|
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
6fe71bb to
edf321d
Compare
275b7e2 to
ecbb5a2
Compare
|
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
| NoSyncJSInterop = 0, | ||
| // allow non-re-entrant synchronous blocking calls to and from JS on JSWebWorker on threads with JS interop, like JSWebWorker and Main thread. | ||
| // calling synchronous JSImport on thread pool or new threads is allowed. | ||
| SimpleSynchronousJSInterop = 1, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should come with a better name (before api review?)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lewing also didn't like it. Please come up with suggestions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm voting for longer and more descriptive name, "simple" has too much meanings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- SingleSynchronousCallChainJSInterop
- SingleSynchronousCallJSInterop
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SingleSynchronousCallJSInterop is not bad, I like it
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BTW: those would not be visible on C# API, just JS config
...itTests/BackgroundExec/System.Runtime.InteropServices.JavaScript.BackgroundExec.Tests.csproj
Show resolved
Hide resolved
|
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Active Issue dotnet#98771
|
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Threading modes
multi-threading.mdJSProxyContext.ThreadBlockingModeflowing fromconfig.ThrowOnBlockingWaitOnJSInteropThreadbehaviorJSProxyContext.ThreadInteropModeJSImportandJSExportJSProxyContext.IsPendingSynchronousCallBeforeSyncJSExportandAfterSyncJSExportto recognize start/end of incoming syncJSImportcall.mono_wasm_invoke_jsexport_sync_send_cbcalls itmono_wasm_install_js_worker_interop_wrapperhelps with the setup of it.args.CallerNativeTIDto see if theJSImportcaller is the same thread.runtimeHelpers.isPendingSynchronousCallwhen are sameget_caller_native_tidto read thatJSProxyContext.MainThreadingModeJSThreadBlockingModeandJSThreadInteropModeandMainThreadingModeDeputy creation
mono_wasm_create_deputy_threadmono_wasm_register_ui_threadtesting
System.Runtime.InteropServices.JavaScript.BackgroundExec.Tests.csprojIsWasmBackgroundExecpassed to unit tests