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;

Reply via email to