From 9e70d7672dd646b8c9b29ccc452e4dc5aa015437 Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Wed, 4 Feb 2015 15:24:13 +0300 Subject: 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. --- Zend/zend_objects_API.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Zend/zend_objects_API.h') 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 */ /* -- cgit v1.2.1