Dump of assembler code from 0x7ffff22e3a99 to 0x7ffff22e3b45: 0x00007ffff22e3a99 : rex.WRX rol $0xf,%rbx 0x00007ffff22e3a9d: (bad) 0x00007ffff22e3a9e: add %cl,-0x77(%rax) 0x00007ffff22e3aa2 : pop %rsp 0x00007ffff22e3aa3 : and $0xd0,%al 0x00007ffff22e3aa5 : mov %rbp,-0x28(%rsp) 0x00007ffff22e3aaa : mov %rdx,%rbp 0x00007ffff22e3aad : mov %r12,-0x20(%rsp) 0x00007ffff22e3ab2 : mov %r13,-0x18(%rsp) 0x00007ffff22e3ab7 : movslq %ecx,%r8 0x00007ffff22e3aba : mov %r14,-0x10(%rsp) 0x00007ffff22e3abf : mov %r15,-0x8(%rsp) 0x00007ffff22e3ac4 : sub $0x48,%rsp 0x00007ffff22e3ac8 : movzbl 0x9(%rsi),%r15d 0x00007ffff22e3acd : movzbl 0xa(%rsi),%eax 0x00007ffff22e3ad1 : lea (%rsi,%r8,1),%r9 0x00007ffff22e3ad5 : movzbl 0x7(%rsi),%r13d 0x00007ffff22e3ada : movzbl (%rdx),%r14d 0x00007ffff22e3ade : lea 0x2(%rsi,%r8,1),%rdi 0x00007ffff22e3ae3 : movzbl 0x5(%rsi),%r12d 0x00007ffff22e3ae8 : mov %rsi,%rbx 0x00007ffff22e3aeb : shl $0x8,%r15d 0x00007ffff22e3aef : or %eax,%r15d 0x00007ffff22e3af2 : movzbl 0x1(%rdx),%eax 0x00007ffff22e3af6 : movzbl 0x8(%rsi),%edx 0x00007ffff22e3afa : shl $0x8,%r13d 0x00007ffff22e3afe : shl $0x8,%r14d 0x00007ffff22e3b02 : shl $0x8,%r12d 0x00007ffff22e3b06 : or %edx,%r13d 0x00007ffff22e3b09 : movzbl 0x6(%rsi),%edx 0x00007ffff22e3b0d : or %eax,%r14d 0x00007ffff22e3b10 : and $0x7fff,%r14d 0x00007ffff22e3b17 : mov %r9,%rsi 0x00007ffff22e3b1a : mov %r8,0x8(%rsp) 0x00007ffff22e3b1f : lea 0x2(%r14),%eax 0x00007ffff22e3b23 : mov %r9,(%rsp) 0x00007ffff22e3b27 : or %edx,%r12d 0x00007ffff22e3b2a : mov %r15d,%edx 0x00007ffff22e3b2d : sub %eax,%r13d 0x00007ffff22e3b30 : sub %ecx,%edx 0x00007ffff22e3b32 : sub %eax,%r12d 0x00007ffff22e3b35 : movslq %edx,%rdx 0x00007ffff22e3b38 : callq 0x7ffff223c080 => 0x00007ffff22e3b3d : lea 0x2(%r15),%edi 0x00007ffff22e3b41 : mov (%rsp),%r9 End of assembler dump. Dump of assembler code for function ChertTable::add_item_to_block(unsigned char*, Item_wr, int): 684 { 0x00007ffff22e3aa0 <+0>: mov %rbx,-0x30(%rsp) 0x00007ffff22e3aa5 <+5>: mov %rbp,-0x28(%rsp) 0x00007ffff22e3aaa <+10>: mov %rdx,%rbp 0x00007ffff22e3aad <+13>: mov %r12,-0x20(%rsp) 0x00007ffff22e3ab2 <+18>: mov %r13,-0x18(%rsp) 0x00007ffff22e3aba <+26>: mov %r14,-0x10(%rsp) 0x00007ffff22e3abf <+31>: mov %r15,-0x8(%rsp) 0x00007ffff22e3ac4 <+36>: sub $0x48,%rsp 0x00007ffff22e3ae8 <+72>: mov %rsi,%rbx 685 LOGCALL_VOID(DB, "ChertTable::add_item_to_block", (void*)p | Literal("kt_") | c); 686 Assert(writable); 687 int dir_end = DIR_END(p); 688 int kt_len = kt_.size(); 689 int needed = kt_len + D2; 0x00007ffff22e3b1f <+127>: lea 0x2(%r14),%eax 690 int new_total = TOTAL_FREE(p) - needed; 0x00007ffff22e3b2d <+141>: sub %eax,%r13d 691 int new_max = MAX_FREE(p) - needed; 0x00007ffff22e3b32 <+146>: sub %eax,%r12d 692 693 Assert(new_total >= 0); 694 695 AssertRel(MAX_FREE(p),>=,needed); 696 697 Assert(dir_end >= c); 698 699 memmove(p + c + D2, p + c, dir_end - c); 0x00007ffff22e3ab7 <+23>: movslq %ecx,%r8 0x00007ffff22e3ad1 <+49>: lea (%rsi,%r8,1),%r9 0x00007ffff22e3ade <+62>: lea 0x2(%rsi,%r8,1),%rdi 0x00007ffff22e3b2a <+138>: mov %r15d,%edx 0x00007ffff22e3b30 <+144>: sub %ecx,%edx 0x00007ffff22e3b35 <+149>: movslq %edx,%rdx 700 dir_end += D2; => 0x00007ffff22e3b3d <+157>: lea 0x2(%r15),%edi 701 SET_DIR_END(p, dir_end); 702 703 int o = dir_end + new_max; 0x00007ffff22e3b51 <+177>: add %r12d,%edi 704 setD(p, c, o); 705 memmove(p + o, kt_.get_address(), kt_len); 0x00007ffff22e3b45 <+165>: movslq %r14d,%rdx 0x00007ffff22e3b6c <+204>: movslq %edi,%rdi 0x00007ffff22e3b6f <+207>: add %rbx,%rdi 706 707 SET_MAX_FREE(p, new_max); 708 709 SET_TOTAL_FREE(p, new_total); 710 } 0x00007ffff22e3b85 <+229>: mov 0x20(%rsp),%rbp 0x00007ffff22e3b8a <+234>: mov 0x28(%rsp),%r12 0x00007ffff22e3b95 <+245>: mov 0x38(%rsp),%r14 0x00007ffff22e3b9d <+253>: mov 0x30(%rsp),%r13 0x00007ffff22e3ba2 <+258>: mov 0x40(%rsp),%r15 0x00007ffff22e3baa <+266>: mov 0x18(%rsp),%rbx 0x00007ffff22e3baf <+271>: add $0x48,%rsp 0x00007ffff22e3bb3 <+275>: retq 0x00007ffff22e3bb4: data32 data32 nopw %cs:0x0(%rax,%rax,1) End of assembler dump. Locals: dir_end = new_total = 25962 new_max = 25962 o = kt_len = 25965 needed = 25967 Registers: rax 0x10 16 rbx 0x151c3d0 22135760 rcx 0x30 48 rdx 0x1fffffffffe67d84 2305843009212022148 rsi 0x0 0 rdi 0x85aff0 8761328 rbp 0x151a3c0 0x151a3c0 rsp 0x7ffff0625310 0x7ffff0625310 r8 0x30 48 r9 0x85afe0 8761312 r10 0x85aff0 8761328 r11 0x85ade0 8760800 r12 0x656a 25962 r13 0x656a 25962 r14 0x656d 25965 r15 0x0 0 rip 0x7ffff22e3b3d 0x7ffff22e3b3d eflags 0x10206 [ PF IF RF ] cs 0x33 51 ss 0x2b 43 ds 0x0 0 es 0x0 0 fs 0x0 0 gs 0x0 0