static void callBackFalse( // CALL-BACK: start of false block void* data ) // - COND_STK entry { COND_STK* info = data; // - COND_STK entry SE* posn; // - last position posn = info->posn_last; info->posn_false = callBackCurrent( info ); FstabSetSvSe( posn ); _Dump( info, "CallBack(false)" ); }
static void patchForDtorDelEnd( // CALL-BACK: patch state for DTOR-DEL (end) void* data ) // - patch entry { patch_entry* pe = data; // - patching entry SE* prev; // - previous position _peDump( pe, "CallBack: patchForDtorDelEnd" ); DbgVerify( pe->se != NULL, "patchForDtorDelEnd -- ordering" ); prev = FstabPrevious( pe->se ); pe->se = prev; FstabSetSvSe( prev ); patchSE( pe ); }
static void callBackNewCtorEnd( // CALL-BACK: END CTOR OF NEW OBJECT void *data ) // - patch entry { patch_entry* pe = data; // - patch entry SE* posn; // - current position posn = FstabActualPosn(); if( posn == pe->se ) { posn = FstabPrevious( posn ); } pe->se = posn; patchSE( pe ); FstabSetSvSe( posn ); }
static void patchForDtorDelBeg( // CALL-BACK: patch state for DTOR-DEL (start) void* data ) // - patch entry { patch_entry* pe = data; // - patching entry #if 0 SE* marked; // - current marked position marked = FstabMarkedPosn(); if( marked != FstabCurrPosn() ) { FstabSetSvSe( marked ); } #endif _peDump( pe, "CallBack: patchForDtorDelBeg" ); FstabAdd( pe->se ); patchSE( pe ); }
static void checkCtorTest( // ELIMINATE CTOR-TEST IF POSSIBLE void* data ) // - state entry { SE* se = data; SE* test = FstabActualPosn(); #ifndef NDEBUG if( PragDbgToggle.dump_stab ) { printf( "CallBack: checkCtorTest: se[%x] test[%x]\n" , se , test ); } #endif if( ctorTestReqd( test, se ) ) { // intervening state entries FstabSetSvSe( se ); } else { // no intervening state entries FstabRemove(); } }