Skip to content

Commit d90a5d2

Browse files
committed
Micro optimization
1 parent 636b164 commit d90a5d2

File tree

2 files changed

+20
-30
lines changed

2 files changed

+20
-30
lines changed

Zend/zend_vm_def.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1636,7 +1636,7 @@ ZEND_VM_COLD_CONSTCONST_HANDLER(81, ZEND_FETCH_DIM_R, CONST|TMPVAR|CV, CONST|TMP
16361636
{
16371637
USE_OPLINE
16381638
zend_free_op free_op1, free_op2;
1639-
zval *container, *dim, *value, *result;
1639+
zval *container, *dim, *value;
16401640

16411641
SAVE_OPLINE();
16421642
container = GET_OP1_ZVAL_PTR_UNDEF(BP_VAR_R);
@@ -1645,8 +1645,7 @@ ZEND_VM_COLD_CONSTCONST_HANDLER(81, ZEND_FETCH_DIM_R, CONST|TMPVAR|CV, CONST|TMP
16451645
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
16461646
ZEND_VM_C_LABEL(fetch_dim_r_array):
16471647
value = zend_fetch_dimension_address_inner(Z_ARRVAL_P(container), dim, OP2_TYPE, BP_VAR_R EXECUTE_DATA_CC);
1648-
result = EX_VAR(opline->result.var);
1649-
ZVAL_COPY_DEREF(result, value);
1648+
ZVAL_COPY_DEREF(EX_VAR(opline->result.var), value);
16501649
} else if (EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
16511650
container = Z_REFVAL_P(container);
16521651
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {

Zend/zend_vm_execute.h

Lines changed: 18 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4564,7 +4564,7 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_
45644564
{
45654565
USE_OPLINE
45664566

4567-
zval *container, *dim, *value, *result;
4567+
zval *container, *dim, *value;
45684568

45694569
SAVE_OPLINE();
45704570
container = RT_CONSTANT(opline, opline->op1);
@@ -4573,8 +4573,7 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_
45734573
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
45744574
fetch_dim_r_array:
45754575
value = zend_fetch_dimension_address_inner(Z_ARRVAL_P(container), dim, IS_CONST, BP_VAR_R EXECUTE_DATA_CC);
4576-
result = EX_VAR(opline->result.var);
4577-
ZVAL_COPY_DEREF(result, value);
4576+
ZVAL_COPY_DEREF(EX_VAR(opline->result.var), value);
45784577
} else if (EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
45794578
container = Z_REFVAL_P(container);
45804579
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
@@ -6723,7 +6722,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_CONST_TMPVAR_
67236722
{
67246723
USE_OPLINE
67256724
zend_free_op free_op2;
6726-
zval *container, *dim, *value, *result;
6725+
zval *container, *dim, *value;
67276726

67286727
SAVE_OPLINE();
67296728
container = RT_CONSTANT(opline, opline->op1);
@@ -6732,8 +6731,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_CONST_TMPVAR_
67326731
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
67336732
fetch_dim_r_array:
67346733
value = zend_fetch_dimension_address_inner(Z_ARRVAL_P(container), dim, (IS_TMP_VAR|IS_VAR), BP_VAR_R EXECUTE_DATA_CC);
6735-
result = EX_VAR(opline->result.var);
6736-
ZVAL_COPY_DEREF(result, value);
6734+
ZVAL_COPY_DEREF(EX_VAR(opline->result.var), value);
67376735
} else if (EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
67386736
container = Z_REFVAL_P(container);
67396737
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
@@ -9793,7 +9791,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_CONST_CV_HAND
97939791
{
97949792
USE_OPLINE
97959793

9796-
zval *container, *dim, *value, *result;
9794+
zval *container, *dim, *value;
97979795

97989796
SAVE_OPLINE();
97999797
container = RT_CONSTANT(opline, opline->op1);
@@ -9802,8 +9800,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_CONST_CV_HAND
98029800
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
98039801
fetch_dim_r_array:
98049802
value = zend_fetch_dimension_address_inner(Z_ARRVAL_P(container), dim, IS_CV, BP_VAR_R EXECUTE_DATA_CC);
9805-
result = EX_VAR(opline->result.var);
9806-
ZVAL_COPY_DEREF(result, value);
9803+
ZVAL_COPY_DEREF(EX_VAR(opline->result.var), value);
98079804
} else if (EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
98089805
container = Z_REFVAL_P(container);
98099806
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
@@ -13538,7 +13535,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_TMPVAR_CONST_
1353813535
{
1353913536
USE_OPLINE
1354013537
zend_free_op free_op1;
13541-
zval *container, *dim, *value, *result;
13538+
zval *container, *dim, *value;
1354213539

1354313540
SAVE_OPLINE();
1354413541
container = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
@@ -13547,8 +13544,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_TMPVAR_CONST_
1354713544
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
1354813545
fetch_dim_r_array:
1354913546
value = zend_fetch_dimension_address_inner(Z_ARRVAL_P(container), dim, IS_CONST, BP_VAR_R EXECUTE_DATA_CC);
13550-
result = EX_VAR(opline->result.var);
13551-
ZVAL_COPY_DEREF(result, value);
13547+
ZVAL_COPY_DEREF(EX_VAR(opline->result.var), value);
1355213548
} else if (EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
1355313549
container = Z_REFVAL_P(container);
1355413550
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
@@ -15131,7 +15127,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_TMPVAR_TMPVAR
1513115127
{
1513215128
USE_OPLINE
1513315129
zend_free_op free_op1, free_op2;
15134-
zval *container, *dim, *value, *result;
15130+
zval *container, *dim, *value;
1513515131

1513615132
SAVE_OPLINE();
1513715133
container = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
@@ -15140,8 +15136,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_TMPVAR_TMPVAR
1514015136
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
1514115137
fetch_dim_r_array:
1514215138
value = zend_fetch_dimension_address_inner(Z_ARRVAL_P(container), dim, (IS_TMP_VAR|IS_VAR), BP_VAR_R EXECUTE_DATA_CC);
15143-
result = EX_VAR(opline->result.var);
15144-
ZVAL_COPY_DEREF(result, value);
15139+
ZVAL_COPY_DEREF(EX_VAR(opline->result.var), value);
1514515140
} else if (EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
1514615141
container = Z_REFVAL_P(container);
1514715142
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
@@ -16992,7 +16987,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_TMPVAR_CV_HAN
1699216987
{
1699316988
USE_OPLINE
1699416989
zend_free_op free_op1;
16995-
zval *container, *dim, *value, *result;
16990+
zval *container, *dim, *value;
1699616991

1699716992
SAVE_OPLINE();
1699816993
container = _get_zval_ptr_var(opline->op1.var, &free_op1 EXECUTE_DATA_CC);
@@ -17001,8 +16996,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_TMPVAR_CV_HAN
1700116996
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
1700216997
fetch_dim_r_array:
1700316998
value = zend_fetch_dimension_address_inner(Z_ARRVAL_P(container), dim, IS_CV, BP_VAR_R EXECUTE_DATA_CC);
17004-
result = EX_VAR(opline->result.var);
17005-
ZVAL_COPY_DEREF(result, value);
16999+
ZVAL_COPY_DEREF(EX_VAR(opline->result.var), value);
1700617000
} else if (EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
1700717001
container = Z_REFVAL_P(container);
1700817002
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
@@ -39153,7 +39147,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_CV_CONST_HAND
3915339147
{
3915439148
USE_OPLINE
3915539149

39156-
zval *container, *dim, *value, *result;
39150+
zval *container, *dim, *value;
3915739151

3915839152
SAVE_OPLINE();
3915939153
container = EX_VAR(opline->op1.var);
@@ -39162,8 +39156,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_CV_CONST_HAND
3916239156
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
3916339157
fetch_dim_r_array:
3916439158
value = zend_fetch_dimension_address_inner(Z_ARRVAL_P(container), dim, IS_CONST, BP_VAR_R EXECUTE_DATA_CC);
39165-
result = EX_VAR(opline->result.var);
39166-
ZVAL_COPY_DEREF(result, value);
39159+
ZVAL_COPY_DEREF(EX_VAR(opline->result.var), value);
3916739160
} else if (EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
3916839161
container = Z_REFVAL_P(container);
3916939162
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
@@ -42871,7 +42864,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_CV_TMPVAR_HAN
4287142864
{
4287242865
USE_OPLINE
4287342866
zend_free_op free_op2;
42874-
zval *container, *dim, *value, *result;
42867+
zval *container, *dim, *value;
4287542868

4287642869
SAVE_OPLINE();
4287742870
container = EX_VAR(opline->op1.var);
@@ -42880,8 +42873,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_CV_TMPVAR_HAN
4288042873
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
4288142874
fetch_dim_r_array:
4288242875
value = zend_fetch_dimension_address_inner(Z_ARRVAL_P(container), dim, (IS_TMP_VAR|IS_VAR), BP_VAR_R EXECUTE_DATA_CC);
42883-
result = EX_VAR(opline->result.var);
42884-
ZVAL_COPY_DEREF(result, value);
42876+
ZVAL_COPY_DEREF(EX_VAR(opline->result.var), value);
4288542877
} else if (EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
4288642878
container = Z_REFVAL_P(container);
4288742879
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
@@ -48567,7 +48559,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_CV_CV_HANDLER
4856748559
{
4856848560
USE_OPLINE
4856948561

48570-
zval *container, *dim, *value, *result;
48562+
zval *container, *dim, *value;
4857148563

4857248564
SAVE_OPLINE();
4857348565
container = EX_VAR(opline->op1.var);
@@ -48576,8 +48568,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_FETCH_DIM_R_SPEC_CV_CV_HANDLER
4857648568
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {
4857748569
fetch_dim_r_array:
4857848570
value = zend_fetch_dimension_address_inner(Z_ARRVAL_P(container), dim, IS_CV, BP_VAR_R EXECUTE_DATA_CC);
48579-
result = EX_VAR(opline->result.var);
48580-
ZVAL_COPY_DEREF(result, value);
48571+
ZVAL_COPY_DEREF(EX_VAR(opline->result.var), value);
4858148572
} else if (EXPECTED(Z_TYPE_P(container) == IS_REFERENCE)) {
4858248573
container = Z_REFVAL_P(container);
4858348574
if (EXPECTED(Z_TYPE_P(container) == IS_ARRAY)) {

0 commit comments

Comments
 (0)