17#ifndef ZEND_WEAKREFS_H
18#define ZEND_WEAKREFS_H
56 ZEND_ASSERT(((uintptr_t)
object) % ZEND_MM_ALIGNMENT == 0);
57 return ((uintptr_t)
object) >> ZEND_MM_ALIGNMENT_LOG2;
62 return (
zend_object *) (((uintptr_t)
key) << ZEND_MM_ALIGNMENT_LOG2);
unsigned char key[REFLECTION_KEY_LEN]
#define zend_always_inline
struct _zend_class_entry zend_class_entry
struct _zend_object zend_object
struct _zend_array HashTable
ZEND_RESULT_CODE zend_result
ZEND_API zend_result zend_weakrefs_hash_del(HashTable *ht, zend_object *key)
void zend_weakrefs_notify(zend_object *object)
ZEND_API zval * zend_weakrefs_hash_add(HashTable *ht, zend_object *key, zval *pData)
void zend_weakrefs_shutdown(void)
void zend_register_weakref_ce(void)
void zend_weakrefs_init(void)
zend_class_entry * zend_ce_weakref
HashTable * zend_weakmap_get_gc(zend_object *object, zval **table, int *n)
HashTable * zend_weakmap_get_object_entry_gc(zend_object *object, zval **table, int *n)
ZEND_API zval * zend_weakrefs_hash_add(HashTable *ht, zend_object *key, zval *pData)
HashTable * zend_weakmap_get_key_entry_gc(zend_object *object, zval **table, int *n)
HashTable * zend_weakmap_get_object_key_entry_gc(zend_object *object, zval **table, int *n)
HashTable * zend_weakmap_get_entry_gc(zend_object *object, zval **table, int *n)