projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2000-12-04 16:42:14 by rrt]
[ghc-hetmet.git]
/
ghc
/
rts
/
PrimOps.hc
diff --git
a/ghc/rts/PrimOps.hc
b/ghc/rts/PrimOps.hc
index
acc4754
..
f70d745
100644
(file)
--- a/
ghc/rts/PrimOps.hc
+++ b/
ghc/rts/PrimOps.hc
@@
-1,5
+1,5
@@
/* -----------------------------------------------------------------------------
/* -----------------------------------------------------------------------------
- * $Id: PrimOps.hc,v 1.58 2000/11/13 14:40:37 simonmar Exp $
+ * $Id: PrimOps.hc,v 1.60 2000/12/04 12:31:21 simonmar Exp $
*
* (c) The GHC Team, 1998-2000
*
*
* (c) The GHC Team, 1998-2000
*
@@
-981,17
+981,12
@@
FN_(putMVarzh_fast)
if (mvar->head == (StgTSO *)&stg_END_TSO_QUEUE_closure) {
mvar->tail = (StgTSO *)&stg_END_TSO_QUEUE_closure;
}
if (mvar->head == (StgTSO *)&stg_END_TSO_QUEUE_closure) {
mvar->tail = (StgTSO *)&stg_END_TSO_QUEUE_closure;
}
-
- /* unlocks the MVar in the SMP case */
- SET_INFO(mvar,&stg_FULL_MVAR_info);
-
- /* yield, to give the newly woken thread a chance to take the MVar */
- JMP_(stg_yield_noregs);
}
/* unlocks the MVar in the SMP case */
SET_INFO(mvar,&stg_FULL_MVAR_info);
}
/* unlocks the MVar in the SMP case */
SET_INFO(mvar,&stg_FULL_MVAR_info);
+ /* ToDo: yield here for better communication performance? */
JMP_(ENTRY_CODE(Sp[0]));
FE_
}
JMP_(ENTRY_CODE(Sp[0]));
FE_
}