-
-
Save indutny/cf7cc8c01e4834848b7c 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
0x000000010012f8f1: push %rbp ; Entry starts here | |
0x000000010012f8f2: mov %rsp,%rbp | |
0x000000010012f8f5: sub $0x70,%rsp | |
0x000000010012f8fc: mov %rsp,%r8 | |
0x000000010012f8ff: mov %rbp,%r9 | |
0x000000010012f902: sub $0x8,%r9 | |
0x000000010012f909: push %r8 | |
0x000000010012f90b: mov $0x1,%r14 | |
0x000000010012f915: jmpq 0x10012f928 | |
0x000000010012f91a: mov %r14,0x0(%r8) | |
0x000000010012f921: add $0x8,%r8 | |
0x000000010012f928: cmp %r9,%r8 | |
0x000000010012f92b: jle 0x10012f91a | |
0x000000010012f931: pop %r8 | |
0x000000010012f933: xor %r14,%r14 | |
0x000000010012f936: xor %r8,%r8 | |
0x000000010012f939: xor %r9,%r9 | |
0x000000010012f93c: mov %rax,-0x8(%rbp) | |
0x000000010012f943: mov $0x30,%rax | |
0x000000010012f94d: push %rax | |
0x000000010012f94e: mov $0x4,%rax | |
0x000000010012f958: push %rax | |
0x000000010012f959: mov $0x10012f270,%r14 | |
0x000000010012f963: rex.WB callq *%r14 | |
0x000000010012f966: nop | |
0x000000010012f967: mov %rsi,0x7(%rax) | |
0x000000010012f96e: movq $0x0,0xf(%rax) | |
0x000000010012f979: mov %rax,%rsi | |
0x000000010012f97c: mov -0x8(%rbp),%rax ; Entry ends here | |
0x000000010012f983: mov $0x100200118,%r14 | |
0x000000010012f98d: rex.WB cmpb $0x0,0x0(%r14) | |
0x000000010012f995: je 0x10012f9a9 | |
0x000000010012f99b: mov $0x10012f000,%r14 | |
0x000000010012f9a5: rex.WB callq *%r14 | |
0x000000010012f9a8: nop | |
0x000000010012f9a9: mov $0x14,%rax | |
0x000000010012f9b3: mov $0x0,%rbx | |
0x000000010012f9bd: mov %rax,%rcx | |
0x000000010012f9c0: mov %rbx,%rdx | |
0x000000010012f9c3: mov %rcx,%rax | |
0x000000010012f9c6: mov %rbx,-0x8(%rbp) | |
0x000000010012f9cd: mov $0x2,%rbx | |
0x000000010012f9d7: mov -0x8(%rbp),%rcx | |
0x000000010012f9de: mov %rcx,-0x10(%rbp) | |
0x000000010012f9e5: mov %rax,-0x18(%rbp) | |
0x000000010012f9ec: mov %rdx,-0x20(%rbp) | |
0x000000010012f9f3: mov $0x10012f350,%r14 | |
0x000000010012f9fd: rex.WB callq *%r14 | |
0x000000010012fa00: nop | |
0x000000010012fa01: mov %rax,%r8 | |
0x000000010012fa04: mov -0x10(%rbp),%rcx | |
0x000000010012fa0b: mov -0x18(%rbp),%rax | |
0x000000010012fa12: mov -0x20(%rbp),%rdx | |
0x000000010012fa19: mov %r8,%rbx | |
0x000000010012fa1c: mov %rax,-0x20(%rbp) | |
0x000000010012fa23: mov %r8,%rax | |
0x000000010012fa26: mov -0x20(%rbp),%r8 | |
0x000000010012fa2d: mov %rcx,-0x18(%rbp) | |
0x000000010012fa34: mov %rax,-0x10(%rbp) | |
0x000000010012fa3b: mov %r8,-0x8(%rbp) | |
0x000000010012fa42: mov %rbx,-0x28(%rbp) | |
0x000000010012fa49: mov %rdx,-0x30(%rbp) | |
0x000000010012fa50: mov $0x10012f5c0,%r14 | |
0x000000010012fa5a: nop | |
0x000000010012fa5b: rex.WB callq *%r14 | |
0x000000010012fa5e: nop | |
0x000000010012fa5f: rex.W cmpb $0x0,0x7(%rax) | |
0x000000010012fa67: mov -0x18(%rbp),%rcx | |
0x000000010012fa6e: mov -0x10(%rbp),%rax | |
0x000000010012fa75: mov -0x8(%rbp),%r8 | |
0x000000010012fa7c: mov -0x28(%rbp),%rbx | |
0x000000010012fa83: mov -0x30(%rbp),%rdx | |
0x000000010012fa8a: je 0x10012fcd8 | |
0x000000010012fa90: mov $0x14,%r9 | |
0x000000010012fa9a: mov %r9,%r10 | |
0x000000010012fa9d: mov %r12,%r11 | |
0x000000010012faa0: mov %rbx,%r13 | |
0x000000010012faa3: mov %rax,-0x30(%rbp) | |
0x000000010012faaa: mov %r10,%rax | |
0x000000010012faad: mov -0x30(%rbp),%r10 | |
0x000000010012fab4: mov %rbx,-0x30(%rbp) | |
0x000000010012fabb: mov $0x2,%rbx | |
0x000000010012fac5: mov -0x30(%rbp),%r9 | |
0x000000010012facc: mov %rdx,-0x28(%rbp) | |
0x000000010012fad3: mov %rcx,-0x8(%rbp) | |
0x000000010012fada: mov %r10,-0x10(%rbp) | |
0x000000010012fae1: mov %rax,-0x18(%rbp) | |
0x000000010012fae8: mov %r12,-0x20(%rbp) | |
0x000000010012faef: mov %r13,-0x38(%rbp) | |
0x000000010012faf6: mov %r8,-0x40(%rbp) | |
0x000000010012fafd: mov %r9,-0x48(%rbp) | |
0x000000010012fb04: mov %r11,-0x50(%rbp) | |
0x000000010012fb0b: mov $0x10012f350,%r14 | |
0x000000010012fb15: rex.WB callq *%r14 | |
0x000000010012fb18: nop | |
0x000000010012fb19: mov %rax,%rdx | |
0x000000010012fb1c: mov -0x8(%rbp),%rcx | |
0x000000010012fb23: mov -0x10(%rbp),%r10 | |
0x000000010012fb2a: mov -0x18(%rbp),%rax | |
0x000000010012fb31: mov -0x20(%rbp),%r12 | |
0x000000010012fb38: mov -0x38(%rbp),%r13 | |
0x000000010012fb3f: mov -0x40(%rbp),%r8 | |
0x000000010012fb46: mov -0x48(%rbp),%r9 | |
0x000000010012fb4d: mov -0x50(%rbp),%r11 | |
0x000000010012fb54: mov %rdx,%rbx | |
0x000000010012fb57: mov %rax,-0x50(%rbp) | |
0x000000010012fb5e: mov %rdx,%rax | |
0x000000010012fb61: mov -0x50(%rbp),%rdx | |
0x000000010012fb68: mov %rcx,-0x48(%rbp) | |
0x000000010012fb6f: mov %r10,-0x40(%rbp) | |
0x000000010012fb76: mov %rdx,-0x38(%rbp) | |
0x000000010012fb7d: mov %r12,-0x20(%rbp) | |
0x000000010012fb84: mov %r13,-0x18(%rbp) | |
0x000000010012fb8b: mov %rbx,-0x10(%rbp) | |
0x000000010012fb92: mov %r8,-0x8(%rbp) | |
0x000000010012fb99: mov %r9,-0x30(%rbp) | |
0x000000010012fba0: mov %r11,-0x58(%rbp) | |
0x000000010012fba7: mov $0x10012f5c0,%r14 | |
0x000000010012fbb1: rex.WB callq *%r14 | |
0x000000010012fbb4: nop | |
0x000000010012fbb5: rex.W cmpb $0x0,0x7(%rax) | |
0x000000010012fbbd: mov -0x48(%rbp),%rcx | |
0x000000010012fbc4: mov -0x40(%rbp),%r10 | |
0x000000010012fbcb: mov -0x38(%rbp),%rdx | |
0x000000010012fbd2: mov -0x20(%rbp),%r12 | |
0x000000010012fbd9: mov -0x18(%rbp),%r13 | |
0x000000010012fbe0: mov -0x10(%rbp),%rbx | |
0x000000010012fbe7: mov -0x8(%rbp),%r8 | |
0x000000010012fbee: mov -0x30(%rbp),%r9 | |
0x000000010012fbf5: mov -0x58(%rbp),%r11 | |
0x000000010012fbfc: je 0x10012fcbc | |
0x000000010012fc02: mov %r11,%rax | |
0x000000010012fc05: mov %rbx,-0x58(%rbp) | |
0x000000010012fc0c: mov $0x2,%rbx | |
0x000000010012fc16: mov -0x58(%rbp),%r11 | |
0x000000010012fc1d: mov %r10,-0x30(%rbp) | |
0x000000010012fc24: mov %rdx,-0x8(%rbp) | |
0x000000010012fc2b: mov %r12,-0x10(%rbp) | |
0x000000010012fc32: mov %r13,-0x18(%rbp) | |
0x000000010012fc39: mov %r11,-0x20(%rbp) | |
0x000000010012fc40: mov %r8,-0x38(%rbp) | |
0x000000010012fc47: mov %r9,-0x40(%rbp) | |
0x000000010012fc4e: mov %rax,-0x48(%rbp) | |
0x000000010012fc55: mov $0x10012f680,%r14 | |
0x000000010012fc5f: rex.WB callq *%r14 | |
0x000000010012fc62: nop | |
0x000000010012fc63: mov %rax,%rcx | |
0x000000010012fc66: mov -0x30(%rbp),%r10 | |
0x000000010012fc6d: mov -0x8(%rbp),%rdx | |
0x000000010012fc74: mov -0x10(%rbp),%r12 | |
0x000000010012fc7b: mov -0x18(%rbp),%r13 | |
0x000000010012fc82: mov -0x20(%rbp),%r11 | |
0x000000010012fc89: mov -0x38(%rbp),%r8 | |
0x000000010012fc90: mov -0x40(%rbp),%r9 | |
0x000000010012fc97: mov -0x48(%rbp),%rax | |
0x000000010012fc9e: mov %rcx,%r12 | |
0x000000010012fca1: mov %r11,%rdx | |
0x000000010012fca4: mov -0x28(%rbp),%rax | |
0x000000010012fcab: mov %r8,%r13 | |
0x000000010012fcae: mov %rax,%r11 | |
0x000000010012fcb1: mov %r10,%rax | |
0x000000010012fcb4: mov %rdx,%r10 | |
0x000000010012fcb7: jmpq 0x10012faa3 | |
0x000000010012fcbc: mov %r11,%rax | |
0x000000010012fcbf: mov %r9,%r8 | |
0x000000010012fcc2: mov %rax,-0x28(%rbp) | |
0x000000010012fcc9: mov %r8,%rcx | |
0x000000010012fccc: mov -0x28(%rbp),%rdx | |
0x000000010012fcd3: jmpq 0x10012f9c3 | |
0x000000010012fcd8: mov %rdx,-0x28(%rbp) | |
0x000000010012fcdf: mov -0x28(%rbp),%rax | |
0x000000010012fce6: mov %rbp,%rsp | |
0x000000010012fce9: pop %rbp | |
0x000000010012fcea: retq |
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
i = 10 | |
k = 0 | |
while (--i) { | |
j = 10 | |
while (--j) { | |
k = k + 1 | |
} | |
} | |
return k |
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
[Block#0 | |
1: [Entry] | |
3: *[0 [imm 0x14]] = [LoadRoot] | |
5: *[1 [st:0]] = [StoreLocal *[0 [imm 0x14]]] | |
9: *[2 [imm 0x0]] = [LoadRoot] | |
11: *[3 [st:1]] = [StoreLocal *[2 [imm 0x0]]] | |
15: [Goto] | |
[]>*>[1]] | |
[Block#1 @[1,6]:17 @[3,16]:18 | |
19: *[4 [imm 0x2]] = [LoadRoot] | |
21: *[5 [st:-1]] = [BinOp *[17 [st:0]] *[4 [imm 0x2]]] | |
23: *[6 [st:0]] = [StoreLocal *[5 [st:-1]]] | |
27: [BranchBool *[5 [st:-1]]] | |
[0,6]>*>[2,3]] | |
[Block#2 | |
29: *[7 [imm 0x14]] = [LoadRoot] | |
31: *[8 [st:2]] = [StoreLocal *[7 [imm 0x14]]] | |
35: [Goto] | |
[1]>*>[4]] | |
[Block#4 @[8,11]:15 @[14,18]:16 @[6,17]:19 | |
39: *[9 [imm 0x2]] = [LoadRoot] | |
41: *[10 [st:-1]] = [BinOp *[15 [st:2]] *[9 [imm 0x2]]] | |
43: *[11 [st:2]] = [StoreLocal *[10 [st:-1]]] | |
47: [BranchBool *[10 [st:-1]]] | |
[2,5]>*>[5,6]] | |
[Block#5 | |
51: *[12 [imm 0x2]] = [LoadRoot] | |
53: *[13 [st:-1]] = [BinOp *[16 [st:1]] *[12 [imm 0x2]]] | |
55: *[14 [st:1]] = [StoreLocal *[13 [st:-1]]] | |
59: [Goto] | |
[4]>*>[4]] | |
[Block#6 | |
61: [Goto] | |
[4]>*>[1]] | |
[Block#3 | |
65: [Return *[18 [st:1]]] | |
[1]>*>[]] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment