Search code examples
c#.net.net-4.5jit

How does Multicore JIT handle code editing?


How does Multicore JIT handle situation when I change my source code between app launches? I mean, Multicore JIT is sort of cache and it should be invalidated somehow.


Solution

  • The multicore jit feature caches the "identities" of the methods that should be jitted, but not the IL or the native code.

    So when the app re-launches, the jit can start working on this backlog of methods right away, using multiple cores, rather than waiting until each method is first executed. Any cached "identity" that is not relevant to the current app is simply ignored. So this caching scheme is robust in the presence of changes to the app.