X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=includes%2FSMP.h;fp=includes%2FSMP.h;h=b410c6eb47d493e2f7135a71ddf152b8466905c8;hp=04e4d1326b3885aec638716c00a4bf3724cc9f69;hb=0a8f685b4c66093df7732c6b92a631cf4c84c05d;hpb=cb3cb473854e815784375ad23cc5081621a95ce8 diff --git a/includes/SMP.h b/includes/SMP.h index 04e4d13..b410c6e 100644 --- a/includes/SMP.h +++ b/includes/SMP.h @@ -233,7 +233,7 @@ typedef lnat StgSyncCount; // spin locks to check for contention. // acquire spin lock -INLINE_HEADER void acquireSpinLock(StgSync * p) +INLINE_HEADER void ACQUIRE_SPIN_LOCK(StgSync * p) { StgWord32 r = 0; do { @@ -244,7 +244,7 @@ INLINE_HEADER void acquireSpinLock(StgSync * p) } // release spin lock -INLINE_HEADER void releaseSpinLock(StgSync * p) +INLINE_HEADER void RELEASE_SPIN_LOCK(StgSync * p) { write_barrier(); p->lock = 1; @@ -261,7 +261,7 @@ INLINE_HEADER void initSpinLock(StgSync * p) #else // acquire spin lock -INLINE_HEADER void acquireSpinLock(StgSync * p) +INLINE_HEADER void ACQUIRE_SPIN_LOCK(StgSync * p) { StgWord32 r = 0; do { @@ -270,7 +270,7 @@ INLINE_HEADER void acquireSpinLock(StgSync * p) } // release spin lock -INLINE_HEADER void releaseSpinLock(StgSync * p) +INLINE_HEADER void RELEASE_SPIN_LOCK(StgSync * p) { write_barrier(); (*p) = 1; @@ -306,11 +306,9 @@ INLINE_HEADER void unlockClosure(StgClosure *p STG_UNUSED, StgInfoTable *info STG_UNUSED) { /* nothing */ } -INLINE_HEADER void acquireSpinLock(void * p STG_UNUSED) -{ /* nothing */ } - -INLINE_HEADER void releaseSpinLock(void * p STG_UNUSED) -{ /* nothing */ } +// Using macros here means we don't have to ensure the argument is in scope +#define ACQUIRE_SPIN_LOCK(p) /* nothing */ +#define RELEASE_SPIN_LOCK(p) /* nothing */ INLINE_HEADER void initSpinLock(void * p STG_UNUSED) { /* nothing */ }