1 | Dump of assembler code from 0x7ffff22e3a99 to 0x7ffff22e3b45:
|
---|
2 | 0x00007ffff22e3a99 <ChertTable::mid_point(unsigned char*)+201>: rex.WRX rol $0xf,%rbx
|
---|
3 | 0x00007ffff22e3a9d: (bad)
|
---|
4 | 0x00007ffff22e3a9e: add %cl,-0x77(%rax)
|
---|
5 | 0x00007ffff22e3aa2 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+2>: pop %rsp
|
---|
6 | 0x00007ffff22e3aa3 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+3>: and $0xd0,%al
|
---|
7 | 0x00007ffff22e3aa5 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+5>: mov %rbp,-0x28(%rsp)
|
---|
8 | 0x00007ffff22e3aaa <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+10>: mov %rdx,%rbp
|
---|
9 | 0x00007ffff22e3aad <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+13>: mov %r12,-0x20(%rsp)
|
---|
10 | 0x00007ffff22e3ab2 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+18>: mov %r13,-0x18(%rsp)
|
---|
11 | 0x00007ffff22e3ab7 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+23>: movslq %ecx,%r8
|
---|
12 | 0x00007ffff22e3aba <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+26>: mov %r14,-0x10(%rsp)
|
---|
13 | 0x00007ffff22e3abf <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+31>: mov %r15,-0x8(%rsp)
|
---|
14 | 0x00007ffff22e3ac4 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+36>: sub $0x48,%rsp
|
---|
15 | 0x00007ffff22e3ac8 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+40>: movzbl 0x9(%rsi),%r15d
|
---|
16 | 0x00007ffff22e3acd <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+45>: movzbl 0xa(%rsi),%eax
|
---|
17 | 0x00007ffff22e3ad1 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+49>: lea (%rsi,%r8,1),%r9
|
---|
18 | 0x00007ffff22e3ad5 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+53>: movzbl 0x7(%rsi),%r13d
|
---|
19 | 0x00007ffff22e3ada <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+58>: movzbl (%rdx),%r14d
|
---|
20 | 0x00007ffff22e3ade <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+62>: lea 0x2(%rsi,%r8,1),%rdi
|
---|
21 | 0x00007ffff22e3ae3 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+67>: movzbl 0x5(%rsi),%r12d
|
---|
22 | 0x00007ffff22e3ae8 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+72>: mov %rsi,%rbx
|
---|
23 | 0x00007ffff22e3aeb <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+75>: shl $0x8,%r15d
|
---|
24 | 0x00007ffff22e3aef <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+79>: or %eax,%r15d
|
---|
25 | 0x00007ffff22e3af2 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+82>: movzbl 0x1(%rdx),%eax
|
---|
26 | 0x00007ffff22e3af6 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+86>: movzbl 0x8(%rsi),%edx
|
---|
27 | 0x00007ffff22e3afa <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+90>: shl $0x8,%r13d
|
---|
28 | 0x00007ffff22e3afe <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+94>: shl $0x8,%r14d
|
---|
29 | 0x00007ffff22e3b02 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+98>: shl $0x8,%r12d
|
---|
30 | 0x00007ffff22e3b06 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+102>: or %edx,%r13d
|
---|
31 | 0x00007ffff22e3b09 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+105>: movzbl 0x6(%rsi),%edx
|
---|
32 | 0x00007ffff22e3b0d <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+109>: or %eax,%r14d
|
---|
33 | 0x00007ffff22e3b10 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+112>: and $0x7fff,%r14d
|
---|
34 | 0x00007ffff22e3b17 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+119>: mov %r9,%rsi
|
---|
35 | 0x00007ffff22e3b1a <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+122>: mov %r8,0x8(%rsp)
|
---|
36 | 0x00007ffff22e3b1f <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+127>: lea 0x2(%r14),%eax
|
---|
37 | 0x00007ffff22e3b23 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+131>: mov %r9,(%rsp)
|
---|
38 | 0x00007ffff22e3b27 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+135>: or %edx,%r12d
|
---|
39 | 0x00007ffff22e3b2a <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+138>: mov %r15d,%edx
|
---|
40 | 0x00007ffff22e3b2d <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+141>: sub %eax,%r13d
|
---|
41 | 0x00007ffff22e3b30 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+144>: sub %ecx,%edx
|
---|
42 | 0x00007ffff22e3b32 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+146>: sub %eax,%r12d
|
---|
43 | 0x00007ffff22e3b35 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+149>: movslq %edx,%rdx
|
---|
44 | 0x00007ffff22e3b38 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+152>: callq 0x7ffff223c080 <memmove@plt>
|
---|
45 | => 0x00007ffff22e3b3d <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+157>: lea 0x2(%r15),%edi
|
---|
46 | 0x00007ffff22e3b41 <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+161>: mov (%rsp),%r9
|
---|
47 | End of assembler dump.
|
---|
48 |
|
---|
49 |
|
---|
50 |
|
---|
51 |
|
---|
52 |
|
---|
53 | Dump of assembler code for function ChertTable::add_item_to_block(unsigned char*, Item_wr, int):
|
---|
54 | 684 {
|
---|
55 | 0x00007ffff22e3aa0 <+0>: mov %rbx,-0x30(%rsp)
|
---|
56 | 0x00007ffff22e3aa5 <+5>: mov %rbp,-0x28(%rsp)
|
---|
57 | 0x00007ffff22e3aaa <+10>: mov %rdx,%rbp
|
---|
58 | 0x00007ffff22e3aad <+13>: mov %r12,-0x20(%rsp)
|
---|
59 | 0x00007ffff22e3ab2 <+18>: mov %r13,-0x18(%rsp)
|
---|
60 | 0x00007ffff22e3aba <+26>: mov %r14,-0x10(%rsp)
|
---|
61 | 0x00007ffff22e3abf <+31>: mov %r15,-0x8(%rsp)
|
---|
62 | 0x00007ffff22e3ac4 <+36>: sub $0x48,%rsp
|
---|
63 | 0x00007ffff22e3ae8 <+72>: mov %rsi,%rbx
|
---|
64 |
|
---|
65 | 685 LOGCALL_VOID(DB, "ChertTable::add_item_to_block", (void*)p | Literal("kt_") | c);
|
---|
66 | 686 Assert(writable);
|
---|
67 | 687 int dir_end = DIR_END(p);
|
---|
68 | 688 int kt_len = kt_.size();
|
---|
69 | 689 int needed = kt_len + D2;
|
---|
70 | 0x00007ffff22e3b1f <+127>: lea 0x2(%r14),%eax
|
---|
71 |
|
---|
72 | 690 int new_total = TOTAL_FREE(p) - needed;
|
---|
73 | 0x00007ffff22e3b2d <+141>: sub %eax,%r13d
|
---|
74 |
|
---|
75 | 691 int new_max = MAX_FREE(p) - needed;
|
---|
76 | 0x00007ffff22e3b32 <+146>: sub %eax,%r12d
|
---|
77 |
|
---|
78 | 692
|
---|
79 | 693 Assert(new_total >= 0);
|
---|
80 | 694
|
---|
81 | 695 AssertRel(MAX_FREE(p),>=,needed);
|
---|
82 | 696
|
---|
83 | 697 Assert(dir_end >= c);
|
---|
84 | 698
|
---|
85 | 699 memmove(p + c + D2, p + c, dir_end - c);
|
---|
86 | 0x00007ffff22e3ab7 <+23>: movslq %ecx,%r8
|
---|
87 | 0x00007ffff22e3ad1 <+49>: lea (%rsi,%r8,1),%r9
|
---|
88 | 0x00007ffff22e3ade <+62>: lea 0x2(%rsi,%r8,1),%rdi
|
---|
89 | 0x00007ffff22e3b2a <+138>: mov %r15d,%edx
|
---|
90 | 0x00007ffff22e3b30 <+144>: sub %ecx,%edx
|
---|
91 | 0x00007ffff22e3b35 <+149>: movslq %edx,%rdx
|
---|
92 |
|
---|
93 | 700 dir_end += D2;
|
---|
94 | => 0x00007ffff22e3b3d <+157>: lea 0x2(%r15),%edi
|
---|
95 |
|
---|
96 | 701 SET_DIR_END(p, dir_end);
|
---|
97 | 702
|
---|
98 | 703 int o = dir_end + new_max;
|
---|
99 | 0x00007ffff22e3b51 <+177>: add %r12d,%edi
|
---|
100 |
|
---|
101 | 704 setD(p, c, o);
|
---|
102 | 705 memmove(p + o, kt_.get_address(), kt_len);
|
---|
103 | 0x00007ffff22e3b45 <+165>: movslq %r14d,%rdx
|
---|
104 | 0x00007ffff22e3b6c <+204>: movslq %edi,%rdi
|
---|
105 | 0x00007ffff22e3b6f <+207>: add %rbx,%rdi
|
---|
106 |
|
---|
107 | 706
|
---|
108 | 707 SET_MAX_FREE(p, new_max);
|
---|
109 | 708
|
---|
110 | 709 SET_TOTAL_FREE(p, new_total);
|
---|
111 | 710 }
|
---|
112 | 0x00007ffff22e3b85 <+229>: mov 0x20(%rsp),%rbp
|
---|
113 | 0x00007ffff22e3b8a <+234>: mov 0x28(%rsp),%r12
|
---|
114 | 0x00007ffff22e3b95 <+245>: mov 0x38(%rsp),%r14
|
---|
115 | 0x00007ffff22e3b9d <+253>: mov 0x30(%rsp),%r13
|
---|
116 | 0x00007ffff22e3ba2 <+258>: mov 0x40(%rsp),%r15
|
---|
117 | 0x00007ffff22e3baa <+266>: mov 0x18(%rsp),%rbx
|
---|
118 | 0x00007ffff22e3baf <+271>: add $0x48,%rsp
|
---|
119 | 0x00007ffff22e3bb3 <+275>: retq
|
---|
120 | 0x00007ffff22e3bb4: data32 data32 nopw %cs:0x0(%rax,%rax,1)
|
---|
121 |
|
---|
122 | End of assembler dump.
|
---|
123 |
|
---|
124 |
|
---|
125 |
|
---|
126 | Locals:
|
---|
127 |
|
---|
128 | dir_end = <optimized out>
|
---|
129 | new_total = 25962
|
---|
130 | new_max = 25962
|
---|
131 | o = <optimized out>
|
---|
132 | kt_len = 25965
|
---|
133 | needed = 25967
|
---|
134 |
|
---|
135 |
|
---|
136 |
|
---|
137 | Registers:
|
---|
138 |
|
---|
139 | rax 0x10 16
|
---|
140 | rbx 0x151c3d0 22135760
|
---|
141 | rcx 0x30 48
|
---|
142 | rdx 0x1fffffffffe67d84 2305843009212022148
|
---|
143 | rsi 0x0 0
|
---|
144 | rdi 0x85aff0 8761328
|
---|
145 | rbp 0x151a3c0 0x151a3c0
|
---|
146 | rsp 0x7ffff0625310 0x7ffff0625310
|
---|
147 | r8 0x30 48
|
---|
148 | r9 0x85afe0 8761312
|
---|
149 | r10 0x85aff0 8761328
|
---|
150 | r11 0x85ade0 8760800
|
---|
151 | r12 0x656a 25962
|
---|
152 | r13 0x656a 25962
|
---|
153 | r14 0x656d 25965
|
---|
154 | r15 0x0 0
|
---|
155 | rip 0x7ffff22e3b3d 0x7ffff22e3b3d <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+157>
|
---|
156 | eflags 0x10206 [ PF IF RF ]
|
---|
157 | cs 0x33 51
|
---|
158 | ss 0x2b 43
|
---|
159 | ds 0x0 0
|
---|
160 | es 0x0 0
|
---|
161 | fs 0x0 0
|
---|
162 | gs 0x0 0
|
---|