LINUX.ORG.RU

История изменений

Исправление zurg, (текущая версия) :

Хранение переменных в регистрах это никаким боком не UB

А я подобного и не утверждаю. UB, как раз, позволяет хранить переменную в регистре и не таскать лишний раз дорого и бессмысленно значение в память и обратно(как ты ниже демонстрируешь), а так же и другие оптимизации. Представь что к моменту возврата из функции v успеет вылезти из кэша проца, и во что твоё " mov eax, [rsp+8]" обойдётся. Так что твоя воображаемая «настоящая» сишечка будет очень тормозным языком на современных архитектурах

Исходная версия zurg, :

Хранение переменных в регистрах это никаким боком не UB

А я подобного и не утверждаю. UB, как раз, позволяет хранить переменную в регистре и не таскать лишний раз дорого и бессмысленно значение в память и обратно, а так же и другие оптимизации. Представь что к моменту возврата из функции v успеет вылезти из кэша проца, и во что твоё " mov eax, [rsp+8]" обойдётся. Так что твоя воображаемая «настоящая» сишечка будет очень тормозным языком на современных архитектурах