Re: Compiling C++ modules

From: Dmitry Torokhov
Date: Tue Apr 25 2006 - 13:28:02 EST


On 4/25/06, Avi Kivity <avi@xxxxxxxxxx> 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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/