X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2FHeapStackCheck.cmm;h=333d0c09e072dcc83cd77ff9fd9e5f16ce445992;hp=753e6718e7499933693155e348cf1fd0ef78b25f;hb=8604da0136707cc14845d14a88c2272fe576b6d0;hpb=b09ab92b65983635c68c8944631b1d53e9b71e42 diff --git a/rts/HeapStackCheck.cmm b/rts/HeapStackCheck.cmm index 753e671..333d0c0 100644 --- a/rts/HeapStackCheck.cmm +++ b/rts/HeapStackCheck.cmm @@ -15,6 +15,8 @@ #ifdef __PIC__ import pthread_mutex_unlock; #endif +import EnterCriticalSection; +import LeaveCriticalSection; /* Stack/Heap Check Failure * ------------------------ @@ -825,7 +827,9 @@ INFO_TABLE_RET( stg_block_takemvar, RET_SMALL, "ptr" W_ unused ) stg_block_takemvar_finally { #ifdef THREADED_RTS - unlockClosure(R3, stg_EMPTY_MVAR_info); + unlockClosure(R3, stg_MVAR_DIRTY_info); +#else + SET_INFO(R3, stg_MVAR_DIRTY_info); #endif jump StgReturn; } @@ -851,7 +855,9 @@ INFO_TABLE_RET( stg_block_putmvar, RET_SMALL, "ptr" W_ unused1, "ptr" W_ unused2 stg_block_putmvar_finally { #ifdef THREADED_RTS - unlockClosure(R3, stg_FULL_MVAR_info); + unlockClosure(R3, stg_MVAR_DIRTY_info); +#else + SET_INFO(R3, stg_MVAR_DIRTY_info); #endif jump StgReturn; }