Skip to content

Instantly share code, notes, and snippets.

@dogbert17
Created October 15, 2024 20:45
Show Gist options
  • Save dogbert17/4a552082460907a12186a2f0c20826ea to your computer and use it in GitHub Desktop.
Save dogbert17/4a552082460907a12186a2f0c20826ea to your computer and use it in GitHub Desktop.
jit-bisect --spesh
Specialization of '' (cuid: 171)
Before:
Spesh of '' (cuid: 171, file: NQP::src/core/dispatchers.nqp:568)
BB 0 (0x7ff56b235e70):
line: 568 (pc 0)
Instructions:
no_op
Successors: 1
Predecessors:
Dominance children: 1
BB 1 (0x7ff56b235ef8):
line: 568 (pc 0)
Instructions:
null r0(1)
null r1(1)
null r2(1)
null r3(1)
null r7(1)
null r9(1)
null r10(1)
null r11(1)
null r12(1)
null r14(1)
null r15(1)
null r16(1)
checkarity liti16(2), liti16(2)
param_rp_o r0(2), liti16(0)
param_rp_o r1(2), liti16(1)
paramnamesused
null r3(2)
set r2(2), r3(2)
[Annotation: Line Number: NQP::src/core/dispatchers.nqp:568]
const_s r4(1), lits(type-check-mode-flags)
[Annotation: Logged (bytecode offset 50)]
[Annotation: INS Deopt All (idx 2 -> pc 52; line 571)]
[Annotation: INS Deopt One After Instruction (idx 1 -> pc 52; line 571)]
[Annotation: Cached (bytecode offset 38)]
[Annotation: INS Deopt One Before Instruction (idx 0 -> pc 38; line 571)]
dispatch_o r3(3), lits(boot-syscall), callsite(0x556a5ce9fbb0, 2 arg, 2 pos, nonflattening, interned), r4(1), r0(2)
Successors: 2
Predecessors: 0
Dominance children: 2
BB 2 (0x7ff56b235f58):
line: 571 (pc 52)
Instructions:
[Annotation: INS Deopt All (idx 4 -> pc 58; line 571)]
[Annotation: INS Deopt One After Instruction (idx 3 -> pc 58; line 571)]
[Annotation: Logged (bytecode offset 52)]
decont r3(4), r3(3)
Successors: 3
Predecessors: 1
Dominance children: 3
BB 3 (0x7ff56b235fb8):
line: 571 (pc 58)
Instructions:
[Annotation: INS Deopt All (idx 6 -> pc 70; line 571)]
[Annotation: Cached (bytecode offset 58)]
[Annotation: INS Deopt One Before Instruction (idx 5 -> pc 58; line 571)]
dispatch_i r5(1), lits(nqp-intify), callsite(0x7ff57150a860, 1 arg, 1 pos, nonflattening, interned), r3(4)
Successors: 4
Predecessors: 2
Dominance children: 4
BB 4 (0x7ff56b236018):
line: 571 (pc 70)
Instructions:
const_i64_16 r6(1), liti16(1)
band_i r6(2), r5(1), r6(1)
set r8(1), r6(2)
if_i r6(2), BB(9)
Successors: 9, 5
Predecessors: 3
Dominance children: 5, 9
BB 5 (0x7ff56b236078):
line: 571 (pc 98)
Instructions:
const_s r4(2), lits(has-type-check-cache)
[Annotation: Logged (bytecode offset 118)]
[Annotation: INS Deopt All (idx 9 -> pc 120; line 571)]
[Annotation: INS Deopt One After Instruction (idx 8 -> pc 120; line 571)]
[Annotation: Cached (bytecode offset 106)]
[Annotation: INS Deopt One Before Instruction (idx 7 -> pc 106; line 571)]
dispatch_o r3(5), lits(boot-syscall), callsite(0x556a5ce9fbb0, 2 arg, 2 pos, nonflattening, interned), r4(2), r0(2)
Successors: 6
Predecessors: 4
Dominance children: 6
BB 6 (0x7ff56b2360d8):
line: 571 (pc 120)
Instructions:
[Annotation: INS Deopt All (idx 11 -> pc 126; line 571)]
[Annotation: INS Deopt One After Instruction (idx 10 -> pc 126; line 571)]
[Annotation: Logged (bytecode offset 120)]
decont r7(2), r3(5)
Successors: 7
Predecessors: 5
Dominance children: 7
BB 7 (0x7ff56b236138):
line: 571 (pc 126)
Instructions:
[Annotation: INS Deopt All (idx 13 -> pc 138; line 571)]
[Annotation: Cached (bytecode offset 126)]
[Annotation: INS Deopt One Before Instruction (idx 12 -> pc 126; line 571)]
dispatch_i r5(2), lits(boot-boolify), callsite(0x7ff57150a860, 1 arg, 1 pos, nonflattening, interned), r7(2)
Successors: 8
Predecessors: 6
Dominance children: 8
BB 8 (0x7ff56b236198):
line: 571 (pc 138)
Instructions:
not_i r5(3), r5(2)
set r8(2), r5(3)
Successors: 9
Predecessors: 7
Dominance children:
BB 9 (0x7ff56b2361f8):
line: 571 (pc 150)
Instructions:
PHI r8(3), r8(1), r8(2)
PHI r7(3), r7(1), r7(2)
PHI r5(4), r5(1), r5(3)
PHI r4(3), r4(1), r4(2)
PHI r3(6), r3(4), r3(5)
unless_i r8(3), BB(18)
Successors: 18, 10
Predecessors: 4, 8
Dominance children: 10, 18
BB 10 (0x7ff56b236258):
line: 573 (pc 158)
Instructions:
gethow r7(4), r0(2)
set r9(2), r7(4)
[Annotation: INS Deopt All (idx 15 -> pc 176; line 574)]
[Annotation: INS Deopt One After Instruction (idx 14 -> pc 176; line 574)]
[Annotation: Logged (bytecode offset 170)]
decont r7(5), r9(2)
Successors: 11
Predecessors: 9
Dominance children: 11
BB 11 (0x7ff56b2362b8):
line: 574 (pc 176)
Instructions:
const_s r4(4), lits(type_check)
const_i64_16 r5(5), liti16(0)
[Annotation: Logged (bytecode offset 204)]
[Annotation: INS Deopt All (idx 18 -> pc 206; line 574)]
[Annotation: INS Deopt One After Instruction (idx 17 -> pc 206; line 574)]
[Annotation: Cached (bytecode offset 190)]
[Annotation: INS Deopt One Before Instruction (idx 16 -> pc 190; line 574)]
dispatch_o r11(2), lits(lang-find-meth), callsite(0x556a5ce99b80, 3 arg, 3 pos, nonflattening, interned), r7(5), r4(4), r5(5)
Successors: 12
Predecessors: 10
Dominance children: 12
BB 12 (0x7ff56b236318):
line: 574 (pc 206)
Instructions:
set r10(2), r11(2)
[Annotation: INS Deopt All (idx 20 -> pc 218; line 576)]
[Annotation: INS Deopt One After Instruction (idx 19 -> pc 218; line 576)]
[Annotation: Logged (bytecode offset 212)]
decont r11(3), r10(2)
Successors: 13
Predecessors: 11
Dominance children: 13
BB 13 (0x7ff56b236378):
line: 576 (pc 218)
Instructions:
isconcrete r5(6), r11(3)
hllboxtype_i r12(2)
box_i r12(3), r5(6), r12(2)
set r7(6), r12(3)
unless_i r5(6), BB(17)
Successors: 17, 14
Predecessors: 12
Dominance children: 14, 17
BB 14 (0x7ff56b2363d8):
line: 576 (pc 250)
Instructions:
[Annotation: INS Deopt All (idx 22 -> pc 256; line 576)]
[Annotation: INS Deopt One After Instruction (idx 21 -> pc 256; line 576)]
[Annotation: Logged (bytecode offset 250)]
decont r11(4), r10(2)
Successors: 15
Predecessors: 13
Dominance children: 15
BB 15 (0x7ff56b236438):
line: 576 (pc 256)
Instructions:
[Annotation: Logged (bytecode offset 272)]
[Annotation: INS Deopt All (idx 25 -> pc 274; line 576)]
[Annotation: INS Deopt One After Instruction (idx 24 -> pc 274; line 576)]
[Annotation: Cached (bytecode offset 256)]
[Annotation: INS Deopt One Before Instruction (idx 23 -> pc 256; line 576)]
dispatch_o r11(5), lits(lang-call), callsite(0x556a5ceb5d20, 4 arg, 4 pos, nonflattening, interned), r11(4), r9(2), r0(2), r1(2)
Successors: 16
Predecessors: 14
Dominance children: 16
BB 16 (0x7ff56b236498):
line: 576 (pc 274)
Instructions:
set r7(7), r11(5)
Successors: 17
Predecessors: 15
Dominance children:
BB 17 (0x7ff56b2364f8):
line: 576 (pc 280)
Instructions:
PHI r11(6), r11(3), r11(5)
PHI r7(8), r7(6), r7(7)
set r2(3), r7(8)
Successors: 18
Predecessors: 13, 16
Dominance children:
BB 18 (0x7ff56b236558):
line: 580 (pc 286)
Instructions:
PHI r12(4), r12(1), r12(3)
PHI r11(7), r11(1), r11(6)
PHI r10(3), r10(1), r10(2)
PHI r9(3), r9(1), r9(2)
PHI r7(9), r7(3), r7(8)
PHI r5(7), r5(4), r5(6)
PHI r4(5), r4(3), r4(4)
PHI r2(4), r2(2), r2(3)
[Annotation: INS Deopt All (idx 27 -> pc 292; line 580)]
[Annotation: INS Deopt One After Instruction (idx 26 -> pc 292; line 580)]
[Annotation: Logged (bytecode offset 286)]
decont r7(10), r2(4)
Successors: 19
Predecessors: 9, 17
Dominance children: 19
BB 19 (0x7ff56b2365b8):
line: 580 (pc 292)
Instructions:
[Annotation: INS Deopt All (idx 29 -> pc 304; line 580)]
[Annotation: Cached (bytecode offset 292)]
[Annotation: INS Deopt One Before Instruction (idx 28 -> pc 292; line 580)]
dispatch_i r8(4), lits(boot-boolify), callsite(0x7ff57150a860, 1 arg, 1 pos, nonflattening, interned), r7(10)
Successors: 20
Predecessors: 18
Dominance children: 20
BB 20 (0x7ff56b236618):
line: 580 (pc 304)
Instructions:
not_i r8(5), r8(4)
set r5(8), r8(5)
unless_i r8(5), BB(25)
Successors: 25, 21
Predecessors: 19
Dominance children: 21, 25
BB 21 (0x7ff56b236678):
line: 580 (pc 324)
Instructions:
const_s r4(6), lits(type-check-mode-flags)
[Annotation: Logged (bytecode offset 344)]
[Annotation: INS Deopt All (idx 32 -> pc 346; line 580)]
[Annotation: INS Deopt One After Instruction (idx 31 -> pc 346; line 580)]
[Annotation: Cached (bytecode offset 332)]
[Annotation: INS Deopt One Before Instruction (idx 30 -> pc 332; line 580)]
dispatch_o r7(11), lits(boot-syscall), callsite(0x556a5ce9fbb0, 2 arg, 2 pos, nonflattening, interned), r4(6), r1(2)
Successors: 22
Predecessors: 20
Dominance children: 22
BB 22 (0x7ff56b2366d8):
line: 580 (pc 346)
Instructions:
[Annotation: INS Deopt All (idx 34 -> pc 352; line 580)]
[Annotation: INS Deopt One After Instruction (idx 33 -> pc 352; line 580)]
[Annotation: Logged (bytecode offset 346)]
decont r7(12), r7(11)
Successors: 23
Predecessors: 21
Dominance children: 23
BB 23 (0x7ff56b236738):
line: 580 (pc 352)
Instructions:
[Annotation: INS Deopt All (idx 36 -> pc 364; line 580)]
[Annotation: Cached (bytecode offset 352)]
[Annotation: INS Deopt One Before Instruction (idx 35 -> pc 352; line 580)]
dispatch_i r5(9), lits(nqp-intify), callsite(0x7ff57150a860, 1 arg, 1 pos, nonflattening, interned), r7(12)
Successors: 24
Predecessors: 22
Dominance children: 24
BB 24 (0x7ff56b236798):
line: 580 (pc 364)
Instructions:
const_i64_16 r13(1), liti16(2)
band_i r13(2), r5(9), r13(1)
set r5(10), r13(2)
Successors: 25
Predecessors: 23
Dominance children:
BB 25 (0x7ff56b2367f8):
line: 580 (pc 384)
Instructions:
PHI r13(3), r13(0), r13(2)
PHI r7(13), r7(10), r7(12)
PHI r5(11), r5(8), r5(10)
PHI r4(7), r4(5), r4(6)
unless_i r5(11), BB(36)
Successors: 36, 26
Predecessors: 20, 24
Dominance children: 26, 36
BB 26 (0x7ff56b236858):
line: 581 (pc 392)
Instructions:
gethow r7(14), r1(2)
set r14(2), r7(14)
[Annotation: INS Deopt All (idx 38 -> pc 410; line 582)]
[Annotation: INS Deopt One After Instruction (idx 37 -> pc 410; line 582)]
[Annotation: Logged (bytecode offset 404)]
decont r7(15), r14(2)
Successors: 27
Predecessors: 25
Dominance children: 27
BB 27 (0x7ff56b2368b8):
line: 582 (pc 410)
Instructions:
const_s r4(8), lits(accepts_type)
const_i64_16 r13(4), liti16(0)
[Annotation: Logged (bytecode offset 438)]
[Annotation: INS Deopt All (idx 41 -> pc 440; line 582)]
[Annotation: INS Deopt One After Instruction (idx 40 -> pc 440; line 582)]
[Annotation: Cached (bytecode offset 424)]
[Annotation: INS Deopt One Before Instruction (idx 39 -> pc 424; line 582)]
dispatch_o r11(8), lits(lang-find-meth), callsite(0x556a5ce99b80, 3 arg, 3 pos, nonflattening, interned), r7(15), r4(8), r13(4)
Successors: 28
Predecessors: 26
Dominance children: 28
BB 28 (0x7ff56b236918):
line: 582 (pc 440)
Instructions:
set r15(2), r11(8)
[Annotation: INS Deopt All (idx 43 -> pc 452; line 583)]
[Annotation: INS Deopt One After Instruction (idx 42 -> pc 452; line 583)]
[Annotation: Logged (bytecode offset 446)]
decont r11(9), r15(2)
Successors: 29
Predecessors: 27
Dominance children: 29
BB 29 (0x7ff56b236978):
line: 583 (pc 452)
Instructions:
isconcrete r13(5), r11(9)
unless_i r13(5), BB(33)
Successors: 33, 30
Predecessors: 28
Dominance children: 30, 33, 35
BB 30 (0x7ff56b2369d8):
line: 583 (pc 466)
Instructions:
[Annotation: INS Deopt All (idx 45 -> pc 472; line 583)]
[Annotation: INS Deopt One After Instruction (idx 44 -> pc 472; line 583)]
[Annotation: Logged (bytecode offset 466)]
decont r11(10), r15(2)
Successors: 31
Predecessors: 29
Dominance children: 31
BB 31 (0x7ff56b236a38):
line: 583 (pc 472)
Instructions:
[Annotation: Logged (bytecode offset 488)]
[Annotation: INS Deopt All (idx 48 -> pc 490; line 583)]
[Annotation: INS Deopt One After Instruction (idx 47 -> pc 490; line 583)]
[Annotation: Cached (bytecode offset 472)]
[Annotation: INS Deopt One Before Instruction (idx 46 -> pc 472; line 583)]
dispatch_o r11(11), lits(lang-call), callsite(0x556a5ceb5d20, 4 arg, 4 pos, nonflattening, interned), r11(10), r14(2), r1(2), r0(2)
Successors: 32
Predecessors: 30
Dominance children: 32
BB 32 (0x7ff56b236a98):
line: 583 (pc 490)
Instructions:
set r16(2), r11(11)
goto BB(35)
Successors: 35
Predecessors: 31
Dominance children:
BB 33 (0x7ff56b236af8):
line: 583 (pc 502)
Instructions:
const_s r4(9), lits(Expected 'accepts_type' method, but none found in meta-object)
die r7(16), r4(9)
Successors: 34
Predecessors: 29
Dominance children: 34
BB 34 (0x7ff56b236b58):
line: 583 (pc 516)
Instructions:
set r16(3), r7(16)
Successors: 35
Predecessors: 33
Dominance children:
BB 35 (0x7ff56b236bb8):
line: 583 (pc 522)
Instructions:
PHI r16(4), r16(2), r16(3)
PHI r11(12), r11(11), r11(9)
PHI r7(17), r7(15), r7(16)
PHI r4(10), r4(8), r4(9)
set r2(5), r16(4)
Successors: 36
Predecessors: 32, 34
Dominance children:
BB 36 (0x7ff56b236c18):
line: 590 (pc 528)
Instructions:
PHI r16(5), r16(1), r16(4)
PHI r15(3), r15(1), r15(2)
PHI r14(3), r14(1), r14(2)
PHI r13(6), r13(3), r13(5)
PHI r11(13), r11(7), r11(12)
PHI r7(18), r7(13), r7(17)
PHI r4(11), r4(7), r4(10)
PHI r2(6), r2(4), r2(5)
[Annotation: INS Deopt All (idx 50 -> pc 534; line 590)]
[Annotation: INS Deopt One After Instruction (idx 49 -> pc 534; line 590)]
[Annotation: Logged (bytecode offset 528)]
decont r16(6), r2(6)
Successors: 37
Predecessors: 25, 35
Dominance children: 37
BB 37 (0x7ff56b236c78):
line: 590 (pc 534)
Instructions:
[Annotation: INS Deopt All (idx 52 -> pc 546; line 590)]
[Annotation: Cached (bytecode offset 534)]
[Annotation: INS Deopt One Before Instruction (idx 51 -> pc 534; line 590)]
dispatch_i r5(12), lits(boot-boolify), callsite(0x7ff57150a860, 1 arg, 1 pos, nonflattening, interned), r16(6)
Successors: 38
Predecessors: 36
Dominance children: 38
BB 38 (0x7ff56b236cd8):
line: 590 (pc 546)
Instructions:
return_i r5(12)
Successors:
Predecessors: 37
Dominance children:
Frame size: 962 bytes
After:
Spesh of '' (cuid: 171, file: NQP::src/core/dispatchers.nqp:568)
Callsite 0x7ff57150a8c0 (2 args, 2 pos)
Positional flags: obj, obj
BB 0 (0x7ff56b235e70):
line: 568 (pc 0)
Instructions:
no_op
Successors: 1
Predecessors:
Dominance children: 1
BB 1 (0x7ff56b235ef8):
line: 568 (pc 0)
Instructions:
sp_getarg_o r0(2), liti16(0)
sp_getarg_o r1(2), liti16(1)
[Annotation: INS Deopt One After Instruction (idx 1 -> pc 52; line 571)]
null r2(2)
sp_getspeshslot r17(0), sslot(5) # [001] Start of dispatch program translation
sp_runcfunc_o r3(3), r17(0), liti64(140692144826464), r0(2)
Successors: 2
Predecessors: 0
Dominance children: 2
BB 2 (0x7ff56b235f58):
line: 571 (pc 52)
Instructions:
[Annotation: INS Deopt All (idx 4 -> pc 58; line 571)]
[Annotation: Logged (bytecode offset 52)]
sp_decont r3(7), r3(3)
Successors: 3
Predecessors: 1
Dominance children: 3
BB 3 (0x7ff56b235fb8):
line: 571 (pc 58)
Instructions:
[Annotation: INS Deopt One After Instruction (idx 3 -> pc 58; line 571)]
sp_guardconc r3(4), r3(7), sslot(0), litui32(3)
# [030] unbox_i from a BOOTInt
# [003] Start of dispatch program translation
sp_get_i64 r5(1), r3(4), liti16(24)
const_i64_16 r6(1), liti16(1)
# [031] looked at this but no luck. flags: 0 and 2
# [004] looked at this but no luck. flags: 0 and 2
band_i r6(2), r5(1), r6(1)
set r8(1), r6(2)
[Annotation: INS Deopt One After Instruction (idx 8 -> pc 120; line 571)]
if_i r6(2), BB(8)
Successors: 8, 4
Predecessors: 2
Dominance children: 4
BB 4 (0x7ff56b236078):
line: 571 (pc 98)
Instructions:
sp_getspeshslot r17(1), sslot(6) # [006] Start of dispatch program translation
sp_runcfunc_o r3(5), r17(1), liti64(140692144826464), r0(2)
Successors: 5
Predecessors: 3
Dominance children: 5
BB 5 (0x7ff56b2360d8):
line: 571 (pc 120)
Instructions:
[Annotation: INS Deopt All (idx 11 -> pc 126; line 571)]
[Annotation: Logged (bytecode offset 120)]
sp_decont r7(19), r3(5)
Successors: 6
Predecessors: 4
Dominance children: 6
BB 6 (0x7ff56b236138):
line: 571 (pc 126)
Instructions:
[Annotation: INS Deopt One After Instruction (idx 10 -> pc 126; line 571)]
sp_guardconc r7(2), r7(19), sslot(0), litui32(10)
sp_getspeshslot r17(2), sslot(7) # [008] Start of dispatch program translation
sp_runcfunc_i r5(2), r17(2), liti64(140692144826464), r7(2)
Successors: 7
Predecessors: 5
Dominance children: 7
BB 7 (0x7ff56b236198):
line: 571 (pc 138)
Instructions:
not_i r8(2), r5(2)
Successors: 8
Predecessors: 6
Dominance children:
BB 8 (0x7ff56b2361f8):
line: 571 (pc 150)
Instructions:
PHI r8(3), r8(1), r8(2)
unless_i r8(3), BB(16)
Successors: 16, 9
Predecessors: 3, 7
Dominance children: 9, 16
BB 9 (0x7ff56b236258):
line: 573 (pc 158)
Instructions:
sp_getspeshslot r9(2), sslot(8)
[Annotation: INS Deopt All (idx 15 -> pc 176; line 574)]
[Annotation: INS Deopt One After Instruction (idx 14 -> pc 176; line 574)]
[Annotation: Logged (bytecode offset 170)]
set r7(5), r9(2)
const_s r4(4), lits(type_check)
const_i64_16 r5(5), liti16(0)
[Annotation: Logged (bytecode offset 204)]
[Annotation: INS Deopt All (idx 18 -> pc 206; line 574)]
[Annotation: INS Deopt One After Instruction (idx 17 -> pc 206; line 574)]
[Annotation: Cached (bytecode offset 190)]
[Annotation: INS Deopt One Before Instruction (idx 16 -> pc 190; line 574)]
sp_dispatch_o r11(2), lits(lang-find-meth), callsite(0x556a5ce99b80, 3 arg, 3 pos, nonflattening, interned), sslot(9), litui32(11), r7(5), r4(4), r5(5) # [009] Never dispatched
Successors: 10
Predecessors: 8
Dominance children: 11
BB 10 (0x7ff56b236318):
line: 574 (pc 206)
Instructions:
set r10(2), r11(2)
[Annotation: INS Deopt All (idx 20 -> pc 218; line 576)]
[Annotation: INS Deopt One After Instruction (idx 19 -> pc 218; line 576)]
[Annotation: Logged (bytecode offset 212)]
sp_decont r11(3), r10(2)
Successors: 11
Predecessors: 9
Dominance children: 11
BB 11 (0x7ff56b236378):
line: 576 (pc 218)
Instructions:
isconcrete r5(6), r11(3)
sp_fastbox_i_ic r7(6), liti16(32), sslot(13), liti16(24), r5(6), liti16(0) # [034] box_i into a BOOTInt
unless_i r5(6), BB(15)
Successors: 15, 12
Predecessors: 10
Dominance children: 12, 15
BB 12 (0x7ff56b2363d8):
line: 576 (pc 250)
Instructions:
[Annotation: INS Deopt All (idx 22 -> pc 256; line 576)]
[Annotation: INS Deopt One After Instruction (idx 21 -> pc 256; line 576)]
[Annotation: Logged (bytecode offset 250)]
sp_decont r11(4), r10(2)
Successors: 13
Predecessors: 11
Dominance children: 13
BB 13 (0x7ff56b236438):
line: 576 (pc 256)
Instructions:
[Annotation: Logged (bytecode offset 272)]
[Annotation: INS Deopt All (idx 25 -> pc 274; line 576)]
[Annotation: INS Deopt One After Instruction (idx 24 -> pc 274; line 576)]
[Annotation: Cached (bytecode offset 256)]
[Annotation: INS Deopt One Before Instruction (idx 23 -> pc 256; line 576)]
sp_dispatch_o r11(5), lits(lang-call), callsite(0x556a5ceb5d20, 4 arg, 4 pos, nonflattening, interned), sslot(9), litui32(16), r11(4), r9(2), r0(2), r1(2) # [010] Never dispatched
Successors: 14
Predecessors: 12
Dominance children: 14
BB 14 (0x7ff56b236498):
line: 576 (pc 274)
Instructions:
set r7(7), r11(5)
Successors: 15
Predecessors: 13
Dominance children:
BB 15 (0x7ff56b2364f8):
line: 576 (pc 280)
Instructions:
PHI r7(8), r7(6), r7(7)
set r2(3), r7(8)
Successors: 16
Predecessors: 11, 14
Dominance children:
BB 16 (0x7ff56b236558):
line: 580 (pc 286)
Instructions:
PHI r2(4), r2(2), r2(3)
[Annotation: INS Deopt All (idx 27 -> pc 292; line 580)]
[Annotation: Logged (bytecode offset 286)]
sp_decont r7(20), r2(4)
Successors: 17
Predecessors: 8, 15
Dominance children: 17
BB 17 (0x7ff56b2365b8):
line: 580 (pc 292)
Instructions:
[Annotation: INS Deopt One After Instruction (idx 26 -> pc 292; line 580)]
sp_guardtype r7(10), r7(20), sslot(1), litui32(26)
[Annotation: INS Deopt One After Instruction (idx 31 -> pc 346; line 580)]
const_i64_16 r5(8), liti16(1)
sp_getspeshslot r17(3), sslot(5) # [014] Start of dispatch program translation
sp_runcfunc_o r7(11), r17(3), liti64(140692144826464), r1(2)
Successors: 18
Predecessors: 16
Dominance children: 20
BB 18 (0x7ff56b2366d8):
line: 580 (pc 346)
Instructions:
[Annotation: INS Deopt All (idx 34 -> pc 352; line 580)]
[Annotation: Logged (bytecode offset 346)]
sp_decont r7(21), r7(11)
Successors: 19
Predecessors: 17
Dominance children: 19
BB 19 (0x7ff56b236738):
line: 580 (pc 352)
Instructions:
[Annotation: INS Deopt One After Instruction (idx 33 -> pc 352; line 580)]
sp_guardconc r7(12), r7(21), sslot(0), litui32(33)
# [032] unbox_i from a BOOTInt
# [016] Start of dispatch program translation
sp_get_i64 r5(9), r7(12), liti16(24)
const_i64_16 r13(1), liti16(2)
# [033] looked at this but no luck. flags: 0 and 2
# [017] looked at this but no luck. flags: 0 and 2
band_i r5(10), r5(9), r13(1)
PHI r5(11), r5(8), r5(10)
unless_i r5(11), BB(22)
Successors: 22, 20
Predecessors: 18
Dominance children: 24
BB 20 (0x7ff56b236858):
line: 581 (pc 392)
Instructions:
sp_getspeshslot r14(2), sslot(10)
[Annotation: INS Deopt All (idx 38 -> pc 410; line 582)]
[Annotation: Logged (bytecode offset 404)]
set r7(22), r14(2)
[Annotation: INS Deopt One After Instruction (idx 37 -> pc 410; line 582)]
[Annotation: INS Deopt One After Instruction (idx 40 -> pc 440; line 582)]
sp_guardjusttype r7(15), r7(22), litui32(37) # [018] used to guard for Perl6::Metamodel::DefiniteHOW
sp_getspeshslot r11(15), sslot(11) # [020] Start of dispatch program translation
[Annotation: INS Deopt One After Instruction (idx 44 -> pc 472; line 583)]
set r11(10), r11(15) # [022] used to guard for NQPRoutine
# [026] Start of dispatch program translation
# [024] emitted from dispatch program attribute load op
sp_p6oget_o r17(5), r11(10), liti16(24)
[Annotation: INS Deopt One Before Instruction (idx 46 -> pc 472; line 583)]
sp_guardjusttype r17(6), r17(5), litui32(46)
sp_p6oget_o r19(0), r11(10), liti16(8) # [025] emitted from dispatch program attribute load op
[Annotation: INS Deopt Synth (idx 46)]
[Annotation: INS Deopt One Before Instruction (idx 53 -> pc 472; line 583)]
sp_guardconc r19(1), r19(0), sslot(12), litui32(53)
[Annotation: INS Deopt All (idx 48 -> pc 490; line 583)]
[Annotation: Cached (bytecode offset 472)]
sp_runbytecode_o r11(16), r19(1), liti64(140692144826784), liti16(-1), r14(2), r1(2), r0(2) # [027] Cannot specialize runbytecode; no target static frame found
Successors: 21
Predecessors: 19
Dominance children: 27
BB 21 (0x7ff56b236a98):
line: 583 (pc 490)
Instructions:
[Annotation: INS Deopt One After Instruction (idx 47 -> pc 490; line 583)]
set r11(11), r11(16)
set r16(2), r11(11)
PHI r16(4), r16(2)
set r2(5), r16(4)
Successors: 22
Predecessors: 20
Dominance children: 33
BB 22 (0x7ff56b236c18):
line: 590 (pc 528)
Instructions:
PHI r2(6), r2(4), r2(5)
[Annotation: INS Deopt All (idx 50 -> pc 534; line 590)]
[Annotation: Logged (bytecode offset 528)]
sp_decont r16(7), r2(6)
Successors: 23
Predecessors: 19, 21
Dominance children: 23
BB 23 (0x7ff56b236c78):
line: 590 (pc 534)
Instructions:
[Annotation: INS Deopt One After Instruction (idx 49 -> pc 534; line 590)]
sp_guardconc r16(6), r16(7), sslot(4), litui32(49)
sp_getspeshslot r17(7), sslot(7) # [029] Start of dispatch program translation
sp_runcfunc_i r5(12), r17(7), liti64(140692144826464), r16(6)
Successors: 24
Predecessors: 22
Dominance children: 24
BB 24 (0x7ff56b236cd8):
line: 590 (pc 546)
Instructions:
return_i r5(12)
Successors:
Predecessors: 23
Dominance children:
Facts:
r0(0): usages=0, flags=0
r0(1): usages=0, flags=0 DeadWriter
r0(2): usages=4, deopt=46,37,34,33,27,26,25,24,23,22,21,20,19,18,17,16,11,10,4,3, flags=9 KnTyp Concr (type: List)
r1(0): usages=0, flags=0
r1(1): usages=0, flags=0 DeadWriter
r1(2): usages=3, deopt=46,37,34,33,27,26,25,24,23,22,21,20,19,18,17,16,11,10,4,3, flags=17 KnTyp TyObj (type: List:D)
r2(0): usages=0, flags=0
r2(1): usages=0, flags=0 DeadWriter
r2(2): usages=1, deopt=25,24,23,22,21,20,19,18,17,16,11,10,4,3, flags=3 KnTyp KnVal (type: VMNull)
r2(3): usages=1, flags=0
r2(4): usages=2, deopt=48,46,37,34,33,27,26, flags=0 (merged from 2 regs)
r2(5): usages=1, flags=9 KnTyp Concr (type: Bool)
r2(6): usages=1, flags=0 (merged from 2 regs)
r3(0): usages=0, flags=0
r3(1): usages=0, flags=0 DeadWriter
r3(2): usages=0, flags=3 KnTyp KnVal (type: VMNull)
r3(3): usages=1, flags=0
r3(4): usages=1, deopt=4,3, flags=9 KnTyp Concr (type: BOOTInt)
r3(5): usages=1, flags=0
r3(6): usages=0, flags=0 DeadWriter (merged from 2 regs)
r3(7): usages=1, deopt=3,4, flags=0
r4(0): usages=0, flags=0
r4(1): usages=0, flags=2 KnVal DeadWriter
r4(2): usages=0, flags=2 KnVal DeadWriter
r4(3): usages=0, flags=0 DeadWriter (merged from 2 regs)
r4(4): usages=1, deopt=16, flags=2 KnVal
r4(5): usages=0, flags=0 DeadWriter (merged from 2 regs)
r4(6): usages=0, flags=2 KnVal DeadWriter
r4(7): usages=0, flags=0 DeadWriter (merged from 2 regs)
r4(8): usages=0, flags=2 KnVal DeadWriter
r4(9): usages=0, flags=2 KnVal DeadWriter
r4(10): usages=0, flags=0 DeadWriter (merged from 2 regs)
r4(11): usages=0, flags=0 DeadWriter (merged from 2 regs)
r5(0): usages=0, flags=0
r5(1): usages=1, flags=0
r5(2): usages=1, flags=0
r5(3): usages=0, flags=0
r5(4): usages=0, flags=0 DeadWriter (merged from 2 regs)
r5(5): usages=1, deopt=16, flags=2 KnVal
r5(6): usages=2, flags=0
r5(7): usages=0, flags=0 DeadWriter (merged from 2 regs)
r5(8): usages=1, deopt=34,33, flags=2 KnVal
r5(9): usages=1, flags=0
r5(10): usages=1, flags=0
r5(11): usages=1, flags=0 (merged from 2 regs)
r5(12): usages=1, flags=0
r6(0): usages=0, flags=0
r6(1): usages=1, flags=2 KnVal
r6(2): usages=2, flags=0
r7(0): usages=0, flags=0
r7(1): usages=0, flags=0 DeadWriter
r7(2): usages=1, deopt=11,10, flags=9 KnTyp Concr (type: BOOTInt)
r7(3): usages=0, flags=0 DeadWriter (merged from 2 regs)
r7(4): usages=0, flags=3 KnTyp KnVal (type: Perl6::Metamodel::ClassHOW)
r7(5): usages=1, deopt=16, flags=3 KnTyp KnVal (type: Perl6::Metamodel::ClassHOW)
r7(6): usages=1, deopt=25,24,23,22,21, flags=2057 KnTyp Concr KBxSr (type: BOOTInt)
r7(7): usages=1, flags=0
r7(8): usages=1, flags=0 (merged from 2 regs)
r7(9): usages=0, flags=0 DeadWriter (merged from 2 regs)
r7(10): usages=0, deopt=27,26, flags=17 KnTyp TyObj (type: VMNull)
r7(11): usages=1, flags=0
r7(12): usages=1, deopt=34,33, flags=9 KnTyp Concr (type: BOOTInt)
r7(13): usages=0, flags=0 DeadWriter (merged from 2 regs)
r7(14): usages=0, flags=3 KnTyp KnVal (type: Perl6::Metamodel::DefiniteHOW)
r7(15): usages=0, deopt=37, flags=17 KnTyp TyObj (type: Perl6::Metamodel::DefiniteHOW)
r7(16): usages=0, flags=0 DeadWriter
r7(17): usages=0, flags=0 DeadWriter (merged from 2 regs)
r7(18): usages=0, flags=0 DeadWriter (merged from 2 regs)
r7(19): usages=1, deopt=10,11, flags=0
r7(20): usages=1, deopt=26,27, flags=0
r7(21): usages=1, deopt=33,34, flags=0
r7(22): usages=1, deopt=37, flags=3 KnTyp KnVal (type: Perl6::Metamodel::DefiniteHOW)
r8(0): usages=0, flags=0
r8(1): usages=1, deopt=11,10, flags=0
r8(2): usages=1, flags=0
r8(3): usages=1, flags=0 (merged from 2 regs)
r8(4): usages=0, flags=2 KnVal DeadWriter
r8(5): usages=0, flags=2 KnVal
r9(0): usages=0, flags=0
r9(1): usages=0, flags=0 DeadWriter
r9(2): usages=2, deopt=23,22,21,20,19,18,17,16, flags=3 KnTyp KnVal (type: Perl6::Metamodel::ClassHOW)
r9(3): usages=0, flags=0 DeadWriter (merged from 2 regs)
r10(0): usages=0, flags=0
r10(1): usages=0, flags=0 DeadWriter
r10(2): usages=2, deopt=20,19, flags=0
r10(3): usages=0, flags=0 DeadWriter (merged from 2 regs)
r11(0): usages=0, flags=0
r11(1): usages=0, flags=0 DeadWriter
r11(2): usages=1, deopt=18,17,16, flags=0
r11(3): usages=1, deopt=20,19, flags=0
r11(4): usages=1, deopt=23,22,21, flags=0
r11(5): usages=1, deopt=25,24,23, flags=0
r11(6): usages=0, flags=0 DeadWriter (merged from 2 regs)
r11(7): usages=0, flags=0 DeadWriter (merged from 2 regs)
r11(8): usages=0, flags=11 KnTyp KnVal Concr (type: NQPRoutine)
r11(9): usages=0, flags=11 KnTyp KnVal Concr DeadWriter (type: NQPRoutine)
r11(10): usages=2, deopt=46, flags=11 KnTyp KnVal Concr (type: NQPRoutine)
r11(11): usages=1, deopt=48,46, flags=0
r11(12): usages=0, flags=0 DeadWriter (merged from 2 regs)
r11(13): usages=0, flags=0 DeadWriter (merged from 2 regs)
r11(14): usages=0, flags=11 KnTyp KnVal Concr DeadWriter (type: NQPRoutine)
r11(15): usages=1, deopt=46, flags=11 KnTyp KnVal Concr (type: NQPRoutine)
r11(16): usages=1, deopt=46,48, flags=0
r12(0): usages=0, flags=0
r12(1): usages=0, flags=0 DeadWriter
r12(2): usages=0, flags=19 KnTyp KnVal TyObj DeadWriter (type: BOOTInt)
r12(3): usages=0, flags=2057 KnTyp Concr KBxSr (type: BOOTInt)
r12(4): usages=0, flags=0 DeadWriter (merged from 2 regs)
r13(0): usages=0, flags=0
r13(1): usages=1, flags=2 KnVal
r13(2): usages=0, flags=0
r13(3): usages=0, flags=0 DeadWriter (merged from 2 regs)
r13(4): usages=0, flags=2 KnVal DeadWriter
r13(5): usages=0, flags=2 KnVal DeadWriter
r13(6): usages=0, flags=0 DeadWriter (merged from 2 regs)
r14(0): usages=0, flags=0
r14(1): usages=0, flags=0 DeadWriter
r14(2): usages=2, deopt=46,37, flags=3 KnTyp KnVal (type: Perl6::Metamodel::DefiniteHOW)
r14(3): usages=0, flags=0 DeadWriter (merged from 2 regs)
r15(0): usages=0, flags=0
r15(1): usages=0, flags=0 DeadWriter
r15(2): usages=0, flags=11 KnTyp KnVal Concr (type: NQPRoutine)
r15(3): usages=0, flags=0 DeadWriter (merged from 2 regs)
r16(0): usages=0, flags=0
r16(1): usages=0, flags=0 DeadWriter
r16(2): usages=1, flags=0
r16(3): usages=0, flags=0 DeadWriter
r16(4): usages=1, flags=9 KnTyp Concr (merged from 1 regs) (type: Bool)
r16(5): usages=0, flags=0 DeadWriter (merged from 2 regs)
r16(6): usages=1, deopt=50,49, flags=9 KnTyp Concr (type: Bool)
r16(7): usages=1, deopt=49,50, flags=0
r17(0): usages=1, flags=11 KnTyp KnVal Concr (type: BOOTCCode)
r17(1): usages=1, flags=11 KnTyp KnVal Concr (type: BOOTCCode)
r17(2): usages=1, flags=11 KnTyp KnVal Concr (type: BOOTCCode)
r17(3): usages=1, flags=11 KnTyp KnVal Concr (type: BOOTCCode)
r17(4): usages=0, flags=11 KnTyp KnVal Concr (type: NQPRoutine)
r17(5): usages=1, flags=0
r17(6): usages=0, flags=16 TyObj
r17(7): usages=1, flags=11 KnTyp KnVal Concr (type: BOOTCCode)
r18(0): usages=0, flags=2 KnVal DeadWriter
r19(0): usages=1, flags=0
r19(1): usages=1, flags=9 KnTyp Concr (type: BOOTCode)
Spesh slots:
0 = STable (BOOTInt)
1 = STable (VMNull)
2 = STable (Perl6::Metamodel::DefiniteHOW)
3 = STable (NQPRoutine)
4 = STable (Bool)
5 = Instance (BOOTCCode)
6 = Instance (BOOTCCode)
7 = Instance (BOOTCCode)
8 = Instance (Perl6::Metamodel::ClassHOW)
9 = Instance (BOOTStaticFrame) - '' (171)
10 = Type Object (Perl6::Metamodel::DefiniteHOW)
11 = Instance (NQPRoutine)
12 = STable (BOOTCode)
13 = STable (BOOTInt)
Frame size: 802 bytes
Specialization took 80us (total 234us)
========
Latest guard tree for '' (cuid: 171, file: NQP::src/core/dispatchers.nqp:568)
0: CALLSITE 0x7ff57150a8c0 | Y: 1, N: 0
1: LOAD ARG 0 | Y: 2
2: STABLE CONC utf8 | Y: 3, N: 6
3: LOAD ARG 1 | Y: 4
4: STABLE CONC Blob:D | Y: 5, N: 0
5: RESULT 0
6: STABLE CONC List | Y: 7, N: 0
7: LOAD ARG 1 | Y: 8
8: STABLE CONC List:D | Y: 9, N: 0
9: RESULT 1
========
skip:0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment