You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[NativeAOT-LLVM] Wasm managed threads - build new nupkg (#3060)
* Add packages and CI for multithreaded debug config.
* use nameSuffix in preference to new platforms.
* Dont emulate for Multithreaded
* pass WasmEnableThreads to build the packages to get the right name
* disable PackagingTests for multithread
* remove cmakeargs arg from yml and docs.
* add wasmEnableThreadsArg
* Remove PalGetMaximumStackBounds_MultiThreadedWasm and add pthread_attr_getstack
* remove D_WASI_EMULATED_PTHREAD
* Add todo for zlib-ng
* put back the nameSuffix check for wasm on linux arm
* dont run test for browser mt
* remove wasi from multithread ci
* Change CLR_CMAKE_TARGET_OS_SUBGROUP to CMAKE_USE_PTHREADS
* remove atomics and bulk memory
* remove wasi workaround
* remove wasi pthread stubs
* remove FeatureWasmPerfTracing
* simplify yml
use mono thread files
revert naot thread files
* feedback for docs
disable memory growth for MT
eventpipe workaround
remove __cxa_thread_atexit
* suppress no-pthreads-mem-growt
* Update docs/workflow/building/coreclr/nativeaot.md
---------
Co-authored-by: SingleAccretion <[email protected]>
Co-authored-by: Jan Kotas <[email protected]>
Copy file name to clipboardExpand all lines: docs/workflow/building/coreclr/nativeaot.md
+13Lines changed: 13 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,6 +76,19 @@ You should now be able to publish the project for Wasm: `dotnet publish -r brows
76
76
77
77
Once you build the repo, you can use the produced binaries in one of four ways specified below ("Using built binaries", "Building packages", "Convenience Visual Studio "repro" project", "Running tests").
78
78
79
+
## Building for Multithreaded packages
80
+
81
+
This is a work in progress and far from functional. Currently there exists just enough infrastructure to build packages for multithreaded runtime and libs, but they are not functional in the sense that they support multithreaded programs yet.
82
+
To build the browser multithreaded packages:
83
+
```
84
+
build clr.aot+libs+nativeaot.packages -c Debug -a wasm -os browser '/p:WasmEnableThreads=true'
85
+
```
86
+
To build the runtime tests for browser
87
+
```
88
+
src\tests\build nativeaot Debug wasm tree nativeaot browser /p:LibrariesConfiguration=debug /p:WasmEnableThreads=true
89
+
```
90
+
91
+
79
92
### Using built binaries
80
93
81
94
In this workflow, you have a project file that you want to `dotnet publish`, but you want to use your own build of the compiler/runtime/framework. You need to be using a daily build of the .NET SDK downloaded from the dotnet/sdk repo. It's typically enough to just download the daily build ZIP file, unpack it, and make sure the unpacked directory is the first thing in your PATH. Don't forget to add a NuGet.config as specified by the dotnet/sdk repo- you'll hit restore issues otherwise.
0 commit comments