?

Log in

No account? Create an account

Хихикс - Оживший юзерпик

Aug. 30th, 2012

06:49 pm - Хихикс

Previous Entry Share Next Entry

Comments:

[User Picture]
From:bish0nen
Date:August 31st, 2012 12:33 am (UTC)
(Link)
Не зависит ни от компилятора, ни от ОС, ни от защиты стека. Зависит от оптимизатора или отсутствия оптимизационного прохода.
(Reply) (Parent) (Thread)
[User Picture]
From:dz
Date:August 31st, 2012 03:59 am (UTC)
(Link)
от компилятора, очевидно, зависит. eax обязателен для возврата значения, но вот выделять регистры под темпы можно начиная хоть с edi.
(Reply) (Parent) (Thread)
[User Picture]
From:bish0nen
Date:August 31st, 2012 05:34 am (UTC)
(Link)
Зависит, скорее, от ABI, а компилятор энфорсит какой-то определённый ABI или позволяет выбирать из нескольких. Ничто не запрещает мне вернуть значение(-я) на стеке, регистры используются только потому, что к ним быстрее доступаться.
(Reply) (Parent) (Thread)
[User Picture]
From:tarkhil
Date:August 31st, 2012 04:04 am (UTC)
(Link)
Всякие штуки с зачисткой стека по возврату из функции мне приглючились?
(Reply) (Parent) (Thread)
[User Picture]
From:bish0nen
Date:August 31st, 2012 05:39 am (UTC)
(Link)
Куда они денутся-то. Только возвращаемое значение можно и на верхушку стека положить - как ABI велит - а потом и почистить стек, включая возвращённое значение.
(Reply) (Parent) (Thread)
[User Picture]
From:tobotras
Date:August 31st, 2012 07:26 am (UTC)
(Link)
Однозначно. Это ж какой оверхед.
(Reply) (Parent) (Thread)