Skip to content

Commit 62ae21b

Browse files
committed
Give preference to live-ranges with register hints to improve register reuse.
1 parent ea03aca commit 62ae21b

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

ext/opcache/jit/zend_jit.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -964,7 +964,8 @@ static zend_lifetime_interval *zend_jit_sort_intervals(zend_lifetime_interval **
964964
if (ival) {
965965
if ((ival->range.start > last->range.start) ||
966966
(ival->range.start == last->range.start &&
967-
ival->range.end > last->range.end)) {
967+
((!ival->hint && last->hint) ||
968+
ival->range.end > last->range.end))) {
968969
last->list_next = ival;
969970
last = ival;
970971
ival->list_next = NULL;
@@ -978,7 +979,8 @@ static zend_lifetime_interval *zend_jit_sort_intervals(zend_lifetime_interval **
978979
break;
979980
} else if ((ival->range.start < (*p)->range.start) ||
980981
(ival->range.start == (*p)->range.start &&
981-
ival->range.end < (*p)->range.end)) {
982+
((ival->hint && !(*p)->hint) ||
983+
ival->range.end < (*p)->range.end))) {
982984
ival->list_next = *p;
983985
*p = ival;
984986
break;

0 commit comments

Comments
 (0)