Nice, thank you 30.01.2015 18:24 пользователь "Malte Vesper" < malte.vesper@postgrad.manchester.ac.uk> написал:
Spinlocks imply memory barriers as far as I am aware...
Read here: http://lxr.free-electrons.com/source/Documentation/memory- barriers.txt#L1634
On 30/01/15 14:20, Matwey V. Kornilov wrote:
2015-01-30 16:52 GMT+03:00 buyitian <buyitian@gmail.com>:
Please check the assembly code to double confirm the GCC behavior. Why will GCC change the order as what you mentioned? Only assembly code can tell you.
It does not change at the moment. I think it can change it.
Because from line ret = hdl->count; until line return ret; there is no access to either ret or hdl->count. So it is reasonable to optimizer to think that their values are the same and eliminate unneeded variable.