6
6
7
7
#define ZEND_DEBUG_OBJECTS 0
8
8
9
- void zend_objects_store_init (zend_objects_store * objects , zend_uint init_size )
9
+ ZEND_API void zend_objects_store_init (zend_objects_store * objects , zend_uint init_size )
10
10
{
11
11
objects -> object_buckets = (zend_object_store_bucket * ) emalloc (init_size * sizeof (zend_object_store_bucket ));
12
12
objects -> top = 1 ; /* Skip 0 so that handles are true */
13
13
objects -> size = init_size ;
14
14
objects -> free_list_head = -1 ;
15
15
}
16
16
17
- void zend_objects_store_destroy (zend_objects_store * objects )
17
+ ZEND_API void zend_objects_store_destroy (zend_objects_store * objects )
18
18
{
19
19
efree (objects -> object_buckets );
20
20
}
21
21
22
- void zend_objects_store_call_destructors (zend_objects_store * objects TSRMLS_DC )
22
+ ZEND_API void zend_objects_store_call_destructors (zend_objects_store * objects TSRMLS_DC )
23
23
{
24
24
zend_uint i = 1 ;
25
25
@@ -37,7 +37,7 @@ void zend_objects_store_call_destructors(zend_objects_store *objects TSRMLS_DC)
37
37
38
38
/* Store objects API */
39
39
40
- zend_object_handle zend_objects_store_put (void * object , zend_objects_store_dtor_t dtor , zend_objects_store_clone_t clone TSRMLS_DC )
40
+ ZEND_API zend_object_handle zend_objects_store_put (void * object , zend_objects_store_dtor_t dtor , zend_objects_store_clone_t clone TSRMLS_DC )
41
41
{
42
42
zend_object_handle handle ;
43
43
struct _store_object * obj ;
@@ -67,7 +67,7 @@ zend_object_handle zend_objects_store_put(void *object, zend_objects_store_dtor_
67
67
return handle ;
68
68
}
69
69
70
- void zend_objects_store_add_ref (zval * object TSRMLS_DC )
70
+ ZEND_API void zend_objects_store_add_ref (zval * object TSRMLS_DC )
71
71
{
72
72
zend_object_handle handle = Z_OBJ_HANDLE_P (object );
73
73
@@ -81,7 +81,7 @@ void zend_objects_store_add_ref(zval *object TSRMLS_DC)
81
81
#endif
82
82
}
83
83
84
- void zend_objects_store_delete_obj (zval * zobject TSRMLS_DC )
84
+ ZEND_API void zend_objects_store_delete_obj (zval * zobject TSRMLS_DC )
85
85
{
86
86
zend_object_handle handle = Z_OBJ_HANDLE_P (zobject );
87
87
struct _store_object * obj = & EG (objects_store ).object_buckets [handle ].bucket .obj ;
@@ -108,7 +108,7 @@ void zend_objects_store_delete_obj(zval *zobject TSRMLS_DC)
108
108
EG(objects_store).free_list_head = handle; \
109
109
EG(objects_store).object_buckets[handle].valid = 0;
110
110
111
- void zend_objects_store_del_ref (zval * zobject TSRMLS_DC )
111
+ ZEND_API void zend_objects_store_del_ref (zval * zobject TSRMLS_DC )
112
112
{
113
113
zend_object_handle handle = Z_OBJ_HANDLE_P (zobject );
114
114
struct _store_object * obj = & EG (objects_store ).object_buckets [handle ].bucket .obj ;
@@ -137,7 +137,7 @@ void zend_objects_store_del_ref(zval *zobject TSRMLS_DC)
137
137
#endif
138
138
}
139
139
140
- zend_object_value zend_objects_store_clone_obj (zval * zobject TSRMLS_DC )
140
+ ZEND_API zend_object_value zend_objects_store_clone_obj (zval * zobject TSRMLS_DC )
141
141
{
142
142
zend_object_value retval ;
143
143
void * new_object ;
@@ -161,7 +161,7 @@ zend_object_value zend_objects_store_clone_obj(zval *zobject TSRMLS_DC)
161
161
return retval ;
162
162
}
163
163
164
- void * zend_object_store_get_object (zval * zobject TSRMLS_DC )
164
+ ZEND_API void * zend_object_store_get_object (zval * zobject TSRMLS_DC )
165
165
{
166
166
zend_object_handle handle = Z_OBJ_HANDLE_P (zobject );
167
167
@@ -182,14 +182,14 @@ typedef struct _zend_proxy_object {
182
182
183
183
static zend_object_handlers zend_object_proxy_handlers ;
184
184
185
- void zend_objects_proxy_dtor (zend_proxy_object * object , zend_object_handle handle TSRMLS_DC )
185
+ ZEND_API void zend_objects_proxy_dtor (zend_proxy_object * object , zend_object_handle handle TSRMLS_DC )
186
186
{
187
187
zval_ptr_dtor (& object -> object );
188
188
zval_ptr_dtor (& object -> property );
189
189
efree (object );
190
190
}
191
191
192
- void zend_objects_proxy_clone (zend_proxy_object * object , zend_proxy_object * * object_clone TSRMLS_DC )
192
+ ZEND_API void zend_objects_proxy_clone (zend_proxy_object * object , zend_proxy_object * * object_clone TSRMLS_DC )
193
193
{
194
194
* object_clone = emalloc (sizeof (zend_proxy_object ));
195
195
(* object_clone )-> object = object -> object ;
@@ -198,7 +198,7 @@ void zend_objects_proxy_clone(zend_proxy_object *object, zend_proxy_object **obj
198
198
zval_add_ref (& (* object_clone )-> object );
199
199
}
200
200
201
- zval * * zend_object_create_proxy (zval * object , zval * member TSRMLS_DC )
201
+ ZEND_API zval * * zend_object_create_proxy (zval * object , zval * member TSRMLS_DC )
202
202
{
203
203
zend_proxy_object * pobj = emalloc (sizeof (zend_proxy_object ));
204
204
zval * retval , * * pretval ;
@@ -218,7 +218,7 @@ zval **zend_object_create_proxy(zval *object, zval *member TSRMLS_DC)
218
218
return pretval ;
219
219
}
220
220
221
- void zend_object_proxy_set (zval * * property , zval * value TSRMLS_DC )
221
+ ZEND_API void zend_object_proxy_set (zval * * property , zval * value TSRMLS_DC )
222
222
{
223
223
zend_proxy_object * probj = zend_object_store_get_object (* property TSRMLS_CC );
224
224
@@ -229,7 +229,7 @@ void zend_object_proxy_set(zval **property, zval *value TSRMLS_DC)
229
229
}
230
230
}
231
231
232
- zval * zend_object_proxy_get (zval * property TSRMLS_DC )
232
+ ZEND_API zval * zend_object_proxy_get (zval * property TSRMLS_DC )
233
233
{
234
234
zend_proxy_object * probj = zend_object_store_get_object (property TSRMLS_CC );
235
235
0 commit comments