Skip to content

Commit d54e197

Browse files
committed
Merge branch 'PHP-8.0'
* PHP-8.0: Fixed incorrectly eliminated type store
2 parents 9f13c8f + 9acebe1 commit d54e197

File tree

1 file changed

+18
-18
lines changed

1 file changed

+18
-18
lines changed

ext/opcache/jit/zend_jit_trace.c

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3750,17 +3750,17 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
37503750
break;
37513751
}
37523752
if (opline->result_type != IS_UNUSED) {
3753+
#if USE_ABSTRACT_STACK_FOR_RES_USE_INFO
3754+
res_use_info = zend_jit_trace_type_to_info(
3755+
STACK_MEM_TYPE(stack, EX_VAR_TO_NUM(opline->result.var)))
3756+
& (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE);
3757+
#else
37533758
if (opline->result_type == IS_CV) {
37543759
res_use_info = RES_USE_INFO();
37553760
} else {
3756-
#if USE_ABSTRACT_STACK_FOR_RES_USE_INFO
3757-
res_use_info = zend_jit_trace_type_to_info(
3758-
STACK_MEM_TYPE(stack, EX_VAR_TO_NUM(opline->result.var)))
3759-
& (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE);
3760-
#else
37613761
res_use_info = MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE;
3762-
#endif
37633762
}
3763+
#endif
37643764
res_info = RES_INFO();
37653765
res_addr = RES_REG_ADDR();
37663766
} else {
@@ -3845,17 +3845,17 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
38453845
goto jit_failure;
38463846
}
38473847
} else {
3848+
#if USE_ABSTRACT_STACK_FOR_RES_USE_INFO
3849+
res_use_info = zend_jit_trace_type_to_info(
3850+
STACK_MEM_TYPE(stack, EX_VAR_TO_NUM(opline->result.var)))
3851+
& (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE);
3852+
#else
38483853
if (opline->result_type == IS_CV) {
38493854
res_use_info = RES_USE_INFO();
38503855
} else {
3851-
#if USE_ABSTRACT_STACK_FOR_RES_USE_INFO
3852-
res_use_info = zend_jit_trace_type_to_info(
3853-
STACK_MEM_TYPE(stack, EX_VAR_TO_NUM(opline->result.var)))
3854-
& (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE);
3855-
#else
38563856
res_use_info = MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE;
3857-
#endif
38583857
}
3858+
#endif
38593859
}
38603860
res_info = RES_INFO();
38613861
if (!zend_jit_long_math(&dasm_state, opline,
@@ -3922,17 +3922,17 @@ static const void *zend_jit_trace(zend_jit_trace_rec *trace_buffer, uint32_t par
39223922
goto jit_failure;
39233923
}
39243924
} else {
3925+
#if USE_ABSTRACT_STACK_FOR_RES_USE_INFO
3926+
res_use_info = zend_jit_trace_type_to_info(
3927+
STACK_MEM_TYPE(stack, EX_VAR_TO_NUM(opline->result.var)))
3928+
& (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE);
3929+
#else
39253930
if (opline->result_type == IS_CV) {
39263931
res_use_info = RES_USE_INFO();
39273932
} else {
3928-
#if USE_ABSTRACT_STACK_FOR_RES_USE_INFO
3929-
res_use_info = zend_jit_trace_type_to_info(
3930-
STACK_MEM_TYPE(stack, EX_VAR_TO_NUM(opline->result.var)))
3931-
& (MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE);
3932-
#else
39333933
res_use_info = MAY_BE_UNDEF|MAY_BE_NULL|MAY_BE_FALSE|MAY_BE_TRUE|MAY_BE_LONG|MAY_BE_DOUBLE;
3934-
#endif
39353934
}
3935+
#endif
39363936
}
39373937
res_info = RES_INFO();
39383938
if (opline->opcode == ZEND_ADD &&

0 commit comments

Comments
 (0)