Ticket #592: asm_dumps.txt

File asm_dumps.txt, 8.0 KB (added by static-void, 12 years ago)

Dump of related asm code, locals and registers

Line 
1Dump 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
47End of assembler dump.
48
49
50
51
52
53Dump of assembler code for function ChertTable::add_item_to_block(unsigned char*, Item_wr, int):
54684 {
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
65685 LOGCALL_VOID(DB, "ChertTable::add_item_to_block", (void*)p | Literal("kt_") | c);
66686 Assert(writable);
67687 int dir_end = DIR_END(p);
68688 int kt_len = kt_.size();
69689 int needed = kt_len + D2;
70 0x00007ffff22e3b1f <+127>: lea 0x2(%r14),%eax
71
72690 int new_total = TOTAL_FREE(p) - needed;
73 0x00007ffff22e3b2d <+141>: sub %eax,%r13d
74
75691 int new_max = MAX_FREE(p) - needed;
76 0x00007ffff22e3b32 <+146>: sub %eax,%r12d
77
78692
79693 Assert(new_total >= 0);
80694
81695 AssertRel(MAX_FREE(p),>=,needed);
82696
83697 Assert(dir_end >= c);
84698
85699 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
93700 dir_end += D2;
94=> 0x00007ffff22e3b3d <+157>: lea 0x2(%r15),%edi
95
96701 SET_DIR_END(p, dir_end);
97702
98703 int o = dir_end + new_max;
99 0x00007ffff22e3b51 <+177>: add %r12d,%edi
100
101704 setD(p, c, o);
102705 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
107706
108707 SET_MAX_FREE(p, new_max);
109708
110709 SET_TOTAL_FREE(p, new_total);
111710 }
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
122End of assembler dump.
123
124
125
126Locals:
127
128dir_end = <optimized out>
129new_total = 25962
130new_max = 25962
131o = <optimized out>
132kt_len = 25965
133needed = 25967
134
135
136
137Registers:
138
139rax 0x10 16
140rbx 0x151c3d0 22135760
141rcx 0x30 48
142rdx 0x1fffffffffe67d84 2305843009212022148
143rsi 0x0 0
144rdi 0x85aff0 8761328
145rbp 0x151a3c0 0x151a3c0
146rsp 0x7ffff0625310 0x7ffff0625310
147r8 0x30 48
148r9 0x85afe0 8761312
149r10 0x85aff0 8761328
150r11 0x85ade0 8760800
151r12 0x656a 25962
152r13 0x656a 25962
153r14 0x656d 25965
154r15 0x0 0
155rip 0x7ffff22e3b3d 0x7ffff22e3b3d <ChertTable::add_item_to_block(unsigned char*, Item_wr, int)+157>
156eflags 0x10206 [ PF IF RF ]
157cs 0x33 51
158ss 0x2b 43
159ds 0x0 0
160es 0x0 0
161fs 0x0 0
162gs 0x0 0