|
|
|
@ -116,8 +116,10 @@ ZEND_API void zend_objects_store_put(zend_object *object) |
|
|
|
EG(objects_store).free_list_head = GET_OBJ_BUCKET_NUMBER(EG(objects_store).object_buckets[handle]); |
|
|
|
} else { |
|
|
|
if (EG(objects_store).top == EG(objects_store).size) { |
|
|
|
EG(objects_store).size <<= 1; |
|
|
|
EG(objects_store).object_buckets = (zend_object **) erealloc(EG(objects_store).object_buckets, EG(objects_store).size * sizeof(zend_object*)); |
|
|
|
uint32_t new_size = 2 * EG(objects_store).size; |
|
|
|
EG(objects_store).object_buckets = (zend_object **) erealloc(EG(objects_store).object_buckets, new_size * sizeof(zend_object*)); |
|
|
|
/* Assign size after realloc, in case it fails */ |
|
|
|
EG(objects_store).size = new_size; |
|
|
|
} |
|
|
|
handle = EG(objects_store).top++; |
|
|
|
} |
|
|
|
|