On Tue, 22 Sep 2009, Nicholas Clark wrote:

> On Tue, Sep 22, 2009 at 02:22:17PM -0400, Andy Dougherty wrote:
> > On Tue, 22 Sep 2009, Will Coleda via RT wrote:
> > 
> > > On Tue Jul 08 20:56:02 2008, s1n wrote:
> > > > When trying to use the --optimize flag, building perl6 causes parrot 
> > > to
> > > > segfault. Attached is the Configure.pl script output. 
> > > <SNIP>
> > > 
> > > s1n - this original report is over a year old; there have been a lot of 
> > > changes to both parrot and rakudo in that time; we've also just 
> > > committed something that should cause the optimized build to at least 
> > > fail more cleanly if there's a problem (which we can then more easily 
> > > identify and resolve.)
> > 
> > Actually, all those ASSERT_ARGS checks aren't used in the --optimize build 
> > anyway.  Applying the following patch should enable them, assuming that's 
> > what is actually intended.
> 
> I don't think that it's absolutely necessary.

I would tend to agree, but Coke seemed to be implying that the intent was 
otherwise.

> The intent (at least in Perl 5 land) was to have the non-optimised build 
> spot all the places where the non-NULL annotations were wrong, on the 
> assumption that the code paths would be identical in the optimised and 
> non-optimised builds.

(One of the strange things about this report is that the failure only 
happens with --optimize.  And not just this report -- this has been an 
issue on and off for years.  But that probably doesn't really have 
anything to do with ASSERT_ARGS.)

More generally, whatever the default setting, it might be nice to have a 
way to change it.  I could easily imagine

        perl Configure.pl --optimize=-O --debugging=1

turning on the optimizer while still enabling all the -DNDEBUG checks, and

        perl Configure.pl --optimize=-O --debugging=0

turning on the optimizer and leaving out all the -DNDEBUG checks.

Right now, that --optimize unconditionally leaves out the -DNDEBUG checks, 
and the -debugging ends up doing nothing useful at all in those two 
cases.

-- 
    Andy Dougherty              dough...@lafayette.edu

Reply via email to