These problems appear to go away with MVM_SPESH_DISABLE=1 .  They stick around 
with MVM_JIT_DISABLE=1.


Liz
=================
> On 28 Jan 2016, at 10:07, Brent Laabs (via RT) <perl6-bugs-follo...@perl.org> 
> wrote:
> 
> # New Ticket Created by  Brent Laabs 
> # Please include the string:  [perl #127403]
> # in the subject line of all future correspondence about this issue. 
> # <URL: https://rt.perl.org/Ticket/Display.html?id=127403 >
> 
> 
> Reported to me by wlewis++ (William Lewis), this took quite a bit of
> golfing.  Works on 6.c all the way up to current Rakudo 86a90b (but only
> tested moar).
> 
> Some silent failures, some wrong error messages, occasionally correct.
> Tons of fun, altogether.  Because of the magic number around 256, I suspect
> the optimizer but didn't test that either.
> 
> 
> brent@ragnar ~/Downloads> cat golf.pl
> my $errors = 3;
> my @stuff = flat ("abc" xx 255) Z ("12" xx 128+$errors);
> 
> for @stuff -> $line {
>    unless $line ~~ m/1/ {
>        say "seen: $line" if $line.index("2");
>    }
>    if $line ~~ m/9/ {
>    }
> }
> brent@ragnar ~/Downloads> perl6 golf.pl
> seen: 12
> seen: 12
> seen: 12
> brent@ragnar ~/Downloads> cat golf.pl
> my $errors = 5;        # number of errors is configurable!
> my @stuff = flat ("abc" xx 255) Z ("12" xx 128+$errors);
> 
> for @stuff -> $line {
>    unless $line ~~ m/1/ {
>        say "seen: $line" if $line.index("2");
>    }
>    if $line ~~ m/9/ {
>    }
> }
> brent@ragnar ~/Downloads> perl6 golf.pl
> seen: 12
> seen: 12
> seen: 12
> seen: 12
> seen: 12
> brent@ragnar ~/Downloads> perl6 golf.pl
> Invocant requires a type object of type Match, but an object instance was
> passed.  Did you forget a 'multi'?
>  in block <unit> at golf.pl line 4
> 
> brent@ragnar ~/Downloads> cat golf.pl
> my $errors = 3;
> my @stuff = flat ("abc" xx 255) Z ("12" xx 128+$errors);
> 
> for @stuff -> $line {
>    unless $line ~~ m/1/ {
>        say "seen: $line" if $line.index("2");
>    }
>    if $line ~~ /9/ {            #lose the m in m//
>    }
> }
> brent@ragnar ~/Downloads> perl6 golf.pl
> Invocant requires a type object of type Match, but an object instance was
> passed.  Did you forget a 'multi'?
>  in block <unit> at golf.pl line 4
> 
> brent@ragnar ~/Downloads> perl6 golf.pl
> seen: 12
> seen: 12
> seen: 12
> brent@ragnar ~/Downloads> cat golf.pl
> my $errors = 3;
> my @stuff = flat ("abc" xx 255) Z ("12" xx 128+$errors);
> 
> for @stuff -> $line {
>    unless $line ~~ /1/ {      #  works if you lose this m
>        say "seen: $line" if $line.index("2");
>    }
>    if $line ~~ m/9/ {
>    }
> }
> brent@ragnar ~/Downloads> perl6 golf.pl
> brent@ragnar ~/Downloads> cat golf.pl
> my $errors = 3;
> my @stuff = flat ("abc" xx 255) Z ("12" xx 128+$errors);
> 
> for @stuff -> $line {
>    unless $line ~~ m/1/ {
>        say "seen: $line" if $line.index("2");
>    }          # take out the if block
> }
> brent@ragnar ~/Downloads> perl6 golf.pl
> Invocant requires a type object of type Match, but an object instance was
> passed.  Did you forget a 'multi'?
>  in block <unit> at golf.pl line 4
> 
> brent@ragnar ~/Downloads> cat golf.pl
> my $errors = 3;
> my @stuff = flat ("abc" xx 255) Z ("12" xx 128+$errors);
> 
> for @stuff -> $line {
>    unless $line ~~ /1/ {   # take out the m again with...
>        say "seen: $line" if $line.index("2");
>    }        # take out the if block
> }
> brent@ragnar ~/Downloads> perl6 golf.pl
> brent@ragnar ~/Downloads>

Reply via email to