Uh oh!
There was an error while loading. Please reload this page.
[browser] introduce JSProxyContext - #95959
Conversation
ghost
commented
Dec 13, 2023
Tagging subscribers to 'arch-wasm': @lewing Issue Details
|
pavelsavara
commented
Dec 13, 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.
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.
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
Dec 17, 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.
Uh oh!
There was an error while loading. Please reload this page.
- new JSMarshalerArgumentImpl.ContextHandle field - all calls from JS side will set JSMarshalerArgumentImpl.ContextHandle with current thread context - via set_arg_proxy_context - all calls to JS where runtime calls stackalloc JSMarshalerArgument will set JSMarshalerArgumentImpl.ContextHandle with Context of promise or function affinity - it will use InitializeWithContext, JSImportNoCapture - these are Task and Function callbacks to JS - JSMarshalerArgument.ToManaged always uses new JSMarshalerArgument.ToManagedContext - JSMarshalerArgument.ToManagedContext always uses JSMarshalerArgumentImpl.ContextHandle, no magic - JSMarshalerArgument.ToJS always uses new JSMarshalerArgument.ToJSContext - JSMarshalerArgument.ToJSContext during JSImport uses JSProxyContext.CurrentOperationContext otherwise JSMarshalerArgumentImpl.ContextHandle
pavelsavara
commented
Dec 18, 2023
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
pavelsavara
commented
Dec 18, 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.
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.
cancellation thread safe Active issue dotnet#96173
pavelsavara
commented
Dec 19, 2023
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
pavelsavara
commented
Dec 19, 2023
/azp run runtime-wasm |
|
Azure Pipelines successfully started running 1 pipeline(s). |
JSProxyContextwhich collects all proxies and handles relevant to particular WebWorker/UI threadJSProxyContext.OperationStackto know the context of the current operation.JSObjectinstance toJSImport. Such instance already has thread affinityJSProxyContext.CaptureContextFromParameterto capture the target thread to call into.JSProxyContextJSProxyContextinstance as a lock around operations with handles.JSObject.ProxyContextalso for non-MT build. It simplifies the#if FEATURE_WASM_THREADShell.CancelablePromisemore asyncIsThreadCapturedit was bit misleadingmono_wasm_invoke_method_rawwhich doesn't require existingJSProxyContext, for early calls.push_operation,pop_operationto be called beforeJSExportcallsinstall_synchronization_context->install_main_synchronization_context