-
Notifications
You must be signed in to change notification settings - Fork 215
Open
Labels
area-NativeAOT-LLVMLLVM generation for Native AOT compilation (including Web Assembly)LLVM generation for Native AOT compilation (including Web Assembly)
Description
- Building naot flavored dotnet.js
- Enable dotnet.js for naot-llvm apps targeting
browser-wasm - JS interop
-
Interop.Runtime.csas wasm imports (instead of icalls) - Marshaling
- JS marshallers should expect wasm import/export instead of Mono reflection found methods
- Copy string to heap instead of passing MonoString ref to JS (already as feature flag in upstream)
- Tasks
- Delegates
- JSObject
- JSImport
- JSExport
- Generated
__Register_as wasm export - Generated wrapper as wasm export
- Generated
- Deliver the interop generator outside of app.ref pack
-
- Main
- Export user written Main (possibly async) as wasm export (we need to do JS marshaling for it). Generated
managed_mainis also responsible for storingargsandtearingdownthe runtime - Store args, so they are available from
Environment.GetCommandLineArgs()
- Export user written Main (possibly async) as wasm export (we need to do JS marshaling for it). Generated
- Yield to JS event loop
- Timers
- Allow to call UCO exports before Main (aka library mode)
- Add support for environment variables
- Add support for runtime options
- Move runtime JS files to
/aotsdkinstead of/framework - Find a proper solution for
Interop.Runtime.NativeAOT.csand other switches in libs (libs can't use switch based on runtime flavor) - Run library tests
- System.Runtime.InteropServices.JavaScript
Smoke test with currently supported feature set
https://github.com/dotnet/runtimelab/blob/feature/NativeAOT-LLVM/src/tests/nativeaot/SmokeTests/DotnetJs
Original prototype
https://github.com/maraf/MinimalDotNetWasmNativeAOT/tree/dotnetjs/DotnetJsHack
ivanpovazan, GerardSmit, lewing, LuohuaRain, PaulusParssinen and 4 more
Metadata
Metadata
Assignees
Labels
area-NativeAOT-LLVMLLVM generation for Native AOT compilation (including Web Assembly)LLVM generation for Native AOT compilation (including Web Assembly)