Commit ec63ab5
pythongh-92228: disable the compiler's 'small exit block inlining' optimization for blocks that have a line number (pythonGH-94592)
Inlining of code that corresponds to source code lines, can make it hard to distinguish later between code which is only reachable from except handlers, and that which is reachable in normal control flow. This caused problems with the debugger's jump feature.
This PR turns off the inlining optimisation for code which has line numbers. We still inline things like the implicit "return None".1 parent 9ca0fb8 commit ec63ab5
File tree
5 files changed
+33
-20
lines changed- Lib/test
- Misc/NEWS.d/next/Core and Builtins
- Python
5 files changed
+33
-20
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
360 | 360 | | |
361 | 361 | | |
362 | 362 | | |
363 | | - | |
| 363 | + | |
364 | 364 | | |
365 | 365 | | |
366 | 366 | | |
367 | 367 | | |
368 | 368 | | |
369 | | - | |
| 369 | + | |
370 | 370 | | |
371 | 371 | | |
372 | 372 | | |
| |||
376 | 376 | | |
377 | 377 | | |
378 | 378 | | |
379 | | - | |
380 | | - | |
381 | | - | |
| 379 | + | |
382 | 380 | | |
383 | 381 | | |
384 | 382 | | |
| |||
396 | 394 | | |
397 | 395 | | |
398 | 396 | | |
399 | | - | |
400 | 397 | | |
401 | 398 | | |
402 | 399 | | |
| |||
443 | 440 | | |
444 | 441 | | |
445 | 442 | | |
446 | | - | |
| 443 | + | |
447 | 444 | | |
448 | 445 | | |
449 | 446 | | |
| |||
456 | 453 | | |
457 | 454 | | |
458 | 455 | | |
459 | | - | |
460 | | - | |
461 | | - | |
462 | | - | |
463 | | - | |
| 456 | + | |
464 | 457 | | |
465 | 458 | | |
466 | 459 | | |
| |||
472 | 465 | | |
473 | 466 | | |
474 | 467 | | |
475 | | - | |
476 | 468 | | |
477 | 469 | | |
478 | 470 | | |
| |||
510 | 502 | | |
511 | 503 | | |
512 | 504 | | |
513 | | - | |
| 505 | + | |
514 | 506 | | |
515 | 507 | | |
516 | 508 | | |
| |||
529 | 521 | | |
530 | 522 | | |
531 | 523 | | |
532 | | - | |
533 | | - | |
534 | | - | |
535 | | - | |
536 | | - | |
| 524 | + | |
537 | 525 | | |
538 | 526 | | |
539 | 527 | | |
| |||
545 | 533 | | |
546 | 534 | | |
547 | 535 | | |
548 | | - | |
549 | 536 | | |
550 | 537 | | |
551 | 538 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
345 | 345 | | |
346 | 346 | | |
347 | 347 | | |
| 348 | + | |
| 349 | + | |
348 | 350 | | |
349 | 351 | | |
350 | 352 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2042 | 2042 | | |
2043 | 2043 | | |
2044 | 2044 | | |
| 2045 | + | |
| 2046 | + | |
| 2047 | + | |
| 2048 | + | |
| 2049 | + | |
| 2050 | + | |
| 2051 | + | |
| 2052 | + | |
| 2053 | + | |
2045 | 2054 | | |
2046 | 2055 | | |
2047 | 2056 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9224 | 9224 | | |
9225 | 9225 | | |
9226 | 9226 | | |
| 9227 | + | |
| 9228 | + | |
| 9229 | + | |
| 9230 | + | |
| 9231 | + | |
| 9232 | + | |
| 9233 | + | |
| 9234 | + | |
| 9235 | + | |
| 9236 | + | |
9227 | 9237 | | |
9228 | 9238 | | |
9229 | 9239 | | |
| |||
9240 | 9250 | | |
9241 | 9251 | | |
9242 | 9252 | | |
| 9253 | + | |
| 9254 | + | |
| 9255 | + | |
| 9256 | + | |
9243 | 9257 | | |
9244 | 9258 | | |
9245 | 9259 | | |
| |||
0 commit comments