Jens,

To both your follow-up questions below - yes, your modifications of 
Brad's suggestions should be fine.

Vass

On 03/28/14 09:53, Jens Breitbart wrote:
> Hi Brad,
>
> thanks. I think I modified the compiler, so I can insert my own code at the
> beginning/end of atomic statements. Just to be sure:
>
> On Tue, Mar 25, 2014 at 2:37 PM, Brad Chamberlain <[email protected]> wrote:
>
>>   Hi Jens --
>>
>>   Without knowing much about the TSX interface, here's a very high-level
>> potential sketch:
>>
>>   * write some C macros that wrap the start/end transaction instructions
>> and look like function calls syntactically.
>>       e.g.:
>>         #define CHPL_TSX_START (<whatever magic starts the transaction via
>> C>)
>>         #define CHPL_TSX_STOP(<whatever magic stops the transaction via C>)
>>
>
> It wasn't working with macros, so I used static inline functions. Should I
> expect any trouble or is this fine?
>
>
>> * in the parser, insert "calls" to these external routines as the first
>> and last statements of the block created when parsing an atomic block (in
>> buildAtomicStmt()).
>>
>>       e.g.:
>>         STMT* atomicBlock = new BlockStmt(stmt);
>>         atomicBlock->insertAtHead(new CallExpr("CHPL_TSX_START"));
>>         atomicBlock->insertAtTail(new CallExpr("CHPL_TSX_STOP"));
>>
>
> I used BlockStmt* instead of STMT*, but I guess that is fine?
>
>    BlockStmt* atomicBlock = buildChapelStmt(new BlockStmt(stmt));
>
>    atomicBlock->insertAtHead(new CallExpr("CHPL_TSX_START"));
>
>    atomicBlock->insertAtTail(new CallExpr("CHPL_TSX_STOP"));
>
>
> - Jens
>
>
>
> ------------------------------------------------------------------------------
>
>
>
> _______________________________________________
> Chapel-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/chapel-developers
>

------------------------------------------------------------------------------
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to