]> granicus.if.org Git - php/commitdiff
Removed zend_fcall_info.symbol_table
authorDmitry Stogov <dmitry@zend.com>
Wed, 2 Mar 2016 14:50:55 +0000 (17:50 +0300)
committerDmitry Stogov <dmitry@zend.com>
Wed, 2 Mar 2016 14:50:55 +0000 (17:50 +0300)
21 files changed:
Zend/zend_API.c
Zend/zend_API.h
Zend/zend_exceptions.c
Zend/zend_execute_API.c
Zend/zend_interfaces.c
ext/curl/interface.c
ext/dom/xpath.c
ext/mysqli/mysqli.c
ext/pdo/pdo_dbh.c
ext/pdo/pdo_stmt.c
ext/pdo_sqlite/sqlite_driver.c
ext/pgsql/pgsql.c
ext/reflection/php_reflection.c
ext/soap/soap.c
ext/spl/spl_directory.c
ext/spl/spl_engine.h
ext/sqlite3/sqlite3.c
ext/xml/xml.c
ext/xsl/xsltprocessor.c
main/streams/userspace.c
sapi/phpdbg/phpdbg_prompt.c

index e9cf134ede62f82811ab1750afbe4e41c653633e..5ebfe2cb178226371db1a5d8211dfef558201000 100644 (file)
@@ -3427,7 +3427,6 @@ ZEND_API int zend_fcall_info_init(zval *callable, uint check_flags, zend_fcall_i
        fci->param_count = 0;
        fci->params = NULL;
        fci->no_separation = 1;
-       fci->symbol_table = NULL;
 
        return SUCCESS;
 }
