From 866332a4b835fe00de4278d9b41b32afb37a7244 Mon Sep 17 00:00:00 2001 From: Sebastian Bergmann Date: Wed, 26 Mar 2003 06:32:53 +0000 Subject: [PATCH] Eliminate TSRMLS_FETCH() calls in zend_objects_new() and zend_objects_get_address(). --- Zend/zend_API.c | 4 ++-- Zend/zend_object_handlers.c | 2 +- Zend/zend_objects.c | 11 ++++------- Zend/zend_objects.h | 4 ++-- 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/Zend/zend_API.c b/Zend/zend_API.c index d7479845f72..a5ff9021587 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -661,7 +661,7 @@ ZEND_API int _object_and_properties_init(zval *arg, zend_class_entry *class_type arg->type = IS_OBJECT; if (class_type->create_object == NULL) { - arg->value.obj = zend_objects_new(&object, class_type); + arg->value.obj = zend_objects_new(&object, class_type TSRMLS_CC); if (properties) { object->properties = properties; } else { @@ -1432,7 +1432,7 @@ static zend_object_value display_disabled_class(zend_class_entry *class_type TSR { zend_object_value retval; zend_object *intern; - retval = zend_objects_new(&intern, class_type); + retval = zend_objects_new(&intern, class_type TSRMLS_CC); ALLOC_HASHTABLE(intern->properties); zend_hash_init(intern->properties, 0, NULL, ZVAL_PTR_DTOR, 0); zend_error(E_WARNING, "%s() has been disabled for security reasons", class_type->name); diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c index 8c193afbf9f..89a39f632e4 100644 --- a/Zend/zend_object_handlers.c +++ b/Zend/zend_object_handlers.c @@ -29,7 +29,7 @@ #define DEBUG_OBJECT_HANDLERS 0 -#define Z_OBJ_P(zval_p) zend_objects_get_address(zval_p) +#define Z_OBJ_P(zval_p) zend_objects_get_address(zval_p TSRMLS_CC) /* __X accessors explanation: diff --git a/Zend/zend_objects.c b/Zend/zend_objects.c index 71a20e5d959..51d402c4e46 100644 --- a/Zend/zend_objects.c +++ b/Zend/zend_objects.c @@ -68,12 +68,10 @@ ZEND_API void zend_objects_destroy_object(zend_object *object, zend_object_handl efree(object); } -ZEND_API zend_object_value zend_objects_new(zend_object **object, zend_class_entry *class_type) +ZEND_API zend_object_value zend_objects_new(zend_object **object, zend_class_entry *class_type TSRMLS_DC) { zend_object_value retval; - TSRMLS_FETCH(); - *object = emalloc(sizeof(zend_object)); (*object)->ce = class_type; retval.handle = zend_objects_store_put(*object, (zend_objects_store_dtor_t) zend_objects_destroy_object, NULL TSRMLS_CC); @@ -83,9 +81,8 @@ ZEND_API zend_object_value zend_objects_new(zend_object **object, zend_class_ent return retval; } -ZEND_API zend_object *zend_objects_get_address(zval *zobject) +ZEND_API zend_object *zend_objects_get_address(zval *zobject TSRMLS_DC) { - TSRMLS_FETCH(); return (zend_object *)zend_object_store_get_object(zobject TSRMLS_CC); } @@ -96,8 +93,8 @@ ZEND_API zend_object_value zend_objects_clone_obj(zval *zobject TSRMLS_DC) zend_object *new_object; zend_object_handle handle = Z_OBJ_HANDLE_P(zobject); - old_object = zend_objects_get_address(zobject); - retval = zend_objects_new(&new_object, old_object->ce); + old_object = zend_objects_get_address(zobject TSRMLS_CC); + retval = zend_objects_new(&new_object, old_object->ce TSRMLS_CC); if (old_object->ce->clone) { zval *old_obj; diff --git a/Zend/zend_objects.h b/Zend/zend_objects.h index f1101ef0155..5c4d0809138 100644 --- a/Zend/zend_objects.h +++ b/Zend/zend_objects.h @@ -24,9 +24,9 @@ #include "zend.h" -ZEND_API zend_object_value zend_objects_new(zend_object **object, zend_class_entry *class_type); +ZEND_API zend_object_value zend_objects_new(zend_object **object, zend_class_entry *class_type TSRMLS_DC); ZEND_API void zend_objects_destroy_object(zend_object *object, zend_object_handle handle TSRMLS_DC); -ZEND_API zend_object *zend_objects_get_address(zval *object); +ZEND_API zend_object *zend_objects_get_address(zval *object TSRMLS_DC); ZEND_API zend_object_value zend_objects_clone_obj(zval *object TSRMLS_DC); #endif /* ZEND_OBJECTS_H */