]> granicus.if.org Git - php/commitdiff
Remove unnecessary F0 type information from OPCache
authorMáté Kocsis <kocsismate@woohoolabs.com>
Tue, 17 Dec 2019 21:17:47 +0000 (22:17 +0100)
committerMáté Kocsis <kocsismate@woohoolabs.com>
Fri, 20 Dec 2019 11:03:08 +0000 (12:03 +0100)
Closes GH-5024

ext/opcache/Optimizer/zend_func_info.c

index 85dc3d466c61d544011064dff6e85ccfb3d0c513..5509741d0bcf19eb06d8029a445a770031a54a19 100644 (file)
@@ -197,11 +197,7 @@ static const func_info_t func_infos[] = {
        FN("str_pad",                      MAY_BE_STRING),
        F1("strchr",                       MAY_BE_FALSE | MAY_BE_STRING),
        F1("sprintf",                      MAY_BE_FALSE | MAY_BE_STRING),
-       F0("printf",                       MAY_BE_FALSE | MAY_BE_LONG),
-       F0("vprintf",                      MAY_BE_FALSE | MAY_BE_LONG),
        F1("vsprintf",                     MAY_BE_FALSE | MAY_BE_STRING),
-       F0("fprintf",                      MAY_BE_FALSE | MAY_BE_LONG),
-       F0("vfprintf",                     MAY_BE_FALSE | MAY_BE_LONG),
        F1("sscanf",                       MAY_BE_NULL | MAY_BE_LONG | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_ANY),
        F1("fscanf",                       MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_ANY),
        F1("parse_url",                    MAY_BE_FALSE | MAY_BE_LONG | MAY_BE_STRING | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_STRING | MAY_BE_ARRAY_OF_LONG),
@@ -213,7 +209,6 @@ static const func_info_t func_infos[] = {
 #if defined(HAVE_SYMLINK) || defined(PHP_WIN32)
        F1("readlink",                     MAY_BE_FALSE | MAY_BE_STRING),
 #endif
-       F0("unlink",                       MAY_BE_FALSE | MAY_BE_TRUE),
        F1("exec",                         MAY_BE_FALSE | MAY_BE_STRING),
        F1("system",                       MAY_BE_FALSE | MAY_BE_STRING),
        F1("escapeshellcmd",               MAY_BE_STRING),
@@ -223,9 +218,6 @@ static const func_info_t func_infos[] = {
 #ifdef PHP_CAN_SUPPORT_PROC_OPEN
        F1("proc_open",                    MAY_BE_FALSE | MAY_BE_RESOURCE),
        F1("proc_get_status",              MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_FALSE | MAY_BE_ARRAY_OF_TRUE | MAY_BE_ARRAY_OF_LONG | MAY_BE_ARRAY_OF_STRING),
-#endif
-#ifdef HAVE_NICE
-       F0("proc_nice",                    MAY_BE_FALSE | MAY_BE_TRUE),
 #endif
        F1("random_bytes",                 MAY_BE_STRING),
 #if HAVE_GETSERVBYPORT
@@ -283,12 +275,8 @@ static const func_info_t func_infos[] = {
        FN("forward_static_call_array",    UNKNOWN_INFO),
        F1("serialize",                    MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
        FN("unserialize",                  UNKNOWN_INFO),
-       F0("var_dump",                     MAY_BE_NULL),
        F1("var_export",                   MAY_BE_NULL | MAY_BE_STRING),
-       F0("debug_zval_dump",              MAY_BE_NULL),
        F1("print_r",                      MAY_BE_TRUE | MAY_BE_STRING),
-       F0("memory_get_usage",             MAY_BE_FALSE | MAY_BE_LONG),
-       F0("memory_get_peak_usage",        MAY_BE_FALSE | MAY_BE_LONG),
        F0("register_shutdown_function",   MAY_BE_NULL | MAY_BE_FALSE),
        F1("highlight_file",               MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_STRING),
        F1("show_source",                  MAY_BE_FALSE | MAY_BE_STRING),
@@ -301,7 +289,6 @@ static const func_info_t func_infos[] = {
        F1("get_include_path",             MAY_BE_FALSE | MAY_BE_STRING),
        F1("set_include_path",             MAY_BE_FALSE | MAY_BE_STRING),
        F1("headers_list",                 MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING),
-       F0("http_response_code",           MAY_BE_FALSE | MAY_BE_LONG),
        F1("parse_ini_file",               MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_NULL | MAY_BE_ARRAY_OF_FALSE | MAY_BE_ARRAY_OF_TRUE | MAY_BE_ARRAY_OF_LONG | MAY_BE_ARRAY_OF_DOUBLE | MAY_BE_ARRAY_OF_STRING | MAY_BE_ARRAY_OF_ARRAY),
        F1("parse_ini_string",             MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_NULL | MAY_BE_ARRAY_OF_FALSE | MAY_BE_ARRAY_OF_TRUE | MAY_BE_ARRAY_OF_LONG | MAY_BE_ARRAY_OF_DOUBLE | MAY_BE_ARRAY_OF_STRING | MAY_BE_ARRAY_OF_ARRAY),
 #if ZEND_DEBUG
@@ -318,95 +305,46 @@ static const func_info_t func_infos[] = {
        F1("dns_get_record",               MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_ARRAY),
 # endif
 #endif
-       F0("intval",                       MAY_BE_LONG),
-       F0("floatval",                     MAY_BE_DOUBLE),
-       F0("doubleval",                    MAY_BE_DOUBLE),
        FN("strval",                       MAY_BE_STRING),
-       F0("boolval",                      MAY_BE_FALSE | MAY_BE_TRUE),
        FN("gettype",                      MAY_BE_STRING),
-       F0("settype",                      MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("pclose",                       MAY_BE_FALSE | MAY_BE_LONG),
        F1("popen",                        MAY_BE_FALSE | MAY_BE_RESOURCE),
-       F0("readfile",                     MAY_BE_FALSE | MAY_BE_LONG),
-       F0("rewind",                       MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("rmdir",                        MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("umask",                        MAY_BE_FALSE | MAY_BE_LONG),
-       F0("fclose",                       MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("feof",                         MAY_BE_FALSE | MAY_BE_TRUE),
        F1("fgetc",                        MAY_BE_FALSE | MAY_BE_STRING),
        F1("fgets",                        MAY_BE_FALSE | MAY_BE_STRING),
        F1("fread",                        MAY_BE_FALSE | MAY_BE_STRING),
        F1("fopen",                        MAY_BE_FALSE | MAY_BE_RESOURCE),
-       F0("fpassthru",                    MAY_BE_LONG),
-       F0("ftruncate",                    MAY_BE_FALSE | MAY_BE_TRUE),
        F1("fstat",                        MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_LONG),
-       F0("fseek",                        MAY_BE_LONG),
-       F0("ftell",                        MAY_BE_FALSE | MAY_BE_LONG),
-       F0("fflush",                       MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("fwrite",                       MAY_BE_FALSE | MAY_BE_LONG),
-       F0("fputs",                        MAY_BE_FALSE | MAY_BE_LONG),
-       F0("mkdir",                        MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("rename",                       MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("copy",                         MAY_BE_FALSE | MAY_BE_TRUE),
        F1("tempnam",                      MAY_BE_FALSE | MAY_BE_STRING),
        F1("tmpfile",                      MAY_BE_FALSE | MAY_BE_RESOURCE),
        F1("file",                         MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING),
        F1("file_get_contents",            MAY_BE_FALSE | MAY_BE_STRING),
-       F0("file_put_contents",            MAY_BE_FALSE | MAY_BE_LONG),
-       F0("stream_select",                MAY_BE_FALSE | MAY_BE_LONG),
        F1("stream_context_create",        MAY_BE_FALSE | MAY_BE_RESOURCE),
        F0("stream_context_set_params",    MAY_BE_FALSE | MAY_BE_TRUE),
        F1("stream_context_get_params",    MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_ANY),
-       F0("stream_context_set_option",    MAY_BE_FALSE | MAY_BE_TRUE),
        FN("stream_context_get_options",   MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_ANY),
        FN("stream_context_get_default",   MAY_BE_FALSE | MAY_BE_RESOURCE),
        FN("stream_context_set_default",   MAY_BE_FALSE | MAY_BE_RESOURCE),
        FN("stream_filter_prepend",        MAY_BE_FALSE | MAY_BE_RESOURCE),
        FN("stream_filter_append",         MAY_BE_FALSE | MAY_BE_RESOURCE),
-       F0("stream_filter_remove",         MAY_BE_FALSE | MAY_BE_TRUE),
        F1("stream_socket_client",         MAY_BE_FALSE | MAY_BE_RESOURCE),
        F1("stream_socket_server",         MAY_BE_FALSE | MAY_BE_RESOURCE),
        F1("stream_socket_accept",         MAY_BE_FALSE | MAY_BE_RESOURCE),
        F1("stream_socket_get_name",       MAY_BE_FALSE | MAY_BE_STRING),
        F1("stream_socket_recvfrom",       MAY_BE_FALSE | MAY_BE_STRING),
-       F0("stream_socket_sendto",         MAY_BE_FALSE | MAY_BE_LONG),
-       F0("stream_socket_enable_crypto",  MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_LONG),
-#ifdef HAVE_SHUTDOWN
-       F0("stream_socket_shutdown",       MAY_BE_FALSE | MAY_BE_TRUE),
-#endif
 #if HAVE_SOCKETPAIR
        F1("stream_socket_pair",           MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_RESOURCE),
 #endif
-       F0("stream_copy_to_stream",        MAY_BE_FALSE | MAY_BE_LONG),
        F1("stream_get_contents",          MAY_BE_FALSE | MAY_BE_STRING),
-       F0("stream_supports_lock",         MAY_BE_FALSE | MAY_BE_TRUE),
        F1("fgetcsv",                      MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_NULL | MAY_BE_ARRAY_OF_STRING),
-       F0("fputcsv",                      MAY_BE_FALSE | MAY_BE_LONG),
-       F0("flock",                        MAY_BE_FALSE | MAY_BE_TRUE),
        F1("get_meta_tags",                MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_STRING),
-       F0("stream_set_read_buffer",       MAY_BE_FALSE | MAY_BE_LONG),
-       F0("stream_set_write_buffer",      MAY_BE_FALSE | MAY_BE_LONG),
-       F0("set_file_buffer",              MAY_BE_FALSE | MAY_BE_LONG),
-       F0("stream_set_chunk_size",        MAY_BE_FALSE | MAY_BE_LONG),
-       F0("stream_set_blocking",          MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("socket_set_blocking",          MAY_BE_FALSE | MAY_BE_TRUE),
        F1("stream_get_meta_data",         MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_ANY),
        F1("stream_get_line",              MAY_BE_FALSE | MAY_BE_STRING),
        F1("stream_get_wrappers",          MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING),
        F1("stream_get_transports",        MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING),
        F1("stream_resolve_include_path",  MAY_BE_FALSE | MAY_BE_STRING),
-       F0("stream_is_local",              MAY_BE_FALSE | MAY_BE_TRUE),
        F1("get_headers",                  MAY_BE_FALSE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_ANY | MAY_BE_ARRAY_OF_STRING | MAY_BE_ARRAY_OF_ARRAY),
-#if HAVE_SYS_TIME_H || defined(PHP_WIN32)
-       F0("stream_set_timeout",           MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("socket_set_timeout",           MAY_BE_FALSE | MAY_BE_TRUE),
-#endif
        F1("socket_get_status",            MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_ANY),
 #if HAVE_REALPATH || defined(ZTS)
        F1("realpath",                     MAY_BE_FALSE | MAY_BE_STRING),
-#endif
-#ifdef HAVE_FNMATCH
-       F0("fnmatch",                      MAY_BE_FALSE | MAY_BE_TRUE),
 #endif
        F1("fsockopen",                    MAY_BE_FALSE | MAY_BE_RESOURCE),
        FN("pfsockopen",                   MAY_BE_FALSE | MAY_BE_RESOURCE),
@@ -503,15 +441,12 @@ static const func_info_t func_infos[] = {
        FN("array_key_last",               MAY_BE_NULL | MAY_BE_LONG | MAY_BE_STRING),
        F1("pos",                          UNKNOWN_INFO),
        F1("assert_options",               MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG | MAY_BE_STRING | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING | MAY_BE_ARRAY_OF_OBJECT | MAY_BE_OBJECT),
-       F0("version_compare",              MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_LONG),
        F1("str_rot13",                    MAY_BE_STRING),
        F1("stream_get_filters",           MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING),
-       F0("stream_filter_register",       MAY_BE_FALSE | MAY_BE_TRUE),
        F1("stream_bucket_make_writeable", MAY_BE_NULL | MAY_BE_OBJECT),
        F1("stream_bucket_prepend",        MAY_BE_FALSE | MAY_BE_OBJECT),
        F1("stream_bucket_append",         MAY_BE_FALSE | MAY_BE_OBJECT),
        F1("stream_bucket_new",            MAY_BE_FALSE | MAY_BE_OBJECT),
-       F0("output_reset_rewrite_vars",    MAY_BE_FALSE),
        F1("sys_get_temp_dir",             MAY_BE_STRING),
 
        /* ext/date */
@@ -772,22 +707,16 @@ static const func_info_t func_infos[] = {
        F1("hash_algos",                            MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING),
        F1("hash_pbkdf2",                           MAY_BE_STRING),
        F1("mhash_keygen_s2k",                      MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
-       F0("mhash_get_block_size",                  MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_LONG),
        F1("mhash_get_hash_name",                   MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
-       F0("mhash_count",                           MAY_BE_LONG),
        F1("mhash",                                 MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
 
        /* ext/sodium */
-       F0("sodium_memzero",                                            MAY_BE_NULL),
-       F0("sodium_increment",                                          MAY_BE_NULL),
-       F0("sodium_add",                                                        MAY_BE_NULL),
-       F0("sodium_memcmp",                                                     MAY_BE_NULL | MAY_BE_LONG),
        F1("sodium_crypto_shorthash",                           MAY_BE_NULL | MAY_BE_STRING),
        F1("sodium_crypto_secretbox",                           MAY_BE_NULL | MAY_BE_STRING),
        F1("sodium_crypto_secretbox_open",                      MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
        F1("sodium_crypto_generichash",                         MAY_BE_NULL | MAY_BE_STRING),
        F1("sodium_crypto_generichash_init",            MAY_BE_NULL | MAY_BE_STRING),
-       F0("sodium_crypto_generichash_update",          MAY_BE_NULL | MAY_BE_TRUE),
+       F0("sodium_crypto_generichash_update",          MAY_BE_TRUE),
        F1("sodium_crypto_generichash_final",           MAY_BE_NULL | MAY_BE_STRING),
        F1("sodium_crypto_box_keypair",                         MAY_BE_STRING),
        F1("sodium_crypto_box_seed_keypair",            MAY_BE_NULL | MAY_BE_STRING),
@@ -804,12 +733,10 @@ static const func_info_t func_infos[] = {
        F1("sodium_crypto_sign",                                        MAY_BE_NULL | MAY_BE_STRING),
        F1("sodium_crypto_sign_open",                           MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
        F1("sodium_crypto_sign_detached",                       MAY_BE_NULL | MAY_BE_STRING),
-       F0("sodium_crypto_sign_verify_detached",        MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
        F1("sodium_crypto_stream",                                      MAY_BE_NULL | MAY_BE_STRING),
        F1("sodium_crypto_stream_xor",                          MAY_BE_NULL | MAY_BE_STRING),
        F1("sodium_crypto_pwhash",                                      MAY_BE_NULL | MAY_BE_STRING),
        F1("sodium_crypto_pwhash_str",                          MAY_BE_NULL | MAY_BE_STRING),
-       F0("sodium_crypto_pwhash_str_verify",           MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
        F1("sodium_crypto_aead_aes256gcm_encrypt",      MAY_BE_NULL | MAY_BE_STRING),
        F1("sodium_crypto_aead_aes256gcm_decrypt",      MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_STRING),
        F1("sodium_bin2hex",                                            MAY_BE_NULL | MAY_BE_STRING),
@@ -822,8 +749,6 @@ static const func_info_t func_infos[] = {
        F1("sodium_crypto_kx_client_session_keys",      MAY_BE_NULL | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING),
        F1("sodium_crypto_kx_server_session_keys",      MAY_BE_NULL | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_LONG | MAY_BE_ARRAY_OF_STRING),
        F1("sodium_crypto_auth",                                        MAY_BE_NULL | MAY_BE_STRING),
-       F0("sodium_crypto_auth_verify",                         MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("sodium_compare",                                            MAY_BE_NULL | MAY_BE_LONG),
        F1("sodium_crypto_aead_aes256gcm_keygen",       MAY_BE_STRING),
        F1("sodium_crypto_auth_keygen",                         MAY_BE_STRING),
        F1("sodium_crypto_generichash_keygen",          MAY_BE_STRING),
@@ -841,8 +766,6 @@ static const func_info_t func_infos[] = {
        F1("sodium_crypto_sign_publickey_from_secretkey",                               MAY_BE_NULL | MAY_BE_STRING),
        F1("sodium_crypto_pwhash_scryptsalsa208sha256",                                 MAY_BE_NULL | MAY_BE_STRING),
        F1("sodium_crypto_pwhash_scryptsalsa208sha256_str",                             MAY_BE_NULL | MAY_BE_STRING),
-       F0("sodium_crypto_pwhash_scryptsalsa208sha256_str_verify",              MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
-       F0("sodium_crypto_aead_aes256gcm_is_available",                                 MAY_BE_FALSE | MAY_BE_TRUE),
        F1("sodium_crypto_sign_ed25519_sk_to_curve25519",                               MAY_BE_NULL | MAY_BE_STRING),
        F1("sodium_crypto_sign_ed25519_pk_to_curve25519",                               MAY_BE_NULL | MAY_BE_STRING),
        F1("sodium_crypto_aead_chacha20poly1305_encrypt",                               MAY_BE_NULL | MAY_BE_STRING),