develooper Front page | perl.perl5.porters | Postings from January 2018

Re: [perl #132774] Segfault when accessing pad_compname_type

Thread Previous
From:
Dave Mitchell
Date:
January 31, 2018 18:18
Subject:
Re: [perl #132774] Segfault when accessing pad_compname_type
Message ID:
20180131181731.GF3081@iabyn.com
On Tue, Jan 30, 2018 at 02:02:25AM -0800, KES via RT wrote:
> PL_comppad and PL_comppad_name are named similarly, so they should have
> similar behavior

That is not a valid reason for changing the existing behaviour.

> It will be handy to have one PL_curcv and
> PL_curcv.curpad, PL_curcv.padnames, PL_curcv.depth, PL_curcv.pads(N) (where PL_curcv.pads(0) will return .curpad)
> 
> Also PL_curcv maybe returned from find_runcv(0)

All that extra state would incur overhead on each function call and
return.

On the other hand, I've been considering  for a while implementing a
PL_curcv var, but it would be a CV* rather than what you suggest. The
cost of saving/restoring it would be weighed against currently having to
save/restore PL_comppad. Also, getting the context of the last expression
in a sub would become cheaper. This happens quite a lot.


-- 
In my day, we used to edit the inodes by hand.  With magnets.

Thread Previous


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