From c0e6dee99242eff08420176a36d77b715972f1f2 Mon Sep 17 00:00:00 2001 From: Tamar Christina Date: Sat, 1 Jun 2019 11:20:39 +0100 Subject: winio: Add Atomic Exchange PrimOp and implement Atomic Ptr exchanges. The initial version was rewritten by Tamar Christina. It was rewritten in large parts by Andreas Klebinger. Co-authored-by: Andreas Klebinger --- includes/stg/Prim.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'includes') diff --git a/includes/stg/Prim.h b/includes/stg/Prim.h index badbde4dfa..5f432b6f9b 100644 --- a/includes/stg/Prim.h +++ b/includes/stg/Prim.h @@ -50,6 +50,10 @@ void hs_atomicwrite8(StgWord x, StgWord val); void hs_atomicwrite16(StgWord x, StgWord val); void hs_atomicwrite32(StgWord x, StgWord val); void hs_atomicwrite64(StgWord x, StgWord64 val); +StgWord hs_xchg8(StgWord x, StgWord val); +StgWord hs_xchg16(StgWord x, StgWord val); +StgWord hs_xchg32(StgWord x, StgWord val); +StgWord hs_xchg64(StgWord x, StgWord val); /* libraries/ghc-prim/cbits/bswap.c */ StgWord16 hs_bswap16(StgWord16 x); -- cgit v1.2.1