Skip to content

Commit

Permalink
let's constant-fold metaop_negate and metaop_reverse, too
Browse files Browse the repository at this point in the history
  • Loading branch information
timo committed Nov 23, 2014
1 parent af7c0c3 commit 8124c41
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/Perl6/Optimizer.nqp
Original file line number Diff line number Diff line change
Expand Up @@ -1328,6 +1328,17 @@ class Perl6::Optimizer {

return $result_ast;
}
} elsif $metaop.name eq '&METAOP_NEGATE' && $!symbols.is_from_core('&METAOP_NEGATE') {
return NQPMu unless nqp::istype($metaop[0], QAST::Var);
return QAST::Op.new( :op('call'), :name('&prefix:<!>'),
QAST::Op.new( :op('call'), :name($metaop[0].name),
$op[1],
$op[2]) );
} elsif $metaop.name eq '&METAOP_REVERSE' && $!symbols.is_from_core('&METAOP_REVERSE') {
return NQPMu unless nqp::istype($metaop[0], QAST::Var);
return QAST::Op.new( :op('call'), :name($metaop[0].name),
$op[2],
$op[1]);
}
}
}
Expand Down

0 comments on commit 8124c41

Please sign in to comment.