php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_weakrefs.c File Reference
#include "zend.h"
#include "zend_interfaces.h"
#include "zend_objects_API.h"
#include "zend_types.h"
#include "zend_weakrefs.h"
#include "zend_weakrefs_arginfo.h"

Go to the source code of this file.

Data Structures

struct  _zend_weakref
 
struct  _zend_weakmap
 
struct  _zend_weakmap_iterator
 

Macros

#define ZEND_WEAKREF_TAG_REF   0
 
#define ZEND_WEAKREF_TAG_MAP   1
 
#define ZEND_WEAKREF_TAG_HT   2
 
#define ZEND_WEAKREF_GET_TAG(p)
 
#define ZEND_WEAKREF_GET_PTR(p)
 
#define ZEND_WEAKREF_ENCODE(p, t)
 
#define zend_weakref_from(o)
 
#define zend_weakref_fetch(z)
 
#define zend_weakmap_from(o)
 
#define zend_weakmap_fetch(z)
 

Typedefs

typedef struct _zend_weakref zend_weakref
 
typedef struct _zend_weakmap zend_weakmap
 
typedef struct _zend_weakmap_iterator zend_weakmap_iterator
 

Functions

ZEND_API zvalzend_weakrefs_hash_add (HashTable *ht, zend_object *key, zval *pData)
 
ZEND_API zend_result zend_weakrefs_hash_del (HashTable *ht, zend_object *key)
 
void zend_weakrefs_init (void)
 
void zend_weakrefs_notify (zend_object *object)
 
void zend_weakrefs_shutdown (void)
 
ZEND_COLD ZEND_METHOD (WeakReference, __construct)
 
 ZEND_METHOD (WeakReference, create)
 
 ZEND_METHOD (WeakReference, get)
 
HashTablezend_weakmap_get_gc (zend_object *object, zval **table, int *n)
 
HashTablezend_weakmap_get_key_entry_gc (zend_object *object, zval **table, int *n)
 
HashTablezend_weakmap_get_entry_gc (zend_object *object, zval **table, int *n)
 
HashTablezend_weakmap_get_object_key_entry_gc (zend_object *object, zval **table, int *n)
 
HashTablezend_weakmap_get_object_entry_gc (zend_object *object, zval **table, int *n)
 
 ZEND_METHOD (WeakMap, offsetGet)
 
 ZEND_METHOD (WeakMap, offsetSet)
 
 ZEND_METHOD (WeakMap, offsetExists)
 
 ZEND_METHOD (WeakMap, offsetUnset)
 
 ZEND_METHOD (WeakMap, count)
 
 ZEND_METHOD (WeakMap, getIterator)
 
void zend_register_weakref_ce (void)
 

Variables

zend_class_entryzend_ce_weakref
 

Macro Definition Documentation

◆ zend_weakmap_fetch

#define zend_weakmap_fetch ( z)
Value:
#define Z_OBJ_P(zval_p)
Definition zend_types.h:990
#define zend_weakmap_from(o)

Definition at line 65 of file zend_weakrefs.c.

◆ zend_weakmap_from

#define zend_weakmap_from ( o)
Value:
((zend_weakmap*)(((char*) o) - XtOffsetOf(zend_weakmap, std)))
#define XtOffsetOf(s_type, field)
struct _zend_weakmap zend_weakmap

Definition at line 64 of file zend_weakrefs.c.

◆ ZEND_WEAKREF_ENCODE

#define ZEND_WEAKREF_ENCODE ( p,
t )
Value:
((void *) (((uintptr_t) (p)) | (t)))
p
Definition session.c:1105

Definition at line 54 of file zend_weakrefs.c.

◆ zend_weakref_fetch

#define zend_weakref_fetch ( z)
Value:
#define zend_weakref_from(o)

Definition at line 62 of file zend_weakrefs.c.

◆ zend_weakref_from

#define zend_weakref_from ( o)
Value:
((zend_weakref*)(((char*) o) - XtOffsetOf(zend_weakref, std)))
struct _zend_weakref zend_weakref

Definition at line 61 of file zend_weakrefs.c.

◆ ZEND_WEAKREF_GET_PTR

#define ZEND_WEAKREF_GET_PTR ( p)
Value:
((void *) (((uintptr_t) (p)) & ~3))

Definition at line 53 of file zend_weakrefs.c.

◆ ZEND_WEAKREF_GET_TAG

#define ZEND_WEAKREF_GET_TAG ( p)
Value:
(((uintptr_t) (p)) & 3)

Definition at line 52 of file zend_weakrefs.c.

