]> granicus.if.org Git - php/commitdiff
Reorganize make_real_object() related code
authorDmitry Stogov <dmitry@zend.com>
Wed, 21 Feb 2018 15:43:38 +0000 (18:43 +0300)
committerDmitry Stogov <dmitry@zend.com>
Wed, 21 Feb 2018 15:43:38 +0000 (18:43 +0300)
Zend/zend_execute.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 93f6334ecc259683cfe9b700cff76c3899a812b5..b7a007e8fa2b93f08dbbf73e18aad14708df881f 100644 (file)
@@ -648,12 +648,15 @@ static zend_never_inline ZEND_COLD int zend_wrong_assign_to_variable_reference(z
        return 1;
 }
 
-static zend_never_inline ZEND_COLD void ZEND_FASTCALL zend_wrong_property_assignment(zval *property)
+static zend_never_inline ZEND_COLD void ZEND_FASTCALL zend_wrong_property_assignment(zval *property OPLINE_DC EXECUTE_DATA_DC)
 {
        zend_string *tmp_property_name;
        zend_string *property_name = zval_get_tmp_string(property, &tmp_property_name);
        zend_error(E_WARNING, "Attempt to assign property '%s' of non-object", ZSTR_VAL(property_name));
        zend_tmp_string_release(property_name);
+       if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
+               ZVAL_NULL(EX_VAR(opline->result.var));
+       }
 }
 
 /* this should modify object only if it's empty */
@@ -667,17 +670,18 @@ static zend_never_inline ZEND_COLD int ZEND_FASTCALL make_real_object(zval *obje
                zval_ptr_dtor_nogc(object);
        } else {
                if (opline->op1_type != IS_VAR || EXPECTED(!Z_ISERROR_P(object))) {
+                       zend_string *tmp_property_name;
+                       zend_string *property_name = zval_get_tmp_string(property, &tmp_property_name);
+
                        if (opline->opcode == ZEND_PRE_INC_OBJ
                         || opline->opcode == ZEND_PRE_DEC_OBJ
                         || opline->opcode == ZEND_POST_INC_OBJ
                         || opline->opcode == ZEND_POST_DEC_OBJ) {
-                               zend_string *tmp_property_name;
-                               zend_string *property_name = zval_get_tmp_string(property, &tmp_property_name);
                                zend_error(E_WARNING, "Attempt to increment/decrement property '%s' of non-object", ZSTR_VAL(property_name));
-                               zend_tmp_string_release(property_name);
                        } else {
-                               zend_wrong_property_assignment(property);
+                               zend_error(E_WARNING, "Attempt to assign property '%s' of non-object", ZSTR_VAL(property_name));
                        }
+                       zend_tmp_string_release(property_name);
                }
                if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
                        ZVAL_NULL(EX_VAR(opline->result.var));
@@ -700,6 +704,25 @@ static zend_never_inline ZEND_COLD int ZEND_FASTCALL make_real_object(zval *obje
        return 1;
 }
 
+static zend_never_inline ZEND_COLD int ZEND_FASTCALL make_real_object_rw(zval *object, zval *property)
+{
+       if (EXPECTED(Z_TYPE_P(object) <= IS_FALSE)) {
+               /* nothing to destroy */
+       } else if (EXPECTED((Z_TYPE_P(object) == IS_STRING && Z_STRLEN_P(object) == 0))) {
+               zval_ptr_dtor_nogc(object);
+       } else {
+               if (opline->op1_type != IS_VAR || EXPECTED(!Z_ISERROR_P(object))) {
+                       zend_string *tmp_property_name;
+                       zend_string *property_name = zval_get_tmp_string(property, &tmp_property_name);
+                       zend_error(E_WARNING, "Attempt to modify property '%s' of non-object", ZSTR_VAL(property_name));
+                       zend_tmp_string_release(property_name);
+               }
+               return 0;
+       }
+       object_init(object);
+       return 1;
+}
+
 static ZEND_COLD void zend_verify_type_error_common(
                const zend_function *zf, const zend_arg_info *arg_info,
                const zend_class_entry *ce, zval *value,
@@ -1654,14 +1677,6 @@ static zend_never_inline ZEND_COLD void ZEND_FASTCALL zend_use_new_element_for_s
        zend_throw_error(NULL, "[] operator not supported for strings");
 }
 
-static zend_never_inline ZEND_COLD void ZEND_FASTCALL zend_modify_property_of_non_object(zval *property)
-{
-       zend_string *tmp;
-       zend_string *property_name = zval_get_tmp_string(property, &tmp);
-       zend_error(E_WARNING, "Attempt to modify property '%s' of non-object", ZSTR_VAL(property_name));
-       zend_tmp_string_release(tmp);
-}
-
 static zend_never_inline ZEND_COLD void ZEND_FASTCALL zend_access_undefined_propery_in_overloaded_object(void)
 {
        zend_throw_error(NULL, "Cannot access undefined property for object with overloaded property access");
@@ -2195,15 +2210,8 @@ static zend_always_inline void zend_fetch_property_address(zval *result, zval *c
                        }
 
                        /* this should modify object only if it's empty */
-                       if (type != BP_VAR_UNSET &&
-                           EXPECTED(Z_TYPE_P(container) <= IS_FALSE ||
-                             (Z_TYPE_P(container) == IS_STRING && Z_STRLEN_P(container)==0))) {
-                               zval_ptr_dtor_nogc(container);
-                               object_init(container);
-                       } else {
-                               if (container_op_type != IS_VAR || EXPECTED(!Z_ISERROR_P(container))) {
-                                       zend_modify_property_of_non_object(prop_ptr);
-                               }
+                       if (type == BP_VAR_UNSET ||
+                               UNEXPECTED(!make_real_object_rw(container, prop_ptr))) {
                                ZVAL_ERROR(result);
                                return;
                        }
index 730d1d60dfb1e951eb09bc0322348434d3b81834..c6500239ea916738fe29041eb3e0b51f150e1bfd 100644 (file)
@@ -2180,10 +2180,7 @@ ZEND_VM_C_LABEL(fast_assign_obj):
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                FREE_OP_DATA();
                ZEND_VM_C_GOTO(exit_assign_obj);
        }
index 79e69c71bb7aadbae6e966b521fd023995957947..56b6a3756f8daa4b32d8f9a18f2fb9d863c67e82 100644 (file)
@@ -23143,10 +23143,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -23267,10 +23264,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -23391,10 +23385,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -23515,10 +23506,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -25431,10 +25419,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -25555,10 +25540,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -25679,10 +25661,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -25803,10 +25782,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -29152,10 +29128,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -29276,10 +29249,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -29400,10 +29370,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -29524,10 +29491,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -31491,10 +31455,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -31615,10 +31576,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -31739,10 +31697,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -31863,10 +31818,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -33244,10 +33196,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -33368,10 +33317,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -33492,10 +33438,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -33616,10 +33559,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -35624,10 +35564,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -35748,10 +35685,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -35872,10 +35806,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -35996,10 +35927,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -40221,10 +40149,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -40345,10 +40270,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -40469,10 +40391,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -40593,10 +40512,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -43910,10 +43826,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -44034,10 +43947,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -44158,10 +44068,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -44282,10 +44189,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -49458,10 +49362,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }
@@ -49582,10 +49483,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -49706,10 +49604,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
                zval_ptr_dtor_nogc(free_op_data);
                goto exit_assign_obj;
        }
@@ -49830,10 +49725,7 @@ fast_assign_obj:
        }
 
        if (!Z_OBJ_HT_P(object)->write_property) {
-               zend_wrong_property_assignment(property);
-               if (UNEXPECTED(RETURN_VALUE_USED(opline))) {
-                       ZVAL_NULL(EX_VAR(opline->result.var));
-               }
+               zend_wrong_property_assignment(property OPLINE_CC EXECUTE_DATA_CC);
 
                goto exit_assign_obj;
        }