develooper Front page | perl.perl5.porters | Postings from September 2010

Re: [perl #75176] Symbol::delete_package does not free certain memory associated with package::ISA

Thread Previous | Thread Next
From:
Father Chrysostomos
Date:
September 5, 2010 13:15
Subject:
Re: [perl #75176] Symbol::delete_package does not free certain memory associated with package::ISA
Message ID:
DDD5863B-623A-4DD9-92CC-31F2DE3EA8C9@cpan.org

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


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About