James,
We don't restore the psate register because that's not part of the
state of the aborting thread. In LogTM, transactions are not
speculative. Instructions in the transaction modify architectural
state--both registers and memory. When a transaction aborts, only the
state of that one thread is restored. This doesn't corrupt the machine
in LogTM, because aborts always occur in user mode.
--Kevin
On Jul 11, 2006, at 10:26 PM, Dan Gibson wrote:
James,
If I remember the code you are talking about
(RegisterStateWidowed.[Ch]), the PSTATE register is handled separately
from the other registers in the enableInterrupts()/disableInterrupts()
procedures.
Regards,
Dan
Cong Wang wrote:
Hi All:
I currently reading the source code of the GEMS transactional memory
part, logtm, in specific. And I found that PSTATE register is not
part of the register checkpoint which is taken when a transaction
begins. I would like to know why it is the case.
Regards
James
_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding
"site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding
"site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
|