Skip to content

Instantly share code, notes, and snippets.

@rrnewton
Last active January 24, 2017 15:42
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 rrnewton/a9665ad924b12ad455e966689d4752d5 to your computer and use it in GitHub Desktop.
Save rrnewton/a9665ad924b12ad455e966689d4752d5 to your computer and use it in GitHub Desktop.
Assembly generated by add1-tree microbenchmark
treebench_c_bumpalloc.exe: file format elf64-x86-64
.........
00000000000025c0 <add1Tree>:
25c0: 41 57 push %r15
25c2: 41 56 push %r14
25c4: 41 55 push %r13
25c6: 41 54 push %r12
25c8: 55 push %rbp
25c9: 53 push %rbx
25ca: 48 83 ec 18 sub $0x18,%rsp
25ce: 48 8b 1d 7b 7a 20 00 mov 0x207a7b(%rip),%rbx # 20a050 <heap_ptr>
25d5: 8b 07 mov (%rdi),%eax
25d7: 89 43 18 mov %eax,0x18(%rbx)
25da: 44 8b 17 mov (%rdi),%r10d
25dd: 4c 8d 63 18 lea 0x18(%rbx),%r12
25e1: 4c 89 25 68 7a 20 00 mov %r12,0x207a68(%rip) # 20a050 <heap_ptr>
25e8: 45 85 d2 test %r10d,%r10d
25eb: 75 23 jne 2610 <add1Tree+0x50>
25ed: 48 8b 47 08 mov 0x8(%rdi),%rax
25f1: 48 83 c0 01 add $0x1,%rax
25f5: 48 89 43 20 mov %rax,0x20(%rbx)
25f9: 48 83 c4 18 add $0x18,%rsp
25fd: 4c 89 e0 mov %r12,%rax
2600: 5b pop %rbx
2601: 5d pop %rbp
2602: 41 5c pop %r12
2604: 41 5d pop %r13
2606: 41 5e pop %r14
2608: 41 5f pop %r15
260a: c3 retq
260b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
2610: 4c 8b 6f 08 mov 0x8(%rdi),%r13
2614: 4c 8d 73 30 lea 0x30(%rbx),%r14
2618: 48 89 fd mov %rdi,%rbp
261b: 4c 89 35 2e 7a 20 00 mov %r14,0x207a2e(%rip) # 20a050 <heap_ptr>
2622: 41 8b 45 00 mov 0x0(%r13),%eax
2626: 89 43 30 mov %eax,0x30(%rbx)
2629: 45 8b 4d 00 mov 0x0(%r13),%r9d
262d: 45 85 c9 test %r9d,%r9d
2630: 75 4e jne 2680 <add1Tree+0xc0>
2632: 49 8b 45 08 mov 0x8(%r13),%rax
2636: 4d 89 f5 mov %r14,%r13
2639: 48 83 c0 01 add $0x1,%rax
263d: 48 89 43 38 mov %rax,0x38(%rbx)
2641: 4c 89 73 20 mov %r14,0x20(%rbx)
2645: 48 8b 6d 10 mov 0x10(%rbp),%rbp
2649: 4d 8d 75 18 lea 0x18(%r13),%r14
264d: 4c 89 35 fc 79 20 00 mov %r14,0x2079fc(%rip) # 20a050 <heap_ptr>
2654: 8b 45 00 mov 0x0(%rbp),%eax
2657: 41 89 45 18 mov %eax,0x18(%r13)
265b: 8b 75 00 mov 0x0(%rbp),%esi
265e: 85 f6 test %esi,%esi
2660: 0f 85 8a 00 00 00 jne 26f0 <add1Tree+0x130>
2666: 48 8b 45 08 mov 0x8(%rbp),%rax
266a: 48 83 c0 01 add $0x1,%rax
266e: 49 89 45 20 mov %rax,0x20(%r13)
2672: 4c 89 73 28 mov %r14,0x28(%rbx)
2676: eb 81 jmp 25f9 <add1Tree+0x39>
2678: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
267f: 00
2680: 4d 8b 7d 08 mov 0x8(%r13),%r15
2684: 48 8d 53 48 lea 0x48(%rbx),%rdx
2688: 48 89 15 c1 79 20 00 mov %rdx,0x2079c1(%rip) # 20a050 <heap_ptr>
268f: 41 8b 07 mov (%r15),%eax
2692: 89 43 48 mov %eax,0x48(%rbx)
2695: 45 8b 07 mov (%r15),%r8d
2698: 45 85 c0 test %r8d,%r8d
269b: 0f 85 ef 00 00 00 jne 2790 <add1Tree+0x1d0>
26a1: 49 8b 47 08 mov 0x8(%r15),%rax
26a5: 49 89 d7 mov %rdx,%r15
26a8: 48 83 c0 01 add $0x1,%rax
26ac: 48 89 43 50 mov %rax,0x50(%rbx)
26b0: 48 89 53 38 mov %rdx,0x38(%rbx)
26b4: 4d 8b 6d 10 mov 0x10(%r13),%r13
26b8: 49 8d 57 18 lea 0x18(%r15),%rdx
26bc: 48 89 15 8d 79 20 00 mov %rdx,0x20798d(%rip) # 20a050 <heap_ptr>
26c3: 41 8b 45 00 mov 0x0(%r13),%eax
26c7: 41 89 47 18 mov %eax,0x18(%r15)
26cb: 41 8b 7d 00 mov 0x0(%r13),%edi
26cf: 85 ff test %edi,%edi
26d1: 0f 85 89 00 00 00 jne 2760 <add1Tree+0x1a0>
26d7: 49 8b 45 08 mov 0x8(%r13),%rax
26db: 49 89 d5 mov %rdx,%r13
26de: 48 83 c0 01 add $0x1,%rax
26e2: 49 89 47 20 mov %rax,0x20(%r15)
26e6: 48 89 53 40 mov %rdx,0x40(%rbx)
26ea: e9 52 ff ff ff jmpq 2641 <add1Tree+0x81>
26ef: 90 nop
26f0: 4c 8b 7d 08 mov 0x8(%rbp),%r15
26f4: 49 8d 55 30 lea 0x30(%r13),%rdx
26f8: 48 89 15 51 79 20 00 mov %rdx,0x207951(%rip) # 20a050 <heap_ptr>
26ff: 41 8b 07 mov (%r15),%eax
2702: 41 89 45 30 mov %eax,0x30(%r13)
2706: 41 8b 0f mov (%r15),%ecx
2709: 85 c9 test %ecx,%ecx
270b: 0f 85 df 00 00 00 jne 27f0 <add1Tree+0x230>
2711: 49 8b 47 08 mov 0x8(%r15),%rax
2715: 49 89 d7 mov %rdx,%r15
2718: 48 83 c0 01 add $0x1,%rax
271c: 49 89 45 38 mov %rax,0x38(%r13)
2720: 49 89 55 20 mov %rdx,0x20(%r13)
2724: 48 8b 6d 10 mov 0x10(%rbp),%rbp
2728: 49 8d 57 18 lea 0x18(%r15),%rdx
272c: 48 89 15 1d 79 20 00 mov %rdx,0x20791d(%rip) # 20a050 <heap_ptr>
2733: 8b 45 00 mov 0x0(%rbp),%eax
2736: 41 89 47 18 mov %eax,0x18(%r15)
273a: 8b 45 00 mov 0x0(%rbp),%eax
273d: 85 c0 test %eax,%eax
273f: 75 7f jne 27c0 <add1Tree+0x200>
2741: 48 8b 45 08 mov 0x8(%rbp),%rax
2745: 48 83 c0 01 add $0x1,%rax
2749: 49 89 47 20 mov %rax,0x20(%r15)
274d: 49 89 55 28 mov %rdx,0x28(%r13)
2751: e9 1c ff ff ff jmpq 2672 <add1Tree+0xb2>
2756: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
275d: 00 00 00
2760: 49 8b 7d 08 mov 0x8(%r13),%rdi
2764: 48 89 54 24 08 mov %rdx,0x8(%rsp)
2769: e8 52 fe ff ff callq 25c0 <add1Tree>
276e: 49 89 47 20 mov %rax,0x20(%r15)
2772: 49 8b 7d 10 mov 0x10(%r13),%rdi
2776: e8 45 fe ff ff callq 25c0 <add1Tree>
277b: 4c 8b 2d ce 78 20 00 mov 0x2078ce(%rip),%r13 # 20a050 <heap_ptr>
2782: 49 89 47 28 mov %rax,0x28(%r15)
2786: 48 8b 54 24 08 mov 0x8(%rsp),%rdx
278b: e9 56 ff ff ff jmpq 26e6 <add1Tree+0x126>
2790: 49 8b 7f 08 mov 0x8(%r15),%rdi
2794: 48 89 54 24 08 mov %rdx,0x8(%rsp)
2799: e8 22 fe ff ff callq 25c0 <add1Tree>
279e: 48 89 43 50 mov %rax,0x50(%rbx)
27a2: 49 8b 7f 10 mov 0x10(%r15),%rdi
27a6: e8 15 fe ff ff callq 25c0 <add1Tree>
27ab: 4c 8b 3d 9e 78 20 00 mov 0x20789e(%rip),%r15 # 20a050 <heap_ptr>
27b2: 48 89 43 58 mov %rax,0x58(%rbx)
27b6: 48 8b 54 24 08 mov 0x8(%rsp),%rdx
27bb: e9 f0 fe ff ff jmpq 26b0 <add1Tree+0xf0>
27c0: 48 8b 7d 08 mov 0x8(%rbp),%rdi
27c4: 48 89 54 24 08 mov %rdx,0x8(%rsp)
27c9: e8 f2 fd ff ff callq 25c0 <add1Tree>
27ce: 49 89 47 20 mov %rax,0x20(%r15)
27d2: 48 8b 7d 10 mov 0x10(%rbp),%rdi
27d6: e8 e5 fd ff ff callq 25c0 <add1Tree>
27db: 48 8b 54 24 08 mov 0x8(%rsp),%rdx
27e0: 49 89 47 28 mov %rax,0x28(%r15)
27e4: e9 64 ff ff ff jmpq 274d <add1Tree+0x18d>
27e9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
27f0: 49 8b 7f 08 mov 0x8(%r15),%rdi
27f4: 48 89 54 24 08 mov %rdx,0x8(%rsp)
27f9: e8 c2 fd ff ff callq 25c0 <add1Tree>
27fe: 49 89 45 38 mov %rax,0x38(%r13)
2802: 49 8b 7f 10 mov 0x10(%r15),%rdi
2806: e8 b5 fd ff ff callq 25c0 <add1Tree>
280b: 4c 8b 3d 3e 78 20 00 mov 0x20783e(%rip),%r15 # 20a050 <heap_ptr>
2812: 49 89 45 40 mov %rax,0x40(%r13)
2816: 48 8b 54 24 08 mov 0x8(%rsp),%rdx
281b: e9 00 ff ff ff jmpq 2720 <add1Tree+0x160>
# 8 recursive calls... unrolled twice?
[section "data" {
add1Tree_closure:
const add1Tree_info;
},
add1Tree_entry() // [R2]
{ info_tbl: [(c6HU,
label: block_c6HU_info
rep:StackRep []),
(c6I4,
label: add1Tree_info
rep:HeapRep static { Fun {arity: 1 fun_type: ArgSpec 5} }),
(c6Ii,
label: block_c6Ii_info
rep:StackRep [False]),
(c6Im,
label: block_c6Im_info
rep:StackRep [False])]
stack_info: arg_space: 8 updfr_space: Just 8
}
{offset
c6I4:
if ((Sp + -16) < SpLim) goto c6I5; else goto c6I6;
c6I5:
R2 = R2;
R1 = add1Tree_closure;
call (stg_gc_fun)(R2, R1) args: 8, res: 0, upd: 8;
c6I6:
I64[Sp - 8] = c6HU;
R1 = R2;
Sp = Sp - 8;
if (R1 & 7 != 0) goto c6HU; else goto c6HV;
c6HV:
call (I64[R1])(R1) returns to c6HU, args: 8, res: 8, upd: 8;
c6HU:
if (R1 & 7 >= 2) goto c6I2; else goto c6I3;
c6I2:
I64[Sp - 8] = c6Ii;
R2 = P64[R1 + 6];
P64[Sp] = P64[R1 + 14];
Sp = Sp - 8;
call add1Tree_info(R2) returns to c6Ii, args: 8, res: 8, upd: 8;
c6Ii:
I64[Sp] = c6Im;
R2 = P64[Sp + 8];
P64[Sp + 8] = R1;
call add1Tree_info(R2) returns to c6Im, args: 8, res: 8, upd: 8;
c6Im:
Hp = Hp + 24;
if (Hp > HpLim) goto c6Iv; else goto c6Iu;
c6Iv:
HpAlloc = 24;
R1 = R1;
call stg_gc_unpt_r1(R1) returns to c6Im, args: 8, res: 8, upd: 8;
c6Iu:
I64[Hp - 16] = Node_con_info;
P64[Hp - 8] = P64[Sp + 8];
P64[Hp] = R1;
R1 = Hp - 14;
Sp = Sp + 16;
call (P64[Sp])(R1) args: 8, res: 0, upd: 8;
c6I3:
Hp = Hp + 16;
if (Hp > HpLim) goto c6If; else goto c6Ie;
c6If:
HpAlloc = 16;
R1 = R1;
call stg_gc_unpt_r1(R1) returns to c6HU, args: 8, res: 8, upd: 8;
c6Ie:
_s6sc::I64 = I64[R1 + 7] + 1;
I64[Hp - 8] = Leaf_con_info;
I64[Hp] = _s6sc::I64;
R1 = Hp - 7;
Sp = Sp + 8;
call (P64[Sp])(R1) args: 8, res: 0, upd: 8;
}
}]
treebench_ghc_strict.exe: file format elf64-x86-64
;; add1Tree :: Tree -> Tree
;; add1Tree (Leaf n) = Leaf (n+1)
;; add1Tree (Node x y) = Node (add1Tree x) (add1Tree y)
..........
0000000000409ce0 <Main_add1Tree_info>:
409ce0: 48 8d 45 f0 lea -0x10(%rbp),%rax
409ce4: 4c 39 f8 cmp %r15,%rax
409ce7: 72 7d jb 409d66 <c6HU_info+0x56>
409ce9: 48 c7 45 f8 10 9d 40 movq $0x409d10,-0x8(%rbp)
409cf0: 00
409cf1: 4c 89 f3 mov %r14,%rbx
409cf4: 48 83 c5 f8 add $0xfffffffffffffff8,%rbp
409cf8: f6 c3 07 test $0x7,%bl
409cfb: 75 13 jne 409d10 <c6HU_info>
409cfd: ff 23 jmpq *(%rbx)
409cff: 90 nop
...
409d08: 20 00 and %al,(%rax)
409d0a: 00 00 add %al,(%rax)
409d0c: 00 00 add %al,(%rax)
...
0000000000409d10 <c6HU_info>:
409d10: 48 89 d8 mov %rbx,%rax
409d13: 83 e0 07 and $0x7,%eax
409d16: 48 83 f8 02 cmp $0x2,%rax
409d1a: 73 2d jae 409d49 <c6HU_info+0x39>
409d1c: 49 83 c4 10 add $0x10,%r12
409d20: 4d 3b a5 58 03 00 00 cmp 0x358(%r13),%r12
409d27: 77 46 ja 409d6f <c6HU_info+0x5f>
409d29: 48 8b 43 07 mov 0x7(%rbx),%rax
409d2d: 48 ff c0 inc %rax
409d30: 49 c7 44 24 f8 88 ba movq $0x40ba88,-0x8(%r12)
409d37: 40 00
409d39: 49 89 04 24 mov %rax,(%r12)
409d3d: 49 8d 5c 24 f9 lea -0x7(%r12),%rbx
409d42: 48 83 c5 08 add $0x8,%rbp
409d46: ff 65 00 jmpq *0x0(%rbp)
409d49: 48 c7 45 f8 90 9d 40 movq $0x409d90,-0x8(%rbp)
409d50: 00
409d51: 4c 8b 73 06 mov 0x6(%rbx),%r14
409d55: 48 8b 43 0e mov 0xe(%rbx),%rax
409d59: 48 89 45 00 mov %rax,0x0(%rbp)
409d5d: 48 83 c5 f8 add $0xfffffffffffffff8,%rbp
409d61: e9 7a ff ff ff jmpq 409ce0 <Main_add1Tree_info>
409d66: bb 48 f7 6f 00 mov $0x6ff748,%ebx
409d6b: 41 ff 65 f8 jmpq *-0x8(%r13)
409d6f: 49 c7 85 88 03 00 00 movq $0x10,0x388(%r13)
409d76: 10 00 00 00
409d7a: e9 09 61 0a 00 jmpq 4afe88 <stg_gc_unpt_r1>
409d7f: 90 nop
409d80: 01 00 add %eax,(%rax)
409d82: 00 00 add %al,(%rax)
409d84: 00 00 add %al,(%rax)
409d86: 00 00 add %al,(%rax)
409d88: 20 00 and %al,(%rax)
409d8a: 00 00 add %al,(%rax)
409d8c: 00 00 add %al,(%rax)
...
0000000000409d90 <c6Ii_info>:
409d90: 48 c7 45 00 b8 9d 40 movq $0x409db8,0x0(%rbp)
409d97: 00
409d98: 4c 8b 75 08 mov 0x8(%rbp),%r14
409d9c: 48 89 5d 08 mov %rbx,0x8(%rbp)
409da0: e9 3b ff ff ff jmpq 409ce0 <Main_add1Tree_info>
409da5: 0f 1f 00 nopl (%rax)
409da8: 01 00 add %eax,(%rax)
409daa: 00 00 add %al,(%rax)
409dac: 00 00 add %al,(%rax)
409dae: 00 00 add %al,(%rax)
409db0: 20 00 and %al,(%rax)
409db2: 00 00 add %al,(%rax)
409db4: 00 00 add %al,(%rax)
...
0000000000409db8 <c6Im_info>:
409db8: 49 83 c4 18 add $0x18,%r12
409dbc: 4d 3b a5 58 03 00 00 cmp 0x358(%r13),%r12
409dc3: 77 22 ja 409de7 <c6Im_info+0x2f>
409dc5: 49 c7 44 24 f0 c8 ba movq $0x40bac8,-0x10(%r12)
409dcc: 40 00
409dce: 48 8b 45 08 mov 0x8(%rbp),%rax
409dd2: 49 89 44 24 f8 mov %rax,-0x8(%r12)
409dd7: 49 89 1c 24 mov %rbx,(%r12)
409ddb: 49 8d 5c 24 f2 lea -0xe(%r12),%rbx
409de0: 48 83 c5 10 add $0x10,%rbp
409de4: ff 65 00 jmpq *0x0(%rbp)
409de7: 49 c7 85 88 03 00 00 movq $0x18,0x388(%r13)
409dee: 18 00 00 00
409df2: e9 91 60 0a 00 jmpq 4afe88 <stg_gc_unpt_r1>
409df7: 90 nop
409df8: 01 00 add %eax,(%rax)
409dfa: 00 00 add %al,(%rax)
409dfc: 00 00 add %al,(%rax)
409dfe: 00 00 add %al,(%rax)
409e00: 11 00 adc %eax,(%rax)
409e02: 00 00 add %al,(%rax)
409e04: 00 00 add %al,(%rax)
...
0000000000409e08 <s6sk_info>:
409e08: 48 8d 45 f0 lea -0x10(%rbp),%rax
409e0c: 4c 39 f8 cmp %r15,%rax
409e0f: 72 19 jb 409e2a <s6sk_info+0x22>
409e11: 48 c7 45 f0 38 54 4b movq $0x4b5438,-0x10(%rbp)
409e18: 00
409e19: 48 89 5d f8 mov %rbx,-0x8(%rbp)
409e1d: 4c 8b 73 10 mov 0x10(%rbx),%r14
409e21: 48 83 c5 f0 add $0xfffffffffffffff0,%rbp
409e25: e9 b6 fe ff ff jmpq 409ce0 <Main_add1Tree_info>
409e2a: 41 ff 65 f0 jmpq *-0x10(%r13)
409e2e: 66 90 xchg %ax,%ax
409e30: 0f 00 00 sldt (%rax)
409e33: 00 03 add %al,(%rbx)
...
409e3d: 00 00 add %al,(%rax)
409e3f: 00 0f add %cl,(%rdi)
409e41: 00 00 add %al,(%rax)
409e43: 00 00 add %al,(%rax)
409e45: 00 00 add %al,(%rax)
...
0000000000409e48 <r6qz_info>:
409e48: 49 83 c4 18 add $0x18,%r12
409e4c: 4d 3b a5 58 03 00 00 cmp 0x358(%r13),%r12
409e53: 77 18 ja 409e6d <r6qz_info+0x25>
409e55: 49 c7 44 24 f0 08 9e movq $0x409e08,-0x10(%r12)
409e5c: 40 00
409e5e: 49 89 34 24 mov %rsi,(%r12)
409e62: 49 8d 5c 24 f0 lea -0x10(%r12),%rbx
409e67: 48 83 e3 f8 and $0xfffffffffffffff8,%rbx
409e6b: ff 23 jmpq *(%rbx)
409e6d: 49 c7 85 88 03 00 00 movq $0x18,0x388(%r13)
409e74: 18 00 00 00
409e78: bb 50 f7 6f 00 mov $0x6ff750,%ebx
409e7d: 41 ff 65 f8 jmpq *-0x8(%r13)
409e81: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
409e88: 0f 00 00 sldt (%rax)
409e8b: 00 03 add %al,(%rbx)
...
409e95: 00 00 add %al,(%rax)
409e97: 00 0f add %cl,(%rdi)
409e99: 00 00 add %al,(%rax)
409e9b: 00 00 add %al,(%rax)
409e9d: 00 00 add %al,(%rax)
...
treebench_mlton.exe: file format elf64-x86-64
........
;; fun add1Tree (t: tree): tree =
;; case t of
;; Leaf n => Leaf (n + 1)
;; | Node (t1, t2) => Node (add1Tree t1, add1Tree t2)
00000000004107a0 <add1Tree_0>:
4107a0: 48 39 2d d1 22 22 00 cmp %rbp,0x2222d1(%rip) # 632a78 <gcState+0x18>
4107a7: 73 5f jae 410808 <L_1683>
00000000004107a9 <L_1693>:
4107a9: 48 8b 25 98 2a 22 00 mov 0x222a98(%rip),%rsp # 633248 <c_stackP>
4107b0: 41 bf 00 00 00 00 mov $0x0,%r15d
4107b6: 44 89 fa mov %r15d,%edx
4107b9: 48 31 f6 xor %rsi,%rsi
4107bc: 4c 8d 3d 9d 22 22 00 lea 0x22229d(%rip),%r15 # 632a60 <gcState>
4107c3: 4c 89 ff mov %r15,%rdi
4107c6: 48 31 c0 xor %rax,%rax
4107c9: 48 83 c5 10 add $0x10,%rbp
4107cd: 4c 8d 3d 30 00 00 00 lea 0x30(%rip),%r15 # 410804 <L_1694>
4107d4: 4c 89 7d f8 mov %r15,-0x8(%rbp)
4107d8: 48 89 2d 91 22 22 00 mov %rbp,0x222291(%rip) # 632a70 <gcState+0x10>
4107df: 4c 89 25 7a 22 22 00 mov %r12,0x22227a(%rip) # 632a60 <gcState>
4107e6: e8 35 d6 00 00 callq 41de20 <GC_collect>
4107eb: 4c 8b 25 6e 22 22 00 mov 0x22226e(%rip),%r12 # 632a60 <gcState>
4107f2: 48 8b 2d 77 22 22 00 mov 0x222277(%rip),%rbp # 632a70 <gcState+0x10>
4107f9: eb 09 jmp 410804 <L_1694>
4107fb: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
410800: 4e 00 00 rex.WRX add %r8b,(%rax)
...
0000000000410804 <L_1694>:
410804: 48 83 c5 f0 add $0xfffffffffffffff0,%rbp
0000000000410808 <L_1683>:
410808: 4c 8b 75 00 mov 0x0(%rbp),%r14
41080c: 4d 8b 7e f8 mov -0x8(%r14),%r15
410810: 49 d1 ef shr %r15
410813: 49 83 ff 2e cmp $0x2e,%r15
410817: 74 37 je 410850 <L_1684>
0000000000410819 <L_1692>:
410819: 4d 8b 3e mov (%r14),%r15
000000000041081c <L_1689>:
41081c: 49 ff c7 inc %r15
41081f: 70 0f jo 410830 <L_1690>
0000000000410821 <L_1691>:
410821: ff 65 f8 jmpq *-0x8(%rbp)
410824: 66 90 xchg %ax,%ax
410826: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
41082d: 00 00 00
0000000000410830 <L_1690>:
410830: 48 c7 05 1d 17 22 00 movq $0x2,0x22171d(%rip) # 631f58 <globalObjptrNonRoot>
410837: 02 00 00 00
41083b: 48 8b 2d 76 28 22 00 mov 0x222876(%rip),%rbp # 6330b8 <gcState+0x658>
410842: 48 03 2d 37 22 22 00 add 0x222237(%rip),%rbp # 632a80 <gcState+0x20>
410849: ff 65 f8 jmpq *-0x8(%rbp)
41084c: 0f 1f 40 00 nopl 0x0(%rax)
0000000000410850 <L_1684>:
410850: 4d 8b 3e mov (%r14),%r15
410853: 4d 8b 76 08 mov 0x8(%r14),%r14
410857: 4c 89 75 00 mov %r14,0x0(%rbp)
000000000041085b <L_1685>:
41085b: 4c 89 7d 10 mov %r15,0x10(%rbp)
41085f: 48 83 c5 10 add $0x10,%rbp
410863: 4c 8d 3d 1a 00 00 00 lea 0x1a(%rip),%r15 # 410884 <L_1686>
41086a: 4c 89 7d f8 mov %r15,-0x8(%rbp)
41086e: e9 2d ff ff ff jmpq 4107a0 <add1Tree_0>
410873: 0f 1f 00 nopl (%rax)
410876: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
41087d: 00 00 00
410880: 68 00 00 00 48 pushq $0x48000000
0000000000410884 <L_1686>:
410884: 48 83 c5 f0 add $0xfffffffffffffff0,%rbp
410888: 4c 8b 75 00 mov 0x0(%rbp),%r14
41088c: 4d 8b 7e f8 mov -0x8(%r14),%r15
410890: 49 d1 ef shr %r15
410893: 49 83 ff 2e cmp $0x2e,%r15
410897: 74 17 je 4108b0 <L_1687>
0000000000410899 <L_1688>:
410899: 4d 8b 3e mov (%r14),%r15
41089c: e9 7b ff ff ff jmpq 41081c <L_1689>
4108a1: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
4108a6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
4108ad: 00 00 00
00000000004108b0 <L_1687>:
4108b0: 4d 8b 3e mov (%r14),%r15
4108b3: 4d 8b 76 08 mov 0x8(%r14),%r14
4108b7: 4c 89 75 00 mov %r14,0x0(%rbp)
4108bb: eb 9e jmp 41085b <L_1685>
4108bd: 0f 1f 00 nopl (%rax)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment