Dear Ismail,

On 05/03/2011 11:18 PM, ismail wrote:
>> ++ First of all, MEMCPY and MEMSET functions do not include any
>> transaction identifier (id) and transactions inside the LeeTM fails
>> during transactional access to the memory. I think this case is also
>> for tinySTM-0.9.9 and tinySTM-1.0.
>>
>> ++ tinySTM-0.9.9 has mem access functions with transaction handlers as
>> the following
>> ++stm_word_t stm_load(stm_tx_t *tx, volatile stm_word_t *addr);
>> ++void stm_store(stm_tx_t *tx, volatile stm_word_t *addr, stm_word_t
>> value);
>> ++void stm_store2(stm_tx_t *tx, volatile stm_word_t *addr, stm_word_t
>> value, stm_word_t mask);
>>
>>
>> ++but tinySTM-1.0 does not . Your opinions on these different version
>> of mem-access functions would be great.

TinySTM 1.0 uses implicit transaction descriptor by default (same as 0.9.9) but you can compile it with EXPLICIT_TX_PARAMETER (Makefile) and then the transaction descriptor is explicit. But functions are the same from 0.9.9 to 1.0.0 so I don't really see the problem.

>> ++My idea to convert from one version of mem-access function to
>> another is as the following:
>>
>>
>> ++ I think I have  to make some explicit function calls as the
>> following:
>> ++     _ITM_transaction * td = _ITM_getTransaction();
>>   ++    int doWhat =
>> _ITM_beginTransaction(td,pr_instrumentedCode,&txn_start_loc);
>> ++   .....
>> ++_ITM_transactionId cur_id = _ITM_getTransactionId();

I do not understand that...

>> ++ Of course , It would be great to share the study and results with
>> you when I organize my study and all other things.

I guess we will meet together at the EuroTM meeting in Paris.

Patrick Marlier.

Reply via email to