AOT Compilation Support #3768
Labels
App: EmuHawk
Relating to EmuHawk frontend
Enhancement
For feature requests or possible improvements
Meta
Relating to code organisation or to things that aren't code
re: Multiplatform
Relating to the Linux and macOS ports (Mono Framework, and eventually .NET Core)
Something to look at wrt .NET6 (see #2261) (or more I guess really .NET 7/8). This could be required for some platforms in a moonshot future (iOS/iPad/Apple TV support, lol) and very good for a WASM build due to performance. Perhaps this would be more performant for us due to p/invoke often being used for emulation?
This however has several limitations:
Reflection.Emit
SettingsUtil.cs,BinaryQuickSerializer.cs, BizInvoker.cs, BizInvokeUtilities.cs, andBizExvoker.cs.SettingsUtil is probably easy enough to replace with source generators?replaced with source generator in f2a4794BinaryQuickSerializer is only used in WonderSwan.IStatable.cs and probably could be easily factored out.removed in 8941bacBizExvoker is not actually used anymore (remnant of C# waterbox days), so that can just be removed.removed in 5c475ceNLua also uses it technically, but the code is unused and can be easily removed.removed in 5824466Various other limitations also exist but don't appear to apply to BizHawk (or are just implied by trimming requirement).
see .NET Blog post on this subject
see Meziantou's blog post Accessing private members without reflection in C# re:
[UnsafeAccessor]
see also #2654 and Yoshi's notes re: Web target
The text was updated successfully, but these errors were encountered: