more fixes to call_counter: try to keep on counting system builtins.

This commit is contained in:
Costa Vitor
2009-06-22 12:40:55 -05:00
parent 50f7a80546
commit d47560342c
11 changed files with 119 additions and 10 deletions

View File

@@ -3664,9 +3664,27 @@ do_pass(int pass_no, yamop **entry_codep, int assembling, int *clause_has_blobsp
case f_0_op:
code_p = a_f2(TRUE, &cmp_info, code_p, pass_no, cip);
break;
case enter_profiling_op:
{
PredEntry *pe = (PredEntry *)(cip->cpc->rnd1);
if ((pe->PredFlags & (CPredFlag|UserCPredFlag|AsmPredFlag)) ||
!pe->ModuleOfPred) {
code_p = a_pl(_enter_profiling, pe, code_p, pass_no);
}
}
break;
case retry_profiled_op:
code_p = a_pl(_retry_profiled, (PredEntry *)(cip->cpc->rnd1), code_p, pass_no);
break;
case count_call_op:
{
PredEntry *pe = (PredEntry *)(cip->cpc->rnd1);
if ((pe->PredFlags & (CPredFlag|UserCPredFlag|AsmPredFlag)) ||
!pe->ModuleOfPred) {
code_p = a_pl(_count_call, (PredEntry *)(cip->cpc->rnd1), code_p, pass_no);
}
}
break;
case count_retry_op:
code_p = a_pl(_count_retry, (PredEntry *)(cip->cpc->rnd1), code_p, pass_no);
break;