free temp defs at the end of each expr block. CustomTF has gone from 64 to 25

locals.
This commit is contained in:
Bill Currie 2001-06-27 17:11:21 +00:00
parent 9d2bf8df19
commit febb139a41

View file

@ -924,10 +924,10 @@ emit_expr (expr_t *e)
if (e->e.expr.e1) if (e->e.expr.e1)
def = emit_sub_expr (e->e.expr.e1, 0); def = emit_sub_expr (e->e.expr.e1, 0);
PR_Statement (op_return, def, 0); PR_Statement (op_return, def, 0);
return; break;
case 'g': case 'g':
emit_branch (op_goto, 0, e->e.expr.e1); emit_branch (op_goto, 0, e->e.expr.e1);
return; break;
default: default:
fprintf (stderr, fprintf (stderr,
"%s:%d: warning: unused expression ignored\n", "%s:%d: warning: unused expression ignored\n",
@ -935,6 +935,7 @@ emit_expr (expr_t *e)
emit_expr (e->e.expr.e1); emit_expr (e->e.expr.e1);
break; break;
} }
break;
case ex_def: case ex_def:
case ex_int: case ex_int:
case ex_float: case ex_float:
@ -945,4 +946,5 @@ emit_expr (expr_t *e)
strings + e->file, e->line); strings + e->file, e->line);
break; break;
} }
PR_FreeTempDefs ();
} }