Commit e0837be
authored
Add debug information for runtime async methods (#120303)
- Add new JIT-EE API to report back debug information about the generated state
machine and continuations
- Refactor debug info storage on VM side to be more easily extensible. The new
format has either a thin or fat header. The fat header is used when we have
either uninstrumented bounds, patchpoint info, rich debug info or async debug
info, and stores the blob sizes of all of those components in addition to the
bounds and vars. It is indicated by the first field (size of bounds) having
value 0, which is an uncommon value for this field.
- Add new async debug information to the storage on the VM side
- Implement new format in R2R as well, bump R2R major version (might as well do
this now as we expect to need to store async debug info in R2R during .NET 11
anyway)
- Remove `Continuation.Resume` in favor of a `Continuation.ResumeInfo` pointer
that gives both the resumption stub and a `DiagnosticIP`. The `DiagnosticIP`
can be used for async stackwalking and for keying into the async debug info
- Teach the JIT to emit "async resumption info tables" and update the async
transformation to point `Continuation.ResumeInfo` at this table's entries on
suspension
- Add a new `ICorDebugInfo::ASYNC` source type; emit mappings with this source
type for generated suspension and resumption code1 parent d7fba07 commit e0837be
File tree
64 files changed
+1685
-698
lines changed- src/coreclr
- System.Private.CoreLib/src/System/Runtime/CompilerServices
- inc
- jit
- nativeaot/Runtime/inc
- tools
- Common
- Internal/Runtime
- JitInterface
- ThunkGenerator
- aot
- ILCompiler.ReadyToRun/Compiler/DependencyAnalysis/ReadyToRun
- ILCompiler.Reflection.ReadyToRun
- jitinterface
- r2rdump
- superpmi
- superpmi-shim-collector
- superpmi-shim-counter
- superpmi-shim-simple
- superpmi
- vm
- datadescriptor
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
64 files changed
+1685
-698
lines changedLines changed: 72 additions & 30 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
78 | 78 | | |
79 | 79 | | |
80 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
81 | 97 | | |
82 | 98 | | |
83 | 99 | | |
84 | 100 | | |
85 | | - | |
| 101 | + | |
86 | 102 | | |
87 | 103 | | |
88 | 104 | | |
| |||
195 | 211 | | |
196 | 212 | | |
197 | 213 | | |
198 | | - | |
199 | | - | |
200 | | - | |
| 214 | + | |
| 215 | + | |
201 | 216 | | |
202 | 217 | | |
203 | 218 | | |
| |||
261 | 276 | | |
262 | 277 | | |
263 | 278 | | |
264 | | - | |
265 | | - | |
266 | | - | |
| 279 | + | |
| 280 | + | |
267 | 281 | | |
268 | 282 | | |
269 | 283 | | |
| |||
329 | 343 | | |
330 | 344 | | |
331 | 345 | | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
332 | 368 | | |
333 | 369 | | |
334 | 370 | | |
335 | 371 | | |
336 | | - | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
337 | 377 | | |
338 | 378 | | |
339 | 379 | | |
340 | | - | |
| 380 | + | |
341 | 381 | | |
342 | 382 | | |
343 | | - | |
344 | | - | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
345 | 389 | | |
346 | 390 | | |
347 | 391 | | |
348 | | - | |
| 392 | + | |
349 | 393 | | |
350 | 394 | | |
| 395 | + | |
351 | 396 | | |
352 | 397 | | |
353 | | - | |
354 | | - | |
355 | 398 | | |
356 | 399 | | |
357 | 400 | | |
358 | | - | |
359 | | - | |
360 | | - | |
| 401 | + | |
| 402 | + | |
361 | 403 | | |
362 | 404 | | |
363 | 405 | | |
| |||
366 | 408 | | |
367 | 409 | | |
368 | 410 | | |
| 411 | + | |
| 412 | + | |
369 | 413 | | |
370 | 414 | | |
371 | 415 | | |
| |||
374 | 418 | | |
375 | 419 | | |
376 | 420 | | |
377 | | - | |
378 | | - | |
379 | | - | |
| 421 | + | |
| 422 | + | |
380 | 423 | | |
381 | 424 | | |
382 | | - | |
| 425 | + | |
383 | 426 | | |
384 | 427 | | |
385 | 428 | | |
386 | 429 | | |
387 | 430 | | |
| 431 | + | |
| 432 | + | |
388 | 433 | | |
389 | 434 | | |
390 | 435 | | |
| |||
393 | 438 | | |
394 | 439 | | |
395 | 440 | | |
396 | | - | |
| 441 | + | |
397 | 442 | | |
398 | 443 | | |
| 444 | + | |
399 | 445 | | |
400 | 446 | | |
401 | 447 | | |
402 | 448 | | |
403 | 449 | | |
404 | | - | |
| 450 | + | |
405 | 451 | | |
406 | 452 | | |
407 | 453 | | |
408 | | - | |
409 | | - | |
410 | | - | |
411 | | - | |
412 | | - | |
413 | | - | |
| 454 | + | |
| 455 | + | |
414 | 456 | | |
415 | | - | |
| 457 | + | |
416 | 458 | | |
417 | 459 | | |
418 | 460 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
| 49 | + | |
49 | 50 | | |
50 | 51 | | |
51 | 52 | | |
| |||
431 | 432 | | |
432 | 433 | | |
433 | 434 | | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
434 | 461 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1735 | 1735 | | |
1736 | 1736 | | |
1737 | 1737 | | |
1738 | | - | |
1739 | | - | |
| 1738 | + | |
| 1739 | + | |
1740 | 1740 | | |
1741 | 1741 | | |
1742 | 1742 | | |
| |||
2913 | 2913 | | |
2914 | 2914 | | |
2915 | 2915 | | |
| 2916 | + | |
| 2917 | + | |
| 2918 | + | |
| 2919 | + | |
| 2920 | + | |
| 2921 | + | |
| 2922 | + | |
| 2923 | + | |
| 2924 | + | |
| 2925 | + | |
2916 | 2926 | | |
2917 | 2927 | | |
2918 | 2928 | | |
| |||
3341 | 3351 | | |
3342 | 3352 | | |
3343 | 3353 | | |
3344 | | - | |
| 3354 | + | |
3345 | 3355 | | |
3346 | 3356 | | |
3347 | 3357 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
453 | 453 | | |
454 | 454 | | |
455 | 455 | | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
456 | 462 | | |
457 | 463 | | |
458 | 464 | | |
| |||
660 | 666 | | |
661 | 667 | | |
662 | 668 | | |
663 | | - | |
| 669 | + | |
| 670 | + | |
664 | 671 | | |
665 | 672 | | |
666 | 673 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
37 | 37 | | |
38 | 38 | | |
39 | 39 | | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
112 | 112 | | |
113 | 113 | | |
114 | 114 | | |
| 115 | + | |
115 | 116 | | |
116 | 117 | | |
117 | 118 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1067 | 1067 | | |
1068 | 1068 | | |
1069 | 1069 | | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
1070 | 1081 | | |
1071 | 1082 | | |
1072 | 1083 | | |
| |||
1547 | 1558 | | |
1548 | 1559 | | |
1549 | 1560 | | |
1550 | | - | |
| 1561 | + | |
| 1562 | + | |
1551 | 1563 | | |
1552 | 1564 | | |
1553 | | - | |
| 1565 | + | |
1554 | 1566 | | |
1555 | 1567 | | |
1556 | 1568 | | |
| |||
0 commit comments