Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
270 changes: 126 additions & 144 deletions ext/B/t/optree_for.t
Original file line number Diff line number Diff line change
Expand Up @@ -23,28 +23,26 @@ checkOptree ( name => 'for (@a)',
3 <#> gv[*a] s
4 <1> rv2av[t2] sKRM/1
5 <#> gv[*_] s
6 <{> enteriter(next->8 last->b redo->7) KS/DEF
9 <0> iter s
a <|> and(other->7) K/1
7 <0> stub v
8 <0> unstack s
goto 9
b <2> leaveloop K/2
c <1> leavesub[1 ref] K/REFC,1
6 <{> enteriter(next->7 last->a redo->7) KS/DEF
8 <0> iter s
9 <|> and(other->7) K/1
7 <0> unstack s
goto 8
a <2> leaveloop K/2
b <1> leavesub[1 ref] K/REFC,1
EOT_EOT
1 <;> nextstate(main 424 optree_for.t:14) v:>,<,%
2 <0> pushmark sM
3 <$> gv(*a) s
4 <1> rv2av[t1] sKRM/1
5 <$> gv(*_) s
6 <{> enteriter(next->8 last->b redo->7) KS/DEF
9 <0> iter s
a <|> and(other->7) K/1
7 <0> stub v
8 <0> unstack s
goto 9
b <2> leaveloop K/2
c <1> leavesub[1 ref] K/REFC,1
6 <{> enteriter(next->7 last->a redo->7) KS/DEF
8 <0> iter s
9 <|> and(other->7) K/1
7 <0> unstack s
goto 8
a <2> leaveloop K/2
b <1> leavesub[1 ref] K/REFC,1
EONT_EONT

my @lexical;
Expand All @@ -58,27 +56,25 @@ checkOptree ( name => 'for (@lexical)',
2 <0> pushmark sM
3 <0> padav[@lexical:FAKE::7] sRM
4 <#> gv[*_] s
5 <{> enteriter(next->7 last->a redo->6) KS/DEF
8 <0> iter s
9 <|> and(other->6) K/1
6 <0> stub v
7 <0> unstack s
goto 8
a <2> leaveloop K/2
b <1> leavesub[2 refs] K/REFC,1
5 <{> enteriter(next->6 last->9 redo->6) KS/DEF
7 <0> iter s
8 <|> and(other->6) K/1
6 <0> unstack s
goto 7
9 <2> leaveloop K/2
a <1> leavesub[2 refs] K/REFC,1
EOT_EOT
1 <;> nextstate(main 424 optree_for.t:14) v:>,<,%
2 <0> pushmark sM
3 <0> padav[@lexical:FAKE::2] sRM
4 <$> gv(*_) s
5 <{> enteriter(next->7 last->a redo->6) KS/DEF
8 <0> iter s
9 <|> and(other->6) K/1
6 <0> stub v
7 <0> unstack s
goto 8
a <2> leaveloop K/2
b <1> leavesub[2 refs] K/REFC,1
5 <{> enteriter(next->6 last->9 redo->6) KS/DEF
7 <0> iter s
8 <|> and(other->6) K/1
6 <0> unstack s
goto 7
9 <2> leaveloop K/2
a <1> leavesub[2 refs] K/REFC,1
EONT_EONT

checkOptree ( name => 'for $var (@a)',
Expand All @@ -92,29 +88,27 @@ checkOptree ( name => 'for $var (@a)',
4 <1> rv2av[t3] sKRM/1
5 <#> gv[*var] s
6 <1> rv2gv sKRM/1
7 <{> enteriter(next->9 last->c redo->8) KS
a <0> iter s
b <|> and(other->8) K/1
8 <0> stub v
9 <0> unstack s
goto a
c <2> leaveloop KP/2
d <1> leavesub[1 ref] K/REFC,1
7 <{> enteriter(next->8 last->b redo->8) KS
9 <0> iter s
a <|> and(other->8) K/1
8 <0> unstack s
goto 9
b <2> leaveloop KP/2
c <1> leavesub[1 ref] K/REFC,1
EOT_EOT
1 <;> nextstate(main 1453 optree_for.t:67) v:{
2 <0> pushmark sM
3 <$> gv(*a) s
4 <1> rv2av[t1] sKRM/1
5 <$> gv(*var) s
6 <1> rv2gv sKRM/1
7 <{> enteriter(next->9 last->c redo->8) KS
a <0> iter s
b <|> and(other->8) K/1
8 <0> stub v
9 <0> unstack s
goto a
c <2> leaveloop KP/2
d <1> leavesub[1 ref] K/REFC,1
7 <{> enteriter(next->8 last->b redo->8) KS
9 <0> iter s
a <|> and(other->8) K/1
8 <0> unstack s
goto 9
b <2> leaveloop KP/2
c <1> leavesub[1 ref] K/REFC,1
EONT_EONT

checkOptree ( name => 'for my $var (@a)',
Expand All @@ -126,27 +120,25 @@ checkOptree ( name => 'for my $var (@a)',
2 <0> pushmark sM
3 <#> gv[*a] s
4 <1> rv2av[t3] sKRM/1
5 <{> enteriter(next->7 last->a redo->6)[$var:1460,1463] KS/LVINTRO
8 <0> iter s
9 <|> and(other->6) K/1
6 <0> stub v
7 <0> unstack s
goto 8
a <2> leaveloop K/2
b <1> leavesub[1 ref] K/REFC,1
5 <{> enteriter(next->6 last->9 redo->6)[$var:1460,1463] KS/LVINTRO
7 <0> iter s
8 <|> and(other->6) K/1
6 <0> unstack s
goto 7
9 <2> leaveloop K/2
a <1> leavesub[1 ref] K/REFC,1
EOT_EOT
1 <;> nextstate(main 424 optree_for.t:14) v:>,<,%
2 <0> pushmark sM
3 <$> gv(*a) s
4 <1> rv2av[t2] sKRM/1
5 <{> enteriter(next->7 last->a redo->6)[$var:1460,1463] KS/LVINTRO
8 <0> iter s
9 <|> and(other->6) K/1
6 <0> stub v
7 <0> unstack s
goto 8
a <2> leaveloop K/2
b <1> leavesub[1 ref] K/REFC,1
5 <{> enteriter(next->6 last->9 redo->6)[$var:1460,1463] KS/LVINTRO
7 <0> iter s
8 <|> and(other->6) K/1
6 <0> unstack s
goto 7
9 <2> leaveloop K/2
a <1> leavesub[1 ref] K/REFC,1
EONT_EONT

checkOptree ( name => 'for our $var (@a)',
Expand All @@ -160,29 +152,27 @@ checkOptree ( name => 'for our $var (@a)',
4 <1> rv2av[t4] sKRM/1
5 <#> gv[*var] s
6 <1> rv2gv sK/FAKE,1
7 <{> enteriter(next->9 last->c redo->8) KS/OURINTR
a <0> iter s
b <|> and(other->8) K/1
8 <0> stub v
9 <0> unstack s
goto a
c <2> leaveloop K/2
d <1> leavesub[1 ref] K/REFC,1
7 <{> enteriter(next->8 last->b redo->8) KS/OURINTR
9 <0> iter s
a <|> and(other->8) K/1
8 <0> unstack s
goto 9
b <2> leaveloop K/2
c <1> leavesub[1 ref] K/REFC,1
EOT_EOT
1 <;> nextstate(main 424 optree_for.t:111) v:>,<,%
2 <0> pushmark sM
3 <$> gv(*a) s
4 <1> rv2av[t2] sKRM/1
5 <$> gv(*var) s
6 <1> rv2gv sK/FAKE,1
7 <{> enteriter(next->9 last->c redo->8) KS/OURINTR
a <0> iter s
b <|> and(other->8) K/1
8 <0> stub v
9 <0> unstack s
goto a
c <2> leaveloop K/2
d <1> leavesub[1 ref] K/REFC,1
7 <{> enteriter(next->8 last->b redo->8) KS/OURINTR
9 <0> iter s
a <|> and(other->8) K/1
8 <0> unstack s
goto 9
b <2> leaveloop K/2
c <1> leavesub[1 ref] K/REFC,1
EONT_EONT

checkOptree ( name => 'for my ($var) (@a)',
Expand All @@ -194,27 +184,25 @@ checkOptree ( name => 'for my ($var) (@a)',
2 <0> pushmark sM
3 <#> gv[*a] s
4 <1> rv2av[t3] sKRM/1
5 <{> enteriter(next->7 last->a redo->6)[$var:1474,1477] KPS/LVINTRO
8 <0> iter s
9 <|> and(other->6) K/1
6 <0> stub v
7 <0> unstack s
goto 8
a <2> leaveloop K/2
b <1> leavesub[1 ref] K/REFC,1
5 <{> enteriter(next->6 last->9 redo->6)[$var:1474,1477] KPS/LVINTRO
7 <0> iter s
8 <|> and(other->6) K/1
6 <0> unstack s
goto 7
9 <2> leaveloop K/2
a <1> leavesub[1 ref] K/REFC,1
EOT_EOT
1 <;> nextstate(main 424 optree_for.t:111) v:>,<,%
2 <0> pushmark sM
3 <$> gv(*a) s
4 <1> rv2av[t2] sKRM/1
5 <{> enteriter(next->7 last->a redo->6)[$var:1474,1477] KPS/LVINTRO
8 <0> iter s
9 <|> and(other->6) K/1
6 <0> stub v
7 <0> unstack s
goto 8
a <2> leaveloop K/2
b <1> leavesub[1 ref] K/REFC,1
5 <{> enteriter(next->6 last->9 redo->6)[$var:1474,1477] KPS/LVINTRO
7 <0> iter s
8 <|> and(other->6) K/1
6 <0> unstack s
goto 7
9 <2> leaveloop K/2
a <1> leavesub[1 ref] K/REFC,1
EONT_EONT

checkOptree ( name => 'for my ($var) (@lexical)',
Expand All @@ -225,26 +213,24 @@ checkOptree ( name => 'for my ($var) (@lexical)',
1 <;> nextstate(main 1466 optree_for.t:100) v
2 <0> pushmark sM
3 <0> padav[@lexical:FAKE::7] sRM
4 <{> enteriter(next->6 last->9 redo->5)[$var:1481,1484] KPS/LVINTRO
7 <0> iter s
8 <|> and(other->5) K/1
5 <0> stub v
6 <0> unstack s
goto 7
9 <2> leaveloop K/2
a <1> leavesub[2 refs] K/REFC,1
4 <{> enteriter(next->5 last->8 redo->5)[$var:1481,1484] KPS/LVINTRO
6 <0> iter s
7 <|> and(other->5) K/1
5 <0> unstack s
goto 6
8 <2> leaveloop K/2
9 <1> leavesub[2 refs] K/REFC,1
EOT_EOT
1 <;> nextstate(main 424 optree_for.t:111) v:>,<,%
2 <0> pushmark sM
3 <0> padav[@lexical:FAKE::2] sRM
4 <{> enteriter(next->6 last->9 redo->5)[$var:1481,1484] KPS/LVINTRO
7 <0> iter s
8 <|> and(other->5) K/1
5 <0> stub v
6 <0> unstack s
goto 7
9 <2> leaveloop K/2
a <1> leavesub[2 refs] K/REFC,1
4 <{> enteriter(next->5 last->8 redo->5)[$var:1481,1484] KPS/LVINTRO
6 <0> iter s
7 <|> and(other->5) K/1
5 <0> unstack s
goto 6
8 <2> leaveloop K/2
9 <1> leavesub[2 refs] K/REFC,1
EONT_EONT

checkOptree ( name => 'for my ($key, $value) (%h)',
Expand All @@ -256,27 +242,25 @@ checkOptree ( name => 'for my ($key, $value) (%h)',
2 <0> pushmark sM
3 <#> gv[*h] s
4 <1> rv2hv[t4] lKM
5 <{> enteriter(next->7 last->a redo->6)[$key:1488,1491; $value:1488,1491] KP/LVINTRO
8 <0> iter s
9 <|> and(other->6) K/1
6 <0> stub v
7 <0> unstack s
goto 8
a <2> leaveloop K/2
b <1> leavesub[1 ref] K/REFC,1
5 <{> enteriter(next->6 last->9 redo->6)[$key:1488,1491; $value:1488,1491] KP/LVINTRO
7 <0> iter s
8 <|> and(other->6) K/1
6 <0> unstack s
goto 7
9 <2> leaveloop K/2
a <1> leavesub[1 ref] K/REFC,1
EOT_EOT
1 <;> nextstate(main 424 optree_for.t:111) v:>,<,%
2 <0> pushmark sM
3 <$> gv(*h) s
4 <1> rv2hv[t3] lKM
5 <{> enteriter(next->7 last->a redo->6)[$key:1488,1491; $value:1488,1491] KP/LVINTRO
8 <0> iter s
9 <|> and(other->6) K/1
6 <0> stub v
7 <0> unstack s
goto 8
a <2> leaveloop K/2
b <1> leavesub[1 ref] K/REFC,1
5 <{> enteriter(next->6 last->9 redo->6)[$key:1488,1491; $value:1488,1491] KP/LVINTRO
7 <0> iter s
8 <|> and(other->6) K/1
6 <0> unstack s
goto 7
9 <2> leaveloop K/2
a <1> leavesub[1 ref] K/REFC,1
EONT_EONT

checkOptree ( name => 'for my ($foo, $bar, $baz) (@a)',
Expand All @@ -288,25 +272,23 @@ checkOptree ( name => 'for my ($foo, $bar, $baz) (@a)',
2 <0> pushmark sM
3 <#> gv[*a] s
4 <1> rv2av[t5] sKRM/1
5 <{> enteriter(next->7 last->a redo->6)[$foo:1495,1498; $bar:1495,1498; $baz:1495,1498] KPS/LVINTRO
8 <0> iter s
9 <|> and(other->6) K/1
6 <0> stub v
7 <0> unstack s
goto 8
a <2> leaveloop K/2
b <1> leavesub[1 ref] K/REFC,1
5 <{> enteriter(next->6 last->9 redo->6)[$foo:1495,1498; $bar:1495,1498; $baz:1495,1498] KPS/LVINTRO
7 <0> iter s
8 <|> and(other->6) K/1
6 <0> unstack s
goto 7
9 <2> leaveloop K/2
a <1> leavesub[1 ref] K/REFC,1
EOT_EOT
1 <;> nextstate(main 424 optree_for.t:111) v:>,<,%
2 <0> pushmark sM
3 <$> gv(*a) s
4 <1> rv2av[t4] sKRM/1
5 <{> enteriter(next->7 last->a redo->6)[$foo:1495,1498; $bar:1495,1498; $baz:1495,1498] KPS/LVINTRO
8 <0> iter s
9 <|> and(other->6) K/1
6 <0> stub v
7 <0> unstack s
goto 8
a <2> leaveloop K/2
b <1> leavesub[1 ref] K/REFC,1
5 <{> enteriter(next->6 last->9 redo->6)[$foo:1495,1498; $bar:1495,1498; $baz:1495,1498] KPS/LVINTRO
7 <0> iter s
8 <|> and(other->6) K/1
6 <0> unstack s
goto 7
9 <2> leaveloop K/2
a <1> leavesub[1 ref] K/REFC,1
EONT_EONT
Loading
Loading