On Fri, 07 Oct 2016 14:03:39 -0700, barto...@gmx.de wrote:
> I think the p6bool is removed here:
> https://github.com/rakudo/rakudo/blob/605f272881a76f0c5a9e352670a1e61eaa627ca6/src/Perl6/Optimizer.nqp#L1300
> 
> As far as I understand, the following code shows the problem at a
> lower level (no differentiation between optimize=(1|2) required -- it
> happens on all levels):
> 
> $ ./perl6-m --optimize=off -e 'use nqp; say
> nqp::unless(nqp::p6bool(nqp::iseq_i(42,42)), False)'
> True
> 
> $ ./perl6-m --optimize=0 -e 'use nqp; say
> nqp::unless(nqp::p6bool(nqp::iseq_i(42,42)), False)'
> 1
> 
> I have no idea how it can be fixed, though. Maybe it's not even
> feasible to do what the comment above the relevant code block
> promises?
> 
> # Some ops have first boolean arg, and we may be able to get rid of
> # a p6bool if there's already an integer result behind it.

Looks as if this was fixed with 
https://github.com/rakudo/rakudo/commit/f8b3469439108fead043bab2bd27bde4bac50dca.
 Tests needed.

Reply via email to