Skip to content

Commit 0a408be

Browse files
committed
Separate zend_jit_dump_lifetime_interval() function
1 parent d3dda1e commit 0a408be

File tree

1 file changed

+38
-50
lines changed

1 file changed

+38
-50
lines changed

ext/opcache/jit/zend_jit.c

Lines changed: 38 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1692,6 +1692,42 @@ static zend_lifetime_interval* zend_jit_linear_scan(const zend_op_array *op_arra
16921692
return handled;
16931693
}
16941694

1695+
static void zend_jit_dump_lifetime_interval(const zend_op_array *op_array, const zend_ssa *ssa, const zend_lifetime_interval *ival)
1696+
{
1697+
zend_life_range *range;
1698+
int var_num = ssa->vars[ival->ssa_var].var;
1699+
1700+
fprintf(stderr, "#%d.", ival->ssa_var);
1701+
zend_dump_var(op_array, (var_num < op_array->last_var ? IS_CV : 0), var_num);
1702+
fprintf(stderr, ": %u-%u", ival->range.start, ival->range.end);
1703+
range = ival->range.next;
1704+
while (range) {
1705+
fprintf(stderr, ", %u-%u", range->start, range->end);
1706+
range = range->next;
1707+
}
1708+
if (ival->reg != ZREG_NONE) {
1709+
fprintf(stderr, " (%s)", zend_reg_name[ival->reg]);
1710+
}
1711+
if (ival->flags & ZREG_LAST_USE) {
1712+
fprintf(stderr, " last_use");
1713+
}
1714+
if (ival->flags & ZREG_LOAD) {
1715+
fprintf(stderr, " load");
1716+
}
1717+
if (ival->flags & ZREG_STORE) {
1718+
fprintf(stderr, " store");
1719+
}
1720+
if (ival->hint) {
1721+
var_num = ssa->vars[ival->hint->ssa_var].var;
1722+
fprintf(stderr, " hint=#%d.", ival->hint->ssa_var);
1723+
zend_dump_var(op_array, (var_num < op_array->last_var ? IS_CV : 0), var_num);
1724+
if (ival->hint->reg != ZREG_NONE) {
1725+
fprintf(stderr, " (%s)", zend_reg_name[ival->hint->reg]);
1726+
}
1727+
}
1728+
fprintf(stderr, "\n");
1729+
}
1730+
16951731
static zend_lifetime_interval** zend_jit_allocate_registers(const zend_op_array *op_array, zend_ssa *ssa)
16961732
{
16971733
void *checkpoint;
@@ -1752,29 +1788,7 @@ static zend_lifetime_interval** zend_jit_allocate_registers(const zend_op_array
17521788
fprintf(stderr, "Live Ranges \"%s\"\n", op_array->function_name ? ZSTR_VAL(op_array->function_name) : "[main]");
17531789
ival = list;
17541790
while (ival) {
1755-
zend_life_range *range;
1756-
int var_num = ssa->vars[ival->ssa_var].var;
1757-
1758-
fprintf(stderr, "#%d.", ival->ssa_var);
1759-
zend_dump_var(op_array, (var_num < op_array->last_var ? IS_CV : 0), var_num);
1760-
fprintf(stderr, ": %u-%u", ival->range.start, ival->range.end);
1761-
range = ival->range.next;
1762-
while (range) {
1763-
fprintf(stderr, ", %u-%u", range->start, range->end);
1764-
range = range->next;
1765-
}
1766-
if (ival->flags & ZREG_LOAD) {
1767-
fprintf(stderr, " load");
1768-
}
1769-
if (ival->flags & ZREG_STORE) {
1770-
fprintf(stderr, " store");
1771-
}
1772-
if (ival->hint) {
1773-
var_num = ssa->vars[ival->hint->ssa_var].var;
1774-
fprintf(stderr, " hint=#%d.", ival->hint->ssa_var);
1775-
zend_dump_var(op_array, (var_num < op_array->last_var ? IS_CV : 0), var_num);
1776-
}
1777-
fprintf(stderr, "\n");
1791+
zend_jit_dump_lifetime_interval(op_array, ssa, ival);
17781792
ival = ival->list_next;
17791793
}
17801794
fprintf(stderr, "\n");
@@ -1917,33 +1931,7 @@ static zend_lifetime_interval** zend_jit_allocate_registers(const zend_op_array
19171931
for (i = 0; i < ssa->vars_count; i++) {
19181932
ival = intervals[i];
19191933
while (ival) {
1920-
zend_life_range *range;
1921-
int var_num = ssa->vars[ival->ssa_var].var;
1922-
1923-
fprintf(stderr, "#%d.", ival->ssa_var);
1924-
zend_dump_var(op_array, (var_num < op_array->last_var ? IS_CV : 0), var_num);
1925-
fprintf(stderr, ": %u-%u", ival->range.start, ival->range.end);
1926-
range = ival->range.next;
1927-
while (range) {
1928-
fprintf(stderr, ", %u-%u", range->start, range->end);
1929-
range = range->next;
1930-
}
1931-
fprintf(stderr, " (%s)", zend_reg_name[ival->reg]);
1932-
if (ival->flags & ZREG_LOAD) {
1933-
fprintf(stderr, " load");
1934-
}
1935-
if (ival->flags & ZREG_STORE) {
1936-
fprintf(stderr, " store");
1937-
}
1938-
if (ival->hint) {
1939-
var_num = ssa->vars[ival->hint->ssa_var].var;
1940-
fprintf(stderr, " hint=#%d.", ival->hint->ssa_var);
1941-
zend_dump_var(op_array, (var_num < op_array->last_var ? IS_CV : 0), var_num);
1942-
if (ival->hint->reg != ZREG_NONE) {
1943-
fprintf(stderr, " (%s)", zend_reg_name[ival->hint->reg]);
1944-
}
1945-
}
1946-
fprintf(stderr, "\n");
1934+
zend_jit_dump_lifetime_interval(op_array, ssa, ival);
19471935
ival = ival->list_next;
19481936
}
19491937
}

0 commit comments

Comments
 (0)