Move zend_object_iterator_funcs structures into read-only data segment

This commit is contained in:
Dmitry Stogov 2017-12-14 14:21:22 +03:00
parent 175e461369
commit 1db8402208
20 changed files with 25 additions and 25 deletions

View file

@ -1165,7 +1165,7 @@ static void zend_generator_iterator_rewind(zend_object_iterator *iterator) /* {{
}
/* }}} */
static zend_object_iterator_funcs zend_generator_iterator_functions = {
static const zend_object_iterator_funcs zend_generator_iterator_functions = {
zend_generator_iterator_dtor,
zend_generator_iterator_valid,
zend_generator_iterator_get_data,

View file

@ -224,7 +224,7 @@ ZEND_API void zend_user_it_rewind(zend_object_iterator *_iter)
}
/* }}} */
zend_object_iterator_funcs zend_interface_iterator_funcs_iterator = {
static const zend_object_iterator_funcs zend_interface_iterator_funcs_iterator = {
zend_user_it_dtor,
zend_user_it_valid,
zend_user_it_get_current_data,

View file

@ -57,12 +57,12 @@ typedef struct _zend_object_iterator_funcs {
struct _zend_object_iterator {
zend_object std;
zval data;
zend_object_iterator_funcs *funcs;
const zend_object_iterator_funcs *funcs;
zend_ulong index; /* private to fe_reset/fe_fetch opcodes */
};
typedef struct _zend_class_iterator_funcs {
zend_object_iterator_funcs *funcs;
const zend_object_iterator_funcs *funcs;
union _zend_function *zf_new_iterator;
union _zend_function *zf_valid;
union _zend_function *zf_current;

View file

@ -126,7 +126,7 @@ static int com_iter_move_forwards(zend_object_iterator *iter)
}
static zend_object_iterator_funcs com_iter_funcs = {
static const zend_object_iterator_funcs com_iter_funcs = {
com_iter_dtor,
com_iter_valid,
com_iter_get_data,

View file

@ -525,7 +525,7 @@ static int saproxy_iter_move_forwards(zend_object_iterator *iter)
return SUCCESS;
}
static zend_object_iterator_funcs saproxy_iter_funcs = {
static const zend_object_iterator_funcs saproxy_iter_funcs = {
saproxy_iter_dtor,
saproxy_iter_valid,
saproxy_iter_get_data,

View file

@ -1986,7 +1986,7 @@ static void date_period_it_rewind(zend_object_iterator *iter)
/* }}} */
/* iterator handler table */
zend_object_iterator_funcs date_period_it_funcs = {
static const zend_object_iterator_funcs date_period_it_funcs = {
date_period_it_dtor,
date_period_it_has_more,
date_period_it_current_data,

View file

@ -243,7 +243,7 @@ err:
}
/* }}} */
zend_object_iterator_funcs php_dom_iterator_funcs = {
static const zend_object_iterator_funcs php_dom_iterator_funcs = {
php_dom_iterator_dtor,
php_dom_iterator_valid,
php_dom_iterator_current_data,

View file

@ -80,7 +80,7 @@ static void _breakiterator_rewind(zend_object_iterator *iter)
ZVAL_LONG(&zoi_iter->current, (zend_long)pos);
}
static zend_object_iterator_funcs breakiterator_iterator_funcs = {
static const zend_object_iterator_funcs breakiterator_iterator_funcs = {
zoi_with_current_dtor,
zoi_with_current_valid,
zoi_with_current_get_current_data,
@ -197,7 +197,7 @@ static void _breakiterator_parts_rewind(zend_object_iterator *iter)
iter->funcs->move_forward(iter);
}
static zend_object_iterator_funcs breakiterator_parts_it_funcs = {
static const zend_object_iterator_funcs breakiterator_parts_it_funcs = {
zoi_with_current_dtor,
zoi_with_current_valid,
zoi_with_current_get_current_data,

View file

@ -127,7 +127,7 @@ static void string_enum_destroy_it(zend_object_iterator *iter)
delete (StringEnumeration*)Z_PTR(iter->data);
}
static zend_object_iterator_funcs string_enum_object_iterator_funcs = {
static const zend_object_iterator_funcs string_enum_object_iterator_funcs = {
zoi_with_current_dtor,
zoi_with_current_valid,
zoi_with_current_get_current_data,

View file

@ -135,7 +135,7 @@ static void resourcebundle_iterator_reset( zend_object_iterator *iter )
/* }}} */
/* {{{ resourcebundle_iterator_funcs */
static zend_object_iterator_funcs resourcebundle_iterator_funcs = {
static const zend_object_iterator_funcs resourcebundle_iterator_funcs = {
resourcebundle_iterator_dtor,
resourcebundle_iterator_has_more,
resourcebundle_iterator_current,

View file

@ -33,7 +33,7 @@
#include "zend_interfaces.h"
extern zend_object_iterator_funcs php_mysqli_result_iterator_funcs;
extern const zend_object_iterator_funcs php_mysqli_result_iterator_funcs;
typedef struct {
zend_object_iterator intern;
@ -146,7 +146,7 @@ static void php_mysqli_result_iterator_current_key(zend_object_iterator *iter, z
/* }}} */
/* {{{ php_mysqli_result_iterator_funcs */
zend_object_iterator_funcs php_mysqli_result_iterator_funcs = {
const zend_object_iterator_funcs php_mysqli_result_iterator_funcs = {
php_mysqli_result_iterator_dtor,
php_mysqli_result_iterator_valid,
php_mysqli_result_iterator_current_data,

View file

@ -211,7 +211,7 @@ extern void php_mysqli_dtor_p_elements(void *data);
extern void php_mysqli_close(MY_MYSQL * mysql, int close_type, int resource_status);
extern zend_object_iterator_funcs php_mysqli_result_iterator_funcs;
extern const zend_object_iterator_funcs php_mysqli_result_iterator_funcs;
extern zend_object_iterator *php_mysqli_result_get_iterator(zend_class_entry *ce, zval *object, int by_ref);
extern void php_mysqli_fetch_into_hash_aux(zval *return_value, MYSQL_RES * result, zend_long fetchtype);

View file

@ -2454,7 +2454,7 @@ static void pdo_stmt_iter_move_forwards(zend_object_iterator *iter)
I->key++;
}
static zend_object_iterator_funcs pdo_stmt_iter_funcs = {
static const zend_object_iterator_funcs pdo_stmt_iter_funcs = {
pdo_stmt_iter_dtor,
pdo_stmt_iter_valid,
pdo_stmt_iter_get_data,

View file

@ -2335,7 +2335,7 @@ SXE_METHOD(__construct)
}
/* }}} */
zend_object_iterator_funcs php_sxe_iterator_funcs = { /* {{{ */
static const zend_object_iterator_funcs php_sxe_iterator_funcs = { /* {{{ */
php_sxe_iterator_dtor,
php_sxe_iterator_valid,
php_sxe_iterator_current_data,

View file

@ -1155,7 +1155,7 @@ static void spl_array_set_array(zval *object, spl_array_object *intern, zval *ar
/* }}} */
/* iterator handler table */
zend_object_iterator_funcs spl_array_it_funcs = {
static const zend_object_iterator_funcs spl_array_it_funcs = {
spl_array_it_dtor,
spl_array_it_valid,
spl_array_it_get_current_data,

View file

@ -1621,7 +1621,7 @@ static void spl_filesystem_dir_it_move_forward(zend_object_iterator *iter);
static void spl_filesystem_dir_it_rewind(zend_object_iterator *iter);
/* iterator handler table */
zend_object_iterator_funcs spl_filesystem_dir_it_funcs = {
static const zend_object_iterator_funcs spl_filesystem_dir_it_funcs = {
spl_filesystem_dir_it_dtor,
spl_filesystem_dir_it_valid,
spl_filesystem_dir_it_current_data,
@ -1820,7 +1820,7 @@ static void spl_filesystem_tree_it_rewind(zend_object_iterator *iter)
/* }}} */
/* {{{ iterator handler table */
zend_object_iterator_funcs spl_filesystem_tree_it_funcs = {
static const zend_object_iterator_funcs spl_filesystem_tree_it_funcs = {
spl_filesystem_tree_it_dtor,
spl_filesystem_dir_it_valid,
spl_filesystem_tree_it_current_data,

View file

@ -1282,7 +1282,7 @@ SPL_METHOD(SplDoublyLinkedList, add)
} /* }}} */
/* {{{ iterator handler table */
zend_object_iterator_funcs spl_dllist_it_funcs = {
static const zend_object_iterator_funcs spl_dllist_it_funcs = {
spl_dllist_it_dtor,
spl_dllist_it_valid,
spl_dllist_it_get_current_data,

View file

@ -995,7 +995,7 @@ SPL_METHOD(SplFixedArray, current)
/* }}} */
/* iterator handler table */
zend_object_iterator_funcs spl_fixedarray_it_funcs = {
static const zend_object_iterator_funcs spl_fixedarray_it_funcs = {
spl_fixedarray_it_dtor,
spl_fixedarray_it_valid,
spl_fixedarray_it_get_current_data,

View file

@ -1060,7 +1060,7 @@ SPL_METHOD(SplPriorityQueue, current)
/* }}} */
/* iterator handler table */
zend_object_iterator_funcs spl_heap_it_funcs = {
static const zend_object_iterator_funcs spl_heap_it_funcs = {
spl_heap_it_dtor,
spl_heap_it_valid,
spl_heap_it_get_current_data,
@ -1070,7 +1070,7 @@ zend_object_iterator_funcs spl_heap_it_funcs = {
NULL
};
zend_object_iterator_funcs spl_pqueue_it_funcs = {
static const zend_object_iterator_funcs spl_pqueue_it_funcs = {
spl_heap_it_dtor,
spl_heap_it_valid,
spl_pqueue_it_get_current_data,

View file

@ -465,7 +465,7 @@ static zend_object_iterator *spl_recursive_it_get_iterator(zend_class_entry *ce,
return (zend_object_iterator*)iterator;
}
zend_object_iterator_funcs spl_recursive_it_iterator_funcs = {
static const zend_object_iterator_funcs spl_recursive_it_iterator_funcs = {
spl_recursive_it_dtor,
spl_recursive_it_valid,
spl_recursive_it_get_current_data,