}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CONST == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CONST, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_TMP_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_TMP_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CV == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CV, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CONST == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CONST, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
zval_ptr_dtor_nogc(free_op2);
if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_TMP_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_TMP_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
zval_ptr_dtor_nogc(free_op2);
if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
zval_ptr_dtor_nogc(free_op2);
if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CV == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CV, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
zval_ptr_dtor_nogc(free_op2);
if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CONST == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CONST, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_TMP_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_TMP_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CV == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CV, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
if (UNEXPECTED(free_op1)) {zval_ptr_dtor_nogc(free_op1);};
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CONST == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CONST, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_TMP_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_TMP_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CV == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CV, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CONST == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CONST, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
zval_ptr_dtor_nogc(free_op2);
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_TMP_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_TMP_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
zval_ptr_dtor_nogc(free_op2);
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
zval_ptr_dtor_nogc(free_op2);
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CV == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CV, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
zval_ptr_dtor_nogc(free_op2);
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CONST == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CONST, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_TMP_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_TMP_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CV == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CV, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CONST == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CONST, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_TMP_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_TMP_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CV == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CV, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CONST == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CONST == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CONST, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
zval_ptr_dtor_nogc(free_op2);
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_TMP_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_TMP_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
zval_ptr_dtor_nogc(free_op2);
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
zval_ptr_dtor_nogc(free_op2);
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CV == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CV, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, ((IS_TMP_VAR|IS_VAR) == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
zval_ptr_dtor_nogc(free_op2);
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CONST == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CONST, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_TMP_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_TMP_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
- zval_ptr_dtor_nogc(free_op_data);
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_VAR == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
- zval_ptr_dtor_nogc(free_op_data);
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_VAR, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
zval_ptr_dtor_nogc(free_op_data);
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */
}
object = make_real_object(object, property OPLINE_CC EXECUTE_DATA_CC);
if (UNEXPECTED(!object)) {
-
- goto exit_assign_obj;
+ value = &EG(uninitialized_zval);
+ goto free_and_exit_assign_obj;
}
}
if (IS_CV == IS_CONST && Z_TYPE_P(value) == orig_type) {
CACHE_PTR_EX(cache_slot + 2, NULL);
}
-
+ goto free_and_exit_assign_obj;
} else {
fast_assign_obj:
value = zend_assign_to_variable(property_val, value, IS_CV, EX_USES_STRICT_TYPES());
+ goto exit_assign_obj;
}
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
- goto exit_assign_obj;
}
} else {
if (EXPECTED(zobj->properties != NULL)) {
}
}
zend_hash_add_new(zobj->properties, Z_STR_P(property), value);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), value);
- }
goto exit_assign_obj;
}
}
ZVAL_DEREF(value);
}
- property = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
+ value = Z_OBJ_HT_P(object)->write_property(object, property, value, (IS_CV == IS_CONST) ? CACHE_ADDR(opline->extended_value) : NULL);
- if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
- ZVAL_COPY(EX_VAR(opline->result.var), property);
- }
+free_and_exit_assign_obj:
exit_assign_obj:
+ if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+ ZVAL_COPY(EX_VAR(opline->result.var), value);
+ }
/* assign_obj has two opcodes! */