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] |
On Tue, 2011-07-19 at 01:19 +0200, Torvald Riegel wrote: > On Sat, 2011-07-09 at 16:30 +0200, Torvald Riegel wrote: > > The attached patch makes flat nesting the default, while still > > supporting closed nesting on demand (for user-controlled aborts via > > __transaction_cancel). > > Previously, a new transaction object was created for each nested > > transaction. The patch changes this to using one transaction object > > during the whole lifetime of a thread and keeping checkpoints of the > > transaction state when starting closed nested transactions. This allows > > us to easily use flat nesting and decreases the transaction start/commit > > overheads to some extent. > > > > OK for branch? > > I split the patch, as requested. > > First three parts are smaller changes: > > patch1: New erase method and placement new for aatree. > patch2: Change pr_hasElse to the value specified in the ABI. > patch3: Add information to dispatch about closed nesting and > uninstrumented code. > > Then, in preparation for the following flat-transaction object design: > patch4: Use vector instead of list to store user actions. > patch5: Add closed nesting as restart reason. > > And the actual core change: > patch6: Make flat nesting the default, use closed nesting on demand. > > This last patch is still rather large, but it is one logical piece. > beginend.cc has most changes, but splitting this one up would rather > create incomplete intermediate steps than make the direction of this > whole patch clear. > > As discussed offline, reducing the one extra copying of jmpbuf for > actual closed-nested transactions can be addressed in a future patch by > modifying _ITM_beginTransaction, which could additionally remove the > extra copying from stack to jmpbuf for all transactions as it existed > before this patch here. > > Ok for branch, or is further splitting required? > This time with patches attached, sorry.
Attachment:
patch1
Description: Text document
Attachment:
patch2
Description: Text document
Attachment:
patch3
Description: Text document
Attachment:
patch4
Description: Text document
Attachment:
patch5
Description: Text document
Attachment:
patch6
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |