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.