|
Производится ли JIT-компиляция классов FCL?
|
|||
---|---|---|---|
#18+
Недавно случайно наткнулся на одну статью, описывающую процесс загрузки и исполнения сборки. В принципе, всё то же самое описано у Рихтера, и еще много где ( вот, например ) - пример с Console.WriteLine в Program.Main, и описание - сбор типов, выделение внутренней структуры под адреса вызываемых методов, установка адресов на внутреннюю функцию JITCompiler, вызов этой функции, компиляция IL-кода в машинный, возврат к структуре, и замена адреса на адрес скомпилированного кода. Это всё понятно, но есть одно "но": Console - это класс FCL, а сборки фреймворка поставляются вместе с native images: Код: plaintext 1. 2. 3. 4. 5. 6. 7.
- т.е. вроде как никакой JIT-компиляции здесь не нужно, машинный код для метода есть в native image. Однако все эти примеры упорно продолжают вещать про JIT-компиляцию Console.WriteLine. Поэтому, собственно, сабж. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2018, 08:06 |
|
Производится ли JIT-компиляция классов FCL?
|
|||
---|---|---|---|
#18+
Старая непонятная статья ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2018, 11:25 |
|
Производится ли JIT-компиляция классов FCL?
|
|||
---|---|---|---|
#18+
WinterGraveyard, Машинный код не содержит мета-данных, которые содержит сборка. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2018, 12:10 |
|
Производится ли JIT-компиляция классов FCL?
|
|||
---|---|---|---|
#18+
hVosttWinterGraveyard, Машинный код не содержит мета-данных, которые содержит сборка. Да, не содержит, я в курсе. Только зачем они нужны для джиттинга? Он же производится над реализацией конкретного метода, а нед на классом и его метаданными. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2018, 12:17 |
|
Производится ли JIT-компиляция классов FCL?
|
|||
---|---|---|---|
#18+
WinterGraveyardДа, не содержит, я в курсе. Только зачем они нужны для джиттинга? Он же производится над реализацией конкретного метода, а нед на классом и его метаданными. Для поддержки рефлексии. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2018, 12:30 |
|
|
start [/forum/topic.php?fid=20&msg=39626723&tid=1399430]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 299ms |
total: | 458ms |
0 / 0 |