index db4b9a8819dc0fc7f71d030bac296b511b154edf..40c814f71dc89a1998b130ccbbedf368db00bba1 100644 (file)
@@ -45,7 +45,6 @@ typedef struct _zend_fcall_info {
        size_t size;
        HashTable *function_table;
        zval function_name;
-       zend_array *symbol_table;
        zval *retval;
        zval *params;
        zend_object *object;
@@ -470,7 +469,10 @@ ZEND_API int add_property_zval_ex(zval *arg, const char *key, size_t key_len, zv
 
 
 ZEND_API int call_user_function(HashTable *function_table, zval *object, zval *function_name, zval *retval_ptr, uint32_t param_count, zval params[]);
-ZEND_API int call_user_function_ex(HashTable *function_table, zval *object, zval *function_name, zval *retval_ptr, uint32_t param_count, zval params[], int no_separation, zend_array *symbol_table);
+ZEND_API int _call_user_function_ex(HashTable *function_table, zval *object, zval *function_name, zval *retval_ptr, uint32_t param_count, zval params[], int no_separation);
+
+#define call_user_function_ex(function_table, object, function_name, retval_ptr, param_count, params, no_separation, symbol_table) \
+       _call_user_function_ex(function_table, object, function_name, retval_ptr, param_count, params, no_separation)
 
 ZEND_API extern const zend_fcall_info empty_fcall_info;
 ZEND_API extern const zend_fcall_info_cache empty_fcall_info_cache;
index 6195ef904a6a50db1b7239211c5d8e2e02c90224..21dfdc5146720bbc536e73323e13bb5941ab7a5c 100644 (file)
@@ -676,7 +676,6 @@ ZEND_METHOD(exception, __toString)
                fci.size = sizeof(fci);
                fci.function_table = &Z_OBJCE_P(exception)->function_table;
                ZVAL_COPY_VALUE(&fci.function_name, &fname);
-               fci.symbol_table = NULL;
                fci.object = Z_OBJ_P(exception);
                fci.retval = &trace;
                fci.param_count = 0;
index 733688d2c7ba5997ec404fedc9bd2819414712eb..bbf25863c9903c0469c07dcda7ac5bc30aced2fc 100644 (file)
@@ -668,7 +668,7 @@ int call_user_function(HashTable *function_table, zval *object, zval *function_n
 }
 /* }}} */
 
-int call_user_function_ex(HashTable *function_table, zval *object, zval *function_name, zval *retval_ptr, uint32_t param_count, zval params[], int no_separation, zend_array *symbol_table) /* {{{ */
+int _call_user_function_ex(HashTable *function_table, zval *object, zval *function_name, zval *retval_ptr, uint32_t param_count, zval params[], int no_separation) /* {{{ */
 {
        zend_fcall_info fci;
 
@@ -680,7 +680,6 @@ int call_user_function_ex(HashTable *function_table, zval *object, zval *functio
        fci.param_count = param_count;
        fci.params = params;
        fci.no_separation = (zend_bool) no_separation;
-       fci.symbol_table = symbol_table;
 
        return zend_call_function(&fci, NULL);
 }
@@ -851,13 +850,10 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache) /
                ZEND_ADD_CALL_FLAG(call, ZEND_CALL_CLOSURE);
        }
 
-       /* PHP-7 doesn't support symbol_table substitution for functions */
-       ZEND_ASSERT(fci->symbol_table == NULL);
-
        if (func->type == ZEND_USER_FUNCTION) {
                int call_via_handler = (func->common.fn_flags & ZEND_ACC_CALL_VIA_TRAMPOLINE) != 0;
                EG(scope) = func->common.scope;
-               call->symbol_table = fci->symbol_table;
+               call->symbol_table = NULL;
                if (EXPECTED((func->op_array.fn_flags & ZEND_ACC_GENERATOR) == 0)) {
                        zend_init_execute_data(call, &func->op_array, fci->retval);
                        zend_execute_ex(call);
@@ -1027,7 +1023,6 @@ ZEND_API zend_class_entry *zend_lookup_class_ex(zend_string *name, const zval *k
        fcall_info.size = sizeof(fcall_info);
        fcall_info.function_table = EG(function_table);
        ZVAL_STR_COPY(&fcall_info.function_name, EG(autoload_func)->common.function_name);
-       fcall_info.symbol_table = NULL;
        fcall_info.retval = &local_retval;
        fcall_info.param_count = 1;
        fcall_info.params = args;
index 6ad89668708ec5267b258eeee5f67b76862ea0f8..c7d225704f06643b3a1aa7765fff448cf5cefe64 100644 (file)
@@ -55,7 +55,6 @@ ZEND_API zval* zend_call_method(zval *object, zend_class_entry *obj_ce, zend_fun
        fci.param_count = param_count;
        fci.params = params;
        fci.no_separation = 1;
-       fci.symbol_table = NULL;
 
        if (!fn_proxy && !obj_ce) {
                /* no interest in caching and no information already present that is
index 0a7f7c72e8a8498203c1371c174e4a4620828d6b..58e1814d093f79b753c5796eaf5b7e0ff10ccfd5 100644 (file)
@@ -1345,7 +1345,6 @@ static size_t curl_write(char *data, size_t size, size_t nmemb, void *ctx)
                        fci.param_count = 2;
                        fci.params = argv;
                        fci.no_separation = 0;
-                       fci.symbol_table = NULL;
 
                        ch->in_callback = 1;
                        error = zend_call_function(&fci, &t->fci_cache);
@@ -1396,7 +1395,6 @@ static int curl_fnmatch(void *ctx, const char *pattern, const char *string)
                        fci.param_count = 3;
                        fci.params = argv;
                        fci.no_separation = 0;
-                       fci.symbol_table = NULL;
 
                        ch->in_callback = 1;
                        error = zend_call_function(&fci, &t->fci_cache);
@@ -1453,7 +1451,6 @@ static size_t curl_progress(void *clientp, double dltotal, double dlnow, double
                        fci.param_count = 5;
                        fci.params = argv;
                        fci.no_separation = 0;
-                       fci.symbol_table = NULL;
 
                        ch->in_callback = 1;
                        error = zend_call_function(&fci, &t->fci_cache);
@@ -1516,7 +1513,6 @@ static size_t curl_read(char *data, size_t size, size_t nmemb, void *ctx)
                        fci.param_count = 3;
                        fci.params = argv;
                        fci.no_separation = 0;
-                       fci.symbol_table = NULL;
 
                        ch->in_callback = 1;
                        error = zend_call_function(&fci, &t->fci_cache);
@@ -1579,7 +1575,6 @@ static size_t curl_write_header(char *data, size_t size, size_t nmemb, void *ctx
                        fci.size = sizeof(fci);
                        fci.function_table = EG(function_table);
                        ZVAL_COPY_VALUE(&fci.function_name, &t->func_name);
-                       fci.symbol_table = NULL;
                        fci.object = NULL;
                        fci.retval = &retval;
                        fci.param_count = 2;
index 75c4a49bc16bffb68d1eb6c70a5a7fba754f1cb1..3cc9abaa3c67a82ca79ebc598d818a86b4058080 100644 (file)
@@ -188,7 +188,6 @@ static void dom_xpath_ext_function_php(xmlXPathParserContextPtr ctxt, int nargs,
        ZVAL_STRING(&fci.function_name, (char *) obj->stringval);
        xmlXPathFreeObject(obj);
 
-       fci.symbol_table = NULL;
        fci.object = NULL;
        fci.retval = &retval;
        fci.no_separation = 0;
index f21e75251766abdc01f4accdefe0bdbb5967718b..d6282b8126a84482e3ab635218b0968ceaba7065 100644 (file)
@@ -1286,7 +1286,6 @@ void php_mysqli_fetch_into_hash(INTERNAL_FUNCTION_PARAMETERS, int override_flags
                        fci.size = sizeof(fci);
                        fci.function_table = &ce->function_table;
                        ZVAL_UNDEF(&fci.function_name);
-                       fci.symbol_table = NULL;
                        fci.object = Z_OBJ_P(return_value);
                        fci.retval = &retval;
                        fci.params = NULL;
index 0b2053d0d3a471f61cace2d3b41259b084313fb6..1d77f3e0eb40f8096dd04afa27cd149840b5a496 100644 (file)
@@ -439,7 +439,6 @@ static void pdo_stmt_construct(zend_execute_data *execute_data, pdo_stmt_t *stmt
                fci.function_table = &dbstmt_ce->function_table;
                ZVAL_UNDEF(&fci.function_name);
                fci.object = Z_OBJ_P(object);
-               fci.symbol_table = NULL;
                fci.retval = &retval;
                fci.param_count = 0;
                fci.params = NULL;
index 6019c39aba510744284a15151e7fc8e189f4d478..1cc615eb31213694b92044c0d091ea0d45f6de73 100644 (file)
@@ -742,7 +742,6 @@ static int do_fetch_class_prepare(pdo_stmt_t *stmt) /* {{{ */
        if (ce->constructor) {
                fci->function_table = &ce->function_table;
                ZVAL_UNDEF(&fci->function_name);
-               fci->symbol_table = NULL;
                fci->retval = &stmt->fetch.cls.retval;
                fci->param_count = 0;
                fci->params = NULL;
index 346cdf2f2759eed19415aeb36b5821e7edba01e6..8c732b9dbe3842b95ade4491ef50cfe71e579b64 100644 (file)
@@ -327,7 +327,6 @@ static int do_callback(struct pdo_sqlite_fci *fc, zval *cb,
        fc->fci.size = sizeof(fc->fci);
        fc->fci.function_table = EG(function_table);
        ZVAL_COPY_VALUE(&fc->fci.function_name, cb);
-       fc->fci.symbol_table = NULL;
        fc->fci.object = NULL;
        fc->fci.retval = &retval;
        fc->fci.param_count = fake_argc;
@@ -478,7 +477,6 @@ static int php_sqlite3_collation_callback(void *context,
        collation->fc.fci.size = sizeof(collation->fc.fci);
        collation->fc.fci.function_table = EG(function_table);
        ZVAL_COPY_VALUE(&collation->fc.fci.function_name, &collation->callback);
-       collation->fc.fci.symbol_table = NULL;
        collation->fc.fci.object = NULL;
        collation->fc.fci.retval = &retval;
 
index 5c82fd8b43d76821421c6488f4ac1064ced2cbf9..34ae0d02f761badd9c1ca1a31603787e1bc3b79e 100644 (file)
@@ -2826,7 +2826,6 @@ static void php_pgsql_fetch_hash(INTERNAL_FUNCTION_PARAMETERS, zend_long result_
                        fci.size = sizeof(fci);
                        fci.function_table = &ce->function_table;
                        ZVAL_UNDEF(&fci.function_name);
-                       fci.symbol_table = NULL;
                        fci.object = Z_OBJ_P(return_value);
                        fci.retval = &retval;
                        fci.params = NULL;
index af1e972f604a64d10b66f53e54a238a48c9946ed..68aa136d90de4ffd6ecf65d18ec1488afd64a617 100644 (file)
@@ -1430,7 +1430,6 @@ static void _reflection_export(INTERNAL_FUNCTION_PARAMETERS, zend_class_entry *c
        fci.size = sizeof(fci);
        fci.function_table = NULL;
        ZVAL_UNDEF(&fci.function_name);
-       fci.symbol_table = NULL;
        fci.object = Z_OBJ(reflector);
        fci.retval = &retval;
        fci.param_count = ctor_argc;
@@ -1965,7 +1964,6 @@ ZEND_METHOD(reflection_function, invoke)
        fci.size = sizeof(fci);
        fci.function_table = NULL;
        ZVAL_UNDEF(&fci.function_name);
-       fci.symbol_table = NULL;
        fci.object = NULL;
        fci.retval = &retval;
        fci.param_count = num_args;
@@ -2025,7 +2023,6 @@ ZEND_METHOD(reflection_function, invokeArgs)
        fci.size = sizeof(fci);
        fci.function_table = NULL;
        ZVAL_UNDEF(&fci.function_name);
-       fci.symbol_table = NULL;
        fci.object = NULL;
        fci.retval = &retval;
        fci.param_count = argc;
@@ -3257,7 +3254,6 @@ ZEND_METHOD(reflection_method, invoke)
        fci.size = sizeof(fci);
        fci.function_table = NULL;
        ZVAL_UNDEF(&fci.function_name);
-       fci.symbol_table = NULL;
        fci.object = object;
        fci.retval = &retval;
        fci.param_count = num_args - 1;
@@ -3364,7 +3360,6 @@ ZEND_METHOD(reflection_method, invokeArgs)
        fci.size = sizeof(fci);
        fci.function_table = NULL;
        ZVAL_UNDEF(&fci.function_name);
-       fci.symbol_table = NULL;
        fci.object = object ? Z_OBJ_P(object) : NULL;
        fci.retval = &retval;
        fci.param_count = argc;
@@ -4897,7 +4892,6 @@ ZEND_METHOD(reflection_class, newInstance)
                fci.size = sizeof(fci);
                fci.function_table = EG(function_table);
                ZVAL_UNDEF(&fci.function_name);
-               fci.symbol_table = NULL;
                fci.object = Z_OBJ_P(return_value);
                fci.retval = &retval;
                fci.param_count = num_args;
@@ -5001,7 +4995,6 @@ ZEND_METHOD(reflection_class, newInstanceArgs)
                fci.size = sizeof(fci);
                fci.function_table = EG(function_table);
                ZVAL_UNDEF(&fci.function_name);
-               fci.symbol_table = NULL;
                fci.object = Z_OBJ_P(return_value);
                fci.retval = &retval;
                fci.param_count = argc;
index ee41ff908f85b16f700808a84ca54953a98bce26..08d5bc0514ce056501c2a148302d7f52bb012de7 100644 (file)
@@ -955,7 +955,6 @@ PHP_METHOD(SoapFault, __toString)
        fci.size = sizeof(fci);
        fci.function_table = &Z_OBJCE_P(getThis())->function_table;
        ZVAL_STRINGL(&fci.function_name, "gettraceasstring", sizeof("gettraceasstring")-1);
-       fci.symbol_table = NULL;
        fci.object = Z_OBJ(EX(This));
        fci.retval = &trace;
        fci.param_count = 0;
index 412fc543242ccd4dd5a2f871f6cc47d8b01827e6..2a1df40fbbb341e7a2997c20b68b5e9adac9214b 100644 (file)
@@ -2081,7 +2081,6 @@ static int spl_filesystem_file_call(spl_filesystem_object *intern, zend_function
        fci.param_count = num_args;
        fci.params = params;
        fci.no_separation = 1;
-       fci.symbol_table = NULL;
        ZVAL_STR(&fci.function_name, func_ptr->common.function_name);
 
        fcic.initialized = 1;
index c5f09279531c75a515d9c6dd75747b517c2713d7..0ee23cac1c54acf2899cdec81564b59b80ae21a4 100644 (file)
@@ -65,7 +65,6 @@ static inline void spl_instantiate_arg_n(zend_class_entry *pce, zval *retval, in
        fci.function_table = &pce->function_table;
        ZVAL_STR(&fci.function_name, func->common.function_name);
        fci.object = Z_OBJ_P(retval);
-       fci.symbol_table = NULL;
        fci.retval = &dummy;
        fci.param_count = argc;
        fci.params = argv;
index 6416d03e89491ab44046cebe26b23ff0e4ce4021..1bccb9d7f152f5594a3bb88d4977e2936ef3d071 100644 (file)
@@ -685,7 +685,6 @@ static int sqlite3_do_callback(struct php_sqlite3_fci *fc, zval *cb, int argc, s
        fc->fci.size = sizeof(fc->fci);
        fc->fci.function_table = EG(function_table);
        ZVAL_COPY_VALUE(&fc->fci.function_name, cb);
-       fc->fci.symbol_table = NULL;
        fc->fci.object = NULL;
        fc->fci.retval = &retval;
        fc->fci.param_count = fake_argc;
@@ -844,7 +843,6 @@ static int php_sqlite3_callback_compare(void *coll, int a_len, const void *a, in
        collation->fci.fci.size = (sizeof(collation->fci.fci));
        collation->fci.fci.function_table = EG(function_table);
        ZVAL_COPY_VALUE(&collation->fci.fci.function_name, &collation->cmp_func);
-       collation->fci.fci.symbol_table = NULL;
        collation->fci.fci.object = NULL;
        collation->fci.fci.retval = &retval;
        collation->fci.fci.param_count = 2;
index 49b72a0accc2fd3765f2b56241613e44e0e3136b..e18b4e7eef8395bd583ec75025723c4479442ab0 100644 (file)
@@ -485,7 +485,6 @@ static void xml_call_handler(xml_parser *parser, zval *handler, zend_function *f
                fci.size = sizeof(fci);
                fci.function_table = EG(function_table);
                ZVAL_COPY_VALUE(&fci.function_name, handler);
-               fci.symbol_table = NULL;
                fci.object = Z_OBJ(parser->object);
                fci.retval = retval;
                fci.param_count = argc;
index 600c7cddb06aa20d71e65df7d5c72b2ce39836df..1c434039e2e1787d0d079d4f9c1d89e649cbcf9a 100644 (file)
@@ -320,7 +320,6 @@ static void xsl_ext_function_php(xmlXPathParserContextPtr ctxt, int nargs, int t
        xmlXPathFreeObject(obj);
 
        ZVAL_COPY_VALUE(&fci.function_name, &handler);
-       fci.symbol_table = NULL;
        fci.object = NULL;
        fci.retval = &retval;
        fci.no_separation = 0;
index 63a351a59b321ddd75b6c3e44c445b628ee9ffc6..00775aa0c806c03d24a6837100219e1bd1aae3dd 100644 (file)
@@ -301,7 +301,6 @@ static void user_stream_create_object(struct php_user_stream_wrapper *uwrap, php
                fci.size = sizeof(fci);
                fci.function_table = &uwrap->ce->function_table;
                ZVAL_UNDEF(&fci.function_name);
-               fci.symbol_table = NULL;
                fci.object = Z_OBJ_P(object);
                fci.retval = &retval;
                fci.param_count = 0;
index 5b3b5464665a1e3d0ec0ef411340abe612e67d7f..8a4bd3a3ac7f541629baea792a1ad8fa727306bb 100644 (file)
@@ -122,7 +122,6 @@ static inline int phpdbg_call_register(phpdbg_param_t *stack) /* {{{ */
                        fci.size = sizeof(zend_fcall_info);
                        fci.function_table = &PHPDBG_G(registered);
                        //???fci.symbol_table = zend_rebuild_symbol_table();
-                       fci.symbol_table = NULL;
                        fci.object = NULL;
                        fci.retval = &fretval;
                        fci.no_separation = 1;