Last active
August 18, 2018 15:16
-
-
Save timo/92101baccc059067548cfed2f48af1d8 to your computer and use it in GitHub Desktop.
spesh comments for bindattr/getattr specialization of P6opaque
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
After: | |
Spesh of 'pull-one' (cuid: 1346, file: SETTING::src/core/Rakudo/Iterator.pm6:1721) | |
Callsite 0x7f44ec8e0b20 (1 args, 1 pos) | |
Positional flags: obj | |
BB 0 (0x7f44e43a9bb0): | |
line: 1721 (pc 0) | |
Instructions: | |
no_op | |
Successors: 1 | |
Predecessors: | |
Dominance children: 1 | |
BB 1 (0x7f44e43a9c38): | |
line: 1721 (pc 0) | |
Instructions: | |
[Annotation: INS Deopt One (idx 0 -> pc 30; line 1721)] | |
sp_getarg_o r0(2), liti16(0) | |
[Annotation: Line Number: SETTING::src/core/Rakudo/Iterator.pm6:1721] | |
takedispatcher r3(2) | |
[Annotation: FH Start (1)] | |
sp_p6oget_i r7(2), r0(2), liti16(8) # getattr_i of '$!i' in <anon|19> | |
const_i64_16 r8(1), liti16(1) | |
add_i r8(2), r7(2), r8(1) | |
sp_p6obind_i r0(2), liti16(8), r8(2) # bindattr_i of '$!i' in <anon|19> | |
sp_p6oget_i r7(3), r0(2), liti16(16) # getattr_i of '$!last' in <anon|19> | |
le_i r7(4), r8(2), r7(3) | |
unless_i r7(4), BB(3) | |
Successors: 3, 2 | |
Predecessors: 0 | |
Dominance children: 2 | |
BB 2 (0x7f44e43a9e78): | |
line: 1721 (pc 166) | |
Instructions: | |
sp_p6oget_i r8(3), r0(2), liti16(8) # getattr_i of '$!i' in <anon|19> | |
sp_fastbox_bi_ic r6(3), liti16(40), sslot(5), liti16(32), r8(3), liti16(1) | |
goto BB(4) | |
Successors: 4 | |
Predecessors: 6 | |
Dominance children: | |
BB 3 (0x7f44e43a9ed8): | |
line: 1721 (pc 212) | |
Instructions: | |
sp_getspeshslot r6(4), sslot(3) | |
Successors: 4 | |
Predecessors: 6 | |
Dominance children: | |
BB 4 (0x7f44e43a9f38): | |
line: 1721 (pc 226) | |
Instructions: | |
PHI r6(5), r6(3), r6(4) | |
set r4(5), r6(5) | |
[Annotation: INS Deopt One (idx 1 -> pc 232; line 1721)] | |
/* sp_guard r4(8) r4(5); flags 0xc */ | |
/* sp_guard r4(8) r4(5); flags 0xc */ | |
sp_guard r11(1), r4(5), sslot(1), litui32(232) | |
[Annotation: FH End (0)] | |
[Annotation: INS Deopt One (idx 2 -> pc 250; line 1721)] | |
[Annotation: Logged (bytecode offset 242)] | |
[Annotation: INS Deopt One (idx 3 -> pc 250; line 1721)] | |
sp_getspeshslot r6(6), sslot(4) | |
Successors: 5, 8 | |
Predecessors: 2, 3 | |
Dominance children: 5, 8, 9 | |
BB 5 (0x7f44e43a9f98): | |
line: 1721 (pc 250) | |
Instructions: | |
Successors: 6, 8 | |
Predecessors: 4 | |
Dominance children: 6 | |
BB 6 (0x7f44e41d7970): | |
Inlined | |
line: 1721 (pc 0) | |
Instructions: | |
Successors: 7 | |
Predecessors: 5 | |
Dominance children: 7 | |
BB 7 (0x7f44e43a9ff8): | |
line: 1721 (pc 266) | |
Instructions: | |
[Annotation: FH Start (0)] | |
[Annotation: Inline Start (0)] | |
[Annotation: Inline End (0)] | |
[Annotation: FH Goto (0)] | |
[Annotation: INS Deopt One (idx 4 -> pc 266; line 1721)] | |
set r6(7), r11(1) # sp_guardconc r6(7) r6(11); flags 0x0 | |
goto BB(9) | |
Successors: 9 | |
Predecessors: 6 | |
Dominance children: | |
BB 8 (0x7f44e43aa058): | |
line: 1721 (pc 272) | |
Instructions: | |
[Annotation: FH Goto (1)] | |
[Annotation: FH End (1)] | |
lastexpayload r6(9) | |
Successors: 9 | |
Predecessors: 4, 5 | |
Dominance children: | |
BB 9 (0x7f44e43aa0b8): | |
line: 1721 (pc 282) | |
Instructions: | |
PHI r6(10), r6(7), r6(9) | |
return_o r6(10) | |
Successors: | |
Predecessors: 7, 8 | |
Dominance children: |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment