Skip to content

Commit 86a56f8

Browse files
committed
Use zval_try_get_tmp_string() instead of zval_get_tmp_string() for cheaper EG(exception) check
1 parent 0a7233f commit 86a56f8

File tree

2 files changed

+236
-236
lines changed

2 files changed

+236
-236
lines changed

Zend/zend_vm_def.h

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1081,8 +1081,8 @@ ZEND_VM_C_LABEL(assign_op_object):
10811081
if (OP2_TYPE == IS_CONST) {
10821082
name = Z_STR_P(property);
10831083
} else {
1084-
name = zval_get_tmp_string(property, &tmp_name);
1085-
if (UNEXPECTED(EG(exception))) {
1084+
name = zval_try_get_tmp_string(property, &tmp_name);
1085+
if (UNEXPECTED(!name)) {
10861086
UNDEF_RESULT();
10871087
break;
10881088
}
@@ -1351,8 +1351,8 @@ ZEND_VM_C_LABEL(pre_incdec_object):
13511351
if (OP2_TYPE == IS_CONST) {
13521352
name = Z_STR_P(property);
13531353
} else {
1354-
name = zval_get_tmp_string(property, &tmp_name);
1355-
if (UNEXPECTED(EG(exception))) {
1354+
name = zval_try_get_tmp_string(property, &tmp_name);
1355+
if (UNEXPECTED(!name)) {
13561356
UNDEF_RESULT();
13571357
break;
13581358
}
@@ -1431,8 +1431,8 @@ ZEND_VM_C_LABEL(post_incdec_object):
14311431
if (OP2_TYPE == IS_CONST) {
14321432
name = Z_STR_P(property);
14331433
} else {
1434-
name = zval_get_tmp_string(property, &tmp_name);
1435-
if (UNEXPECTED(EG(exception))) {
1434+
name = zval_try_get_tmp_string(property, &tmp_name);
1435+
if (UNEXPECTED(!name)) {
14361436
ZVAL_UNDEF(EX_VAR(opline->result.var));
14371437
break;
14381438
}
@@ -2188,8 +2188,8 @@ ZEND_VM_C_LABEL(fetch_obj_r_fast_copy):
21882188
if (OP2_TYPE == IS_CV && UNEXPECTED(Z_TYPE_INFO_P(offset) == IS_UNDEF)) {
21892189
ZVAL_UNDEFINED_OP2();
21902190
}
2191-
name = zval_get_tmp_string(offset, &tmp_name);
2192-
if (UNEXPECTED(EG(exception))) {
2191+
name = zval_try_get_tmp_string(offset, &tmp_name);
2192+
if (UNEXPECTED(!name)) {
21932193
ZVAL_UNDEF(EX_VAR(opline->result.var));
21942194
break;
21952195
}
@@ -2350,8 +2350,8 @@ ZEND_VM_C_LABEL(fetch_obj_is_fast_copy):
23502350
}
23512351
}
23522352
} else {
2353-
name = zval_get_tmp_string(offset, &tmp_name);
2354-
if (UNEXPECTED(EG(exception))) {
2353+
name = zval_try_get_tmp_string(offset, &tmp_name);
2354+
if (UNEXPECTED(!name)) {
23552355
ZVAL_UNDEF(EX_VAR(opline->result.var));
23562356
break;
23572357
}
@@ -2570,8 +2570,8 @@ ZEND_VM_C_LABEL(fast_assign_obj):
25702570
if (OP2_TYPE == IS_CONST) {
25712571
name = Z_STR_P(property);
25722572
} else {
2573-
name = zval_get_tmp_string(property, &tmp_name);
2574-
if (UNEXPECTED(EG(exception))) {
2573+
name = zval_try_get_tmp_string(property, &tmp_name);
2574+
if (UNEXPECTED(!name)) {
25752575
FREE_OP_DATA();
25762576
UNDEF_RESULT();
25772577
ZEND_VM_C_GOTO(exit_assign_obj);
@@ -6108,8 +6108,8 @@ ZEND_VM_COLD_HANDLER(179, ZEND_UNSET_STATIC_PROP, ANY, ANY, CACHE_SLOT)
61086108
if (OP1_TYPE == IS_CV && UNEXPECTED(Z_TYPE_P(varname) == IS_UNDEF)) {
61096109
varname = ZVAL_UNDEFINED_OP1();
61106110
}
6111-
name = zval_get_tmp_string(varname, &tmp_name);
6112-
if (UNEXPECTED(EG(exception))) {
6111+
name = zval_try_get_tmp_string(varname, &tmp_name);
6112+
if (UNEXPECTED(!name)) {
61136113
FREE_OP1();
61146114
HANDLE_EXCEPTION();
61156115
}
@@ -6244,8 +6244,8 @@ ZEND_VM_HANDLER(76, ZEND_UNSET_OBJ, VAR|UNUSED|THIS|CV, CONST|TMPVAR|CV, CACHE_S
62446244
if (OP2_TYPE == IS_CONST) {
62456245
name = Z_STR_P(offset);
62466246
} else {
6247-
name = zval_get_tmp_string(offset, &tmp_name);
6248-
if (UNEXPECTED(EG(exception))) {
6247+
name = zval_try_get_tmp_string(offset, &tmp_name);
6248+
if (UNEXPECTED(!name)) {
62496249
break;
62506250
}
62516251
}
@@ -6963,8 +6963,8 @@ ZEND_VM_COLD_CONST_HANDLER(148, ZEND_ISSET_ISEMPTY_PROP_OBJ, CONST|TMPVAR|UNUSED
69636963
if (OP2_TYPE == IS_CONST) {
69646964
name = Z_STR_P(offset);
69656965
} else {
6966-
name = zval_get_tmp_string(offset, &tmp_name);
6967-
if (UNEXPECTED(EG(exception))) {
6966+
name = zval_try_get_tmp_string(offset, &tmp_name);
6967+
if (UNEXPECTED(!name)) {
69686968
result = 0;
69696969
ZEND_VM_C_GOTO(isset_object_finish);
69706970
}

0 commit comments

Comments
 (0)