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>