Alex Ferguson writes:
>
> Yes, and no. I reported my inability to get conc and prof to work together
> on _either_ 0.29 or 2.01, quite a while ago. WDP said the latter likely
> hadn't been made to work at all; I got no real feedback on the former,
> so I gave up on both.
>
Fixed in 2.02, I'm afraid it never worked properly (0.29/2.01). For
people with sources that likes to patch, I've appended the diffs.
--Sigbjorn
*** ghc/runtime/main/Threads.lc.~1~ Thu Aug 22 14:22:30 1996
--- ghc/runtime/main/Threads.lc Mon Mar 10 15:41:55 1997
***************
*** 2423,2428 ****
#if defined(GRAN)
TSO_PRI(tso) = pri; /* Priority of that TSO -- HWL */
#endif
! #ifdef PAR
TSO_CCC(tso) = (CostCentre)STATIC_CC_REF(CC_MAIN);
#endif
TSO_NAME(tso) = (P_) INFO_PTR(topClosure); /* A string would be nicer -- JSM */
--- 2418,2428 ----
#if defined(GRAN)
TSO_PRI(tso) = pri; /* Priority of that TSO -- HWL */
#endif
! #if defined(PROFILING) || defined(PAR)
TSO_CCC(tso) = (CostCentre)STATIC_CC_REF(CC_MAIN);
#endif
TSO_NAME(tso) = (P_) INFO_PTR(topClosure); /* A string would be nicer -- JSM */
*** ghc/includes/StgRegs.lh.~1~ Thu Aug 22 14:20:26 1996
--- ghc/includes/StgRegs.lh Mon Mar 10 15:14:55 1997
***************
*** 140,146 ****
{
SaveAllStgRegs();
#ifdef CONCURRENT
! # ifdef PAR
TSO_CCC(CurrentTSO) = CCC;
CCC = (CostCentre)STATIC_CC_REF(CC_MAIN);
# endif
--- 140,146 ----
{
SaveAllStgRegs();
#ifdef CONCURRENT
! # if defined(PROFILING) || defined(PAR)
TSO_CCC(CurrentTSO) = CCC;
CCC = (CostCentre)STATIC_CC_REF(CC_MAIN);
# endif
***************
*** 279,286 ****
StkStubReg = STK_STUB_closure;
#endif
! #ifdef PAR
CCC = TSO_CCC(CurrentTSO);
#endif
}
--- 279,288 ----
StkStubReg = STK_STUB_closure;
#endif
! #if CONCURRENT
! # if defined(PROFILING) || defined(PAR)
CCC = TSO_CCC(CurrentTSO);
+ # endif
#endif
}