Front page | perl.perl5.porters |
Postings from August 2009
From: Brandon Black
August 11, 2009 11:20
Message ID: email@example.com
On Sun, Jul 26, 2009 at 11:04 AM, Nicholas Clark<firstname.lastname@example.org> wrote:
> On Fri, Jul 24, 2009 at 02:15:50PM +0200, demerphq wrote:
>> I remember that the MRO stuff improved cache spoiling that happens as
>> a consequence of code like this, and it sounds like this is related.
>> In older perls the *entire* method cache is invalidated, with MRO
>> running i believe it is more intelligent. The latter sounds routine
>> sounds like a fallback for some reason or another.
> I think that the point of mro::invalidate_all_method_caches() was to provide
> some combination of an escape route to work around bugs where the caching
> was wrong, and a way to brute force make things work if there are known gaps
> in where the cache invalidation is documented not to work. I don't know if
> there are any known gaps.
Yes, mro::invalidate_all_method_caches() was primarily added as a
"just in case" method on the assumption that somewhere down the line,
someone would find a hole in the smarter method cache invalidation and
need a brute force workaround. So long as no such hole rears its ugly
head, it's largely useless and untestable.