D.gnu - Odd code generated for "synchronized" methods
- Kalle A. Sandstrom (14/14) Aug 04 2005 Apparently GDC 0.15 doesn't seem to emit calls to _d_monitorenter and
Apparently GDC 0.15 doesn't seem to emit calls to _d_monitorenter and _d_monitorexit when a method is declared "synchronized". An example that demonstrates this is available at http://puolijalka.ath.cx/~ksandstr/synchronize.d and synchronize.s (compiled with -S -O2). Is this well-defined behaviour (i.e. that method declaration level synchronization would be just an interface flag, and that callers are supposed to do the entering and exiting) or a legitimate bug? Or am I just confused, and D isn't supposed to have Java-style synchronization attributes? -- Kalle A. Sandstro"m ksandstr iki.fi DB9D 0C39: F4FF 4535 B501 4C79 B1DF 03F6 27D1 BF12 DB9D 0C39 void *truth = &truth; http://iki.fi/ksandstr/
Aug 04 2005