Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AOT Compilation Support #3768

Open
CasualPokePlayer opened this issue Sep 8, 2023 · 0 comments
Open

AOT Compilation Support #3768

CasualPokePlayer opened this issue Sep 8, 2023 · 0 comments
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)

Comments

@CasualPokePlayer
Copy link
Member

CasualPokePlayer commented Sep 8, 2023

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:

  • Requires trimming
  • No dynamic loading
    • Similar to the trimming limitation, but this just outright disallows dynamic loading from working at all. External Tools would have to be re-worked to not rely on .NET dynamic assembly loading at all, or simply be unavailable for use.
  • No run-time code generation

Various 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

@YoshiRulz YoshiRulz added Enhancement For feature requests or possible improvements App: EmuHawk Relating to EmuHawk frontend re: Multiplatform Relating to the Linux and macOS ports (Mono Framework, and eventually .NET Core) Meta Relating to code organisation or to things that aren't code labels Sep 8, 2023
CasualPokePlayer added a commit that referenced this issue Oct 23, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
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)
Projects
None yet
Development

No branches or pull requests

2 participants