Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions Zend/zend_lazy_objects.c
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ void zend_lazy_objects_destroy(zend_lazy_objects_store *store)
zend_hash_destroy(&store->infos);
}

static void zend_lazy_object_set_info(zend_object *obj, zend_lazy_object_info *info)
static void zend_lazy_object_set_info(const zend_object *obj, zend_lazy_object_info *info)
{
ZEND_ASSERT(zend_object_is_lazy(obj));

Expand All @@ -102,7 +102,7 @@ static void zend_lazy_object_set_info(zend_object *obj, zend_lazy_object_info *i
(void)zv;
}

static zend_lazy_object_info* zend_lazy_object_get_info(zend_object *obj)
static zend_lazy_object_info* zend_lazy_object_get_info(const zend_object *obj)
{
ZEND_ASSERT(zend_object_is_lazy(obj));

Expand All @@ -112,7 +112,7 @@ static zend_lazy_object_info* zend_lazy_object_get_info(zend_object *obj)
return info;
}

static bool zend_lazy_object_has_stale_info(zend_object *obj)
static bool zend_lazy_object_has_stale_info(const zend_object *obj)
{
return zend_hash_index_find_ptr(&EG(lazy_objects_store).infos, obj->handle);
}
Expand Down Expand Up @@ -154,18 +154,18 @@ zend_object* zend_lazy_object_get_instance(zend_object *obj)
return obj;
}

zend_lazy_object_flags_t zend_lazy_object_get_flags(zend_object *obj)
zend_lazy_object_flags_t zend_lazy_object_get_flags(const zend_object *obj)
{
return zend_lazy_object_get_info(obj)->flags;
}

void zend_lazy_object_del_info(zend_object *obj)
void zend_lazy_object_del_info(const zend_object *obj)
{
zend_result res = zend_hash_index_del(&EG(lazy_objects_store).infos, obj->handle);
ZEND_ASSERT(res == SUCCESS);
}

