Messages in this thread | | | Date | Tue, 25 Apr 2006 13:28:13 -0400 | From | "Dmitry Torokhov" <> | Subject | Re: Compiling C++ modules |
| |
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 - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |