On 01/18/2012 03:35 PM, Uros Bizjak wrote:
Please note that all recent x86 processors implement store forwarding,
so passing arguments through memory is mostly a non-issue nowadays.
Ok. Thanks :)
IMO, whatever the future decision would be, we shouldn't leave one
part of the compiler out-of-sync from the other. Proposed patch fixes
_current_ situation, where in the future, it is expected that compiler
and library changes in sync...
So in order to keep them in sync, this should be also applied to libitm
if your solution is chosen (At least to avoid confusion).
If the Intel TM-ABI (no idea what's the status of this specification)
specifies variadic function and regparm, it should be changed too.
Index: libitm.h
===================================================================
--- libitm.h (revision 183273)
+++ libitm.h (working copy)
@@ -136,7 +136,7 @@ typedef uint64_t _ITM_transactionId_t; /* Transact
extern _ITM_transactionId_t _ITM_getTransactionId(void) ITM_REGPARM;
-extern uint32_t _ITM_beginTransaction(uint32_t, ...) ITM_REGPARM;
+extern uint32_t _ITM_beginTransaction(uint32_t, ...);
extern void _ITM_abortTransaction(_ITM_abortReason) ITM_REGPARM
ITM_NORETURN;
Thanks. :)
--
Patrick.