Skip to content

Commit 40b5319

Browse files
committed
Zend/Optimizer/block_pass.c: add const qualifiers
1 parent 337fbd6 commit 40b5319

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

Zend/Optimizer/block_pass.c

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
/* Checks if a constant (like "true") may be replaced by its value */
3333
bool zend_optimizer_get_persistent_constant(zend_string *name, zval *result, bool copy)
3434
{
35-
zend_constant *c = zend_hash_find_ptr(EG(zend_constants), name);
35+
const zend_constant *c = zend_hash_find_ptr(EG(zend_constants), name);
3636
if (c) {
3737
if ((ZEND_CONSTANT_FLAGS(c) & CONST_PERSISTENT)
3838
&& !(ZEND_CONSTANT_FLAGS(c) & CONST_DEPRECATED)
@@ -62,17 +62,17 @@ bool zend_optimizer_get_persistent_constant(zend_string *name, zval *result, boo
6262
#define VAR_SOURCE(op) Tsource[VAR_NUM(op.var)]
6363
#define SET_VAR_SOURCE(opline) Tsource[VAR_NUM(opline->result.var)] = opline
6464

65-
static void strip_leading_nops(zend_op_array *op_array, zend_basic_block *b)
65+
static void strip_leading_nops(const zend_op_array *op_array, zend_basic_block *b)
6666
{
67-
zend_op *opcodes = op_array->opcodes;
67+
const zend_op *opcodes = op_array->opcodes;
6868

6969
do {
7070
b->start++;
7171
b->len--;
7272
} while (b->len > 0 && opcodes[b->start].opcode == ZEND_NOP);
7373
}
7474

75-
static void strip_nops(zend_op_array *op_array, zend_basic_block *b)
75+
static void strip_nops(const zend_op_array *op_array, zend_basic_block *b)
7676
{
7777
uint32_t i, j;
7878

@@ -106,7 +106,7 @@ static void strip_nops(zend_op_array *op_array, zend_basic_block *b)
106106
}
107107
}
108108

109-
static int get_const_switch_target(zend_cfg *cfg, zend_op_array *op_array, zend_basic_block *block, zend_op *opline, zval *val) {
109+
static int get_const_switch_target(const zend_cfg *cfg, const zend_op_array *op_array, const zend_basic_block *block, zend_op *opline, const zval *val) {
110110
HashTable *jumptable = Z_ARRVAL(ZEND_OP2_LITERAL(opline));
111111
zval *zv;
112112
if ((opline->opcode == ZEND_SWITCH_LONG && Z_TYPE_P(val) != IS_LONG)
@@ -1009,10 +1009,10 @@ static void zend_optimize_block(zend_basic_block *block, zend_op_array *op_array
10091009
}
10101010

10111011
/* Rebuild plain (optimized) op_array from CFG */
1012-
static void assemble_code_blocks(zend_cfg *cfg, zend_op_array *op_array, zend_optimizer_ctx *ctx)
1012+
static void assemble_code_blocks(const zend_cfg *cfg, zend_op_array *op_array, zend_optimizer_ctx *ctx)
10131013
{
10141014
zend_basic_block *blocks = cfg->blocks;
1015-
zend_basic_block *end = blocks + cfg->blocks_count;
1015+
const zend_basic_block *end = blocks + cfg->blocks_count;
10161016
zend_basic_block *b;
10171017
zend_op *new_opcodes;
10181018
zend_op *opline;
@@ -1025,7 +1025,7 @@ static void assemble_code_blocks(zend_cfg *cfg, zend_op_array *op_array, zend_op
10251025
if (b->flags & (ZEND_BB_REACHABLE|ZEND_BB_UNREACHABLE_FREE)) {
10261026
opline = op_array->opcodes + b->start + b->len - 1;
10271027
if (opline->opcode == ZEND_JMP) {
1028-
zend_basic_block *next = b + 1;
1028+
const zend_basic_block *next = b + 1;
10291029

10301030
while (next < end && !(next->flags & ZEND_BB_REACHABLE)) {
10311031
next++;
@@ -1042,8 +1042,8 @@ static void assemble_code_blocks(zend_cfg *cfg, zend_op_array *op_array, zend_op
10421042
len += b->len;
10431043
} else {
10441044
/* this block will not be used, delete all constants there */
1045-
zend_op *op = op_array->opcodes + b->start;
1046-
zend_op *end = op + b->len;
1045+
const zend_op *op = op_array->opcodes + b->start;
1046+
const zend_op *end = op + b->len;
10471047
for (; op < end; op++) {
10481048
if (op->op1_type == IS_CONST) {
10491049
literal_dtor(&ZEND_OP1_LITERAL(op));
@@ -1109,7 +1109,7 @@ static void assemble_code_blocks(zend_cfg *cfg, zend_op_array *op_array, zend_op
11091109
case ZEND_SWITCH_STRING:
11101110
case ZEND_MATCH:
11111111
{
1112-
HashTable *jumptable = Z_ARRVAL(ZEND_OP2_LITERAL(opline));
1112+
const HashTable *jumptable = Z_ARRVAL(ZEND_OP2_LITERAL(opline));
11131113
zval *zv;
11141114
uint32_t s = 0;
11151115
ZEND_ASSERT(b->successors_count == (opline->opcode == ZEND_MATCH ? 1 : 2) + zend_hash_num_elements(jumptable));
@@ -1161,7 +1161,7 @@ static void assemble_code_blocks(zend_cfg *cfg, zend_op_array *op_array, zend_op
11611161

11621162
if (op_array->fn_flags & ZEND_ACC_HAS_FINALLY_BLOCK) {
11631163
zend_op *opline = new_opcodes;
1164-
zend_op *end = opline + len;
1164+
const zend_op *end = opline + len;
11651165
while (opline < end) {
11661166
if (opline->opcode == ZEND_FAST_RET &&
11671167
opline->op2.num != (uint32_t)-1 &&
@@ -1184,7 +1184,7 @@ static void assemble_code_blocks(zend_cfg *cfg, zend_op_array *op_array, zend_op
11841184
}
11851185
}
11861186

1187-
static zend_always_inline zend_basic_block *get_target_block(const zend_cfg *cfg, zend_basic_block *block, int n, uint32_t *opt_count)
1187+
static zend_always_inline zend_basic_block *get_target_block(const zend_cfg *cfg, const zend_basic_block *block, int n, uint32_t *opt_count)
11881188
{
11891189
int b;
11901190
zend_basic_block *target_block = cfg->blocks + block->successors[n];
@@ -1200,7 +1200,7 @@ static zend_always_inline zend_basic_block *get_target_block(const zend_cfg *cfg
12001200
return target_block;
12011201
}
12021202

1203-
static zend_always_inline zend_basic_block *get_follow_block(const zend_cfg *cfg, zend_basic_block *block, int n, uint32_t *opt_count)
1203+
static zend_always_inline zend_basic_block *get_follow_block(const zend_cfg *cfg, const zend_basic_block *block, int n, uint32_t *opt_count)
12041204
{
12051205
int b;
12061206
zend_basic_block *target_block = cfg->blocks + block->successors[n];
@@ -1219,7 +1219,7 @@ static zend_always_inline zend_basic_block *get_follow_block(const zend_cfg *cfg
12191219
static zend_always_inline zend_basic_block *get_next_block(const zend_cfg *cfg, zend_basic_block *block)
12201220
{
12211221
zend_basic_block *next_block = block + 1;
1222-
zend_basic_block *end = cfg->blocks + cfg->blocks_count;
1222+
const zend_basic_block *end = cfg->blocks + cfg->blocks_count;
12231223

12241224
while (1) {
12251225
if (next_block == end) {
@@ -1237,7 +1237,7 @@ static zend_always_inline zend_basic_block *get_next_block(const zend_cfg *cfg,
12371237

12381238

12391239
/* we use "jmp_hitlist" to avoid infinity loops during jmp optimization */
1240-
static zend_always_inline bool in_hitlist(int target, int *jmp_hitlist, int jmp_hitlist_count)
1240+
static zend_always_inline bool in_hitlist(int target, const int *jmp_hitlist, int jmp_hitlist_count)
12411241
{
12421242
int i;
12431243

@@ -1483,7 +1483,7 @@ static void zend_jmp_optimization(zend_basic_block *block, zend_op_array *op_arr
14831483

14841484
/* Find a set of variables which are used outside of the block where they are
14851485
* defined. We won't apply some optimization patterns for such variables. */
1486-
static void zend_t_usage(zend_cfg *cfg, zend_op_array *op_array, zend_bitset used_ext, zend_optimizer_ctx *ctx)
1486+
static void zend_t_usage(const zend_cfg *cfg, const zend_op_array *op_array, zend_bitset used_ext, zend_optimizer_ctx *ctx)
14871487
{
14881488
int n;
14891489
zend_basic_block *block, *next_block;
@@ -1687,7 +1687,7 @@ static void zend_t_usage(zend_cfg *cfg, zend_op_array *op_array, zend_bitset use
16871687
zend_arena_release(&ctx->arena, checkpoint);
16881688
}
16891689

1690-
static void zend_merge_blocks(zend_op_array *op_array, zend_cfg *cfg, uint32_t *opt_count)
1690+
static void zend_merge_blocks(const zend_op_array *op_array, const zend_cfg *cfg, uint32_t *opt_count)
16911691
{
16921692
int i;
16931693
zend_basic_block *b, *bb;
@@ -1707,7 +1707,7 @@ static void zend_merge_blocks(zend_op_array *op_array, zend_cfg *cfg, uint32_t *
17071707

17081708
for (bb = prev + 1; bb != b; bb++) {
17091709
zend_op *op = op_array->opcodes + bb->start;
1710-
zend_op *end = op + bb->len;
1710+
const zend_op *end = op + bb->len;
17111711
while (op < end) {
17121712
if (op->op1_type == IS_CONST) {
17131713
literal_dtor(&ZEND_OP1_LITERAL(op));

0 commit comments

Comments
 (0)