diff options
| author | Dmitry Stogov <dmitry@zend.com> | 2015-02-04 15:24:13 +0300 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@zend.com> | 2015-02-04 15:24:13 +0300 |
| commit | 9e70d7672dd646b8c9b29ccc452e4dc5aa015437 (patch) | |
| tree | 0b852db11ab8fdcab020d6f13ee631291849b6d2 /Zend/zend_objects_API.h | |
| parent | 87377c1707beec44f35cd6d91e5822a31479f170 (diff) | |
| download | php-git-9e70d7672dd646b8c9b29ccc452e4dc5aa015437.tar.gz | |
Move zend_object->guards into additional slot of zend_object->properties_table[]. As result size of objects without __get/__set/__unset/__isset magic methods is reduced.
Diffstat (limited to 'Zend/zend_objects_API.h')
| -rw-r--r-- | Zend/zend_objects_API.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Zend/zend_objects_API.h b/Zend/zend_objects_API.h index cffdb4876b..5bc7d774bc 100644 --- a/Zend/zend_objects_API.h +++ b/Zend/zend_objects_API.h @@ -23,6 +23,7 @@ #define ZEND_OBJECTS_API_H #include "zend.h" +#include "zend_compile.h" #define OBJ_BUCKET_INVALID (1<<0) @@ -80,6 +81,13 @@ static zend_always_inline void zend_object_release(zend_object *obj) } } +static zend_always_inline size_t zend_object_properties_size(zend_class_entry *ce) +{ + return sizeof(zval) * + (ce->default_properties_count - + ((ce->ce_flags & ZEND_ACC_USE_GUARDS) ? 0 : 1)); +} + #endif /* ZEND_OBJECTS_H */ /* |
