Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
implement dynamic names in rxtype pass, jnthn++
  • Loading branch information
FROGGS committed Jan 24, 2014
1 parent 8adf37d commit 7494c58
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion src/vm/moar/QAST/QASTRegexCompilerMAST.nqp
Expand Up @@ -486,20 +486,26 @@ class QAST::MASTRegexCompiler {
my @flags := [$Arg::obj, $Arg::int];
my $op;
my $meth := fresh_o();
release($meth, $MVM_reg_obj);
nqp::push(@ins, op('findmeth', $meth, %*REG<cur>, sval('!cursor_pass')));
if $node.name {
my $sname := fresh_s();
nqp::push(@ins, op('const_s', $sname, sval($node.name)));
nqp::push(@args, $sname);
nqp::push(@flags, $Arg::str);
}
elsif +@($node) == 1 {
my $name := $*QASTCOMPILER.as_mast($node[0], :want($MVM_reg_str));
merge_ins(@ins, $name.instructions);
nqp::push(@args, $name.result_reg);
nqp::push(@flags, $Arg::str);
}
if $node.backtrack ne 'r' {
nqp::push(@args, sval('backtrack'));
nqp::push(@args, %*REG<one>);
nqp::push(@flags, $Arg::named +| $Arg::int);
}
nqp::push(@ins, call($meth, @flags, :result($meth), |@args));
release($meth, $MVM_reg_obj);
nqp::push(@ins, op('return_o', %*REG<cur>));
@ins
}
Expand Down

0 comments on commit 7494c58

Please sign in to comment.