Last active
February 28, 2021 13:15
-
-
Save niner/0fa1f36ea49a64f3a8e6748b9e5f722c to your computer and use it in GitHub Desktop.
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
Specialization of 'is_type' (cuid: 197) | |
Before: | |
Spesh of 'is_type' (cuid: 197, file: gen/moar/World.nqp:4845) | |
BB 0 (0x7f13f5146d10): | |
line: 4845 (pc 0) | |
Instructions: | |
no_op | |
Successors: 1, 8 | |
Predecessors: | |
Dominance children: 8, 1, 9 | |
Dominance frontier: | |
Handler successors: | |
BB 1 (0x7f13f5146d98): | |
line: 4845 (pc 0) | |
Instructions: | |
null r0(1) | |
null r1(1) | |
null r2(1) | |
null r4(2) | |
null r6(1) | |
null r7(1) | |
null r8(1) | |
null r9(1) | |
getcode r6(2), coderef(???) | |
takeclosure r6(3), r6(2) | |
checkarity liti16(2), liti16(2) | |
param_rp_o r0(2), liti16(0) | |
param_rp_o r1(2), liti16(1) | |
paramnamesused | |
[Annotation: Line Number: gen/moar/World.nqp:4845] | |
const_i64_16 r3(1), liti16(0) | |
hllboxtype_i r4(3) | |
box_i r4(4), r3(1), r4(3) | |
set r2(2), r4(4) | |
set r5(1), r6(3) | |
Successors: 2 | |
Predecessors: 0 | |
Dominance children: 2 | |
Dominance frontier: 9 | |
Handler successors: | |
BB 2 (0x7f13f5146df8): | |
line: 4847 (pc 62) | |
Instructions: | |
[Annotation: FH Start (0)] | |
[Annotation: INS Deopt One (idx 0 -> pc 68; line 4847)] | |
[Annotation: Logged (bytecode offset 62)] | |
[Annotation: Line Number: gen/moar/World.nqp:4847] | |
decont r7(2), r0(2) | |
Successors: 3 | |
Predecessors: 1 | |
Dominance children: 3 | |
Dominance frontier: 9 | |
Handler successors: | |
BB 3 (0x7f13f5146e58): | |
line: 4847 (pc 68) | |
Instructions: | |
[Annotation: INS Deopt One (idx 1 -> pc 74; line 4847)] | |
[Annotation: Logged (bytecode offset 68)] | |
decont r9(2), r7(2) | |
Successors: 4 | |
Predecessors: 2 | |
Dominance children: 4 | |
Dominance frontier: 9 | |
Handler successors: | |
BB 4 (0x7f13f5146eb8): | |
line: 4847 (pc 74) | |
Instructions: | |
findmeth r8(2), r9(2), lits(find_symbol) | |
Successors: 5 | |
Predecessors: 3 | |
Dominance children: 5 | |
Dominance frontier: 9 | |
Handler successors: | |
BB 5 (0x7f13f5146f18): | |
line: 4847 (pc 84) | |
Instructions: | |
[Annotation: INS Deopt One (idx 2 -> pc 84; line 4847)] | |
prepargs callsite(0x7f13fca79700, 2 arg, 2 pos, nonflattening, interned) | |
arg_o liti16(0), r7(2) | |
arg_o liti16(1), r1(2) | |
[Annotation: INS Deopt All (idx 4 -> pc 106; line 4847)] | |
[Annotation: INS Deopt One (idx 3 -> pc 106; line 4847)] | |
[Annotation: Logged (bytecode offset 100)] | |
invoke_o r8(3), r8(2) | |
Successors: 6 | |
Predecessors: 4 | |
Dominance children: 6 | |
Dominance frontier: 9 | |
Handler successors: | |
BB 6 (0x7f13f5146f78): | |
line: 4847 (pc 106) | |
Instructions: | |
[Annotation: INS Deopt One (idx 5 -> pc 112; line 4847)] | |
[Annotation: Logged (bytecode offset 106)] | |
decont r7(3), r8(3) | |
Successors: 7 | |
Predecessors: 5 | |
Dominance children: 7 | |
Dominance frontier: 9 | |
Handler successors: | |
BB 7 (0x7f13f5146fd8): | |
line: 4847 (pc 112) | |
Instructions: | |
isconcrete r3(2), r7(3) | |
not_i r10(1), r3(2) | |
hllboxtype_i r7(4) | |
box_i r7(5), r10(1), r7(4) | |
set r2(3), r7(5) | |
set r4(5), r2(3) | |
goto BB(9) | |
Successors: 9 | |
Predecessors: 6 | |
Dominance children: | |
Dominance frontier: 9 | |
Handler successors: | |
BB 8 (0x7f13f5147038): | |
line: 4847 (pc 154) | |
Instructions: | |
[Annotation: FH Goto (0)] | |
[Annotation: FH End (0)] | |
takehandlerresult r4(1) | |
Successors: 9 | |
Predecessors: 0 | |
Dominance children: | |
Dominance frontier: 9 | |
Handler successors: | |
BB 9 (0x7f13f5147098): | |
line: 4847 (pc 158) | |
Instructions: | |
PHI r10(2), r10(1), r10(0) | |
PHI r9(3), r9(2), r9(0) | |
PHI r8(4), r8(3), r8(0) | |
PHI r7(6), r7(5), r7(0) | |
PHI r6(4), r6(3), r6(0) | |
PHI r5(2), r5(1), r5(0) | |
PHI r4(6), r4(5), r4(1) | |
PHI r3(3), r3(2), r3(0) | |
PHI r2(4), r2(3), r2(0) | |
PHI r1(3), r1(2), r1(0) | |
PHI r0(3), r0(2), r0(0) | |
return_o r2(4) | |
Successors: | |
Predecessors: 7, 8 | |
Dominance children: | |
Dominance frontier: | |
Handler successors: | |
Frame size: 296 bytes | |
After: | |
Spesh of 'is_type' (cuid: 197, file: gen/moar/World.nqp:4845) | |
Callsite 0x7f13fca79700 (2 args, 2 pos) | |
Positional flags: obj, obj | |
BB 0 (0x7f13f5146d10): | |
line: 4845 (pc 0) | |
Instructions: | |
no_op | |
Successors: 1, 2 | |
Predecessors: | |
Dominance children: 2, 1, 3 | |
Dominance frontier: | |
Handler successors: | |
BB 1 (0x7f13f5146d98): | |
line: 4845 (pc 0) | |
Instructions: | |
getcode r6(2), coderef(???) | |
takeclosure r5(1), r6(2) | |
sp_getarg_o r7(2), liti16(0) | |
[Annotation: INS Deopt One (idx 0 -> pc 68; line 4847)] | |
[Annotation: INS Deopt One (idx 1 -> pc 74; line 4847)] | |
sp_getarg_o r1(2), liti16(1) | |
[Annotation: FH Start (0)] | |
sp_getspeshslot r11(0), sslot(2) | |
[Annotation: INS Deopt One (idx 2 -> pc 84; line 4847)] | |
prepargs callsite(0x7f13fca79700, 2 arg, 2 pos, nonflattening, interned) | |
arg_o liti16(0), r7(2) | |
arg_o liti16(1), r1(2) | |
[Annotation: INS Deopt All (idx 4 -> pc 106; line 4847)] | |
[Annotation: INS Deopt One (idx 3 -> pc 106; line 4847)] | |
[Annotation: Logged (bytecode offset 100)] | |
sp_fastinvoke_o r8(3), r11(0), liti16(1) # [003] could not inline 'find_symbol' (204) candidate 1: bytecode is too large to inline | |
[Annotation: INS Deopt One (idx 5 -> pc 112; line 4847)] | |
[Annotation: Logged (bytecode offset 106)] | |
sp_decont r7(3), r8(3) | |
isconcrete r3(2), r7(3) | |
not_i r10(1), r3(2) | |
sp_fastbox_i_ic r2(3), liti16(32), sslot(3), liti16(24), r10(1), liti16(0) # [004] box_i into a BOOTInt | |
goto BB(3) | |
Successors: 3 | |
Predecessors: 0 | |
Dominance children: 2 | |
Dominance frontier: 3 | |
Handler successors: | |
BB 2 (0x7f13f5147038): | |
line: 4847 (pc 154) | |
Instructions: | |
[Annotation: FH Goto (0)] | |
[Annotation: FH End (0)] | |
takehandlerresult r4(1) | |
Successors: 3 | |
Predecessors: 0 | |
Dominance children: | |
Dominance frontier: 3 | |
Handler successors: | |
BB 3 (0x7f13f5147098): | |
line: 4847 (pc 158) | |
Instructions: | |
PHI r2(4), r2(3), r2(0) | |
return_o r2(4) | |
Successors: | |
Predecessors: 1, 2 | |
Dominance children: | |
Dominance frontier: | |
Handler successors: | |
Facts: | |
r0(0): usages=0, flags=0 | |
r0(1): usages=0, flags=0 DeadWriter | |
r0(2): usages=0, flags=9 KnTyp Concr (type: Perl6::World) | |
r0(3): usages=0, flags=0 DeadWriter (merged from 2 regs) | |
assigning nodes: 1, | |
r1(0): usages=0, flags=0 | |
r1(1): usages=0, flags=0 DeadWriter | |
r1(2): usages=1, flags=9 KnTyp Concr (type: NQPArray) | |
r1(3): usages=0, flags=0 DeadWriter (merged from 2 regs) | |
assigning nodes: 1, | |
r2(0): usages=1, flags=0 | |
r2(1): usages=0, flags=0 DeadWriter | |
r2(2): usages=0, flags=0 DeadWriter | |
r2(3): usages=1, flags=2057 KnTyp Concr KBxSr (type: BOOTInt) | |
r2(4): usages=1, flags=0 (merged from 2 regs) | |
assigning nodes: 1, 7, | |
r3(0): usages=0, flags=0 | |
r3(1): usages=0, flags=0 DeadWriter | |
r3(2): usages=1, flags=0 | |
r3(3): usages=0, flags=0 DeadWriter (merged from 2 regs) | |
assigning nodes: 1, 7, | |
r4(0): usages=0, flags=0 | |
r4(1): usages=0, flags=0 | |
r4(2): usages=0, flags=0 DeadWriter | |
r4(3): usages=0, flags=0 DeadWriter | |
r4(4): usages=0, flags=0 DeadWriter | |
r4(5): usages=0, flags=0 DeadWriter | |
r4(6): usages=0, flags=0 DeadWriter (merged from 2 regs) | |
assigning nodes: 1, 7, 2, | |
r5(0): usages=0, flags=0 | |
r5(1): usages=0+handler, flags=0 | |
r5(2): usages=0, flags=0 DeadWriter (merged from 2 regs) | |
assigning nodes: 1, | |
r6(0): usages=0, flags=0 | |
r6(1): usages=0, flags=0 DeadWriter | |
r6(2): usages=1, flags=0 | |
r6(3): usages=0, flags=0 | |
r6(4): usages=0, flags=0 DeadWriter (merged from 2 regs) | |
assigning nodes: 1, | |
r7(0): usages=0, flags=0 | |
r7(1): usages=0, flags=0 DeadWriter | |
r7(2): usages=1, flags=9 KnTyp Concr (type: Perl6::World) | |
r7(3): usages=1, deopt=5, flags=0 | |
r7(4): usages=0, flags=19 KnTyp KnVal TyObj DeadWriter (type: BOOTInt) | |
r7(5): usages=0, flags=2057 KnTyp Concr KBxSr (type: BOOTInt) | |
r7(6): usages=0, flags=0 DeadWriter (merged from 2 regs) | |
r7(7): usages=0, flags=9 KnTyp Concr (type: Perl6::World) | |
assigning nodes: 1, 2, 6, 7, | |
r8(0): usages=0, flags=0 | |
r8(1): usages=0, flags=0 DeadWriter | |
r8(2): usages=0, flags=3 KnTyp KnVal DeadWriter (type: NQPRoutine) | |
r8(3): usages=1, deopt=3,4, flags=0 | |
r8(4): usages=0, flags=0 DeadWriter (merged from 2 regs) | |
assigning nodes: 1, 4, 5, | |
r9(0): usages=0, flags=0 | |
r9(1): usages=0, flags=0 DeadWriter | |
r9(2): usages=0, flags=9 KnTyp Concr DeadWriter (type: Perl6::World) | |
r9(3): usages=0, flags=0 DeadWriter (merged from 2 regs) | |
r9(4): usages=0, flags=9 KnTyp Concr DeadWriter (type: Perl6::World) | |
assigning nodes: 1, 3, | |
r10(0): usages=0, flags=0 | |
r10(1): usages=1, flags=0 | |
r10(2): usages=0, flags=0 DeadWriter (merged from 2 regs) | |
assigning nodes: 7, | |
r11(0): usages=1, flags=0 | |
Spesh slots: | |
0 = STable (Perl6::World) | |
1 = Instance (NQPRoutine) | |
2 = Instance (BOOTCode) - 'find_symbol' (204) | |
3 = STable (BOOTInt) | |
Frame size: 142 bytes | |
Specialization took 25us (total 64us) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment