30 Jun 2012 07:34
[perl #112312] perl5 version 5.14.2 coredumps during perl -c
Father Chrysostomos via RT <perlbug-comment <at> perl.org>
2012-06-30 05:34:30 GMT
2012-06-30 05:34:30 GMT
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.(Continue reading)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. -- --
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.
RSS Feed