This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[trans-mem] Add method groups and change TM method lifecycle and selection.


The patch adds method groups for TM methods, which group methods that
can run concurrently together. The lifecycle and state management
responsibilities of method groups and methods get documented.

For now, there is just a method group for all serial methods, more will
follow when further TM methods are added.

A new default dispatch (aka method) is maintained, and there is a very
simple runtime adaption scheme that uses dispatch_serialirr() if there
is just one registered thread, and the default dispatch (currently
serialirr_onwrite) if there is more than one. The user can override this
by specifying a dispatch via the ITM_DEFAULT_METHOD environment
variable, which then makes libitm always use this method.

This should be the last major step of the refactoring. Future patches
can now add further TM methods, and those methods should fit in more
easily.

OK for branch?

Attachment: patch3
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]