X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FPrimOps.cmm;h=990d6f31d9a6c40a9d978157e2f9c8f824c03232;hb=5dc9a4504ea4d3df462081a7dbfde0431eac133e;hp=274e3a66136de7b28334bd6ba842862d25814ad4;hpb=99ee7c5fcbb11128ad01fba8b90c1e4c787d55ec;p=ghc-hetmet.git diff --git a/rts/PrimOps.cmm b/rts/PrimOps.cmm index 274e3a6..990d6f3 100644 --- a/rts/PrimOps.cmm +++ b/rts/PrimOps.cmm @@ -138,7 +138,7 @@ unsafeThawArrayzh_fast // 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 { @@ -1200,7 +1200,7 @@ atomicallyzh_fast /* 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; } @@ -1522,7 +1522,7 @@ takeMVarzh_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 */ @@ -1596,7 +1596,7 @@ tryTakeMVarzh_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 */ @@ -1666,7 +1666,7 @@ putMVarzh_fast /* 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 */ @@ -1732,7 +1732,7 @@ tryPutMVarzh_fast /* 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 */ @@ -1975,8 +1975,8 @@ delayzh_fast #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. */