php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_lazy_objects.c File Reference
#include "zend_API.h"
#include "zend_compile.h"
#include "zend_execute.h"
#include "zend_gc.h"
#include "zend_hash.h"
#include "zend_object_handlers.h"
#include "zend_objects_API.h"
#include "zend_operators.h"
#include "zend_types.h"
#include "zend_variables.h"
#include "zend_lazy_objects.h"

Go to the source code of this file.

Data Structures

struct  _zend_lazy_object_info
 

Typedefs

typedef struct _zend_lazy_object_info zend_lazy_object_info
 

Functions

void zend_lazy_objects_init (zend_lazy_objects_store *store)
 
void zend_lazy_objects_destroy (zend_lazy_objects_store *store)
 
zvalzend_lazy_object_get_initializer_zv (zend_object *obj)
 
zend_objectzend_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)
 
bool zend_lazy_object_decr_lazy_props (zend_object *obj)
 
ZEND_API bool zend_class_can_be_lazy (zend_class_entry *ce)
 
ZEND_API zend_objectzend_object_make_lazy (zend_object *obj, zend_class_entry *reflection_ce, zval *initializer_zv, zend_fcall_info_cache *initializer_fcc, zend_lazy_object_flags_t flags)
 
ZEND_API zend_objectzend_lazy_object_mark_as_initialized (zend_object *obj)
 
ZEND_API zend_objectzend_lazy_object_init (zend_object *obj)
 
void zend_lazy_object_realize (zend_object *obj)
 
ZEND_API HashTablezend_lazy_object_get_properties (zend_object *object)
 
zend_objectzend_lazy_object_clone (zend_object *old_obj)
 
HashTablezend_lazy_object_debug_info (zend_object *object, int *is_temp)
 
HashTablezend_lazy_object_get_gc (zend_object *zobj, zval **table, int *n)
 
zend_property_infozend_lazy_object_get_property_info_for_slot (zend_object *obj, zval *slot)
 

Typedef Documentation

◆ zend_lazy_object_info

Information about each lazy object is stored outside of zend_objects, in EG(lazy_objects_store). For ghost objects, we can release this after the object is initialized.

Function Documentation

◆ zend_class_can_be_lazy()

ZEND_API bool zend_class_can_be_lazy ( zend_class_entry * ce)

Making objects lazy

Definition at line 186 of file zend_lazy_objects.c.

◆ zend_lazy_object_clone()

zend_object * zend_lazy_object_clone ( zend_object * old_obj)

Definition at line 712 of file zend_lazy_objects.c.

◆ zend_lazy_object_debug_info()

HashTable * zend_lazy_object_debug_info ( zend_object * object,
int * is_temp )

Definition at line 758 of file zend_lazy_objects.c.

◆ zend_lazy_object_decr_lazy_props()

bool zend_lazy_object_decr_lazy_props ( zend_object * obj)

Definition at line 168 of file zend_lazy_objects.c.

◆ zend_lazy_object_del_info()

void zend_lazy_object_del_info ( zend_object * obj)

Definition at line 162 of file zend_lazy_objects.c.

◆ zend_lazy_object_get_flags()

zend_lazy_object_flags_t zend_lazy_object_get_flags ( zend_object * obj)

Definition at line 157 of file zend_lazy_objects.c.

◆ zend_lazy_object_get_gc()

HashTable * zend_lazy_object_get_gc ( zend_object * zobj,
zval ** table,
int * n )

Definition at line 778 of file zend_lazy_objects.c.

◆ zend_lazy_object_get_initializer_zv()

zval * zend_lazy_object_get_initializer_zv ( zend_object * obj)

Definition at line 120 of file zend_lazy_objects.c.

◆ zend_lazy_object_get_instance()

zend_object * zend_lazy_object_get_instance ( zend_object * obj)

Definition at line 142 of file zend_lazy_objects.c.

◆ zend_lazy_object_get_properties()

ZEND_API HashTable * zend_lazy_object_get_properties ( zend_object * object)

Definition at line 692 of file zend_lazy_objects.c.

◆ zend_lazy_object_get_property_info_for_slot()

zend_property_info * zend_lazy_object_get_property_info_for_slot ( zend_object * obj,
zval * slot )

Definition at line 814 of file zend_lazy_objects.c.

◆ zend_lazy_object_init()

ZEND_API zend_object * zend_lazy_object_init ( zend_object * obj)

Definition at line 560 of file zend_lazy_objects.c.

◆ zend_lazy_object_mark_as_initialized()

ZEND_API zend_object * zend_lazy_object_mark_as_initialized ( zend_object * obj)

Initialization of lazy objects

Definition at line 379 of file zend_lazy_objects.c.

◆ zend_lazy_object_realize()

void zend_lazy_object_realize ( zend_object * obj)

Definition at line 676 of file zend_lazy_objects.c.

◆ zend_lazy_objects_destroy()

void zend_lazy_objects_destroy ( zend_lazy_objects_store * store)

Definition at line 90 of file zend_lazy_objects.c.

◆ zend_lazy_objects_init()

void zend_lazy_objects_init ( zend_lazy_objects_store * store)

Definition at line 85 of file zend_lazy_objects.c.

◆ zend_object_make_lazy()

ZEND_API zend_object * zend_object_make_lazy ( zend_object * obj,
zend_class_entry * reflection_ce,
zval * initializer_zv,
zend_fcall_info_cache * initializer_fcc,
zend_lazy_object_flags_t flags )

Definition at line 225 of file zend_lazy_objects.c.