//
if (StgHeader_info(R1) != stg_MUT_ARR_PTRS_FROZEN0_info) {
SET_INFO(R1,stg_MUT_ARR_PTRS_DIRTY_info);
- foreign "C" recordMutableLock(R1 "ptr") [R1];
+ recordMutable(R1, R1);
// must be done after SET_INFO, because it ASSERTs closure_MUTABLE()
RET_P(R1);
} else {
/* Nested transactions are not allowed; raise an exception */
if (old_trec != NO_TREC) {
- R1 = GHCziIOBase_NestedAtomically_closure;
+ R1 = base_GHCziIOBase_NestedAtomically_closure;
jump raisezh_fast;
}
/* actually perform the putMVar for the thread that we just woke up */
tso = StgMVar_head(mvar);
PerformPut(tso,StgMVar_value(mvar));
- foreign "C" dirtyTSO(tso "ptr") [];
+ dirtyTSO(tso);
#if defined(GRAN) || defined(PAR)
/* ToDo: check 2nd arg (mvar) is right */
/* actually perform the putMVar for the thread that we just woke up */
tso = StgMVar_head(mvar);
PerformPut(tso,StgMVar_value(mvar));
- foreign "C" dirtyTSO(tso "ptr") [];
+ dirtyTSO(tso);
#if defined(GRAN) || defined(PAR)
/* ToDo: check 2nd arg (mvar) is right */
/* actually perform the takeMVar */
tso = StgMVar_head(mvar);
PerformTake(tso, R2);
- foreign "C" dirtyTSO(tso "ptr") [];
+ dirtyTSO(tso);
#if defined(GRAN) || defined(PAR)
/* ToDo: check 2nd arg (mvar) is right */
/* actually perform the takeMVar */
tso = StgMVar_head(mvar);
PerformTake(tso, R2);
- foreign "C" dirtyTSO(tso "ptr") [];
+ dirtyTSO(tso);
#if defined(GRAN) || defined(PAR)
/* ToDo: check 2nd arg (mvar) is right */
#else
W_ time;
- time = foreign "C" getourtimeofday();
- target = (R1 / (TICK_MILLISECS*1000)) + time;
+ time = foreign "C" getourtimeofday() [R1];
+ target = (R1 / (TO_W_(RtsFlags_MiscFlags_tickInterval(RtsFlags))*1000)) + time;
StgTSO_block_info(CurrentTSO) = target;
/* Insert the new thread in the sleeping queue. */