dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.53k stars 4.54k forks source link

[browser][MT] hybrid globalization #98483

Open pavelsavara opened 4 months ago

pavelsavara commented 4 months ago

plan A)

plan B) - applied

ghost commented 4 months ago

Tagging subscribers to 'arch-wasm': @lewing See info in area-owners.md if you want to be subscribed.

Issue Details
plan A) - make hybrid globalization not supported with MT - tree-shake hybrid JS code via rollup `WasmEnableThreads` conditional compilation - ideally move the code to sub-folder - also conditonal ICALs in `corebindings.c` plan B) - reduce usage of `mono_wasm_new_external_root`, `wrap_error_root`, `wrap_no_error_root` and `stringToMonoStringRoot` from hybrid - because they interact with GC, which could lead to deadlock on UI thread.
Author: pavelsavara
Assignees: ilonatommy
Labels: `arch-wasm`, `area-VM-threading-mono`, `os-browser`
Milestone: 9.0.0