Skip to content

Commit 8efcc28

Browse files
committed
Cleanup (expand and remove simple macros)
1 parent e0f2ac9 commit 8efcc28

File tree

1 file changed

+25
-40
lines changed

1 file changed

+25
-40
lines changed

ext/opcache/jit/zend_jit_trace.c

Lines changed: 25 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -363,15 +363,6 @@ static zend_always_inline zend_ssa_alias_kind zend_jit_var_may_alias(const zend_
363363
return NO_ALIAS;
364364
}
365365

366-
#define STACK_VAR_TYPE(_var) \
367-
STACK_TYPE(stack, EX_VAR_TO_NUM(_var))
368-
369-
#define SET_STACK_VAR_TYPE(_var, _type) do { \
370-
SET_STACK_TYPE(stack, EX_VAR_TO_NUM(_var), _type); \
371-
} while (0)
372-
373-
374-
375366
static zend_always_inline void zend_jit_trace_add_op_guard(const zend_op_array *op_array,
376367
const zend_ssa *ssa,
377368
zend_ssa *tssa,
@@ -397,14 +388,14 @@ static zend_always_inline void zend_jit_trace_add_op_guard(const zend_op_array
397388
#define CHECK_OP_TRACE_TYPE(_var, _ssa_var, op_info, op_type) do { \
398389
if (op_type != IS_UNKNOWN) { \
399390
if ((op_info & MAY_BE_GUARD) != 0 \
400-
&& op_type != STACK_VAR_TYPE(_var)) { \
391+
&& op_type != STACK_TYPE(stack, EX_VAR_TO_NUM(_var))) { \
401392
if (!zend_jit_type_guard(&dasm_state, opline, _var, op_type)) { \
402393
goto jit_failure; \
403394
} \
404395
if (zend_jit_var_may_alias(op_array, op_array_ssa, _var) != NO_ALIAS) { \
405-
SET_STACK_VAR_TYPE(_var, IS_UNKNOWN); \
396+
SET_STACK_TYPE(stack, EX_VAR_TO_NUM(_var), IS_UNKNOWN); \
406397
} else { \
407-
SET_STACK_VAR_TYPE(_var, op_type); \
398+
SET_STACK_TYPE(stack, EX_VAR_TO_NUM(_var), op_type); \
408399
op_info &= ~MAY_BE_GUARD; \
409400
} \
410401
ssa->var_info[_ssa_var].type &= op_info; \
@@ -426,15 +417,6 @@ static zend_always_inline void zend_jit_trace_add_op_guard(const zend_op_array
426417
#define CHECK_OP1_DATA_TRACE_TYPE() \
427418
CHECK_OP_TRACE_TYPE((opline+1)->op1.var, (ssa_op+1)->op1_use, op1_data_info, op3_type)
428419

429-
#define SET_OP1_STACK_VAR_TYPE(_type) \
430-
SET_STACK_VAR_TYPE(opline->op1.var, _type)
431-
#define SET_OP2_STACK_VAR_TYPE( _type) \
432-
SET_STACK_VAR_TYPE(opline->op2.var, _type)
433-
#define SET_OP1_DATA_STACK_VAR_TYPE(_type) \
434-
SET_STACK_VAR_TYPE((opline+1)->op1.var, _type)
435-
#define SET_RES_STACK_VAR_TYPE(_type) \
436-
SET_STACK_VAR_TYPE(opline->result.var, _type)
437-
438420
static zend_always_inline size_t zend_jit_trace_frame_size(const zend_op_array *op_array)
439421
{
440422
if (op_array && op_array->type == ZEND_USER_FUNCTION) {
@@ -476,7 +458,7 @@ static void zend_jit_trace_send_type(const zend_op *opline, zend_jit_trace_stack
476458
}
477459
}
478460
}
479-
SET_STACK_VAR_TYPE(opline->result.var, type);
461+
SET_STACK_TYPE(stack, EX_VAR_TO_NUM(opline->result.var), type);
480462
}
481463

482464
static zend_ssa *zend_jit_trace_build_ssa(const zend_op_array *op_array, zend_script *script)
@@ -3473,7 +3455,8 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
34733455
res_use_info = RES_USE_INFO();
34743456
} else {
34753457
#if USE_ABSTRACT_STACK_FOR_RES_USE_INFO
3476-
res_use_info = zend_jit_trace_type_to_info(STACK_VAR_TYPE(opline->result.var));
3458+
res_use_info = zend_jit_trace_type_to_info(
3459+
STACK_TYPE(stack, EX_VAR_TO_NUM(opline->result.var)));
34773460
#else
34783461
res_use_info = -1;
34793462
#endif
@@ -3561,7 +3544,8 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
35613544
res_use_info = RES_USE_INFO();
35623545
} else {
35633546
#if USE_ABSTRACT_STACK_FOR_RES_USE_INFO
3564-
res_use_info = zend_jit_trace_type_to_info(STACK_VAR_TYPE(opline->result.var));
3547+
res_use_info = zend_jit_trace_type_to_info(
3548+
STACK_TYPE(stack, EX_VAR_TO_NUM(opline->result.var)));
35653549
#else
35663550
res_use_info = -1;
35673551
#endif
@@ -3635,7 +3619,8 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
36353619
res_use_info = RES_USE_INFO();
36363620
} else {
36373621
#if USE_ABSTRACT_STACK_FOR_RES_USE_INFO
3638-
res_use_info = zend_jit_trace_type_to_info(STACK_VAR_TYPE(opline->result.var));
3622+
res_use_info = zend_jit_trace_type_to_info(
3623+
STACK_TYPE(stack, EX_VAR_TO_NUM(opline->result.var)));
36393624
#else
36403625
res_use_info = -1;
36413626
#endif
@@ -5255,22 +5240,22 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
52555240
} else if (opline->opcode == ZEND_QM_ASSIGN) {
52565241
if (opline->op1_type != IS_CONST) {
52575242
/* copy */
5258-
type = STACK_VAR_TYPE(opline->op1.var);
5243+
type = STACK_TYPE(stack, EX_VAR_TO_NUM(opline->op1.var));
52595244
}
52605245
} else if (opline->opcode == ZEND_ASSIGN) {
52615246
if (opline->op2_type != IS_CONST
52625247
&& ssa_op->op1_use >= 0
52635248
/* assignment to typed reference may cause conversion */
52645249
&& (ssa->var_info[ssa_op->op1_use].type & MAY_BE_REF) == 0) {
52655250
/* copy */
5266-
type = STACK_VAR_TYPE(opline->op2.var);
5251+
type = STACK_TYPE(stack, EX_VAR_TO_NUM(opline->op2.var));
52675252
}
52685253
} else if (opline->opcode == ZEND_POST_INC
52695254
|| opline->opcode == ZEND_POST_DEC) {
52705255
/* copy */
5271-
type = STACK_VAR_TYPE(opline->op1.var);
5256+
type = STACK_TYPE(stack, EX_VAR_TO_NUM(opline->op1.var));
52725257
}
5273-
SET_RES_STACK_VAR_TYPE(type);
5258+
SET_STACK_TYPE(stack, EX_VAR_TO_NUM(opline->result.var), type);
52745259
if (type != IS_UNKNOWN) {
52755260
ssa->var_info[ssa_op->result_def].type &= ~MAY_BE_GUARD;
52765261
if (opline->opcode == ZEND_FETCH_THIS
@@ -5291,10 +5276,10 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
52915276
type = concrete_type(ssa->var_info[ssa_op->op1_def].type);
52925277
} else if (opline->opcode == ZEND_ASSIGN) {
52935278
if (!(OP1_INFO() & MAY_BE_REF)
5294-
|| STACK_VAR_TYPE(opline->op1.var) != IS_UNKNOWN) {
5279+
|| STACK_TYPE(stack, EX_VAR_TO_NUM(opline->op1.var)) != IS_UNKNOWN) {
52955280
if (opline->op2_type != IS_CONST) {
52965281
/* copy */
5297-
type = STACK_VAR_TYPE(opline->op2.var);
5282+
type = STACK_TYPE(stack, EX_VAR_TO_NUM(opline->op2.var));
52985283
}
52995284
}
53005285
} else if (opline->opcode == ZEND_SEND_VAR
@@ -5305,9 +5290,9 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
53055290
|| opline->opcode == ZEND_JMP_NULL
53065291
|| opline->opcode == ZEND_FE_RESET_R) {
53075292
/* keep old value */
5308-
type = STACK_VAR_TYPE(opline->op1.var);
5293+
type = STACK_TYPE(stack, EX_VAR_TO_NUM(opline->op1.var));
53095294
}
5310-
SET_OP1_STACK_VAR_TYPE(type);
5295+
SET_STACK_TYPE(stack, EX_VAR_TO_NUM(opline->op1.var), type);
53115296
if (type != IS_UNKNOWN) {
53125297
ssa->var_info[ssa_op->op1_def].type &= ~MAY_BE_GUARD;
53135298
if (ra && ra[ssa_op->op1_def]) {
@@ -5323,9 +5308,9 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
53235308
type = concrete_type(ssa->var_info[ssa_op->op2_def].type);
53245309
} else if (opline->opcode == ZEND_ASSIGN) {
53255310
/* keep old value */
5326-
type = STACK_VAR_TYPE(opline->op2.var);
5311+
type = STACK_TYPE(stack, EX_VAR_TO_NUM(opline->op2.var));
53275312
}
5328-
SET_OP2_STACK_VAR_TYPE(type);
5313+
SET_STACK_TYPE(stack, EX_VAR_TO_NUM(opline->op2.var), type);
53295314
if (type != IS_UNKNOWN) {
53305315
ssa->var_info[ssa_op->op2_def].type &= ~MAY_BE_GUARD;
53315316
if (ra && ra[ssa_op->op2_def]) {
@@ -5356,9 +5341,9 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
53565341
|| (opline-1)->opcode == ZEND_ASSIGN_OBJ
53575342
|| (opline-1)->opcode == ZEND_ASSIGN_STATIC_PROP) {
53585343
/* keep old value */
5359-
type = STACK_VAR_TYPE(opline->op1.var);
5344+
type = STACK_TYPE(stack, EX_VAR_TO_NUM(opline->op1.var));
53605345
}
5361-
SET_OP1_STACK_VAR_TYPE(type);
5346+
SET_STACK_TYPE(stack, EX_VAR_TO_NUM(opline->op1.var), type);
53625347
if (type != IS_UNKNOWN) {
53635348
ssa->var_info[ssa_op->op1_def].type &= ~MAY_BE_GUARD;
53645349
if (ra && ra[ssa_op->op1_def]) {
@@ -5379,7 +5364,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
53795364
&& has_concrete_type(ssa->var_info[ssa_op->result_def].type)) {
53805365
type = concrete_type(ssa->var_info[ssa_op->result_def].type);
53815366
}
5382-
SET_RES_STACK_VAR_TYPE(type);
5367+
SET_STACK_TYPE(stack, EX_VAR_TO_NUM(opline->result.var), type);
53835368
if (ra && ra[ssa_op->result_def]) {
53845369
SET_STACK_REG(stack, EX_VAR_TO_NUM(opline->result.var), ra[ssa_op->result_def]->reg);
53855370
}
@@ -5399,7 +5384,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
53995384
&& has_concrete_type(ssa->var_info[ssa_op->op1_def].type)) {
54005385
type = concrete_type(ssa->var_info[ssa_op->op1_def].type);
54015386
}
5402-
SET_OP1_STACK_VAR_TYPE(type);
5387+
SET_STACK_TYPE(stack, EX_VAR_TO_NUM(opline->op1.var), type);
54035388
if (ra && ra[ssa_op->op1_def]) {
54045389
SET_STACK_REG(stack, EX_VAR_TO_NUM(opline->op1.var), ra[ssa_op->op1_def]->reg);
54055390
}
@@ -5530,7 +5515,7 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
55305515
&& (p+1)->op == ZEND_JIT_TRACE_VM) {
55315516
const zend_op *opline = (p+1)->opline - 1;
55325517
if (opline->result_type != IS_UNUSED) {
5533-
SET_RES_STACK_VAR_TYPE(res_type);
5518+
SET_STACK_TYPE(stack, EX_VAR_TO_NUM(opline->result.var), res_type);
55345519
}
55355520
}
55365521
res_type = IS_UNKNOWN;

0 commit comments

Comments
 (0)