On Wed, Oct 29, 2008 at 10:06:15PM +0100, NotFound wrote: > > do_loop: > > say i > > push_eh do_inc > > $P0 = find_method i, "succ" > > i.$P0() > > do_inc: > > pop_eh > > inc i > > goto do_loop > > 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.
Last time I checked any .get_results ($P0) call has to be the very first instruction executed as part of any exception handler -- even before any pop_eh. If any other instruction is executed, then .get_result gives back something other than the thrown exception. (I checked this a month or two ago -- sometime after the pdd25cx branch merge that updated exception handling.) Pm