Example #1
0
static void freeBuffer(         // FREE A BUFFER
    BUF_ALLOC* ba )             // - allocated buffer
{
    CMemFree( ba->buffer );
    RingPrune( &buffers, ba );
    CarveFree( carve_buf, ba );
}
Example #2
0
static void splitFini(              // COMPLETE SPLIT ENTRY
    INITFINI *d )                   // - completion entry
{
    SPLITFINI *fptr;                // - completion entry

    fptr = (SPLITFINI *)d;
    RingPrune( &split_hdr, fptr );
    (*fptr->orig->fini_rtn)( fptr->orig );
}
Example #3
0
static void deQueue             // TAKE (FIFO) INSTRUCTION FROM QUEUE
    ( void )
{
    PP_INS* ins;                // - queued instruction

    ins = ins_queue->next;
    DbgVerify( NULL != ins, "Empty instruction queue" );
    RingPrune( &ins_queue, ins );
    IfDbgToggle( browse ) {
        DbgStmt( printf( "dequeued %s %x\n   "
                       , DbgIcOpcode( ins->opcode )
                       , ins->parm ) );
        DbgStmt( DbgDumpTokenLocn( &ins->locn ) );
        DbgStmt( printf( "\n" ) );
    }
    writeIns( ins->opcode, ins->parm, &ins->locn );
    CarveFree( carvePpIns, ins );
}
Example #4
0
static void activateBuffer(     // ACTIVATE A BUFFER FROM FREE RING
    DWIOBUFF *ctl )             // - buffer control
{
    RingPrune( &freeBufs, ctl );
    RingAppend( &activeBufs, ctl );
}