Skip to content

Instantly share code, notes, and snippets.

@dogbert17
Last active November 21, 2020 18:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dogbert17/605f5477ac7980d82fe4914acf36385e to your computer and use it in GitHub Desktop.
Save dogbert17/605f5477ac7980d82fe4914acf36385e to your computer and use it in GitHub Desktop.
Spesh log
HEAD
After:
Spesh of 'slip-all' (cuid: 960, file: SETTING::src/core.c/Rakudo/SlippyIterator.pm6:49)
Callsite 0x7f68fca3b740 (3 args, 3 pos)
Positional flags: obj, obj, obj
BB 0 (0x7f68f440f5f8):
line: 49 (pc 0)
Instructions:
no_op
Successors: 1
Predecessors:
Dominance children: 1
BB 1 (0x7f68f440f680):
line: 49 (pc 0)
Instructions:
sp_getarg_o r5(3), liti16(0) # [015] start of exprjit tree
ctx r9(3)
# [017] JIT: bailed completely because of <ctxcode>
# [016] expr bail: Cannot get template for: ctxcode
ctxcode r9(4), r9(3)
getcodeobj r14(2), r9(4)
sp_getspeshslot r9(6), sslot(4)
[Annotation: Logged (bytecode offset 54)]
getattr_o r12(14), r14(2), r9(6), lits($!signature), liti16(1)
[Annotation: INS Deopt One (idx 0 -> pc 68; line 49)]
sp_guardconc r12(2), r12(14), sslot(1), litui32(0)
[Annotation: Logged (bytecode offset 76)]
sp_getvc_o r16(13), r12(2), liti16(32), sslot(6) # [001] getattr_o of '@!params' in Signature
[Annotation: INS Deopt One (idx 1 -> pc 90; line 49)]
sp_guardconc r16(2), r16(13), sslot(2), litui32(1)
const_i64_16 r10(1), liti16(0)
atpos_o r15(2), r16(2), r10(1)
[Annotation: INS Deopt One (idx 2 -> pc 116; line 49)]
[Annotation: Logged (bytecode offset 110)]
sp_decont r9(8), r15(2)
sp_findmeth r16(4), r9(8), lits(coercive), sslot(7)
sp_resolvecode r21(0), r16(4)
[Annotation: INS Deopt Synth (idx 3)]
[Annotation: INS Deopt One (idx 29 -> pc 126; line 49)]
sp_guardsf r21(0), sslot(9), litui32(29)
[Annotation: INS Deopt Synth (idx 3)]
[Annotation: INS Deopt One (idx 30 -> pc 126; line 49)]
sp_guardconc r15(3), r15(2), sslot(10), litui32(30) # [002] inserted argument guards
[Annotation: INS Deopt One (idx 3 -> pc 126; line 49)]
prepargs callsite(0x7f68fca3b7c0, 1 arg, 1 pos, nonflattening, interned)
arg_o liti16(0), r15(3)
[Annotation: INS Deopt All (idx 5 -> pc 142; line 49)]
[Annotation: INS Deopt One (idx 4 -> pc 142; line 49)]
[Annotation: Logged (bytecode offset 136)]
# [004] inline-preventing instruction: return_i
# [003] could not inline '' (115) candidate 0: target has a :useshll instruction and HLLs are different
sp_fastinvoke_o r16(5), r21(0), liti16(0)
...
OLD
After:
Spesh of 'slip-all' (cuid: 959, file: SETTING::src/core.c/Rakudo/SlippyIterator.pm6:49)
Callsite 0x7fb0bce91740 (3 args, 3 pos)
Positional flags: obj, obj, obj
BB 0 (0x7fb0b4313828):
line: 49 (pc 0)
Instructions:
[Annotation: INS Deopt One (idx 0 -> pc 30; line 49)]
no_op
Successors: 1
Predecessors:
Dominance children: 1
BB 1 (0x7fb0b43138b0):
line: 49 (pc 0)
Instructions:
[Annotation: INS Deopt One (idx 1 -> pc 66; line 49)]
sp_getarg_o r2(2), liti16(1) # [006] start of exprjit tree
[Annotation: INS Deopt One (idx 2 -> pc 132; line 49)]
sp_getarg_o r3(2), liti16(2)
[Annotation: Line Number: SETTING::src/core.c/Rakudo/SlippyIterator.pm6:49]
takedispatcher r8(10)
isnull r9(4), r8(10)
if_i r9(4), BB(3)
Successors: 3, 2
Predecessors: 0
Dominance children: 2
BB 2 (0x7fb0b4313d30):
line: 49 (pc 186)
Instructions:
sp_bindlex_os lex(idx=8,outers=0,$*DISPATCHER), r8(10) # [007] expr bail: Cannot get template for: sp_bindlex_os
Successors: 3
Predecessors: 1
Dominance children:
BB 3 (0x7fb0b4313d90):
line: 50 (pc 194)
Instructions:
[Annotation: Line Number: SETTING::src/core.c/Rakudo/SlippyIterator.pm6:50]
sp_getspeshslot r10(2), sslot(4) # [008] start of exprjit tree
eqaddr r9(5), r2(2), r10(2)
# [009] expr bail: Cannot get template for: sp_fastbox_bi_ic
# [005] box_i into a Int
sp_fastbox_bi_ic r10(3), liti16(40), sslot(10), liti16(32), r9(5), liti16(1)
[Annotation: INS Deopt One (idx 3 -> pc 242; line 50)]
if_i r9(5), BB(5)
Successors: 5, 4
Predecessors: 1, 2
Dominance children: 4, 5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment