summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsimonmar <unknown>2000-05-10 11:02:01 +0000
committersimonmar <unknown>2000-05-10 11:02:01 +0000
commit99b05ba9a0249b464ffec7a7c6de58a724a9af83 (patch)
treef6b9263f5f36a859fe948501f4e12c8807eaa581
parent2cb328218760ce7659ed4682bdae904157e0304d (diff)
downloadhaskell-99b05ba9a0249b464ffec7a7c6de58a724a9af83.tar.gz
[project @ 2000-05-10 11:02:00 by simonmar]
rename takeMaybeMVar to tryTakeMVar
-rw-r--r--ghc/compiler/prelude/PrimOp.lhs16
-rw-r--r--ghc/includes/PrimOps.h4
-rw-r--r--ghc/lib/std/PrelConc.lhs12
-rw-r--r--ghc/lib/std/PrelGHC.hi-boot2
-rw-r--r--ghc/rts/PrimOps.hc4
5 files changed, 19 insertions, 19 deletions
diff --git a/ghc/compiler/prelude/PrimOp.lhs b/ghc/compiler/prelude/PrimOp.lhs
index 393dc85b79..7a0627d6f0 100644
--- a/ghc/compiler/prelude/PrimOp.lhs
+++ b/ghc/compiler/prelude/PrimOp.lhs
@@ -176,7 +176,7 @@ data PrimOp
| TakeMVarOp
| PutMVarOp
| SameMVarOp
- | TakeMaybeMVarOp
+ | TryTakeMVarOp
| IsEmptyMVarOp
-- exceptions
@@ -460,7 +460,7 @@ tagOf_PrimOp NewMVarOp = ILIT(217)
tagOf_PrimOp TakeMVarOp = ILIT(218)
tagOf_PrimOp PutMVarOp = ILIT(219)
tagOf_PrimOp SameMVarOp = ILIT(220)
-tagOf_PrimOp TakeMaybeMVarOp = ILIT(221)
+tagOf_PrimOp TryTakeMVarOp = ILIT(221)
tagOf_PrimOp IsEmptyMVarOp = ILIT(222)
tagOf_PrimOp MkForeignObjOp = ILIT(223)
tagOf_PrimOp WriteForeignObjOp = ILIT(224)
@@ -751,7 +751,7 @@ allThePrimOps -- Except CCall, which is really a family of primops
TakeMVarOp,
PutMVarOp,
SameMVarOp,
- TakeMaybeMVarOp,
+ TryTakeMVarOp,
IsEmptyMVarOp,
MkForeignObjOp,
WriteForeignObjOp,
@@ -1523,12 +1523,12 @@ primOpInfo SameMVarOp
in
mkGenPrimOp SLIT("sameMVar#") [s_tv, elt_tv] [mvar_ty, mvar_ty] boolTy
-primOpInfo TakeMaybeMVarOp
+primOpInfo TryTakeMVarOp
= let
elt = alphaTy; elt_tv = alphaTyVar; s = betaTy; s_tv = betaTyVar
state = mkStatePrimTy s
in
- mkGenPrimOp SLIT("takeMaybeMVar#") [s_tv, elt_tv]
+ mkGenPrimOp SLIT("tryTakeMVar#") [s_tv, elt_tv]
[mkMVarPrimTy s elt, state]
(unboxedTriple [state, intPrimTy, elt])
@@ -1914,7 +1914,7 @@ perform a heap check or they block.
primOpOutOfLine op
= case op of
TakeMVarOp -> True
- TakeMaybeMVarOp -> True
+ TryTakeMVarOp -> True
PutMVarOp -> True
DelayOp -> True
WaitReadOp -> True
@@ -2079,7 +2079,7 @@ primOpHasSideEffects UnsafeFreezeByteArrayOp = True
primOpHasSideEffects UnsafeThawArrayOp = True
primOpHasSideEffects TakeMVarOp = True
-primOpHasSideEffects TakeMaybeMVarOp = True
+primOpHasSideEffects TryTakeMVarOp = True
primOpHasSideEffects PutMVarOp = True
primOpHasSideEffects DelayOp = True
primOpHasSideEffects WaitReadOp = True
@@ -2244,7 +2244,7 @@ primOpUsg op
TakeMVarOp -> mangle [mkM, mkP ] mkM
PutMVarOp -> mangle [mkM, mkM, mkP ] mkR
SameMVarOp -> mangle [mkP, mkP ] mkM
- TakeMaybeMVarOp -> mangle [mkM, mkP ] mkM
+ TryTakeMVarOp -> mangle [mkM, mkP ] mkM
IsEmptyMVarOp -> mangle [mkP, mkP ] mkM
ForkOp -> mangle [mkO, mkP ] mkR
diff --git a/ghc/includes/PrimOps.h b/ghc/includes/PrimOps.h
index c2457ab496..2edd62be58 100644
--- a/ghc/includes/PrimOps.h
+++ b/ghc/includes/PrimOps.h
@@ -1,5 +1,5 @@
/* -----------------------------------------------------------------------------
- * $Id: PrimOps.h,v 1.52 2000/04/13 15:37:11 panne Exp $
+ * $Id: PrimOps.h,v 1.53 2000/05/10 11:02:00 simonmar Exp $
*
* (c) The GHC Team, 1998-1999
*
@@ -662,7 +662,7 @@ EF_(newMutVarzh_fast);
#define isEmptyMVarzh(r,a) r=(I_)((GET_INFO((StgMVar*)(a))) == &EMPTY_MVAR_info )
EF_(newMVarzh_fast);
EF_(takeMVarzh_fast);
-EF_(takeMaybeMVarzh_fast);
+EF_(tryTakeMVarzh_fast);
EF_(putMVarzh_fast);
diff --git a/ghc/lib/std/PrelConc.lhs b/ghc/lib/std/PrelConc.lhs
index bef86b663b..74a1d7ac6d 100644
--- a/ghc/lib/std/PrelConc.lhs
+++ b/ghc/lib/std/PrelConc.lhs
@@ -33,7 +33,7 @@ module PrelConc
, putMVar -- :: MVar a -> a -> IO ()
, readMVar -- :: MVar a -> IO a
, swapMVar -- :: MVar a -> a -> IO a
- , takeMaybeMVar -- :: MVar a -> IO (Maybe a)
+ , tryTakeMVar -- :: MVar a -> IO (Maybe a)
, isEmptyMVar -- :: MVar a -> IO Bool
) where
@@ -147,10 +147,10 @@ swapMVar mvar new =
putMVar mvar new >>
return old
--- takeMaybeMVar is a non-blocking takeMVar
-takeMaybeMVar :: MVar a -> IO (Maybe a)
-takeMaybeMVar (MVar m) = IO $ \ s ->
- case takeMaybeMVar# m s of
+-- tryTakeMVar is a non-blocking takeMVar
+tryTakeMVar :: MVar a -> IO (Maybe a)
+tryTakeMVar (MVar m) = IO $ \ s ->
+ case tryTakeMVar# m s of
(# s, 0#, _ #) -> (# s, Nothing #) -- MVar is empty
(# s, _, a #) -> (# s, Just a #) -- MVar is full
@@ -161,7 +161,7 @@ takeMaybeMVar (MVar m) = IO $ \ s ->
the MVar may have been filled (or emptied) - so be extremely
careful when using this operation.
- Use takeMaybeMVar instead if possible.
+ Use tryTakeMVar instead if possible.
If you can re-work your abstractions to avoid having to
depend on isEmptyMVar, then you're encouraged to do so,
diff --git a/ghc/lib/std/PrelGHC.hi-boot b/ghc/lib/std/PrelGHC.hi-boot
index 58432a6d8b..bc7dac3927 100644
--- a/ghc/lib/std/PrelGHC.hi-boot
+++ b/ghc/lib/std/PrelGHC.hi-boot
@@ -45,7 +45,7 @@ __export PrelGHC
newMVarzh
takeMVarzh
putMVarzh
- takeMaybeMVarzh
+ tryTakeMVarzh
isEmptyMVarzh
-- Parallel
diff --git a/ghc/rts/PrimOps.hc b/ghc/rts/PrimOps.hc
index 1c548f43d4..e288b328b7 100644
--- a/ghc/rts/PrimOps.hc
+++ b/ghc/rts/PrimOps.hc
@@ -1,5 +1,5 @@
/* -----------------------------------------------------------------------------
- * $Id: PrimOps.hc,v 1.51 2000/04/12 17:11:38 simonmar Exp $
+ * $Id: PrimOps.hc,v 1.52 2000/05/10 11:02:00 simonmar Exp $
*
* (c) The GHC Team, 1998-2000
*
@@ -888,7 +888,7 @@ FN_(takeMVarzh_fast)
FE_
}
-FN_(takeMaybeMVarzh_fast)
+FN_(tryTakeMVarzh_fast)
{
StgMVar *mvar;
StgClosure *val;