Skip to content

Commit b912335

Browse files
committed
Merge branch 'PHP-7.4'
* PHP-7.4: Inline zend_zval_ptr() in executor explicitely (only on hot paths)
2 parents f646504 + d1fd460 commit b912335

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_var) do { \
148145
zval *__container_to_free = EX_VAR(free_var); \
149146
if (UNEXPECTED(Z_REFCOUNTED_P(__container_to_free))) { \

Zend/zend_vm_def.h

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

40274027
if (!RETURN_VALUE_USED(opline)) {
4028-
zval_ptr_dtor(ret);
4028+
i_zval_ptr_dtor(ret);
40294029
}
40304030

40314031
if (UNEXPECTED(EG(exception) != NULL)) {
@@ -4127,7 +4127,7 @@ ZEND_VM_HOT_HANDLER(131, ZEND_DO_FCALL_BY_NAME, ANY, ANY, SPEC(RETVAL))
41274127
zend_vm_stack_free_call_frame(call);
41284128

41294129
if (!RETURN_VALUE_USED(opline)) {
4130-
zval_ptr_dtor(ret);
4130+
i_zval_ptr_dtor(ret);
41314131
}
41324132
}
41334133

@@ -4220,7 +4220,7 @@ ZEND_VM_HOT_HANDLER(60, ZEND_DO_FCALL, ANY, ANY, SPEC(RETVAL))
42204220
zend_vm_stack_free_args(call);
42214221

42224222
if (!RETURN_VALUE_USED(opline)) {
4223-
zval_ptr_dtor(ret);
4223+
i_zval_ptr_dtor(ret);
42244224
}
42254225
}
42264226

@@ -6729,7 +6729,7 @@ ZEND_VM_C_LABEL(fe_fetch_w_exit):
67296729

67306730
ref = Z_REF_P(value);
67316731
GC_ADDREF(ref);
6732-
zval_ptr_dtor(variable_ptr);
6732+
i_zval_ptr_dtor(variable_ptr);
67336733
ZVAL_REF(variable_ptr, ref);
67346734
}
67356735
} else {
@@ -8355,7 +8355,7 @@ ZEND_VM_HANDLER(183, ZEND_BIND_STATIC, CV, UNUSED, REF)
83558355
zval *variable_ptr;
83568356

83578357
variable_ptr = GET_OP1_ZVAL_PTR_PTR_UNDEF(BP_VAR_W);
8358-
zval_ptr_dtor(variable_ptr);
8358+
i_zval_ptr_dtor(variable_ptr);
83598359

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

Zend/zend_vm_execute.h

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

12831283
if (!0) {
1284-
zval_ptr_dtor(ret);
1284+
i_zval_ptr_dtor(ret);
12851285
}
12861286

12871287
if (UNEXPECTED(EG(exception) != NULL)) {
@@ -1326,7 +1326,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_ICALL_SPEC_RETV
13261326
zend_vm_stack_free_call_frame(call);
13271327

13281328
if (!1) {
1329-
zval_ptr_dtor(ret);
1329+
i_zval_ptr_dtor(ret);
13301330
}
13311331

13321332
if (UNEXPECTED(EG(exception) != NULL)) {
@@ -1451,7 +1451,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_FCALL_BY_NAME_S
14511451
zend_vm_stack_free_call_frame(call);
14521452

14531453
if (!0) {
1454-
zval_ptr_dtor(ret);
1454+
i_zval_ptr_dtor(ret);
14551455
}
14561456
}
14571457

@@ -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

@@ -1623,7 +1623,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_FCALL_SPEC_RETV
16231623
zend_vm_stack_free_args(call);
16241624

16251625
if (!0) {
1626-
zval_ptr_dtor(ret);
1626+
i_zval_ptr_dtor(ret);
16271627
}
16281628
}
16291629

@@ -1722,7 +1722,7 @@ static ZEND_VM_HOT ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_DO_FCALL_SPEC_RETV
17221722
zend_vm_stack_free_args(call);
17231723

17241724
if (!1) {
1725-
zval_ptr_dtor(ret);
1725+
i_zval_ptr_dtor(ret);
17261726
}
17271727
}
17281728

@@ -21497,7 +21497,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FE_FETCH_RW_SPEC_VAR_HANDLER(Z
2149721497

2149821498
ref = Z_REF_P(value);
2149921499
GC_ADDREF(ref);
21500-
zval_ptr_dtor(variable_ptr);
21500+
i_zval_ptr_dtor(variable_ptr);
2150121501
ZVAL_REF(variable_ptr, ref);
2150221502
}
2150321503
} else {
@@ -47187,7 +47187,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_BIND_STATIC_SPEC_CV_UNUSED_HAN
4718747187
zval *variable_ptr;
4718847188

4718947189
variable_ptr = EX_VAR(opline->op1.var);
47190-
zval_ptr_dtor(variable_ptr);
47190+
i_zval_ptr_dtor(variable_ptr);
4719147191

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

0 commit comments

Comments
 (0)