bool zend_lazy_object_decr_lazy_props(zend_object *obj)
bool zend_lazy_object_decr_lazy_props(const zend_object *obj)
{
ZEND_ASSERT(zend_object_is_lazy(obj));
ZEND_ASSERT(!zend_lazy_object_initialized(obj));
Expand All @@ -183,7 +183,7 @@ bool zend_lazy_object_decr_lazy_props(zend_object *obj)
* Making objects lazy
*/

ZEND_API bool zend_class_can_be_lazy(zend_class_entry *ce)
ZEND_API bool zend_class_can_be_lazy(const zend_class_entry *ce)
{
/* Internal classes are not supported */
if (UNEXPECTED(ce->type == ZEND_INTERNAL_CLASS && ce != zend_standard_class_def)) {
Expand Down Expand Up @@ -444,7 +444,7 @@ static void zend_lazy_object_revert_init(zend_object *obj, zval *properties_tabl
OBJ_EXTRA_FLAGS(obj) |= IS_OBJ_LAZY_UNINITIALIZED;
}

static bool zend_lazy_object_compatible(zend_object *real_object, zend_object *lazy_object)
static bool zend_lazy_object_compatible(const zend_object *real_object, const zend_object *lazy_object)
{
if (EXPECTED(real_object->ce == lazy_object->ce)) {
return true;
Expand Down
18 changes: 9 additions & 9 deletions Zend/zend_lazy_objects.h
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ typedef struct _zend_property_info zend_property_info;
typedef struct _zend_fcall_info zend_fcall_info;
typedef struct _zend_fcall_info_cache zend_fcall_info_cache;

ZEND_API bool zend_class_can_be_lazy(zend_class_entry *ce);
ZEND_API bool zend_class_can_be_lazy(const zend_class_entry *ce);
ZEND_API zend_object *zend_object_make_lazy(zend_object *obj,
zend_class_entry *class_type, zval *initializer_zv,
zend_fcall_info_cache *initializer_fcc, zend_lazy_object_flags_t flags);
Expand All @@ -68,39 +68,39 @@ void zend_lazy_objects_init(zend_lazy_objects_store *store);
void zend_lazy_objects_destroy(zend_lazy_objects_store *store);
zval* zend_lazy_object_get_initializer_zv(zend_object *obj);
zend_object *zend_lazy_object_get_instance(zend_object *obj);
zend_lazy_object_flags_t zend_lazy_object_get_flags(zend_object *obj);
void zend_lazy_object_del_info(zend_object *obj);
zend_lazy_object_flags_t zend_lazy_object_get_flags(const zend_object *obj);
void zend_lazy_object_del_info(const zend_object *obj);
ZEND_API HashTable *zend_lazy_object_get_properties(zend_object *object);
zend_object *zend_lazy_object_clone(zend_object *old_obj);
HashTable *zend_lazy_object_debug_info(zend_object *object, int *is_temp);
HashTable *zend_lazy_object_get_gc(zend_object *zobj, zval **table, int *n);
bool zend_lazy_object_decr_lazy_props(zend_object *obj);
bool zend_lazy_object_decr_lazy_props(const zend_object *obj);
void zend_lazy_object_realize(zend_object *obj);
ZEND_API zend_property_info *zend_lazy_object_get_property_info_for_slot(zend_object *obj, zval *slot);

static zend_always_inline bool zend_object_is_lazy(zend_object *obj)
static zend_always_inline bool zend_object_is_lazy(const zend_object *obj)
{
return (OBJ_EXTRA_FLAGS(obj) & (IS_OBJ_LAZY_UNINITIALIZED | IS_OBJ_LAZY_PROXY));
}

static zend_always_inline bool zend_object_is_lazy_proxy(zend_object *obj)
static zend_always_inline bool zend_object_is_lazy_proxy(const zend_object *obj)
{
return (OBJ_EXTRA_FLAGS(obj) & IS_OBJ_LAZY_PROXY);
}

static zend_always_inline bool zend_lazy_object_initialized(zend_object *obj)
static zend_always_inline bool zend_lazy_object_initialized(const zend_object *obj)
{
return !(OBJ_EXTRA_FLAGS(obj) & IS_OBJ_LAZY_UNINITIALIZED);
}

/* True if accessing a lazy prop on obj mandates a call to
* zend_lazy_object_init() */
static zend_always_inline bool zend_lazy_object_must_init(zend_object *obj)
static zend_always_inline bool zend_lazy_object_must_init(const zend_object *obj)
{
return zend_object_is_lazy(obj);
}

static inline bool zend_lazy_object_initialize_on_serialize(zend_object *obj)
static inline bool zend_lazy_object_initialize_on_serialize(const zend_object *obj)
{
return !(zend_lazy_object_get_flags(obj) & ZEND_LAZY_OBJECT_SKIP_INITIALIZATION_ON_SERIALIZE);
}
Expand Down
10 changes: 5 additions & 5 deletions Zend/zend_object_handlers.c
Original file line number Diff line number Diff line change
Expand Up @@ -289,7 +289,7 @@ static zend_never_inline int is_protected_compatible_scope(const zend_class_entr
}
/* }}} */

static zend_never_inline zend_property_info *zend_get_parent_private_property(zend_class_entry *scope, const zend_class_entry *ce, zend_string *member) /* {{{ */
static zend_never_inline zend_property_info *zend_get_parent_private_property(const zend_class_entry *scope, const zend_class_entry *ce, zend_string *member) /* {{{ */
{
zval *zv;
zend_property_info *prop_info;
Expand Down Expand Up @@ -1823,7 +1823,7 @@ static zend_always_inline zend_function *zend_get_user_call_function(zend_class_
}
/* }}} */

ZEND_API ZEND_COLD zend_never_inline void zend_bad_method_call(zend_function *fbc, zend_string *method_name, zend_class_entry *scope) /* {{{ */
ZEND_API ZEND_COLD zend_never_inline void zend_bad_method_call(const zend_function *fbc, const zend_string *method_name, const zend_class_entry *scope) /* {{{ */
{
zend_throw_error(NULL, "Call to %s method %s::%s() from %s%s",
zend_visibility_string(fbc->common.fn_flags), ZEND_FN_SCOPE_NAME(fbc), ZSTR_VAL(method_name),
Expand All @@ -1833,7 +1833,7 @@ ZEND_API ZEND_COLD zend_never_inline void zend_bad_method_call(zend_function *fb
}
/* }}} */

ZEND_API ZEND_COLD zend_never_inline void zend_abstract_method_call(zend_function *fbc) /* {{{ */
ZEND_API ZEND_COLD zend_never_inline void zend_abstract_method_call(const zend_function *fbc) /* {{{ */
{
zend_throw_error(NULL, "Cannot call abstract method %s::%s()",
ZSTR_VAL(fbc->common.scope->name), ZSTR_VAL(fbc->common.function_name));
Expand Down Expand Up @@ -2090,14 +2090,14 @@ ZEND_API zval *zend_std_get_static_property(zend_class_entry *ce, zend_string *p
return zend_std_get_static_property_with_info(ce, property_name, type, &prop_info);
}

ZEND_API ZEND_COLD bool zend_std_unset_static_property(zend_class_entry *ce, zend_string *property_name) /* {{{ */
ZEND_API ZEND_COLD bool zend_std_unset_static_property(const zend_class_entry *ce, const zend_string *property_name) /* {{{ */
{
zend_throw_error(NULL, "Attempt to unset static property %s::$%s", ZSTR_VAL(ce->name), ZSTR_VAL(property_name));
return 0;
}
/* }}} */

static ZEND_COLD zend_never_inline void zend_bad_constructor_call(zend_function *constructor, zend_class_entry *scope) /* {{{ */
static ZEND_COLD zend_never_inline void zend_bad_constructor_call(const zend_function *constructor, const zend_class_entry *scope) /* {{{ */
{
if (scope) {
zend_throw_error(NULL, "Call to %s %s::%s() from scope %s",
Expand Down
6 changes: 3 additions & 3 deletions Zend/zend_object_handlers.h
Original file line number Diff line number Diff line change
Expand Up @@ -249,7 +249,7 @@ ZEND_API void zend_class_init_statics(zend_class_entry *ce);
ZEND_API zend_function *zend_std_get_static_method(zend_class_entry *ce, zend_string *function_name_strval, const zval *key);
ZEND_API zval *zend_std_get_static_property_with_info(zend_class_entry *ce, zend_string *property_name, int type, struct _zend_property_info **prop_info);
ZEND_API zval *zend_std_get_static_property(zend_class_entry *ce, zend_string *property_name, int type);
ZEND_API ZEND_COLD bool zend_std_unset_static_property(zend_class_entry *ce, zend_string *property_name);
ZEND_API ZEND_COLD bool zend_std_unset_static_property(const zend_class_entry *ce, const zend_string *property_name);
ZEND_API zend_function *zend_std_get_constructor(zend_object *object);
ZEND_API struct _zend_property_info *zend_get_property_info(const zend_class_entry *ce, zend_string *member, int silent);
ZEND_API HashTable *zend_std_get_properties(zend_object *object);
Expand All @@ -272,8 +272,8 @@ ZEND_API int zend_std_compare_objects(zval *o1, zval *o2);
ZEND_API zend_result zend_std_get_closure(zend_object *obj, zend_class_entry **ce_ptr, zend_function **fptr_ptr, zend_object **obj_ptr, bool check_only);
/* Use zend_std_get_properties_ex() */
ZEND_API HashTable *rebuild_object_properties_internal(zend_object *zobj);
ZEND_API ZEND_COLD zend_never_inline void zend_bad_method_call(zend_function *fbc, zend_string *method_name, zend_class_entry *scope);
ZEND_API ZEND_COLD zend_never_inline void zend_abstract_method_call(zend_function *fbc);
ZEND_API ZEND_COLD zend_never_inline void zend_bad_method_call(const zend_function *fbc, const zend_string *method_name, const zend_class_entry *scope);
ZEND_API ZEND_COLD zend_never_inline void zend_abstract_method_call(const zend_function *fbc);

static zend_always_inline HashTable *zend_std_get_properties_ex(zend_object *object)
{
Expand Down