On Aug 22, 2010, at 5:46 PM, Father Chrysostomos wrote: > Oops. I forgot the main part of the message and just sent the postscript. Here it is: > > Begin forwarded message: > >> From: Father Chrysostomos >> Date: August 22, 2010 5:39:15 PM PDT >> Cc: Nicholas Clark, p5p >> Subject: Re: [perl #75176] Symbol::delete_package does not free certain memory associated with package::ISA >> >> >> On Aug 8, 2010, at 12:22 PM, Father Chrysostomos wrote: >> >>> If PL_sub_generation does not invalidate isa caches, would it be appropriate to add a new PL_isa_generation variable? > > I tried PL_sub_generation, and found that it doesn’t work. I tried adding PL_isa_generation (attached, in case you want to see it; not for application), which worked, but then I realised that it would mean iterating through *all* packages afterwards to reconstruct PL_isarev. > > So I’ve used a different approach with the other patch attached (1. reset isa...). When a stash is manipulated, it calls mro_isa_changed_in on the affected packages and iterates through their subpackages, doing the same. That patch can cause a bus error, so here is a new version. The third patch no longer applies with this version, so here is a new version of that, too (3b).Thread Previous | Thread Next