@@ -3121,22 +3121,18 @@ static ZEND_VM_COLD ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CAST_SPEC_CONST_H
31213121 } else {
31223122 ZVAL_EMPTY_ARRAY(result);
31233123 }
3124- } else if (Z_OBJ_HT_P(expr)->get_properties) {
3125- HashTable *obj_ht = Z_OBJ_HT_P (expr)->get_properties(expr );
3124+ } else {
3125+ HashTable *obj_ht = zend_get_properties_for (expr, ZEND_PROP_PURPOSE_ARRAY_CAST );
31263126 if (obj_ht) {
31273127 /* fast copy */
3128- obj_ht = zend_proptable_to_symtable(obj_ht,
3128+ ZVAL_ARR(result, zend_proptable_to_symtable(obj_ht,
31293129 (Z_OBJCE_P(expr)->default_properties_count ||
31303130 Z_OBJ_P(expr)->handlers != &std_object_handlers ||
3131- GC_IS_RECURSIVE(obj_ht)));
3132- ZVAL_ARR(result, obj_ht);
3131+ GC_IS_RECURSIVE(obj_ht)))) ;
3132+ zend_release_properties( obj_ht);
31333133 } else {
31343134 ZVAL_EMPTY_ARRAY(result);
31353135 }
3136- } else {
3137- ZVAL_COPY_VALUE(result, expr);
3138- Z_ADDREF_P(result);
3139- convert_to_array(result);
31403136 }
31413137 } else {
31423138 ZVAL_OBJ(result, zend_objects_new(zend_standard_class_def));
@@ -18092,22 +18088,18 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CAST_SPEC_TMP_HANDLER(ZEND_OPC
1809218088 } else {
1809318089 ZVAL_EMPTY_ARRAY(result);
1809418090 }
18095- } else if (Z_OBJ_HT_P(expr)->get_properties) {
18096- HashTable *obj_ht = Z_OBJ_HT_P (expr)->get_properties(expr );
18091+ } else {
18092+ HashTable *obj_ht = zend_get_properties_for (expr, ZEND_PROP_PURPOSE_ARRAY_CAST );
1809718093 if (obj_ht) {
1809818094 /* fast copy */
18099- obj_ht = zend_proptable_to_symtable(obj_ht,
18095+ ZVAL_ARR(result, zend_proptable_to_symtable(obj_ht,
1810018096 (Z_OBJCE_P(expr)->default_properties_count ||
1810118097 Z_OBJ_P(expr)->handlers != &std_object_handlers ||
18102- GC_IS_RECURSIVE(obj_ht)));
18103- ZVAL_ARR(result, obj_ht);
18098+ GC_IS_RECURSIVE(obj_ht)))) ;
18099+ zend_release_properties( obj_ht);
1810418100 } else {
1810518101 ZVAL_EMPTY_ARRAY(result);
1810618102 }
18107- } else {
18108- ZVAL_COPY_VALUE(result, expr);
18109- Z_ADDREF_P(result);
18110- convert_to_array(result);
1811118103 }
1811218104 } else {
1811318105 ZVAL_OBJ(result, zend_objects_new(zend_standard_class_def));
@@ -21100,22 +21092,18 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CAST_SPEC_VAR_HANDLER(ZEND_OPC
2110021092 } else {
2110121093 ZVAL_EMPTY_ARRAY(result);
2110221094 }
21103- } else if (Z_OBJ_HT_P(expr)->get_properties) {
21104- HashTable *obj_ht = Z_OBJ_HT_P (expr)->get_properties(expr );
21095+ } else {
21096+ HashTable *obj_ht = zend_get_properties_for (expr, ZEND_PROP_PURPOSE_ARRAY_CAST );
2110521097 if (obj_ht) {
2110621098 /* fast copy */
21107- obj_ht = zend_proptable_to_symtable(obj_ht,
21099+ ZVAL_ARR(result, zend_proptable_to_symtable(obj_ht,
2110821100 (Z_OBJCE_P(expr)->default_properties_count ||
2110921101 Z_OBJ_P(expr)->handlers != &std_object_handlers ||
21110- GC_IS_RECURSIVE(obj_ht)));
21111- ZVAL_ARR(result, obj_ht);
21102+ GC_IS_RECURSIVE(obj_ht)))) ;
21103+ zend_release_properties( obj_ht);
2111221104 } else {
2111321105 ZVAL_EMPTY_ARRAY(result);
2111421106 }
21115- } else {
21116- ZVAL_COPY_VALUE(result, expr);
21117- Z_ADDREF_P(result);
21118- convert_to_array(result);
2111921107 }
2112021108 } else {
2112121109 ZVAL_OBJ(result, zend_objects_new(zend_standard_class_def));
@@ -37467,22 +37455,18 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_CAST_SPEC_CV_HANDLER(ZEND_OPCO
3746737455 } else {
3746837456 ZVAL_EMPTY_ARRAY(result);
3746937457 }
37470- } else if (Z_OBJ_HT_P(expr)->get_properties) {
37471- HashTable *obj_ht = Z_OBJ_HT_P (expr)->get_properties(expr );
37458+ } else {
37459+ HashTable *obj_ht = zend_get_properties_for (expr, ZEND_PROP_PURPOSE_ARRAY_CAST );
3747237460 if (obj_ht) {
3747337461 /* fast copy */
37474- obj_ht = zend_proptable_to_symtable(obj_ht,
37462+ ZVAL_ARR(result, zend_proptable_to_symtable(obj_ht,
3747537463 (Z_OBJCE_P(expr)->default_properties_count ||
3747637464 Z_OBJ_P(expr)->handlers != &std_object_handlers ||
37477- GC_IS_RECURSIVE(obj_ht)));
37478- ZVAL_ARR(result, obj_ht);
37465+ GC_IS_RECURSIVE(obj_ht)))) ;
37466+ zend_release_properties( obj_ht);
3747937467 } else {
3748037468 ZVAL_EMPTY_ARRAY(result);
3748137469 }
37482- } else {
37483- ZVAL_COPY_VALUE(result, expr);
37484- Z_ADDREF_P(result);
37485- convert_to_array(result);
3748637470 }
3748737471 } else {
3748837472 ZVAL_OBJ(result, zend_objects_new(zend_standard_class_def));
0 commit comments