@@ -2024,27 +2024,15 @@ static int ZEND_FASTCALL ZEND_ECHO_SPEC_CONST_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
2024
2024
{
2025
2025
USE_OPLINE
2026
2026
2027
- zval z_copy;
2028
2027
zval *z;
2029
2028
2030
2029
SAVE_OPLINE();
2031
2030
z = opline->op1.zv;
2032
2031
2033
- if (IS_CONST != IS_CONST &&
2034
- UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) &&
2035
- Z_OBJ_HT_P(z)->get_method != NULL) {
2036
- if (IS_CONST == IS_TMP_VAR) {
2037
- INIT_PZVAL(z);
2038
- }
2039
- if (zend_std_cast_object_tostring(z, &z_copy, IS_STRING TSRMLS_CC) == SUCCESS) {
2040
- zend_print_variable(&z_copy);
2041
- zval_dtor(&z_copy);
2042
- } else {
2043
- zend_print_variable(z);
2044
- }
2045
- } else {
2046
- zend_print_variable(z);
2032
+ if (IS_CONST == IS_TMP_VAR && Z_TYPE_P(z) == IS_OBJECT) {
2033
+ INIT_PZVAL(z);
2047
2034
}
2035
+ zend_print_variable(z);
2048
2036
2049
2037
CHECK_EXCEPTION();
2050
2038
ZEND_VM_NEXT_OPCODE();
@@ -6443,27 +6431,15 @@ static int ZEND_FASTCALL ZEND_ECHO_SPEC_TMP_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
6443
6431
{
6444
6432
USE_OPLINE
6445
6433
zend_free_op free_op1;
6446
- zval z_copy;
6447
6434
zval *z;
6448
6435
6449
6436
SAVE_OPLINE();
6450
6437
z = _get_zval_ptr_tmp(opline->op1.var, EX_Ts(), &free_op1 TSRMLS_CC);
6451
6438
6452
- if (IS_TMP_VAR != IS_CONST &&
6453
- UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) &&
6454
- Z_OBJ_HT_P(z)->get_method != NULL) {
6455
- if (IS_TMP_VAR == IS_TMP_VAR) {
6456
- INIT_PZVAL(z);
6457
- }
6458
- if (zend_std_cast_object_tostring(z, &z_copy, IS_STRING TSRMLS_CC) == SUCCESS) {
6459
- zend_print_variable(&z_copy);
6460
- zval_dtor(&z_copy);
6461
- } else {
6462
- zend_print_variable(z);
6463
- }
6464
- } else {
6465
- zend_print_variable(z);
6439
+ if (IS_TMP_VAR == IS_TMP_VAR && Z_TYPE_P(z) == IS_OBJECT) {
6440
+ INIT_PZVAL(z);
6466
6441
}
6442
+ zend_print_variable(z);
6467
6443
6468
6444
zval_dtor(free_op1.var);
6469
6445
CHECK_EXCEPTION();
@@ -10761,27 +10737,15 @@ static int ZEND_FASTCALL ZEND_ECHO_SPEC_VAR_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
10761
10737
{
10762
10738
USE_OPLINE
10763
10739
zend_free_op free_op1;
10764
- zval z_copy;
10765
10740
zval *z;
10766
10741
10767
10742
SAVE_OPLINE();
10768
10743
z = _get_zval_ptr_var(opline->op1.var, EX_Ts(), &free_op1 TSRMLS_CC);
10769
10744
10770
- if (IS_VAR != IS_CONST &&
10771
- UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) &&
10772
- Z_OBJ_HT_P(z)->get_method != NULL) {
10773
- if (IS_VAR == IS_TMP_VAR) {
10774
- INIT_PZVAL(z);
10775
- }
10776
- if (zend_std_cast_object_tostring(z, &z_copy, IS_STRING TSRMLS_CC) == SUCCESS) {
10777
- zend_print_variable(&z_copy);
10778
- zval_dtor(&z_copy);
10779
- } else {
10780
- zend_print_variable(z);
10781
- }
10782
- } else {
10783
- zend_print_variable(z);
10745
+ if (IS_VAR == IS_TMP_VAR && Z_TYPE_P(z) == IS_OBJECT) {
10746
+ INIT_PZVAL(z);
10784
10747
}
10748
+ zend_print_variable(z);
10785
10749
10786
10750
if (free_op1.var) {zval_ptr_dtor(&free_op1.var);};
10787
10751
CHECK_EXCEPTION();
@@ -26741,27 +26705,15 @@ static int ZEND_FASTCALL ZEND_ECHO_SPEC_CV_HANDLER(ZEND_OPCODE_HANDLER_ARGS)
26741
26705
{
26742
26706
USE_OPLINE
26743
26707
26744
- zval z_copy;
26745
26708
zval *z;
26746
26709
26747
26710
SAVE_OPLINE();
26748
26711
z = _get_zval_ptr_cv_BP_VAR_R(EX_CVs(), opline->op1.var TSRMLS_CC);
26749
26712
26750
- if (IS_CV != IS_CONST &&
26751
- UNEXPECTED(Z_TYPE_P(z) == IS_OBJECT) &&
26752
- Z_OBJ_HT_P(z)->get_method != NULL) {
26753
- if (IS_CV == IS_TMP_VAR) {
26754
- INIT_PZVAL(z);
26755
- }
26756
- if (zend_std_cast_object_tostring(z, &z_copy, IS_STRING TSRMLS_CC) == SUCCESS) {
26757
- zend_print_variable(&z_copy);
26758
- zval_dtor(&z_copy);
26759
- } else {
26760
- zend_print_variable(z);
26761
- }
26762
- } else {
26763
- zend_print_variable(z);
26713
+ if (IS_CV == IS_TMP_VAR && Z_TYPE_P(z) == IS_OBJECT) {
26714
+ INIT_PZVAL(z);
26764
26715
}
26716
+ zend_print_variable(z);
26765
26717
26766
26718
CHECK_EXCEPTION();
26767
26719
ZEND_VM_NEXT_OPCODE();
0 commit comments