Last active
January 24, 2017 15:42
-
-
Save rrnewton/a9665ad924b12ad455e966689d4752d5 to your computer and use it in GitHub Desktop.
Assembly generated by add1-tree microbenchmark
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
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? | |
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
[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; | |
} | |
}] |
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
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) | |
... |
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
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