static void patchSE( // PATCH STATE ENTRY'S VALUE patch_entry* pe ) // - patch entry { STATE_VAR state_var = SeStateOptimal( pe->se ); FstabMarkedPosnSet( pe->se ); BEPatchInteger( pe->patch, state_var ); BEFiniPatch( pe->patch ); CarveFree( carve_patch_se, pe ); }
void CgDtorSe( // DTOR UNTIL SE ENTRY SE* bound ) // - bounding entry { RT_DEF def; // - call definition CgRtCallInit( &def, RTF_DTOR ); CgRtParamConstOffset( &def, SeStateOptimal( bound ) ); #if _CPU == _AXP CgRtParamAddrSym( &def, FstabExcRw() ); #endif CgRtCallExecDone( &def ); }
static void setTempDone( // CALL BACK: SET END OF TEMP CTORING void* data ) // - state entry { temp_entry* te = (temp_entry*)data; // FstabSetSvSe( te->start ); FstabAdd( te->se ); FstabMarkedPosnSet( te->se ); if( te->patch != NULL ) { STATE_VAR state_var = SeStateOptimal( te->se ); BEPatchInteger( te->patch, state_var ); BEFiniPatch( te->patch ); } BlkPosnTempBegSet( te->se ); CarveFree( carve_temp_entry, te ); }