Skip to content

Instantly share code, notes, and snippets.

@arnsholt
Created November 18, 2015 16:07
Show Gist options
  • Save arnsholt/2701d2371693f6bbe46f to your computer and use it in GitHub Desktop.
Save arnsholt/2701d2371693f6bbe46f to your computer and use it in GitHub Desktop.
Finished specialization of 'rotr' (cuid: cuid_24_1447861306.51634)
Spesh of 'rotr' (cuid: cuid_24_1447861306.51634, file: /home/arne/programming/perl/libdigest-perl6/lib/Digest/SHA.pm:67)
Callsite 0x7f3c9745ca00 (2 args, 2 pos)
Positional flags: obj, obj
BB 0 (0x8d6d5e8):
line: 67 (pc 0)
Instructions:
no_op
Successors: 1, 6
Predeccessors:
Dominance children: 1, 6, 7
BB 1 (0x8d6d660):
line: 67 (pc 0)
Instructions:
checkarity liti16(2), liti16(2)
param_rp_i r0(1), liti16(0)
param_rp_i r1(1), liti16(1)
paramnamesused
takedispatcher r4(1)
isnull r5(1), r4(1)
if_i r5(1), BB(3)
Successors: 3, 2
Predeccessors: 0
Dominance children: 2, 3
BB 2 (0x8d6d6b0):
line: 67 (pc 50)
Instructions:
bindlex lex(idx=6,outers=0,$*DISPATCHER), r4(1)
Successors: 3
Predeccessors: 1
Dominance children:
BB 3 (0x8d6d700):
line: 67 (pc 58)
Instructions:
newlexotic r4(2), BB(6)
Successors: 6, 4
Predeccessors: 1, 2
Dominance children: 4
BB 4 (0x8d6d750):
line: 67 (pc 66)
Instructions:
bindlex lex(idx=7,outers=0,RETURN), r4(2)
[Annotation: FH Start (0)]
sp_getspeshslot r7(1), sslot(2)
brshift_i r5(2), r0(1), r1(1)
const_i64_16 r8(1), liti16(32)
sub_i r8(2), r8(1), r1(1)
blshift_i r8(3), r0(1), r8(2)
set r9(1), r7(1)
sp_getspeshslot r9(1), sslot(3)
set r10(1), r5(2)
set r11(1), r8(3)
[Annotation: INS Deopt One (idx 0 -> pc 146; line 67)]
[Annotation: INS Deopt All (idx 1 -> pc 146; line 67)]
goto BB(8)
Successors: 8
Predeccessors: 3
Dominance children: 5
BB 5 (0x8d6d7a0):
line: 67 (pc 146)
Instructions:
decont_i r8(4), r9(2)
p6box_i r9(3), r8(4)
[Annotation: FH End (0)]
goto BB(7)
Successors: 7
Predeccessors: 8
Dominance children:
BB 6 (0x8d6d7f0):
line: 67 (pc 164)
Instructions:
PHI r4(3), r4(0), r4(2)
[Annotation: FH Goto (1)]
[Annotation: FH Goto (0)]
lexoticresult r9(4), r4(3)
Successors: 7
Predeccessors: 0, 3
Dominance children:
BB 7 (0x8d6d840):
line: 67 (pc 170)
Instructions:
PHI r9(5), r9(3), r9(4)
[Annotation: INS Deopt One (idx 2 -> pc 178; line 67)]
getlex_no r4(5), lits(&EXHAUST)
bindlex lex(idx=7,outers=0,RETURN), r4(5)
return_o r9(5)
Successors:
Predeccessors: 5, 6
Dominance children:
BB 8 (0x8d750a8):
Inlined
line: 67 (pc 0)
Instructions:
[Annotation: Inline Start (0)]
[Annotation: FH Start (1)]
takedispatcher r14(1)
bor_i r15(1), r10(1), r11(1)
[Annotation: FH End (1)]
hllboxtype_i r9(2)
box_i r9(2), r15(1), r9(2)
[Annotation: Inline End (0)]
goto BB(5)
Successors: 5
Predeccessors: 4
Dominance children:
Facts:
r0(0): usages=1, flags=0
r0(1): usages=2, flags=0
r0(2): usages=0, flags=0 (merged from 2 regs)
r0(3): usages=0, flags=0 (merged from 2 regs)
r1(0): usages=1, flags=0
r1(1): usages=2, flags=0
r1(2): usages=0, flags=0 (merged from 2 regs)
r1(3): usages=0, flags=0 (merged from 2 regs)
r2(0): usages=1, flags=0
r2(1): usages=0, flags=0
r2(2): usages=0, flags=0 (merged from 2 regs)
r2(3): usages=0, flags=0 (merged from 2 regs)
r3(0): usages=1, flags=0
r3(1): usages=0, flags=0
r3(2): usages=0, flags=0 (merged from 2 regs)
r3(3): usages=0, flags=0 (merged from 2 regs)
r4(0): usages=2, flags=0
r4(1): usages=2, flags=0
r4(2): usages=2, flags=0
r4(3): usages=1, flags=0 (merged from 2 regs)
r4(4): usages=0, flags=0 (merged from 2 regs)
r4(5): usages=4, flags=269 KnTyp Dcntd Concr LogGd
r5(0): usages=1, flags=0
r5(1): usages=1, flags=0
r5(2): usages=1, flags=0
r5(3): usages=0, flags=0 (merged from 2 regs)
r5(4): usages=0, flags=0 (merged from 2 regs)
r6(0): usages=1, flags=0
r6(1): usages=0, flags=2 KnVal
r6(2): usages=0, flags=0 (merged from 2 regs)
r7(0): usages=1, flags=0
r7(1): usages=2, flags=15 KnTyp KnVal Dcntd Concr
r7(2): usages=0, flags=0 (merged from 2 regs)
r8(0): usages=1, flags=0
r8(1): usages=1, flags=2 KnVal
r8(2): usages=1, flags=0
r8(3): usages=1, flags=0
r8(4): usages=2, flags=0
r8(5): usages=0, flags=0 (merged from 2 regs)
r9(0): usages=0, flags=0
r9(1): usages=2, flags=15 KnTyp KnVal Dcntd Concr
r9(2): usages=4, flags=269 KnTyp Dcntd Concr LogGd
r9(3): usages=2, flags=2061 KnTyp Dcntd Concr KBxSr
r9(4): usages=1, flags=0
r9(5): usages=2, flags=0 (merged from 2 regs)
r10(0): usages=0, flags=0
r10(1): usages=2, flags=0
r11(0): usages=0, flags=0
r11(1): usages=2, flags=0
r12(0): usages=0, flags=0
r13(0): usages=0, flags=0
r14(0): usages=0, flags=0
r14(1): usages=0, flags=0
r15(0): usages=0, flags=0
r15(1): usages=1, flags=0
r16(0): usages=0, flags=0
Stats:
4 spesh slots
3 log slots
Logged values:
0 1 1 1 1 1 1 1 1
1 2 3 4 5 6 7 8 9
2 10 10 10 10 10 10 10 10
Stats:
4 spesh slots
3 log slots
Logged values:
0 1 1 1 1 1 1 1 1
1 2 3 4 5 6 7 8 9
2 10 10 10 10 10 10 10 10
1: 0x2ed13f0 P6opaque
2: 0x7f3c95c98af0 P6opaque
3: 0x7f3c95c98ef0 P6opaque
4: 0x7f3c95c98f40 P6opaque
5: 0x7f3c95c98fb8 P6opaque
6: 0x7f3c95c99068 P6opaque
7: 0x7f3c95c990b8 P6opaque
8: 0x7f3c95c99130 P6opaque
9: 0x7f3c95c99d60 P6opaque
10: 0x2d31070 P6opaque
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment