On 07/28/2011 12:36 PM, Torvald Riegel wrote: > No, this is correct because it calls the factory function in libitm_i.h. > However, the classes in method-serial.cc were named differently than > those factory functions, so I renamed them like this: > > -class serial_dispatch : public abi_dispatch > +class serialirr_dispatch : public abi_dispatch > > -class serial_dispatch_ul : public abi_dispatch > +class serial_dispatch : public abi_dispatch > > This should avoid confusion in the future.
Excellent. >> Don't we need to fini the old disp? Seems there's a leak here, though >> not visible until we re-instate the non-serial methods. > > Yes, probably. However, one of the next steps on my refactoring list is > to document and change the TM method lifecycle callbacks. This will > include grouping several compatible methods (ie, those that can run > together) into method sets (e.g., global lock, multiple locks). > Switching a method within the current method set would then require no > fini(), whereas switching the method set would require a more > heavy-weight callback. > > I have put the case you raised on my to-do list, and will revisit it > when working on these lifecycle management changes. Sounds good. r~