Skip to content

Commit

Permalink
Revert "Optimize simple ^42 loops with uint rather than int"
Browse files Browse the repository at this point in the history
This reverts commit ce07254.

The JVM backend is not ready for it
  • Loading branch information
lizmat committed Feb 14, 2022
1 parent a71ec34 commit b5f49ac
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions src/Perl6/Optimizer.nqp
Expand Up @@ -3787,20 +3787,20 @@ class Perl6::Optimizer {
$op.op('stmts');
$op.push(QAST::Stmts.new(

# my uint $it := $start - $step
# my int $it := $start - $step
QAST::Op.new( :op<bind>,
QAST::Var.new(
:name($it_var), :scope<local>, :decl<var>, :returns(uint)
:name($it_var), :scope<local>, :decl<var>, :returns(int)
),
nqp::istype($start, QAST::IVal)
?? QAST::IVal.new( :value($start.value - $step) )
!! QAST::Op.new( :op<sub_i>, $start, QAST::IVal.new( :value($step)))
),

# my uint $last := $end
# my int $last := $end
QAST::Op.new( :op<bind>,
QAST::Var.new(
:name($last_var), :scope<local>, :decl<var>, :returns(uint)
:name($last_var), :scope<local>, :decl<var>, :returns(int)
),
$end
),
Expand All @@ -3820,19 +3820,19 @@ class Perl6::Optimizer {
QAST::Op.new(
op => $step < 0 ?? "isge_i" !! "isle_i",
QAST::Op.new( :op<bind>,
QAST::Var.new(:name($it_var), :scope<local>, :returns(uint)),
QAST::Var.new(:name($it_var), :scope<local>, :returns(int)),
QAST::Op.new( :op<add_i>,
QAST::Var.new(:name($it_var),:scope<local>,:returns(uint)),
QAST::Var.new(:name($it_var),:scope<local>,:returns(int)),
QAST::IVal.new( :value($step) )
)
),
QAST::Var.new(:name($last_var), :scope<local>, :returns(uint))
QAST::Var.new(:name($last_var), :scope<local>, :returns(int))
),

# nqp::call($callee, $it)
QAST::Op.new( :op<call>,
QAST::Var.new(:name($callee_var), :scope<local> ),
QAST::Var.new(:name($it_var), :scope<local>, :returns(uint))
QAST::Var.new(:name($it_var), :scope<local>, :returns(int))
)
),

Expand Down

0 comments on commit b5f49ac

Please sign in to comment.