◆ ZEND_WEAKREF_TAG_HT

#define ZEND_WEAKREF_TAG_HT   2

Definition at line 51 of file zend_weakrefs.c.

◆ ZEND_WEAKREF_TAG_MAP

#define ZEND_WEAKREF_TAG_MAP   1

Definition at line 50 of file zend_weakrefs.c.

◆ ZEND_WEAKREF_TAG_REF

#define ZEND_WEAKREF_TAG_REF   0

Definition at line 49 of file zend_weakrefs.c.

Typedef Documentation

◆ zend_weakmap

typedef struct _zend_weakmap zend_weakmap

◆ zend_weakmap_iterator

◆ zend_weakref

typedef struct _zend_weakref zend_weakref

Function Documentation

◆ ZEND_METHOD() [1/9]

ZEND_METHOD ( WeakMap ,
count  )

Definition at line 745 of file zend_weakrefs.c.

◆ ZEND_METHOD() [2/9]

ZEND_METHOD ( WeakMap ,
getIterator  )

Definition at line 756 of file zend_weakrefs.c.

◆ ZEND_METHOD() [3/9]

ZEND_METHOD ( WeakMap ,
offsetExists  )

Definition at line 723 of file zend_weakrefs.c.

◆ ZEND_METHOD() [4/9]

ZEND_METHOD ( WeakMap ,
offsetGet  )

Definition at line 696 of file zend_weakrefs.c.

◆ ZEND_METHOD() [5/9]

ZEND_METHOD ( WeakMap ,
offsetSet  )

Definition at line 712 of file zend_weakrefs.c.

◆ ZEND_METHOD() [6/9]

ZEND_METHOD ( WeakMap ,
offsetUnset  )

Definition at line 734 of file zend_weakrefs.c.

◆ ZEND_METHOD() [7/9]

ZEND_COLD ZEND_METHOD ( WeakReference ,
__construct  )

Definition at line 293 of file zend_weakrefs.c.

◆ ZEND_METHOD() [8/9]

ZEND_METHOD ( WeakReference ,
create  )

Definition at line 298 of file zend_weakrefs.c.

◆ ZEND_METHOD() [9/9]

ZEND_METHOD ( WeakReference ,
get  )

Definition at line 313 of file zend_weakrefs.c.

◆ zend_register_weakref_ce()

void zend_register_weakref_ce ( void )

Definition at line 765 of file zend_weakrefs.c.

◆ zend_weakmap_get_entry_gc()

HashTable * zend_weakmap_get_entry_gc ( zend_object * object,
zval ** table,
int * n )

Definition at line 511 of file zend_weakrefs.c.

◆ zend_weakmap_get_gc()

HashTable * zend_weakmap_get_gc ( zend_object * object,
zval ** table,
int * n )

Definition at line 484 of file zend_weakrefs.c.

◆ zend_weakmap_get_key_entry_gc()

HashTable * zend_weakmap_get_key_entry_gc ( zend_object * object,
zval ** table,
int * n )

Definition at line 496 of file zend_weakrefs.c.

◆ zend_weakmap_get_object_entry_gc()

HashTable * zend_weakmap_get_object_entry_gc ( zend_object * object,
zval ** table,
int * n )

Definition at line 558 of file zend_weakrefs.c.

◆ zend_weakmap_get_object_key_entry_gc()

HashTable * zend_weakmap_get_object_key_entry_gc ( zend_object * object,
zval ** table,
int * n )

Definition at line 523 of file zend_weakrefs.c.

◆ zend_weakrefs_hash_add()

ZEND_API zval * zend_weakrefs_hash_add ( HashTable * ht,
zend_object * key,
zval * pData )

Definition at line 169 of file zend_weakrefs.c.

◆ zend_weakrefs_hash_del()

ZEND_API zend_result zend_weakrefs_hash_del ( HashTable * ht,
zend_object * key )

Definition at line 177 of file zend_weakrefs.c.

◆ zend_weakrefs_init()

void zend_weakrefs_init ( void )

Definition at line 186 of file zend_weakrefs.c.

◆ zend_weakrefs_notify()

void zend_weakrefs_notify ( zend_object * object)

Definition at line 192 of file zend_weakrefs.c.

◆ zend_weakrefs_shutdown()

void zend_weakrefs_shutdown ( void )

Definition at line 206 of file zend_weakrefs.c.

Variable Documentation

◆ zend_ce_weakref

zend_class_entry* zend_ce_weakref

Definition at line 56 of file zend_weakrefs.c.