Commit 67cbe09dda6 for php.net
commit 67cbe09dda6b2511dba207428ec45e8e25667911
Author: Gina Peter Banyard <girgias@php.net>
Date: Fri Mar 27 11:01:11 2026 +0000
Zend/Optimizer/zend_dump: minor refactorings (#21540)
- add const qualifiers
- reduce variable scope
- use bool type instead of int type
diff --git a/Zend/Optimizer/zend_dump.c b/Zend/Optimizer/zend_dump.c
index 16cb7518824..7557c315b9b 100644
--- a/Zend/Optimizer/zend_dump.c
+++ b/Zend/Optimizer/zend_dump.c
@@ -25,7 +25,7 @@
#include "zend_dump.h"
#include "zend_smart_str.h"
-void zend_dump_ht(HashTable *ht)
+void zend_dump_ht(const HashTable *ht)
{
zend_ulong index;
zend_string *key;
@@ -190,7 +190,7 @@ static void zend_dump_range(const zend_ssa_range *r)
}
}
-static void zend_dump_type_info(uint32_t info, zend_class_entry *ce, int is_instanceof, uint32_t dump_flags)
+static void zend_dump_type_info(uint32_t info, const zend_class_entry *ce, bool is_instanceof, uint32_t dump_flags)
{
bool first = true;
@@ -482,7 +482,7 @@ ZEND_API void zend_dump_op(const zend_op_array *op_array, const zend_basic_block
}
if (ZEND_OP_IS_FRAMELESS_ICALL(opline->opcode)) {
- zend_function *func = ZEND_FLF_FUNC(opline);
+ const zend_function *func = ZEND_FLF_FUNC(opline);
fprintf(stderr, "(%s)", ZSTR_VAL(func->common.function_name));
}
@@ -674,13 +674,13 @@ ZEND_API void zend_dump_op(const zend_op_array *op_array, const zend_basic_block
}
if (opline->op2_type == IS_CONST) {
- zval *op = CRT_CONSTANT(opline->op2);
+ const zval *op = CRT_CONSTANT(opline->op2);
if (
opline->opcode == ZEND_SWITCH_LONG
|| opline->opcode == ZEND_SWITCH_STRING
|| opline->opcode == ZEND_MATCH
) {
- HashTable *jumptable = Z_ARRVAL_P(op);
+ const HashTable *jumptable = Z_ARRVAL_P(op);
zend_string *key;
zend_ulong num_key;
zval *zv;
@@ -778,7 +778,7 @@ ZEND_API void zend_dump_op_line(const zend_op_array *op_array, const zend_basic_
{
int len = 0;
const zend_ssa *ssa = NULL;
- zend_ssa_op *ssa_op = NULL;
+ const zend_ssa_op *ssa_op = NULL;
if (dump_flags & ZEND_DUMP_LINE_NUMBERS) {
fprintf(stderr, "L%04u ", opline->lineno);
@@ -800,7 +800,7 @@ ZEND_API void zend_dump_op_line(const zend_op_array *op_array, const zend_basic_
static void zend_dump_block_info(const zend_cfg *cfg, int n, uint32_t dump_flags)
{
- zend_basic_block *b = cfg->blocks + n;
+ const zend_basic_block *b = cfg->blocks + n;
if (n > 0) {
fprintf(stderr, "\n");
@@ -856,8 +856,8 @@ static void zend_dump_block_info(const zend_cfg *cfg, int n, uint32_t dump_flags
fprintf(stderr, "\n");
if (b->predecessors_count) {
- int *p = cfg->predecessors + b->predecessor_offset;
- int *end = p + b->predecessors_count;
+ const int *p = cfg->predecessors + b->predecessor_offset;
+ const int *end = p + b->predecessors_count;
fprintf(stderr, " ; from=(BB%d", *p);
for (p++; p < end; p++) {
@@ -867,9 +867,8 @@ static void zend_dump_block_info(const zend_cfg *cfg, int n, uint32_t dump_flags
}
if (b->successors_count > 0) {
- int s;
fprintf(stderr, " ; to=(BB%d", b->successors[0]);
- for (s = 1; s < b->successors_count; s++) {
+ for (int s = 1; s < b->successors_count; s++) {
fprintf(stderr, ", BB%d", b->successors[s]);
}
fprintf(stderr, ")\n");
@@ -900,16 +899,14 @@ static void zend_dump_block_header(const zend_cfg *cfg, const zend_op_array *op_
{
zend_dump_block_info(cfg, n, dump_flags);
if (ssa && ssa->blocks && ssa->blocks[n].phis) {
- zend_ssa_phi *p = ssa->blocks[n].phis;
+ const zend_ssa_phi *p = ssa->blocks[n].phis;
do {
- int j;
-
fprintf(stderr, " ");
zend_dump_ssa_var(op_array, ssa, p->ssa_var, 0, p->var, dump_flags);
if (p->pi < 0) {
fprintf(stderr, " = Phi(");
- for (j = 0; j < cfg->blocks[n].predecessors_count; j++) {
+ for (int j = 0; j < cfg->blocks[n].predecessors_count; j++) {
if (j > 0) {
fprintf(stderr, ", ");
}
@@ -949,7 +946,7 @@ ZEND_API void zend_dump_op_array(const zend_op_array *op_array, uint32_t dump_fl
{
const zend_cfg *cfg = NULL;
const zend_ssa *ssa = NULL;
- zend_func_info *func_info = NULL;
+ const zend_func_info *func_info = NULL;
uint32_t func_flags = 0;
if (dump_flags & (ZEND_DUMP_CFG|ZEND_DUMP_SSA)) {
@@ -1040,11 +1037,8 @@ ZEND_API void zend_dump_op_array(const zend_op_array *op_array, uint32_t dump_fl
}
if (cfg) {
- int n;
- zend_basic_block *b;
-
- for (n = 0; n < cfg->blocks_count; n++) {
- b = cfg->blocks + n;
+ for (int n = 0; n < cfg->blocks_count; n++) {
+ const zend_basic_block *b = cfg->blocks + n;
if (!(dump_flags & ZEND_DUMP_HIDE_UNREACHABLE) || (b->flags & ZEND_BB_REACHABLE)) {
const zend_op *opline;
const zend_op *end;
@@ -1180,13 +1174,11 @@ ZEND_API void zend_dump_op_array(const zend_op_array *op_array, uint32_t dump_fl
void zend_dump_dominators(const zend_op_array *op_array, const zend_cfg *cfg)
{
- int j;
-
fprintf(stderr, "\nDOMINATORS-TREE for \"");
zend_dump_op_array_name(op_array);
fprintf(stderr, "\"\n");
- for (j = 0; j < cfg->blocks_count; j++) {
- zend_basic_block *b = cfg->blocks + j;
+ for (int j = 0; j < cfg->blocks_count; j++) {
+ const zend_basic_block *b = cfg->blocks + j;
if (b->flags & ZEND_BB_REACHABLE) {
zend_dump_block_info(cfg, j, 0);
}
@@ -1195,14 +1187,12 @@ void zend_dump_dominators(const zend_op_array *op_array, const zend_cfg *cfg)
void zend_dump_ssa_variables(const zend_op_array *op_array, const zend_ssa *ssa, uint32_t dump_flags)
{
- int j;
-
if (ssa->vars) {
fprintf(stderr, "\nSSA Variable for \"");
zend_dump_op_array_name(op_array);
fprintf(stderr, "\"\n");
- for (j = 0; j < ssa->vars_count; j++) {
+ for (int j = 0; j < ssa->vars_count; j++) {
fprintf(stderr, " ");
zend_dump_ssa_var(op_array, ssa, j, IS_CV, ssa->vars[j].var, dump_flags);
if (ssa->vars[j].scc >= 0) {
@@ -1221,10 +1211,9 @@ void zend_dump_ssa_variables(const zend_op_array *op_array, const zend_ssa *ssa,
static void zend_dump_var_set(const zend_op_array *op_array, const char *name, zend_bitset set)
{
bool first = true;
- uint32_t i;
fprintf(stderr, " ; %s = {", name);
- for (i = 0; i < op_array->last_var + op_array->T; i++) {
+ for (uint32_t i = 0; i < op_array->last_var + op_array->T; i++) {
if (zend_bitset_in(set, i)) {
if (first) {
first = false;
@@ -1239,12 +1228,11 @@ static void zend_dump_var_set(const zend_op_array *op_array, const char *name, z
void zend_dump_dfg(const zend_op_array *op_array, const zend_cfg *cfg, const zend_dfg *dfg)
{
- int j;
fprintf(stderr, "\nVariable Liveness for \"");
zend_dump_op_array_name(op_array);
fprintf(stderr, "\"\n");
- for (j = 0; j < cfg->blocks_count; j++) {
+ for (int j = 0; j < cfg->blocks_count; j++) {
fprintf(stderr, " BB%d:\n", j);
zend_dump_var_set(op_array, "def", DFG_BITSET(dfg->def, dfg->size, j));
zend_dump_var_set(op_array, "use", DFG_BITSET(dfg->use, dfg->size, j));
@@ -1255,17 +1243,16 @@ void zend_dump_dfg(const zend_op_array *op_array, const zend_cfg *cfg, const zen
void zend_dump_phi_placement(const zend_op_array *op_array, const zend_ssa *ssa)
{
- int j;
- zend_ssa_block *ssa_blocks = ssa->blocks;
+ const zend_ssa_block *ssa_blocks = ssa->blocks;
int blocks_count = ssa->cfg.blocks_count;
fprintf(stderr, "\nSSA Phi() Placement for \"");
zend_dump_op_array_name(op_array);
fprintf(stderr, "\"\n");
- for (j = 0; j < blocks_count; j++) {
+ for (int j = 0; j < blocks_count; j++) {
if (ssa_blocks && ssa_blocks[j].phis) {
- zend_ssa_phi *p = ssa_blocks[j].phis;
- int first = 1;
+ const zend_ssa_phi *p = ssa_blocks[j].phis;
+ bool first = true;
fprintf(stderr, " BB%d:\n", j);
if (p->pi >= 0) {
@@ -1275,7 +1262,7 @@ void zend_dump_phi_placement(const zend_op_array *op_array, const zend_ssa *ssa)
}
do {
if (first) {
- first = 0;
+ first = false;
} else {
fprintf(stderr, ", ");
}
diff --git a/Zend/Optimizer/zend_dump.h b/Zend/Optimizer/zend_dump.h
index db8f762bfc4..671f7c064fb 100644
--- a/Zend/Optimizer/zend_dump.h
+++ b/Zend/Optimizer/zend_dump.h
@@ -44,7 +44,7 @@ ZEND_API void zend_dump_ssa_var(const zend_op_array *op_array, const zend_ssa *s
ZEND_API void zend_dump_var(const zend_op_array *op_array, uint8_t var_type, uint32_t var_num);
void zend_dump_op_array_name(const zend_op_array *op_array);
void zend_dump_const(const zval *zv);
-void zend_dump_ht(HashTable *ht);
+void zend_dump_ht(const HashTable *ht);
END_EXTERN_C()