Skip to content

Commit 7e191ed

Browse files
committed
Zend: Convert _zend_op_array literal fields to uint32_t
1 parent 93cf649 commit 7e191ed

File tree

6 files changed

+15
-14
lines changed

6 files changed

+15
-14
lines changed

Zend/Optimizer/compact_literals.c

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ static zend_string *create_str_cache_key(zval *literal, uint8_t num_related)
110110
void zend_optimizer_compact_literals(zend_op_array *op_array, zend_optimizer_ctx *ctx)
111111
{
112112
zend_op *opline, *end;
113-
int i, j, n, *map;
113+
int n, *map;
114114
uint32_t cache_size;
115115
zval zv, *pos;
116116
literal_info *info;
@@ -124,6 +124,7 @@ void zend_optimizer_compact_literals(zend_op_array *op_array, zend_optimizer_ctx
124124
int *const_slot, *class_slot, *func_slot, *bind_var_slot, *property_slot, *method_slot, *jmp_slot;
125125

126126
if (op_array->last_literal) {
127+
uint32_t j;
127128
info = (literal_info*)zend_arena_calloc(&ctx->arena, op_array->last_literal, sizeof(literal_info));
128129

129130
/* Mark literals of specific types */
@@ -258,9 +259,9 @@ void zend_optimizer_compact_literals(zend_op_array *op_array, zend_optimizer_ctx
258259
op_array->function_name ? op_array->function_name->val : "main");
259260
fprintf(stderr, "Literals table size %d\n", op_array->last_literal);
260261

261-
for (int i = 0; i < op_array->last_literal; i++) {
262+
for (uint32_t i = 0; i < op_array->last_literal; i++) {
262263
zend_string *str = zval_get_string(op_array->literals + i);
263-
fprintf(stderr, "Literal %d, val (%zu):%s\n", i, ZSTR_LEN(str), ZSTR_VAL(str));
264+
fprintf(stderr, "Literal %" PRIu32 ", val (%zu):%s\n", i, ZSTR_LEN(str), ZSTR_VAL(str));
264265
zend_string_release(str);
265266
}
266267
fflush(stderr);
@@ -272,7 +273,7 @@ void zend_optimizer_compact_literals(zend_op_array *op_array, zend_optimizer_ctx
272273
zend_hash_init(&hash, op_array->last_literal, NULL, NULL, 0);
273274
map = (int*)zend_arena_alloc(&ctx->arena, op_array->last_literal * sizeof(int));
274275
memset(map, 0, op_array->last_literal * sizeof(int));
275-
for (i = 0; i < op_array->last_literal; i++) {
276+
for (uint32_t i = 0; i < op_array->last_literal; i++) {
276277
if (!info[i].num_related) {
277278
/* unset literal */
278279
zval_ptr_dtor_nogc(&op_array->literals[i]);
@@ -770,9 +771,9 @@ void zend_optimizer_compact_literals(zend_op_array *op_array, zend_optimizer_ctx
770771
{
771772
fprintf(stderr, "Optimized literals table size %d\n", op_array->last_literal);
772773

773-
for (int i = 0; i < op_array->last_literal; i++) {
774+
for (uint32_t i = 0; i < op_array->last_literal; i++) {
774775
zend_string *str = zval_get_string(op_array->literals + i);
775-
fprintf(stderr, "Literal %d, val (%zu):%s\n", i, ZSTR_LEN(str), ZSTR_VAL(str));
776+
fprintf(stderr, "Literal %" PRIu32 ", val (%zu):%s\n", i, ZSTR_LEN(str), ZSTR_VAL(str));
776777
zend_string_release(str);
777778
}
778779
fflush(stderr);

Zend/Optimizer/zend_optimizer.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -207,17 +207,17 @@ void zend_optimizer_convert_to_free_op1(zend_op_array *op_array, zend_op *opline
207207
}
208208
}
209209

210-
int zend_optimizer_add_literal(zend_op_array *op_array, const zval *zv)
210+
uint32_t zend_optimizer_add_literal(zend_op_array *op_array, const zval *zv)
211211
{
212-
int i = op_array->last_literal;
212+
uint32_t i = op_array->last_literal;
213213
op_array->last_literal++;
214214
op_array->literals = (zval*)erealloc(op_array->literals, op_array->last_literal * sizeof(zval));
215215
ZVAL_COPY_VALUE(&op_array->literals[i], zv);
216216
Z_EXTRA(op_array->literals[i]) = 0;
217217
return i;
218218
}
219219

220-
static inline int zend_optimizer_add_literal_string(zend_op_array *op_array, zend_string *str) {
220+
static inline uint32_t zend_optimizer_add_literal_string(zend_op_array *op_array, zend_string *str) {
221221
zval zv;
222222
ZVAL_STR(&zv, str);
223223
zend_string_hash_val(str);

Zend/Optimizer/zend_optimizer_internal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ static inline bool zend_optimizer_is_loop_var_free(const zend_op *opline) {
7979
}
8080

8181
void zend_optimizer_convert_to_free_op1(zend_op_array *op_array, zend_op *opline);
82-
int zend_optimizer_add_literal(zend_op_array *op_array, const zval *zv);
82+
uint32_t zend_optimizer_add_literal(zend_op_array *op_array, const zval *zv);
8383
bool zend_optimizer_get_persistent_constant(zend_string *name, zval *result, int copy);
8484
void zend_optimizer_collect_constant(zend_optimizer_ctx *ctx, zval *name, zval* value);
8585
bool zend_optimizer_get_collected_constant(HashTable *constants, zval *name, zval* value);

Zend/zend_compile.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,7 @@ static inline void zend_insert_literal(zend_op_array *op_array, zval *zv, int li
587587
static int zend_add_literal(zval *zv) /* {{{ */
588588
{
589589
zend_op_array *op_array = CG(active_op_array);
590-
int i = op_array->last_literal;
590+
uint32_t i = op_array->last_literal;
591591
op_array->last_literal++;
592592
if (i >= CG(context).literals_size) {
593593
while (i >= CG(context).literals_size) {

Zend/zend_compile.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ typedef struct _zend_oparray_context {
198198
zend_op_array *op_array;
199199
uint32_t opcodes_size;
200200
uint32_t vars_size;
201-
int literals_size;
201+
uint32_t literals_size;
202202
uint32_t fast_call_var;
203203
uint32_t try_catch_offset;
204204
int current_brk_cont;
@@ -549,7 +549,7 @@ struct _zend_op_array {
549549
uint32_t line_start;
550550
uint32_t line_end;
551551

552-
int last_literal;
552+
uint32_t last_literal;
553553
uint32_t num_dynamic_func_defs;
554554
zval *literals;
555555

sapi/phpdbg/phpdbg_info.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ PHPDBG_INFO(literal) /* {{{ */
307307
bool in_executor = PHPDBG_G(in_execution) && EG(current_execute_data) && EG(current_execute_data)->func;
308308
if (in_executor || PHPDBG_G(ops)) {
309309
zend_op_array *ops = in_executor ? &EG(current_execute_data)->func->op_array : PHPDBG_G(ops);
310-
int literal = 0, count = ops->last_literal - 1;
310+
uint32_t literal = 0, count = ops->last_literal - 1;
311311

312312
if (ops->function_name) {
313313
if (ops->scope) {

0 commit comments

Comments
 (0)