cvsuser     04/03/22 03:48:28

  Modified:    imcc     pcc.c
  Log:
  clear P3 if 15 PReg args are reached
  
  Revision  Changes    Path
  1.54      +9 -1      parrot/imcc/pcc.c
  
  Index: pcc.c
  ===================================================================
  RCS file: /cvs/public/parrot/imcc/pcc.c,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -w -r1.53 -r1.54
  --- pcc.c     22 Mar 2004 09:13:33 -0000      1.53
  +++ pcc.c     22 Mar 2004 11:48:28 -0000      1.54
  @@ -263,6 +263,14 @@
                   ins = insINS(interpreter, unit, ins, "set", regs, 2);
                   break;
               }
  +            if (next[REGSET_P] == LAST_PARAM_REG) {
  +                /* clear P3 */
  +                if (!p3)
  +                    p3 = get_pasm_reg("P3");
  +                regs[0] = p3;
  +                ins = insINS(interpreter, unit, ins, "null", regs, 1);
  +                p3 = NULL;
  +            }
               if (next[set] > LAST_PARAM_REG) {
                   goto overflow;
               }
  @@ -290,7 +298,7 @@
               continue;
   overflow:
               if (!p3) {
  -                p3 = mk_pasm_reg(str_dup("P3"));
  +                p3 = get_pasm_reg("P3");
                   tmp = iNEW(interpreter, unit, p3, str_dup("PerlArray"), NULL, 0);
                   insert_ins(unit, ins, tmp);
                   ins = tmp;
  
  
  

Reply via email to