Skip to content

Commit f714cbc

Browse files
committed
Zend/zend_compile.h: use uint32_t type for zend_op_array.last_var
1 parent a2c9606 commit f714cbc

12 files changed

Lines changed: 18 additions & 22 deletions

Zend/Optimizer/compact_vars.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
/* This pass removes all CVs and temporaries that are completely unused. It does *not* merge any CVs or TMPs.
2424
* This pass does not operate on SSA form anymore. */
2525
void zend_optimizer_compact_vars(zend_op_array *op_array) {
26-
int i;
26+
uint32_t i;
2727

2828
ALLOCA_FLAG(use_heap1);
2929
ALLOCA_FLAG(use_heap2);

Zend/Optimizer/optimize_temp_vars_5.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
void zend_optimize_temporary_variables(zend_op_array *op_array, zend_optimizer_ctx *ctx)
4444
{
4545
uint32_t T = op_array->T;
46-
int offset = op_array->last_var;
46+
uint32_t offset = op_array->last_var;
4747
uint32_t bitset_len;
4848
zend_bitset taken_T; /* T index in use */
4949
zend_op **start_of_T; /* opline where T is first used */

Zend/Optimizer/sccp.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2381,7 +2381,7 @@ static uint32_t replace_constant_operands(sccp_ctx *ctx) {
23812381

23822382
/* We iterate the variables backwards, so we can eliminate sequences like INIT_ROPE
23832383
* and INIT_ARRAY. */
2384-
for (i = ssa->vars_count - 1; i >= op_array->last_var; i--) {
2384+
for (i = ssa->vars_count - 1; i >= (int)op_array->last_var; i--) {
23852385
zend_ssa_var *var = &ssa->vars[i];
23862386
zval *value;
23872387
int use;

Zend/Optimizer/zend_inference.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4885,7 +4885,7 @@ static void zend_mark_cv_references(const zend_op_array *op_array, const zend_sc
48854885
ZEND_API zend_result zend_ssa_inference(zend_arena **arena, const zend_op_array *op_array, const zend_script *script, zend_ssa *ssa, zend_long optimization_level) /* {{{ */
48864886
{
48874887
zend_ssa_var_info *ssa_var_info;
4888-
int i;
4888+
uint32_t i;
48894889

48904890
if (!ssa->var_info) {
48914891
ssa->var_info = zend_arena_calloc(arena, ssa->vars_count, sizeof(zend_ssa_var_info));

Zend/Optimizer/zend_ssa.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1001,7 +1001,8 @@ ZEND_API zend_result zend_build_ssa(zend_arena **arena, const zend_script *scrip
10011001
uint32_t set_size;
10021002
zend_bitset def, in, phi;
10031003
int *var = NULL;
1004-
int i, j, k, changed;
1004+
int i, k, changed;
1005+
uint32_t j;
10051006
zend_dfg dfg;
10061007
ALLOCA_FLAG(dfg_use_heap)
10071008
ALLOCA_FLAG(var_use_heap)

Zend/zend_compile.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -539,7 +539,7 @@ static zend_always_inline uint32_t get_temporary_variable(void) /* {{{ */
539539

540540
static uint32_t lookup_cv(zend_string *name) /* {{{ */{
541541
zend_op_array *op_array = CG(active_op_array);
542-
int i = 0;
542+
uint32_t i = 0;
543543
zend_ulong hash_value = zend_string_hash_val(name);
544544

545545
while (i < op_array->last_var) {
@@ -8486,9 +8486,8 @@ static void zend_compile_closure_uses(zend_ast *ast) /* {{{ */
84868486
ZVAL_NULL(&zv);
84878487

84888488
{
8489-
int i;
8490-
for (i = 0; i < op_array->last_var; i++) {
8491-
if (zend_string_equals(op_array->vars[i], var_name)) {
8489+
for (uint32_t j = 0; j < op_array->last_var; j++) {
8490+
if (zend_string_equals(op_array->vars[j], var_name)) {
84928491
zend_error_noreturn_unchecked(E_COMPILE_ERROR,
84938492
"Cannot use lexical variable $%S as a parameter name", var_name);
84948493
}

Zend/zend_compile.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,7 @@ struct _zend_op_array {
548548
/* END of common elements */
549549

550550
uint32_t cache_size; /* number of run_time_cache_slots * sizeof(void*) */
551-
int last_var; /* number of CV variables */
551+
uint32_t last_var; /* number of CV variables */
552552
uint32_t last; /* number of opcodes */
553553

554554
zend_op *opcodes;

Zend/zend_execute.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4278,7 +4278,7 @@ ZEND_API void zend_clean_and_cache_symbol_table(zend_array *symbol_table) /* {{{
42784278
static zend_always_inline void i_free_compiled_variables(zend_execute_data *execute_data) /* {{{ */
42794279
{
42804280
zval *cv = EX_VAR_NUM(0);
4281-
int count = EX(func)->op_array.last_var;
4281+
uint32_t count = EX(func)->op_array.last_var;
42824282
while (EXPECTED(count != 0)) {
42834283
i_zval_ptr_dtor(cv);
42844284
cv++;

ext/opcache/jit/zend_jit.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2915,9 +2915,7 @@ static int zend_jit(const zend_op_array *op_array, zend_ssa *ssa, const zend_op
29152915
left_frame = true;
29162916
}
29172917
if (!left_frame) {
2918-
int j;
2919-
2920-
for (j = 0 ; j < op_array->last_var; j++) {
2918+
for (uint32_t j = 0 ; j < op_array->last_var; j++) {
29212919
uint32_t info = zend_ssa_cv_info(op_array, ssa, j);
29222920

29232921
if (info & (MAY_BE_STRING|MAY_BE_ARRAY|MAY_BE_OBJECT|MAY_BE_RESOURCE|MAY_BE_REF)) {

ext/opcache/jit/zend_jit_trace.c

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -661,7 +661,7 @@ static int zend_jit_trace_add_phis(zend_jit_trace_rec *trace_buffer, uint32_t ss
661661
{
662662
const zend_op_array *op_array;
663663
zend_jit_trace_rec *p;
664-
int k, vars_count;
664+
uint32_t vars_count;
665665
zend_bitset use, def;
666666
uint32_t build_flags = ZEND_SSA_RC_INFERENCE | ZEND_SSA_USE_CV_RESULTS;
667667
uint32_t set_size;
@@ -712,7 +712,7 @@ static int zend_jit_trace_add_phis(zend_jit_trace_rec *trace_buffer, uint32_t ss
712712
} else {
713713
vars_count = op_array->last_var + op_array->T;
714714
}
715-
for (k = 0; k < vars_count; k++) {
715+
for (uint32_t k = 0; k < vars_count; k++) {
716716
if (zend_bitset_in(use, k)) {
717717
zend_ssa_phi *phi = zend_arena_calloc(&CG(arena), 1,
718718
ZEND_MM_ALIGNED_SIZE(sizeof(zend_ssa_phi)) +
@@ -7814,7 +7814,8 @@ static void zend_jit_dump_trace(zend_jit_trace_rec *trace_buffer, zend_ssa *tssa
78147814
const zend_op_array *op_array;
78157815
const zend_op *opline;
78167816
uint32_t level = 1 + trace_buffer[0].level;
7817-
int idx, len, i, v, vars_count, call_level;
7817+
int len, v;
7818+
uint32_t idx, i, vars_count, call_level;
78187819

78197820
ZEND_ASSERT(p->op == ZEND_JIT_TRACE_START);
78207821
op_array = p->op_array;

0 commit comments

Comments
 (0)