Skip to content

Instantly share code, notes, and snippets.

@timo
Created September 26, 2018 21:29
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 timo/b01c70e2f7ce4a40eddc19517e3aee87 to your computer and use it in GitHub Desktop.
Save timo/b01c70e2f7ce4a40eddc19517e3aee87 to your computer and use it in GitHub Desktop.
hilarious-looking compilation result of allomorphs.pm6 &parse_win
BB 14 (0x7f030419cdf8):
line: 283 (pc 188)
Instructions:
[Annotation: Logged (bytecode offset 188)]
sp_getlex_o r6(20), lex(idx=0,outers=0,newval)
[Annotation: INS Deopt One (idx 8 -> pc 196; line 283)]
[Annotation: INS Deopt One (idx 9 -> pc 202; line 283)]
sp_guardconc r6(4), r6(20), sslot(1), litui32(196)
[Annotation: Logged (bytecode offset 354)]
sp_getlex_o r9(25), lex(idx=0,outers=0,newval)
[Annotation: INS Deopt One (idx 20 -> pc 362; line 283)]
[Annotation: INS Deopt One (idx 21 -> pc 368; line 283)]
sp_guardconc r9(6), r9(25), sslot(1), litui32(362)
[Annotation: Logged (bytecode offset 520)]
sp_getlex_o r8(18), lex(idx=0,outers=0,newval)
[Annotation: INS Deopt One (idx 32 -> pc 528; line 283)]
[Annotation: INS Deopt One (idx 33 -> pc 534; line 283)]
sp_guardconc r8(7), r8(18), sslot(1), litui32(528)
[Annotation: Logged (bytecode offset 686)]
sp_getlex_o r6(21), lex(idx=0,outers=0,newval)
[Annotation: INS Deopt One (idx 44 -> pc 694; line 283)]
[Annotation: INS Deopt One (idx 45 -> pc 700; line 283)]
sp_guardconc r6(11), r6(21), sslot(1), litui32(694)
[Annotation: Logged (bytecode offset 732)]
[Annotation: INS Deopt One (idx 46 -> pc 744; line 283)]
sp_getspeshslot r9(13), sslot(4) # getlexstatic_o of lexical '&return'
sp_getspeshslot r8(10), sslot(13)
[Annotation: Logged (bytecode offset 758)]
sp_getlex_o r6(22), lex(idx=0,outers=0,newval)
[Annotation: INS Deopt One (idx 47 -> pc 766; line 283)]
sp_guardconc r6(12), r6(22), sslot(1), litui32(766)
[Annotation: Logged (bytecode offset 766)]
sp_getlex_o r14(13), lex(idx=11,outers=1,$MAYBEVAL)
[Annotation: INS Deopt One (idx 48 -> pc 774; line 283)]
[Annotation: INS Deopt One (idx 49 -> pc 780; line 283)]
sp_guardconc r14(4), r14(13), sslot(2), litui32(774)
sp_getspeshslot r23(1), sslot(15)
[Annotation: INS Deopt One (idx 50 -> pc 790; line 283)]
prepargs callsite(0x7f030e514bc0, 3 arg, 3 pos, nonflattening, interned)
arg_o liti16(0), r8(10)
arg_o liti16(1), r6(12)
arg_o liti16(2), r14(4)
[Annotation: INS Deopt All (idx 52 -> pc 818; line 283)]
[Annotation: Logged (bytecode offset 812)]
invoke_o r14(14), r23(1)
[Annotation: INS Deopt One (idx 51 -> pc 818; line 283)]
sp_guardconc r40(2), r14(14), sslot(3), litui32(818)
[Annotation: INS Deopt One (idx 53 -> pc 824; line 283)]
[Annotation: INS Deopt One (idx 54 -> pc 840; line 283)]
[Annotation: INS Deopt One (idx 82 -> pc 30; line 282)]
sp_getspeshslot r23(2), sslot(5)
Successors: 15
Predecessors: 6
Dominance children: 19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment