Информация об изменениях

Сообщение Re[3]: [Nemerle] Codegen quality от 02.03.2017 13:57

Изменено 02.03.2017 13:59 rameel

Re[3]: [Nemerle] Codegen quality
Здравствуйте, rameel, Вы писали:

R>Но я попробую сейчас протестировать немерловский IL с заменой Length, посмотрю, что выйдет.


Результаты теста:
1. Надо обязательно менять вызов Length на соответствующую инструкцию. Джит устранил проверки выхода за границы.
2. Надо реорганизовать цикл for и исправить последовательность инструкций, чтобы джит вытащил args.Length в регистры

IL_0024: ldlen

// вот эти 3 инструкции надо переписать в blt.s или в clt, brtrue.s
IL_0029: clt
IL_002b: brfalse IL_0035
IL_0030: br IL_0016
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re[3]: [Nemerle] Codegen quality
Здравствуйте, rameel, Вы писали:

R>Но я попробую сейчас протестировать немерловский IL с заменой Length, посмотрю, что выйдет.


Результаты теста:
1. Надо обязательно менять вызов Length на соответствующую инструкцию. Джит устранил проверки выхода за границы.
2. Надо реорганизовать цикл for и исправить последовательность инструкций, чтобы джит вытащил args.Length в регистры

IL_0024: ldlen

// вот эти 3 инструкции надо переписать в blt.s или в clt, brtrue.s
IL_0029: clt
IL_002b: brfalse IL_0035
IL_0030: br IL_0016


Попробую в качестве упражнения сделать.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>