diff options
author | Jim Zubov <jim@commercebyte.com> | 2017-02-07 21:13:39 -0500 |
---|---|---|
committer | Jim Zubov <jim@commercebyte.com> | 2017-02-07 21:13:39 -0500 |
commit | f9afc6aabc8af2da5874b32e11f9e4cca722c079 (patch) | |
tree | 32b0b08cf7a062d3dd634a14f1a7502cbac8d4c2 /Zend/zend_objects_API.c | |
parent | a6acffe421c1ea5e0d654169a17103285711596e (diff) | |
download | php-git-f9afc6aabc8af2da5874b32e11f9e4cca722c079.tar.gz |
newly added zend_object_store.no_reuse is redefined as a global zend_object_store_no_reuse,
to avoid alignment issues
Diffstat (limited to 'Zend/zend_objects_API.c')
-rw-r--r-- | Zend/zend_objects_API.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Zend/zend_objects_API.c b/Zend/zend_objects_API.c index a0de331766..b64d413fc2 100644 --- a/Zend/zend_objects_API.c +++ b/Zend/zend_objects_API.c @@ -26,13 +26,15 @@ #include "zend_API.h" #include "zend_objects_API.h" +ZEND_TLS zend_objects_store_no_reuse; /* Would make more sense to make it a member of zend_objects_store, defining as a global to not break alignments */ + ZEND_API void zend_objects_store_init(zend_objects_store *objects, uint32_t init_size) { objects->object_buckets = (zend_object **) emalloc(init_size * sizeof(zend_object*)); objects->top = 1; /* Skip 0 so that handles are true */ objects->size = init_size; objects->free_list_head = -1; - objects->no_reuse = 0; + zend_objects_store_no_reuse = 0; memset(&objects->object_buckets[0], 0, sizeof(zend_object*)); } @@ -44,7 +46,7 @@ ZEND_API void zend_objects_store_destroy(zend_objects_store *objects) ZEND_API void zend_objects_store_call_destructors(zend_objects_store *objects) { - objects->no_reuse = 1; /* new objects spawned by dtors will never reuse unused slots, so their own dtors will be called further down the loop */ + zend_objects_store_no_reuse = 1; /* new objects spawned by dtors will never reuse unused slots, so their own dtors will be called further down the loop */ if (objects->top > 1) { uint32_t i; for (i = 1; i < objects->top; i++) { @@ -113,7 +115,7 @@ ZEND_API void zend_objects_store_put(zend_object *object) { int handle; - if (!EG(objects_store).no_reuse && EG(objects_store).free_list_head != -1) { + if (!zend_objects_store_no_reuse && EG(objects_store).free_list_head != -1) { handle = EG(objects_store).free_list_head; EG(objects_store).free_list_head = GET_OBJ_BUCKET_NUMBER(EG(objects_store).object_buckets[handle]); } else { |