powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Производится ли JIT-компиляция классов FCL?
5 сообщений из 5, страница 1 из 1
Производится ли JIT-компиляция классов FCL?
    #39625853
WinterGraveyard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Недавно случайно наткнулся на одну статью, описывающую процесс загрузки и исполнения сборки. В принципе, всё то же самое описано у Рихтера, и еще много где ( вот, например ) - пример с Console.WriteLine в Program.Main, и описание - сбор типов, выделение внутренней структуры под адреса вызываемых методов, установка адресов на внутреннюю функцию JITCompiler, вызов этой функции, компиляция IL-кода в машинный, возврат к структуре, и замена адреса на адрес скомпилированного кода. Это всё понятно, но есть одно "но": Console - это класс FCL, а сборки фреймворка поставляются вместе с native images:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
D:\ngen display mscorlib

..............................................
Native Images:

mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 <debug>

- т.е. вроде как никакой JIT-компиляции здесь не нужно, машинный код для метода есть в native image. Однако все эти примеры упорно продолжают вещать про JIT-компиляцию Console.WriteLine. Поэтому, собственно, сабж.
...
Рейтинг: 0 / 0
Производится ли JIT-компиляция классов FCL?
    #39626665
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Старая непонятная статья
...
Рейтинг: 0 / 0
Производится ли JIT-компиляция классов FCL?
    #39626714
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinterGraveyard,

Машинный код не содержит мета-данных, которые содержит сборка.
...
Рейтинг: 0 / 0
Производится ли JIT-компиляция классов FCL?
    #39626723
WinterGraveyard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttWinterGraveyard,

Машинный код не содержит мета-данных, которые содержит сборка.
Да, не содержит, я в курсе. Только зачем они нужны для джиттинга? Он же производится над реализацией конкретного метода, а нед на классом и его метаданными.
...
Рейтинг: 0 / 0
Производится ли JIT-компиляция классов FCL?
    #39626731
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WinterGraveyardДа, не содержит, я в курсе. Только зачем они нужны для джиттинга? Он же производится над реализацией конкретного метода, а нед на классом и его метаданными.

Для поддержки рефлексии.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Производится ли JIT-компиляция классов FCL?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]