0

In the context of the JIT compiler that acts on the Assembly (containing metadata and intermediate language):

The assembly is generated on the disk by the specific language compilation so as the CLR makes his own independent compilation to convert the MSIL into native code. Is there a visible output created on disk after this compilation? A file/s containing binary code or similar?

  • Perhaps relevant tool; https://learn.microsoft.com/en-us/dotnet/framework/tools/ngen-exe-native-image-generator – sisve Jan 02 '18 at 07:28
  • Debug > Windows > Disassembly shows you the machine code generated by the jitter. – Hans Passant Jan 02 '18 at 09:20
  • Technically, I would consider this a duplicate to [this](http://stackoverflow.com/questions/3295622/where-is-the-net-jit-compiled-code-cached). Not the least, because the answer is the first word of the accepted answer. – Christian.K Jan 02 '18 at 14:13

1 Answers1

0

Here is a quite explicit article where I found the answer. Basically, there is not an output file and the native code is stored dynamically in memory during the runtime.

When managed code calls a particular method, the compiling function wakes up, looks up the intermediate code (processor-agnostic object code that's similar to the machine code), then compiles the intermediate code into instructions for the available processor. The managed code then saves those instructions in a dynamically allocated location in memory. The compiling function points back to the original method so that the two are linked: When the method in the assembly executes, it executes the processor instructions stored in memory.