aboutsummaryrefslogtreecommitdiff
path: root/libitm/libitm_i.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2011-11-30 14:29:33 -0800
committerRichard Henderson <rth@gcc.gnu.org>2011-11-30 14:29:33 -0800
commit062f93f255e4b793edb00849336bf6c4e8239b6e (patch)
tree9f60b09cc1447fb54c59835052aa947c7643e8ec /libitm/libitm_i.h
parentc08472eaf611a76fa2545b5a45f32d274ac0d25d (diff)
downloadgcc-062f93f255e4b793edb00849336bf6c4e8239b6e.zip
gcc-062f93f255e4b793edb00849336bf6c4e8239b6e.tar.gz
gcc-062f93f255e4b793edb00849336bf6c4e8239b6e.tar.bz2
Swap the action and jmpbuf arguments to GTM_longjmp
On several ABIs, the first register parameter is the same as the return value register. Moving the action parameter first avoids the need for register shuffling on these targets. * libitm_i.h (GTM_longjmp): Swap first and second arguments. * beginend.c (_ITM_abortTransaction): Update to match. (GTM::gtm_thread::restart): Likewise. * config/alpha/sjlj.S (GTM_longjmp): Likewise. * config/x86/sjlj.S (GTM_longjmp): Likewise. From-SVN: r181863
Diffstat (limited to 'libitm/libitm_i.h')
-rw-r--r--libitm/libitm_i.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/libitm/libitm_i.h b/libitm/libitm_i.h
index ba1afb4..ff6884e 100644
--- a/libitm/libitm_i.h
+++ b/libitm/libitm_i.h
@@ -285,7 +285,7 @@ namespace GTM HIDDEN {
// are used.
extern uint64_t gtm_spin_count_var;
-extern "C" uint32_t GTM_longjmp (const gtm_jmpbuf *, uint32_t, uint32_t)
+extern "C" uint32_t GTM_longjmp (uint32_t, const gtm_jmpbuf *, uint32_t)
ITM_NORETURN ITM_REGPARM;
extern "C" void GTM_LB (const void *, size_t) ITM_REGPARM;