Re: [trans-mem] Beginning of refactoring

2011-08-03 Thread Richard Henderson
On 08/03/2011 03:50 AM, Torvald Riegel wrote: > Fix rollback and queries of transaction ID. > > * beginend.cc (GTM::gtm_transaction::rollback): Roll back tx id as well. > * query.cc (_ITM_getTransactionId): There is no active transaction if > the current nesting level is

Re: [trans-mem] Beginning of refactoring

2011-08-03 Thread Torvald Riegel
This small patch fixes the rollback of the transaction ID as well as queries for it. OK for branch? commit bd83b4594c1f6eee09e0fa7b369557f986291f9b Author: Torvald Riegel Date: Fri Jul 29 15:19:04 2011 +0200 Fix rollback and queries of transaction ID. * beginend.cc (GTM::gtm_t

Re: [trans-mem] Beginning of refactoring

2011-07-28 Thread Richard Henderson
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 >

Re: [trans-mem] Beginning of refactoring

2011-07-28 Thread Torvald Riegel
On Thu, 2011-07-28 at 09:02 -0700, Richard Henderson wrote: > > Add information to dispatch about closed nesting and uninstrumented > > code. > > > > * dispatch.h (GTM::abi_dispatch): Add > > can_run_uninstrumented_code and > > closed_nesting flags, as well as a c

Re: [trans-mem] Beginning of refactoring

2011-07-28 Thread Richard Henderson
On 07/27/2011 03:35 AM, Torvald Riegel wrote: > patch7: gtm_transaction::decide_begin_dispatch() gets the transaction > properties from the caller instead of reading from > gtm_transaction::prop, which might not have been updated by the caller > yet. > > patch8: Fix nesting level reset when rollin

Re: [trans-mem] Beginning of refactoring

2011-07-28 Thread Richard Henderson
> New erase method and placement new for aatree. > > * aatree.h (aa_tree::remove): New. > (aa_tree::operator new): Add placement new. Ok. > Change pr_hasElse to the value specified in the ABI. > > * libitm.h (_ITM_codeProperties): Change pr_ha

Re: [trans-mem] Beginning of refactoring

2011-07-27 Thread Torvald Riegel
On Tue, 2011-07-19 at 01:22 +0200, Torvald Riegel wrote: > 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-c

Re: [trans-mem] Beginning of refactoring

2011-07-18 Thread Torvald Riegel
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

Re: [trans-mem] Beginning of refactoring

2011-07-18 Thread Torvald Riegel
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.

Re: [trans-mem] Beginning of refactoring

2011-07-09 Thread Torvald Riegel
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 w

Re: [trans-mem] Beginning of refactoring

2011-07-01 Thread Richard Henderson
On 07/01/2011 01:23 PM, Torvald Riegel wrote: > Add vector-like container, use it for gtm_transaction::undo_log. > > * containers.h: New file. > * util.cc (xmalloc, xrealloc): Accept cacheline-alloc flag. > * libitm_i.h (xmalloc, xrealloc): Moved declarations from here ..

Re: [trans-mem] Beginning of refactoring

2011-07-01 Thread Torvald Riegel
Attached patch adds a vector-like container implementation and uses it for a transaction's undo log. Also, adds a flag to xmalloc/xrealloc that requests the allocated data to be on cache lines that are not shared with data accessed by other threads (this will get an actual implementation in a later

Re: [trans-mem] Beginning of refactoring

2011-06-30 Thread Torvald Riegel
On Thu, 2011-06-30 at 07:59 -0700, Richard Henderson wrote: > I'm not sure what to make of your first two examples above, but > let's suppose that the third example is the real one. In which > case you don't actually need concatenation. Remove the ## from > the macro and then you can pass in > >

Re: [trans-mem] Beginning of refactoring

2011-06-30 Thread Richard Henderson
On 06/30/2011 04:15 AM, Torvald Riegel wrote: > On Wed, 2011-06-29 at 16:01 -0700, Richard Henderson wrote: >> On 05/25/2011 02:10 PM, Torvald Riegel wrote: >>> Patch 2: _ITM_dropReferences is not sufficiently defined in the ABI. It >>> seems to target some form of open nesting for txnal wrappers,

Re: [trans-mem] Beginning of refactoring

2011-06-30 Thread Torvald Riegel
On Wed, 2011-06-29 at 16:01 -0700, Richard Henderson wrote: > On 05/25/2011 02:10 PM, Torvald Riegel wrote: > > Patch 2: _ITM_dropReferences is not sufficiently defined in the ABI. It > > seems to target some form of open nesting for txnal wrappers, but the > > prose in the ABI specification is unc

Re: [trans-mem] Beginning of refactoring

2011-06-29 Thread Richard Henderson
On 05/25/2011 02:10 PM, Torvald Riegel wrote: > Here's the beginning of a refactoring aimed at being able to merge more > TM algorithms later on. > > Patch 1: Just a straightfoward rename to make it clear that we're > dispatching on the level of ABI calls, not internals. Ok, I guess. I don't thi

Re: [trans-mem] Beginning of refactoring

2011-06-29 Thread Richard Henderson
On 06/29/2011 02:12 PM, Torvald Riegel wrote: > Patch contains more clean-up: the trycommit, rollback and > registerThrownObject functions in the ABI are unnecessary for how we > support exception handling. > > Ok for branch? > Looks good. r~

Re: [trans-mem] Beginning of refactoring

2011-06-29 Thread Torvald Riegel
Patch contains more clean-up: the trycommit, rollback and registerThrownObject functions in the ABI are unnecessary for how we support exception handling. Ok for branch? commit 79ae722913f40715882b4c7b3fb798306f1ad3ae Author: Torvald Riegel Date: Wed Jun 29 23:05:28 2011 +0200 Removed unn