1. In the assembly that implements the type(Console), look up the method being called in the metadata.
2. From the metadata, get the IL from this method and verify it.
3. Allocate a block of memory.
4. Compile the IL into native CPU instructions: the native code is saved in the memory allocated in step#3.
5. Modify the method's entry in the Type's table so that it now points to the memory block allocated in Step#3.
6. Jump to the native code contained inside the memory block.