On Wednesday 29 October 2008 14:06:15 NotFound wrote:

> > With the following example (and the other patches to
> > Parrot_ex_throw_from_op_args added by NotFound++), I'm able
> > to run the following version and get to 250,000 without any
> > difficulty.
> >
> >    $ cat x.pir
> >    .sub 'main'
> >         .local pmc i
> >         i = new 'Integer'
> >       do_loop:
> >         say i
> >         push_eh do_inc
> >         $P0 = find_method i, "succ"
> >         i.$P0()
> >       do_inc:
> >         pop_eh
> >         inc i
> >         goto do_loop
> >    .end
> >    $ ./parrot x.pir
> >    0
> >    1
> >    2
> >    3
> >    4
> >    ...
> >    249997
> >    249998
> >    249999
> >    250000
> >    250001
> >    250002
> >    ^C
> >
> > (The top(1) command on my machine seems to indicate a small memory leak
> > in the above, but it does run a significant ways, and I didn't
> > investigate further.)
>
> I've noticed an anomaly: if you add .get_results($P0) after pop_eh
> nothing bag happens, but if you put it before, it starts leaking a lot
> of memory.

Is that after r32226?

-- c

Reply via email to