Author: leo
Date: Mon Jan 16 04:39:39 2006
New Revision: 11211
Modified:
trunk/compilers/imcc/parser_util.c
trunk/compilers/imcc/pbc.c
trunk/compilers/imcc/unit.h
Log:
remove unit->has_push_eh - P5 is really gone
Modified: trunk/compilers/imcc/parser_util.c
==============================================================================
--- trunk/compilers/imcc/parser_util.c (original)
+++ trunk/compilers/imcc/parser_util.c Mon Jan 16 04:39:39 2006
@@ -538,9 +538,6 @@ INS(Interp *interpreter, IMC_Unit * unit
else if (!strcmp(name, "yield")) {
cur_unit->instructions->r[0]->pcc_sub->calls_a_sub |= 1 |ITPCCYIELD;
}
- else if (!strcmp(name, "push_eh")) {
- cur_unit->has_push_eh = 1;
- }
else if (!memcmp(name, "invoke", 6) ||
!memcmp(name, "callmethod", 10)) {
if (cur_unit->type & IMC_PCCSUB)
Modified: trunk/compilers/imcc/pbc.c
==============================================================================
--- trunk/compilers/imcc/pbc.c (original)
+++ trunk/compilers/imcc/pbc.c Mon Jan 16 04:39:39 2006
@@ -688,12 +688,6 @@ add_const_pmc_sub(Interp *interpreter, S
r->pcc_sub->pragma & P_NEED_LEX);
sub->outer_sub = find_outer(interpreter, unit);
/*
- * XXX work around implict P5 usage in exception handling code
- * need at least 6 PMC regs
- */
- if (unit->has_push_eh && sub->n_regs_used[REGNO_PMC] < 6)
- sub->n_regs_used[REGNO_PMC] = 6;
- /*
* check if it's declared multi
*/
if (r->pcc_sub->nmulti)
Modified: trunk/compilers/imcc/unit.h
==============================================================================
--- trunk/compilers/imcc/unit.h (original)
+++ trunk/compilers/imcc/unit.h Mon Jan 16 04:39:39 2006
@@ -47,7 +47,6 @@ typedef struct _IMC_Unit {
int n_vars_used[4]; /* INSP in PIR */
int n_regs_used[4]; /* INSP in PBC */
int first_avail[4]; /* INSP */
- int has_push_eh;
SymReg *outer;
PMC *sub_pmc; /* this sub */
} IMC_Unit;