Commit ddc4915
authored
Improve JIT TRACE coverage (#16171)
Now it's possible that PHP tracing JIT loses some parts of the "hot"
code. In case we have a root LOOP trace with an inlined call of some
function, and we get a SIDE exit inside that function - we recorded a
side trace, but finished it a the RETURN of the inlined function. As
result the opcodes betwee RETURN from SIDE trace and LOOP exit were not
covered by tracer and were executed in interpreter.
This patch introduces a "ret_depth" argument that prevents stopping
tracing on RETURN of such SIDE trace.1 parent 3952a8f commit ddc4915
File tree
3 files changed
+55
-6
lines changed- ext/opcache/jit
3 files changed
+55
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
647 | 647 | | |
648 | 648 | | |
649 | 649 | | |
650 | | - | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
651 | 656 | | |
652 | 657 | | |
653 | 658 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8066 | 8066 | | |
8067 | 8067 | | |
8068 | 8068 | | |
8069 | | - | |
| 8069 | + | |
8070 | 8070 | | |
8071 | 8071 | | |
8072 | 8072 | | |
| |||
8390 | 8390 | | |
8391 | 8391 | | |
8392 | 8392 | | |
| 8393 | + | |
| 8394 | + | |
8393 | 8395 | | |
8394 | 8396 | | |
8395 | 8397 | | |
| |||
8414 | 8416 | | |
8415 | 8417 | | |
8416 | 8418 | | |
8417 | | - | |
| 8419 | + | |
| 8420 | + | |
8418 | 8421 | | |
8419 | 8422 | | |
8420 | 8423 | | |
| |||
8434 | 8437 | | |
8435 | 8438 | | |
8436 | 8439 | | |
| 8440 | + | |
| 8441 | + | |
| 8442 | + | |
| 8443 | + | |
| 8444 | + | |
| 8445 | + | |
| 8446 | + | |
| 8447 | + | |
| 8448 | + | |
| 8449 | + | |
| 8450 | + | |
| 8451 | + | |
| 8452 | + | |
| 8453 | + | |
| 8454 | + | |
| 8455 | + | |
| 8456 | + | |
| 8457 | + | |
| 8458 | + | |
| 8459 | + | |
| 8460 | + | |
8437 | 8461 | | |
8438 | | - | |
| 8462 | + | |
8439 | 8463 | | |
8440 | 8464 | | |
8441 | 8465 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
575 | 575 | | |
576 | 576 | | |
577 | 577 | | |
578 | | - | |
| 578 | + | |
579 | 579 | | |
580 | 580 | | |
581 | 581 | | |
| |||
586 | 586 | | |
587 | 587 | | |
588 | 588 | | |
| 589 | + | |
589 | 590 | | |
590 | 591 | | |
591 | 592 | | |
592 | | - | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
593 | 599 | | |
594 | 600 | | |
595 | 601 | | |
| |||
1060 | 1066 | | |
1061 | 1067 | | |
1062 | 1068 | | |
| 1069 | + | |
| 1070 | + | |
| 1071 | + | |
| 1072 | + | |
| 1073 | + | |
| 1074 | + | |
| 1075 | + | |
| 1076 | + | |
| 1077 | + | |
| 1078 | + | |
| 1079 | + | |
| 1080 | + | |
| 1081 | + | |
| 1082 | + | |
1063 | 1083 | | |
1064 | 1084 | | |
1065 | 1085 | | |
| |||
0 commit comments