Skip to content

Commit d1fd460

Browse files
committed
Inline zend_zval_ptr() in executor explicitely (only on hot paths)
1 parent ef35556 commit d1fd460

File tree

3 files changed

+13
-16
lines changed

3 files changed

+13
-16
lines changed

Zend/zend_execute.c

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,6 @@ ZEND_API const zend_internal_function zend_pass_function = {
141141
{NULL,NULL,NULL,NULL} /* reserved */
142142
};
143143

144-
#undef zval_ptr_dtor
145-
#define zval_ptr_dtor(zv) i_zval_ptr_dtor(zv)
146-
147144
#define FREE_VAR_PTR_AND_EXTRACT_RESULT_IF_NECESSARY(free_op, result) do { \
148145
zval *__container_to_free = (free_op); \
149146
if (UNEXPECTED(__container_to_free) \

Zend/zend_vm_def.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4017,7 +4017,7 @@ ZEND_VM_HOT_HANDLER(129, ZEND_DO_ICALL, ANY, ANY, SPEC(RETVAL))
40174017
zend_vm_stack_free_call_frame(call);
40184018

40194019
if (!RETURN_VALUE_USED(opline)) {
4020-
zval_ptr_dtor(ret);
4020+
i_zval_ptr_dtor(ret);
40214021
}
40224022

40234023
if (UNEXPECTED(EG(exception) != NULL)) {
@@ -4116,7 +4116,7 @@ ZEND_VM_HOT_HANDLER(131, ZEND_DO_FCALL_BY_NAME, ANY, ANY, SPEC(RETVAL))
41164116
zend_vm_stack_free_call_frame(call);
41174117

41184118
if (!RETURN_VALUE_USED(opline)) {
4119-
zval_ptr_dtor(ret);
4119+
i_zval_ptr_dtor(ret);
41204120
}
41214121
}
41224122

@@ -4204,7 +4204,7 @@ ZEND_VM_HOT_HANDLER(60, ZEND_DO_FCALL, ANY, ANY, SPEC(RETVAL))
42044204
zend_vm_stack_free_args(call);
42054205

42064206
if (!RETURN_VALUE_USED(opline)) {
4207-
zval_ptr_dtor(ret);
4207+
i_zval_ptr_dtor(ret);
42084208
}
42094209

42104210
} else { /* ZEND_OVERLOADED_FUNCTION */
@@ -6736,7 +6736,7 @@ ZEND_VM_C_LABEL(fe_fetch_w_exit):
67366736

67376737
ref = Z_REF_P(value);
67386738
GC_ADDREF(ref);
6739-
zval_ptr_dtor(variable_ptr);
6739+
i_zval_ptr_dtor(variable_ptr);
67406740
ZVAL_REF(variable_ptr, ref);
67416741
}
67426742
} else {
@@ -8366,7 +8366,7 @@ ZEND_VM_HANDLER(183, ZEND_BIND_STATIC, CV, UNUSED, REF)
83668366
zval *variable_ptr;
83678367

83688368
variable_ptr = GET_OP1_ZVAL_PTR_PTR_UNDEF(BP_VAR_W);
8369-
zval_ptr_dtor(variable_ptr);
8369+
i_zval_ptr_dtor(variable_ptr);
83708370

83718371
ht = ZEND_MAP_PTR_GET(EX(func)->op_array.static_variables_ptr);
83728372
if (!ht) {

Zend/zend_vm_execute.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1287,7 +1287,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_ICALL_SPEC_RETV
12871287
zend_vm_stack_free_call_frame(call);
12881288

12891289
if (!0) {
1290-
zval_ptr_dtor(ret);
1290+
i_zval_ptr_dtor(ret);
12911291
}
12921292

12931293
if (UNEXPECTED(EG(exception) != NULL)) {
@@ -1332,7 +1332,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_ICALL_SPEC_RETV
13321332
zend_vm_stack_free_call_frame(call);
13331333

13341334
if (!1) {
1335-
zval_ptr_dtor(ret);
1335+
i_zval_ptr_dtor(ret);
13361336
}
13371337

13381338
if (UNEXPECTED(EG(exception) != NULL)) {
@@ -1454,7 +1454,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_FCALL_BY_NAME_S
14541454
zend_vm_stack_free_call_frame(call);
14551455

14561456
if (!0) {
1457-
zval_ptr_dtor(ret);
1457+
i_zval_ptr_dtor(ret);
14581458
}
14591459
}
14601460

@@ -1530,7 +1530,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_FCALL_BY_NAME_S
15301530
zend_vm_stack_free_call_frame(call);
15311531

15321532
if (!1) {
1533-
zval_ptr_dtor(ret);
1533+
i_zval_ptr_dtor(ret);
15341534
}
15351535
}
15361536

@@ -1618,7 +1618,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_FCALL_SPEC_RETV
16181618
zend_vm_stack_free_args(call);
16191619

16201620
if (!0) {
1621-
zval_ptr_dtor(ret);
1621+
i_zval_ptr_dtor(ret);
16221622
}
16231623

16241624
} else { /* ZEND_OVERLOADED_FUNCTION */
@@ -1729,7 +1729,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_FCALL_SPEC_RETV
17291729
zend_vm_stack_free_args(call);
17301730

17311731
if (!1) {
1732-
zval_ptr_dtor(ret);
1732+
i_zval_ptr_dtor(ret);
17331733
}
17341734

17351735
} else { /* ZEND_OVERLOADED_FUNCTION */
@@ -21632,7 +21632,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_FETCH_RW_SPEC_VAR_HANDLER(Z
2163221632

2163321633
ref = Z_REF_P(value);
2163421634
GC_ADDREF(ref);
21635-
zval_ptr_dtor(variable_ptr);
21635+
i_zval_ptr_dtor(variable_ptr);
2163621636
ZVAL_REF(variable_ptr, ref);
2163721637
}
2163821638
} else {
@@ -46525,7 +46525,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BIND_STATIC_SPEC_CV_UNUSED_HAN
4652546525
zval *variable_ptr;
4652646526

4652746527
variable_ptr = EX_VAR(opline->op1.var);
46528-
zval_ptr_dtor(variable_ptr);
46528+
i_zval_ptr_dtor(variable_ptr);
4652946529

4653046530
ht = ZEND_MAP_PTR_GET(EX(func)->op_array.static_variables_ptr);
4653146531
if (!ht) {

0 commit comments

Comments
 (0)