Commit 79f62c8
Annotate lightweight frame linkage
Summary:
Add more annotations to lightweight frame linkage.
Before:
```
Link frame
0x7ff438e00163: sub $0x80,%rsp
0x7ff438e0016a: mov %fs:0xffffffffffffffe8,%r11
0x7ff438e00173: mov %rdi,-0x70(%rbp)
0x7ff438e00177: mov (%rdi),%eax
0x7ff438e00179: inc %eax
0x7ff438e0017b: je 0x7ff438e00183
0x7ff438e00181: mov %eax,(%rdi)
0x7ff438e00183: movabs $0x7ff44b57eb40,%r10
0x7ff438e0018d: mov %r10,-0x68(%rbp)
0x7ff438e00191: mov (%r10),%eax
0x7ff438e00194: inc %eax
0x7ff438e00196: je 0x7ff438e0019f
0x7ff438e0019c: mov %eax,(%r10)
0x7ff438e0019f: movabs $0x7ff44b12c450,%r10
0x7ff438e001a9: mov %r10,-0x58(%rbp)
0x7ff438e001ad: movabs $0x7ff44b57ebfe,%r10
0x7ff438e001b7: mov %r10,-0x30(%rbp)
0x7ff438e001bb: movb $0x0,-0x22(%rbp)
0x7ff438e001bf: mov 0x38(%r11),%rax
0x7ff438e001c3: mov (%rax),%r10
0x7ff438e001c6: mov %r10,-0x60(%rbp)
0x7ff438e001ca: lea -0x68(%rbp),%r10
0x7ff438e001ce: mov %r10,(%rax)
0x7ff438e001d1: mov %rsi,%r10
```
After:
```
Link frame
0x7f62ed800163: sub $0x80,%rsp
Load tstate
0x7f62ed80016a: mov %fs:0xffffffffffffffe8,%r11
Store func before frame header
0x7f62ed800173: mov %rdi,-0x70(%rbp)
0x7f62ed800177: mov (%rdi),%eax
0x7f62ed800179: inc %eax
0x7f62ed80017b: je 0x7f62ed800183
0x7f62ed800181: mov %eax,(%rdi)
Set _PyInterpreterFrame::f_code
0x7f62ed800183: movabs $0x7f62ff7b3b80,%r10
0x7f62ed80018d: mov %r10,-0x68(%rbp)
0x7f62ed800191: mov (%r10),%eax
0x7f62ed800194: inc %eax
0x7f62ed800196: je 0x7f62ed80019f
0x7f62ed80019c: mov %eax,(%r10)
Set _PyInterpreterFrame::f_funcobj to frame reifier
0x7f62ed80019f: movabs $0x7f62ff32f170,%r10
0x7f62ed8001a9: mov %r10,-0x58(%rbp)
Set _PyInterpreterFrame::prev_instr
0x7f62ed8001ad: movabs $0x7f62ff7b3c3e,%r10
0x7f62ed8001b7: mov %r10,-0x30(%rbp)
Set _PyInterpreterFrame::owner
0x7f62ed8001bb: movb $0x0,-0x22(%rbp)
Get topmost frame
0x7f62ed8001bf: mov 0x38(%r11),%rax
0x7f62ed8001c3: mov (%rax),%r10
Set _PyInterpreterFrame::previous
0x7f62ed8001c6: mov %r10,-0x60(%rbp)
Set _PyInterpreterFrame as topmost frame
0x7f62ed8001ca: lea -0x68(%rbp),%r10
0x7f62ed8001ce: mov %r10,(%rax)
--unassigned--
0x7f62ed8001d1: mov %rsi,%r10
```
Reviewed By: alexmalyshev
Differential Revision: D82850833
fbshipit-source-id: 0135c24f7e3689423463b86fddc4dd434be7a8f71 parent 2413db7 commit 79f62c8
1 file changed
Lines changed: 27 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
| 172 | + | |
172 | 173 | | |
| 174 | + | |
173 | 175 | | |
174 | 176 | | |
175 | 177 | | |
| |||
179 | 181 | | |
180 | 182 | | |
181 | 183 | | |
| 184 | + | |
182 | 185 | | |
183 | 186 | | |
184 | 187 | | |
| |||
191 | 194 | | |
192 | 195 | | |
193 | 196 | | |
| 197 | + | |
194 | 198 | | |
195 | 199 | | |
196 | 200 | | |
| |||
201 | 205 | | |
202 | 206 | | |
203 | 207 | | |
| 208 | + | |
204 | 209 | | |
205 | 210 | | |
| 211 | + | |
206 | 212 | | |
207 | 213 | | |
| 214 | + | |
208 | 215 | | |
209 | 216 | | |
210 | 217 | | |
| |||
214 | 221 | | |
215 | 222 | | |
216 | 223 | | |
| 224 | + | |
217 | 225 | | |
218 | | - | |
| 226 | + | |
| 227 | + | |
219 | 228 | | |
220 | 229 | | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
221 | 233 | | |
222 | 234 | | |
| 235 | + | |
223 | 236 | | |
224 | 237 | | |
| 238 | + | |
| 239 | + | |
225 | 240 | | |
| 241 | + | |
| 242 | + | |
226 | 243 | | |
227 | 244 | | |
228 | 245 | | |
| 246 | + | |
229 | 247 | | |
230 | 248 | | |
231 | 249 | | |
| 250 | + | |
232 | 251 | | |
233 | 252 | | |
234 | 253 | | |
| |||
242 | 261 | | |
243 | 262 | | |
244 | 263 | | |
| 264 | + | |
245 | 265 | | |
| 266 | + | |
246 | 267 | | |
247 | 268 | | |
| 269 | + | |
| 270 | + | |
248 | 271 | | |
| 272 | + | |
249 | 273 | | |
250 | 274 | | |
251 | 275 | | |
| 276 | + | |
| 277 | + | |
252 | 278 | | |
253 | 279 | | |
254 | 280 | | |
| |||
0 commit comments