Father Chrysostomos via RT | 30 Jun 2012 07:34
Picon
Favicon

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

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.

--

-- 
(Continue reading)


Gmane