Ejemplo n.º 1
0
static SE* callBackCurrent(     // SET UP CURRENT POSITION
    COND_STK* info )            // - top entry
{
    SE* posn;                   // - current position

    posn = FstabCurrPosn();
    info->posn_last = posn;
    return( posn );
}
Ejemplo n.º 2
0
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 );
}
Ejemplo n.º 3
0
static void callBackEnd(        // CALL-BACK: end of condition block
    void* data )                // - COND_STK entry
{
    COND_STK* cond = data;      // - COND_STK entry
    SE* posn;                   // - current position

    _Dump( cond, "CallBack(END)" );
    posn = FstabCurrPosn();
#if 0
    if( posn == cond->posn_true
     && posn == cond->posn_false ) {
        cond->mask_set = 0;
        cond->mask_clr = NOT_BITARR_MASK( 0 );
        BlkPosnTempBegSet( posn );
    } else {
#else
    {
#endif
        SE* test = FstabTestFlag( cond->offset
                                , cond->posn_last
                                , posn );
        FstabAdd( test );
        BlkPosnTempBegSet( test );
    }
    callBackFini( cond );
}


static void callBackNewCtorBeg( // CALL-BACK: start of new ctor
    void* data )                // - COND_STK entry
{
    COND_STK* cond = data;      // - COND_STK entry
    SE* posn;                   // - current position
    SE* se;                     // - new test_flag entry

    posn = callBackCurrent( cond );
    DbgVerify( NULL != posn, "callBackNewCtorBeg -- no delete SE" );
    se = FstabTestFlag( cond->offset, posn, FstabPrevious( posn ) );
    cond->posn_true = se;
    FstabAdd( se );
    BlkPosnTempBegSet( se );
}