Lines Matching refs:object
131 ZEND_API void ZEND_FASTCALL zend_objects_store_put(zend_object *object) in zend_objects_store_put() argument
150 object->handle = handle; in zend_objects_store_put()
151 EG(objects_store).object_buckets[handle] = object; in zend_objects_store_put()
154 ZEND_API void ZEND_FASTCALL zend_objects_store_del(zend_object *object) /* {{{ */ in zend_objects_store_del() argument
156 ZEND_ASSERT(GC_REFCOUNT(object) == 0); in zend_objects_store_del()
159 if (UNEXPECTED(GC_TYPE(object) == IS_NULL)) { in zend_objects_store_del()
167 if (!(OBJ_FLAGS(object) & IS_OBJ_DESTRUCTOR_CALLED)) { in zend_objects_store_del()
168 GC_ADD_FLAGS(object, IS_OBJ_DESTRUCTOR_CALLED); in zend_objects_store_del()
170 if (object->handlers->dtor_obj in zend_objects_store_del()
171 && (object->handlers->dtor_obj != zend_objects_destroy_object in zend_objects_store_del()
172 || object->ce->destructor)) { in zend_objects_store_del()
173 GC_ADDREF(object); in zend_objects_store_del()
174 object->handlers->dtor_obj(object); in zend_objects_store_del()
175 GC_DELREF(object); in zend_objects_store_del()
179 if (GC_REFCOUNT(object) == 0) { in zend_objects_store_del()
180 uint32_t handle = object->handle; in zend_objects_store_del()
184 ZEND_ASSERT(IS_OBJ_VALID(EG(objects_store).object_buckets[object->handle])); in zend_objects_store_del()
185 EG(objects_store).object_buckets[handle] = SET_OBJ_INVALID(object); in zend_objects_store_del()
186 if (!(OBJ_FLAGS(object) & IS_OBJ_FREE_CALLED)) { in zend_objects_store_del()
187 GC_ADD_FLAGS(object, IS_OBJ_FREE_CALLED); in zend_objects_store_del()
188 if (object->handlers->free_obj) { in zend_objects_store_del()
189 GC_ADDREF(object); in zend_objects_store_del()
190 object->handlers->free_obj(object); in zend_objects_store_del()
191 GC_DELREF(object); in zend_objects_store_del()
194 ptr = ((char*)object) - object->handlers->offset; in zend_objects_store_del()
195 GC_REMOVE_FROM_BUFFER(object); in zend_objects_store_del()