|
Archives
D Programming
DD.gnu digitalmars.D digitalmars.D.bugs digitalmars.D.dtl digitalmars.D.dwt digitalmars.D.announce digitalmars.D.learn digitalmars.D.debugger C/C++ Programming
c++c++.announce c++.atl c++.beta c++.chat c++.command-line c++.dos c++.dos.16-bits c++.dos.32-bits c++.idde c++.mfc c++.rtl c++.stl c++.stl.hp c++.stl.port c++.stl.sgi c++.stlsoft c++.windows c++.windows.16-bits c++.windows.32-bits c++.wxwindows digitalmars.empire digitalmars.DMDScript |
D.gnu - Odd code generated for "synchronized" methods
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
|