Re[3]: Отключение проверки выхода за границы массива
От: rameel https://github.com/rsdn/CodeJam
Дата: 06.01.21 14:25
Оценка: 6 (1) +1
Здравствуйте, Sharov, Вы писали:

S>А почему будет такая разница в сгенерированно коде?


.NET Framework уже не развивают, может бэкпортят что-то из корки. Плюс, в .NET Framework были разные бекенды для x86 и x64, отсюда и разница в реализованных оптимизациях

R>>Все это справедливо только, если работаешь с локальной переменной или аргументом метода. В этом случае, джит уверен, что никто не изменит ссылку из вне метода, в остальном случае — гарантий нет, и джит вставит проверки на выход за границы массива


S>А как jit убедиться, что никто не изменит аргумент в вызывающем коде? Всяческая многопоточность и т.д.


В данном случае речь идет о массивах, а длина массива не меняется, а ссылка на массив в переданном аргументе поменяться не может
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.