Post #3722145
2026-07-10 18:02 UTC
Replies (3)
-
@joe@f.duriansoftware.com 2026-07-10 18:10
@slava@mathstodon.xyz @zwarich@hachyderm.io in a full-fat JIT implementation, the VM generates monomorphizations on demand. .NET core does a more swift-style thing where specializations are pregenerated for the statically visible uses, and a polymorphic entry point catches the dynamic cases
-
@zwarich@hachyderm.io 2026-07-10 18:12
@slava@mathstodon.xyz @joe@f.duriansoftware.com The original story was single-tier JIT with monomorphization at runtime. They experimented with AOT solutions for desktop apps, and then at some point they added a tiered JIT along with an interpreter that works more like Swift’s baseline model and uses metadata. I think the current AOT solution is totally different and closer to the JIT compiler.
-
@Migueldeicaza@mastodon.social 2026-07-10 18:21
@slava@mathstodon.xyz @zwarich@hachyderm.io @joe@f.duriansoftware.com initially it was a runtime error when we encountered that, later the compilers were taught additional patterns to recognize and generate code, but it get bloated. Some heavy generic code is just too popular and hard to take (Linq) so it ships with an interpreter for those expressions. There have been efforts to use an interpreter as a fallback and avoid the bloat. Not sure if it ever shipped or “educate users” remains the guidance