develooper Front page | perl.perl5.porters | Postings from June 2012

[perl #112312] perl5 version 5.14.2 coredumps during perl -c

Thread Next
From:
Father Chrysostomos via RT
Date:
June 29, 2012 22:34
Subject:
[perl #112312] perl5 version 5.14.2 coredumps during perl -c
Message ID:
rt-3.6.HEAD-28836-1341034470-2.112312-14-0@perl.org
On Mon Jun 25 14:50:38 2012, sprout wrote:
> On Mon Jun 25 14:41:06 2012, davem wrote:
> > That "we guessed we had a code block but it turns out we didn't" bit of
> > code was always a bit of hack, and now that I realise it leaves an op
> > allocated in the wrong CV, I like it even less.
> > 
> > I'm tempted to eliminate it altogether. Would doing this enable you to
> > simplify the slab code?
> 
> No, because I still have to take SAVEFREEOP into account. :-)  I could
> fiddle to get savestack items the right order, but what I have currently
> is far more robust than the alternative.
> 
> The three things I didn’t have working with my earlier (non-refcounted)
> system were:
> • smartmatch
> • SAVEFREEOP - I just made it a no-op to get tests passing, which leaked
> ops when there were no errors
> • re-evals

Attached is an early diff containing the alternative mentioned above,
which I am attaching here for posterity.

This was before the re-eval rewrite was merged, before newSTUB, and
before I had thought of the CVf_SLABBED flag.  The corresponding
workarounds are a twisted maze.  The only advantage was that freeing a
slab was faster, but probably less robust, in that some ops might not be
cleared and no check was done.

-- 

Father Chrysostomos


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