X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=includes%2FSMP.h;h=d985576cb4780a52bfc6edb99db1abbc8e8f06de;hp=5974c962add936413d76506066940fe06cf46224;hb=b1953bbb1ed3cb16497e5447db7487f0c2d9e41a;hpb=1e3d53b4707a6c9c7c99cdaa54e3646b840f5cc9 diff --git a/includes/SMP.h b/includes/SMP.h index 5974c96..d985576 100644 --- a/includes/SMP.h +++ b/includes/SMP.h @@ -155,6 +155,21 @@ xchg(StgPtr p, StgWord w) return old; } +INLINE_HEADER StgInfoTable * +lockClosure(StgClosure *p) +{ return (StgInfoTable *)p->header.info; } + +INLINE_HEADER void +unlockClosure(StgClosure *p STG_UNUSED, StgInfoTable *info STG_UNUSED) +{ /* nothing */ } + #endif /* !THREADED_RTS */ +// Handy specialised versions of lockClosure()/unlockClosure() +INLINE_HEADER void lockTSO(StgTSO *tso) +{ lockClosure((StgClosure *)tso); } + +INLINE_HEADER void unlockTSO(StgTSO *tso) +{ unlockClosure((StgClosure*)tso, (StgInfoTable*)&stg_TSO_info); } + #endif /* SMP_H */