Skip to content

Commit ee4151d

Browse files
committed
little improvements. actually finds symbols now.
1 parent bc1f073 commit ee4151d

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/NQP/Optimizer.nqp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ class NQP::Optimizer {
33

44
method optimize($ast, *%adverbs) {
55
@!block_stack := [$ast[0]];
6-
self.visit_children($ast[0]);
6+
self.visit_children($ast);
77
$ast;
88
}
99

@@ -50,7 +50,7 @@ class NQP::Optimizer {
5050
!! "";
5151
if $typeinfo eq "_i" {
5252
return 1
53-
} elsif $node.op eq 'chars' || $node.op eq 'ord' {
53+
} elsif $node.op eq 'chars' || $node.op eq 'ord' || $node.op eq 'elems' {
5454
return 1
5555
}
5656
} elsif nqp::istype($node, QAST::IVal) {
@@ -75,16 +75,16 @@ class NQP::Optimizer {
7575
if $typeinfo eq '_n' && ($asm eq 'add' || $asm eq 'sub' || $asm eq 'mul') {
7676
my $newopn := $asm ~ "_i";
7777
if returns_int($op[0]) && returns_int($op[1]) {
78-
my $newopn := nqp::substr($op.op, 0, 3) ~ "_i";
79-
$op.name($newopn);
78+
my $newopn := $asm ~ "_i";
79+
$op.op($newopn);
8080
$op.returns(self.find_sym("int"));
81-
say($op.op ~ " " ~ $newopn ~ " " ~ $op.dump);
81+
say($op.dump);
8282
say("transformed!");
8383
say("");
8484
} else {
8585
$op.returns(self.find_sym("num"));
8686
say(returns_int($op[0]) ~ " / " ~ returns_int($op[1]));
87-
say($op.op ~ " " ~ $newopn ~ " " ~ $op.dump);
87+
say($op.dump);
8888
say("not transformed!");
8989
say("");
9090
}

0 commit comments

Comments
 (0)