mirror of
https://github.com/php/php-src.git
synced 2024-09-21 09:57:23 +00:00
Eliminate TSRMLS_FETCH() calls in zend_objects_new() and zend_objects_get_address().
This commit is contained in:
parent
2dd1affcab
commit
866332a4b8
@ -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);
|
||||
|
@ -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:
|
||||
|
@ -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;
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user