Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
05.04.2018, 08:06
|
|||
---|---|---|---|
|
|||
Производится ли 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. Поэтому, собственно, сабж. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.04.2018, 11:25
|
|||
---|---|---|---|
Производится ли JIT-компиляция классов FCL? |
|||
#18+
Старая непонятная статья ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.04.2018, 12:10
|
|||
---|---|---|---|
Производится ли JIT-компиляция классов FCL? |
|||
#18+
WinterGraveyard, Машинный код не содержит мета-данных, которые содержит сборка. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.04.2018, 12:17
|
|||
---|---|---|---|
|
|||
Производится ли JIT-компиляция классов FCL? |
|||
#18+
hVosttWinterGraveyard, Машинный код не содержит мета-данных, которые содержит сборка. Да, не содержит, я в курсе. Только зачем они нужны для джиттинга? Он же производится над реализацией конкретного метода, а нед на классом и его метаданными. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.04.2018, 12:30
|
|||
---|---|---|---|
Производится ли JIT-компиляция классов FCL? |
|||
#18+
WinterGraveyardДа, не содержит, я в курсе. Только зачем они нужны для джиттинга? Он же производится над реализацией конкретного метода, а нед на классом и его метаданными. Для поддержки рефлексии. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&mobile=1&tid=1399430]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 150ms |
0 / 0 |