Несколько известно, где.NET сохраняет типы значения в памяти (главным образом в стеке, но мог быть в "куче" при определенных обстоятельствах и т.д.)...
Мой вопрос - где код структуры?
Если я имею, говорят, что 16 байтов полей данных в структуре и крупного метода вычисления в нем - я предполагаю, что 16 байтов будут скопированы в стеке, и код метода хранится где-то в другом месте и совместно используется для всех экземпляров структуры.
Эти предположения корректны?
MSIL хранится в разделе кода сборки, который Windows отображает в память при первой загрузке сборки. При первом запуске метода JIT компилирует MSIL в код x86 / x64. Как только метод компилируется в память, он обычно остается там и будет использоваться всеми потоками. Есть некоторые обстоятельства, когда несколько доменов приложений вызывают повторную компиляцию MSIL, но это случается редко.
Это отличная статья для выяснения того, что куда идет.
Да. В основном методы управляются отдельно в некоторой структуре, которая - в основном - не так хорошо известна и документирована (поскольку никому это никогда не нужно).
он также хранится как байт-код, компилируется, также может быть встроен в другие методы.
Структура известна по типу, поэтому вызовы методов могут быть правильно маршрутизированы.