Re: Compiling C++ modules

Dmitry Torokhov
2006-04-25T17:28:14Z

On 4/25/06, Avi Kivity <avi@argo.co.il> wrote:
> Dmitry Torokhov wrote:
> >>> TakeLock l(&lock);
> >>>
> >>> do_something();
> >>> do_something_else();
> >>>
> >>> First of all, that extra TakeLock object chews up stack, at least 4 or
> >>> 8 bytes of it, depending on your word size.
> >>>
> >> No, it's optimized out. gcc notices that &lock doesn't change and that
> >> 'l' never escapes the function.
> >>
> >
> > "l" that propects critical section gets thrown away???
> Calm down, the storage for 'l' is thrown away, but its effects remain.

Would you mind explaining implemenation details a little bit?

--
Dmitry