Lines Matching refs:ht

57 ZEND_API void ZEND_FASTCALL _zend_hash_init(HashTable *ht, uint32_t nSize, dtor_func_t pDestructor,…
58 ZEND_API void ZEND_FASTCALL _zend_hash_init_ex(HashTable *ht, uint32_t nSize, dtor_func_t pDestruct…
59 ZEND_API void ZEND_FASTCALL zend_hash_destroy(HashTable *ht);
60 ZEND_API void ZEND_FASTCALL zend_hash_clean(HashTable *ht);
61 #define zend_hash_init(ht, nSize, pHashFunction, pDestructor, persistent) _zend_hash_init((ht)… argument
62 #define zend_hash_init_ex(ht, nSize, pHashFunction, pDestructor, persistent, bApplyProtection) _ze… argument
64 ZEND_API void ZEND_FASTCALL zend_hash_real_init(HashTable *ht, zend_bool packed);
65 ZEND_API void ZEND_FASTCALL zend_hash_packed_to_hash(HashTable *ht);
66 ZEND_API void ZEND_FASTCALL zend_hash_to_packed(HashTable *ht);
67 ZEND_API void ZEND_FASTCALL zend_hash_extend(HashTable *ht, uint32_t nSize, zend_bool packed);
70 ZEND_API zval* ZEND_FASTCALL _zend_hash_add_or_update(HashTable *ht, zend_string *key, zval *pData,…
71 ZEND_API zval* ZEND_FASTCALL _zend_hash_update(HashTable *ht, zend_string *key,zval *pData ZEND_FIL…
72 ZEND_API zval* ZEND_FASTCALL _zend_hash_update_ind(HashTable *ht, zend_string *key,zval *pData ZEND…
73 ZEND_API zval* ZEND_FASTCALL _zend_hash_add(HashTable *ht, zend_string *key,zval *pData ZEND_FILE_L…
74 ZEND_API zval* ZEND_FASTCALL _zend_hash_add_new(HashTable *ht, zend_string *key,zval *pData ZEND_FI…
76 #define zend_hash_update(ht, key, pData) \ argument
77 _zend_hash_update(ht, key, pData ZEND_FILE_LINE_CC)
78 #define zend_hash_update_ind(ht, key, pData) \ argument
79 _zend_hash_update_ind(ht, key, pData ZEND_FILE_LINE_CC)
80 #define zend_hash_add(ht, key, pData) \ argument
81 _zend_hash_add(ht, key, pData ZEND_FILE_LINE_CC)
82 #define zend_hash_add_new(ht, key, pData) \ argument
83 _zend_hash_add_new(ht, key, pData ZEND_FILE_LINE_CC)
85 ZEND_API zval* ZEND_FASTCALL _zend_hash_str_add_or_update(HashTable *ht, const char *key, size_t le…
86 ZEND_API zval* ZEND_FASTCALL _zend_hash_str_update(HashTable *ht, const char *key, size_t len, zval…
87 ZEND_API zval* ZEND_FASTCALL _zend_hash_str_update_ind(HashTable *ht, const char *key, size_t len, …
88 ZEND_API zval* ZEND_FASTCALL _zend_hash_str_add(HashTable *ht, const char *key, size_t len, zval *p…
89 ZEND_API zval* ZEND_FASTCALL _zend_hash_str_add_new(HashTable *ht, const char *key, size_t len, zva…
91 #define zend_hash_str_update(ht, key, len, pData) \ argument
92 _zend_hash_str_update(ht, key, len, pData ZEND_FILE_LINE_CC)
93 #define zend_hash_str_update_ind(ht, key, len, pData) \ argument
94 _zend_hash_str_update_ind(ht, key, len, pData ZEND_FILE_LINE_CC)
95 #define zend_hash_str_add(ht, key, len, pData) \ argument
96 _zend_hash_str_add(ht, key, len, pData ZEND_FILE_LINE_CC)
97 #define zend_hash_str_add_new(ht, key, len, pData) \ argument
98 _zend_hash_str_add_new(ht, key, len, pData ZEND_FILE_LINE_CC)
100 ZEND_API zval* ZEND_FASTCALL _zend_hash_index_add_or_update(HashTable *ht, zend_ulong h, zval *pDat…
101 ZEND_API zval* ZEND_FASTCALL _zend_hash_index_add(HashTable *ht, zend_ulong h, zval *pData ZEND_FIL…
102 ZEND_API zval* ZEND_FASTCALL _zend_hash_index_add_new(HashTable *ht, zend_ulong h, zval *pData ZEND…
103 ZEND_API zval* ZEND_FASTCALL _zend_hash_index_update(HashTable *ht, zend_ulong h, zval *pData ZEND_…
104 ZEND_API zval* ZEND_FASTCALL _zend_hash_next_index_insert(HashTable *ht, zval *pData ZEND_FILE_LINE…
105 ZEND_API zval* ZEND_FASTCALL _zend_hash_next_index_insert_new(HashTable *ht, zval *pData ZEND_FILE_…
107 #define zend_hash_index_add(ht, h, pData) \ argument
108 _zend_hash_index_add(ht, h, pData ZEND_FILE_LINE_CC)
109 #define zend_hash_index_add_new(ht, h, pData) \ argument
110 _zend_hash_index_add_new(ht, h, pData ZEND_FILE_LINE_CC)
111 #define zend_hash_index_update(ht, h, pData) \ argument
112 _zend_hash_index_update(ht, h, pData ZEND_FILE_LINE_CC)
113 #define zend_hash_next_index_insert(ht, pData) \ argument
114 _zend_hash_next_index_insert(ht, pData ZEND_FILE_LINE_CC)
115 #define zend_hash_next_index_insert_new(ht, pData) \ argument
116 _zend_hash_next_index_insert_new(ht, pData ZEND_FILE_LINE_CC)
118 ZEND_API zval* ZEND_FASTCALL zend_hash_index_add_empty_element(HashTable *ht, zend_ulong h);
119 ZEND_API zval* ZEND_FASTCALL zend_hash_add_empty_element(HashTable *ht, zend_string *key);
120 ZEND_API zval* ZEND_FASTCALL zend_hash_str_add_empty_element(HashTable *ht, const char *key, size_t…
130 ZEND_API void ZEND_FASTCALL zend_hash_graceful_destroy(HashTable *ht);
131 ZEND_API void ZEND_FASTCALL zend_hash_graceful_reverse_destroy(HashTable *ht);
132 ZEND_API void ZEND_FASTCALL zend_hash_apply(HashTable *ht, apply_func_t apply_func);
133 ZEND_API void ZEND_FASTCALL zend_hash_apply_with_argument(HashTable *ht, apply_func_arg_t apply_fun…
134 ZEND_API void ZEND_FASTCALL zend_hash_apply_with_arguments(HashTable *ht, apply_func_args_t apply_f…
142 ZEND_API void ZEND_FASTCALL zend_hash_reverse_apply(HashTable *ht, apply_func_t apply_func);
146 ZEND_API int ZEND_FASTCALL zend_hash_del(HashTable *ht, zend_string *key);
147 ZEND_API int ZEND_FASTCALL zend_hash_del_ind(HashTable *ht, zend_string *key);
148 ZEND_API int ZEND_FASTCALL zend_hash_str_del(HashTable *ht, const char *key, size_t len);
149 ZEND_API int ZEND_FASTCALL zend_hash_str_del_ind(HashTable *ht, const char *key, size_t len);
150 ZEND_API int ZEND_FASTCALL zend_hash_index_del(HashTable *ht, zend_ulong h);
151 ZEND_API void ZEND_FASTCALL zend_hash_del_bucket(HashTable *ht, Bucket *p);
154 ZEND_API zval* ZEND_FASTCALL zend_hash_find(const HashTable *ht, zend_string *key);
155 ZEND_API zval* ZEND_FASTCALL zend_hash_str_find(const HashTable *ht, const char *key, size_t len);
156 ZEND_API zval* ZEND_FASTCALL zend_hash_index_find(const HashTable *ht, zend_ulong h);
159 ZEND_API zend_bool ZEND_FASTCALL zend_hash_exists(const HashTable *ht, zend_string *key);
160 ZEND_API zend_bool ZEND_FASTCALL zend_hash_str_exists(const HashTable *ht, const char *str, size_t …
161 ZEND_API zend_bool ZEND_FASTCALL zend_hash_index_exists(const HashTable *ht, zend_ulong h);
164 #define zend_hash_has_more_elements_ex(ht, pos) \ argument
165 (zend_hash_get_current_key_type_ex(ht, pos) == HASH_KEY_NON_EXISTENT ? FAILURE : SUCCESS)
166 ZEND_API int ZEND_FASTCALL zend_hash_move_forward_ex(HashTable *ht, HashPosition *pos);
167 ZEND_API int ZEND_FASTCALL zend_hash_move_backwards_ex(HashTable *ht, HashPosition *pos);
168 ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex(const HashTable *ht, zend_string **str_in…
169 ZEND_API void ZEND_FASTCALL zend_hash_get_current_key_zval_ex(const HashTable *ht, zval *key, Hash…
170 ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_type_ex(HashTable *ht, HashPosition *pos);
171 ZEND_API zval* ZEND_FASTCALL zend_hash_get_current_data_ex(HashTable *ht, HashPosition *pos);
172 ZEND_API void ZEND_FASTCALL zend_hash_internal_pointer_reset_ex(HashTable *ht, HashPosition *pos);
173 ZEND_API void ZEND_FASTCALL zend_hash_internal_pointer_end_ex(HashTable *ht, HashPosition *pos);
175 #define zend_hash_has_more_elements(ht) \ argument
176 zend_hash_has_more_elements_ex(ht, &(ht)->nInternalPointer)
177 #define zend_hash_move_forward(ht) \ argument
178 zend_hash_move_forward_ex(ht, &(ht)->nInternalPointer)
179 #define zend_hash_move_backwards(ht) \ argument
180 zend_hash_move_backwards_ex(ht, &(ht)->nInternalPointer)
181 #define zend_hash_get_current_key(ht, str_index, num_index) \ argument
182 zend_hash_get_current_key_ex(ht, str_index, num_index, &(ht)->nInternalPointer)
183 #define zend_hash_get_current_key_zval(ht, key) \ argument
184 zend_hash_get_current_key_zval_ex(ht, key, &(ht)->nInternalPointer)
185 #define zend_hash_get_current_key_type(ht) \ argument
186 zend_hash_get_current_key_type_ex(ht, &(ht)->nInternalPointer)
187 #define zend_hash_get_current_data(ht) \ argument
188 zend_hash_get_current_data_ex(ht, &(ht)->nInternalPointer)
189 #define zend_hash_internal_pointer_reset(ht) \ argument
190 zend_hash_internal_pointer_reset_ex(ht, &(ht)->nInternalPointer)
191 #define zend_hash_internal_pointer_end(ht) \ argument
192 zend_hash_internal_pointer_end_ex(ht, &(ht)->nInternalPointer)
202 ZEND_API int ZEND_FASTCALL zend_hash_sort_ex(HashTable *ht, sort_func_t sort_func, compare_func_t…
203 ZEND_API zval* ZEND_FASTCALL zend_hash_minmax(const HashTable *ht, compare_func_t compar, uint32_t …
208 #define zend_hash_sort(ht, compare_func, renumber) \ argument
209 zend_hash_sort_ex(ht, zend_sort, compare_func, renumber)
211 #define zend_hash_num_elements(ht) \ argument
212 (ht)->nNumOfElements
214 #define zend_hash_next_free_element(ht) \ argument
215 (ht)->nNextFreeElement
217 ZEND_API int ZEND_FASTCALL zend_hash_rehash(HashTable *ht);
219 ZEND_API uint32_t zend_array_count(HashTable *ht);
221 ZEND_API void ZEND_FASTCALL zend_array_destroy(HashTable *ht);
222 ZEND_API void ZEND_FASTCALL zend_symtable_clean(HashTable *ht);
226 ZEND_API uint32_t ZEND_FASTCALL zend_hash_iterator_add(HashTable *ht, HashPosition pos);
227 ZEND_API HashPosition ZEND_FASTCALL zend_hash_iterator_pos(uint32_t idx, HashTable *ht);
230 ZEND_API HashPosition ZEND_FASTCALL zend_hash_iterators_lower_pos(HashTable *ht, HashPosition start…
231 ZEND_API void ZEND_FASTCALL _zend_hash_iterators_update(HashTable *ht, HashPosition from, H…
233 static zend_always_inline void zend_hash_iterators_update(HashTable *ht, HashPosition from, HashPos… in zend_hash_iterators_update() argument
235 if (UNEXPECTED(ht->u.v.nIteratorsCount)) { in zend_hash_iterators_update()
236 _zend_hash_iterators_update(ht, from, to); in zend_hash_iterators_update()
243 #define ZEND_INIT_SYMTABLE(ht) \ in END_EXTERN_C() argument
244 ZEND_INIT_SYMTABLE_EX(ht, 8, 0) in END_EXTERN_C()
246 #define ZEND_INIT_SYMTABLE_EX(ht, n, persistent) \ in END_EXTERN_C() argument
247 zend_hash_init(ht, n, NULL, ZVAL_PTR_DTOR, persistent) in END_EXTERN_C()
274 static zend_always_inline zval *zend_hash_find_ind(const HashTable *ht, zend_string *key) in zend_hash_find_ind() argument
278 zv = zend_hash_find(ht, key); in zend_hash_find_ind()
284 static zend_always_inline int zend_hash_exists_ind(const HashTable *ht, zend_string *key) in zend_hash_exists_ind() argument
288 zv = zend_hash_find(ht, key); in zend_hash_exists_ind()
294 static zend_always_inline zval *zend_hash_str_find_ind(const HashTable *ht, const char *str, size_t… in zend_hash_str_find_ind() argument
298 zv = zend_hash_str_find(ht, str, len); in zend_hash_str_find_ind()
304 static zend_always_inline int zend_hash_str_exists_ind(const HashTable *ht, const char *str, size_t… in zend_hash_str_exists_ind() argument
308 zv = zend_hash_str_find(ht, str, len); in zend_hash_str_exists_ind()
313 static zend_always_inline zval *zend_symtable_add_new(HashTable *ht, zend_string *key, zval *pData) in zend_symtable_add_new() argument
318 return zend_hash_index_add_new(ht, idx, pData); in zend_symtable_add_new()
320 return zend_hash_add_new(ht, key, pData); in zend_symtable_add_new()
325 #define zend_symbtable_add_new(ht, key, pData) \ argument
326 zend_symtable_add_new(ht, key, pData)
328 static zend_always_inline zval *zend_symtable_update(HashTable *ht, zend_string *key, zval *pData) in zend_symtable_update() argument
333 return zend_hash_index_update(ht, idx, pData); in zend_symtable_update()
335 return zend_hash_update(ht, key, pData); in zend_symtable_update()
340 static zend_always_inline zval *zend_symtable_update_ind(HashTable *ht, zend_string *key, zval *pDa… in zend_symtable_update_ind() argument
345 return zend_hash_index_update(ht, idx, pData); in zend_symtable_update_ind()
347 return zend_hash_update_ind(ht, key, pData); in zend_symtable_update_ind()
352 static zend_always_inline int zend_symtable_del(HashTable *ht, zend_string *key) in zend_symtable_del() argument
357 return zend_hash_index_del(ht, idx); in zend_symtable_del()
359 return zend_hash_del(ht, key); in zend_symtable_del()
364 static zend_always_inline int zend_symtable_del_ind(HashTable *ht, zend_string *key) in zend_symtable_del_ind() argument
369 return zend_hash_index_del(ht, idx); in zend_symtable_del_ind()
371 return zend_hash_del_ind(ht, key); in zend_symtable_del_ind()
376 static zend_always_inline zval *zend_symtable_find(const HashTable *ht, zend_string *key) in zend_symtable_find() argument
381 return zend_hash_index_find(ht, idx); in zend_symtable_find()
383 return zend_hash_find(ht, key); in zend_symtable_find()
388 static zend_always_inline zval *zend_symtable_find_ind(const HashTable *ht, zend_string *key) in zend_symtable_find_ind() argument
393 return zend_hash_index_find(ht, idx); in zend_symtable_find_ind()
395 return zend_hash_find_ind(ht, key); in zend_symtable_find_ind()
400 static zend_always_inline int zend_symtable_exists(HashTable *ht, zend_string *key) in zend_symtable_exists() argument
405 return zend_hash_index_exists(ht, idx); in zend_symtable_exists()
407 return zend_hash_exists(ht, key); in zend_symtable_exists()
412 static zend_always_inline int zend_symtable_exists_ind(HashTable *ht, zend_string *key) in zend_symtable_exists_ind() argument
417 return zend_hash_index_exists(ht, idx); in zend_symtable_exists_ind()
419 return zend_hash_exists_ind(ht, key); in zend_symtable_exists_ind()
424 static zend_always_inline zval *zend_symtable_str_update(HashTable *ht, const char *str, size_t len… in zend_symtable_str_update() argument
429 return zend_hash_index_update(ht, idx, pData); in zend_symtable_str_update()
431 return zend_hash_str_update(ht, str, len, pData); in zend_symtable_str_update()
436 static zend_always_inline zval *zend_symtable_str_update_ind(HashTable *ht, const char *str, size_t… in zend_symtable_str_update_ind() argument
441 return zend_hash_index_update(ht, idx, pData); in zend_symtable_str_update_ind()
443 return zend_hash_str_update_ind(ht, str, len, pData); in zend_symtable_str_update_ind()
448 static zend_always_inline int zend_symtable_str_del(HashTable *ht, const char *str, size_t len) in zend_symtable_str_del() argument
453 return zend_hash_index_del(ht, idx); in zend_symtable_str_del()
455 return zend_hash_str_del(ht, str, len); in zend_symtable_str_del()
460 static zend_always_inline int zend_symtable_str_del_ind(HashTable *ht, const char *str, size_t len) in zend_symtable_str_del_ind() argument
465 return zend_hash_index_del(ht, idx); in zend_symtable_str_del_ind()
467 return zend_hash_str_del_ind(ht, str, len); in zend_symtable_str_del_ind()
472 static zend_always_inline zval *zend_symtable_str_find(HashTable *ht, const char *str, size_t len) in zend_symtable_str_find() argument
477 return zend_hash_index_find(ht, idx); in zend_symtable_str_find()
479 return zend_hash_str_find(ht, str, len); in zend_symtable_str_find()
484 static zend_always_inline int zend_symtable_str_exists(HashTable *ht, const char *str, size_t len) in zend_symtable_str_exists() argument
489 return zend_hash_index_exists(ht, idx); in zend_symtable_str_exists()
491 return zend_hash_str_exists(ht, str, len); in zend_symtable_str_exists()
495 static zend_always_inline void *zend_hash_add_ptr(HashTable *ht, zend_string *key, void *pData) in zend_hash_add_ptr() argument
500 zv = zend_hash_add(ht, key, &tmp); in zend_hash_add_ptr()
509 static zend_always_inline void *zend_hash_add_new_ptr(HashTable *ht, zend_string *key, void *pData) in zend_hash_add_new_ptr() argument
514 zv = zend_hash_add_new(ht, key, &tmp); in zend_hash_add_new_ptr()
523 static zend_always_inline void *zend_hash_str_add_ptr(HashTable *ht, const char *str, size_t len, v… in zend_hash_str_add_ptr() argument
528 zv = zend_hash_str_add(ht, str, len, &tmp); in zend_hash_str_add_ptr()
537 static zend_always_inline void *zend_hash_str_add_new_ptr(HashTable *ht, const char *str, size_t le… in zend_hash_str_add_new_ptr() argument
542 zv = zend_hash_str_add_new(ht, str, len, &tmp); in zend_hash_str_add_new_ptr()
551 static zend_always_inline void *zend_hash_update_ptr(HashTable *ht, zend_string *key, void *pData) in zend_hash_update_ptr() argument
556 zv = zend_hash_update(ht, key, &tmp); in zend_hash_update_ptr()
565 static zend_always_inline void *zend_hash_str_update_ptr(HashTable *ht, const char *str, size_t len… in zend_hash_str_update_ptr() argument
570 zv = zend_hash_str_update(ht, str, len, &tmp); in zend_hash_str_update_ptr()
579 static zend_always_inline void *zend_hash_add_mem(HashTable *ht, zend_string *key, void *pData, siz… in zend_hash_add_mem() argument
584 if ((zv = zend_hash_add(ht, key, &tmp))) { in zend_hash_add_mem()
585 Z_PTR_P(zv) = pemalloc(size, ht->u.flags & HASH_FLAG_PERSISTENT); in zend_hash_add_mem()
592 static zend_always_inline void *zend_hash_str_add_mem(HashTable *ht, const char *str, size_t len, v… in zend_hash_str_add_mem() argument
597 if ((zv = zend_hash_str_add(ht, str, len, &tmp))) { in zend_hash_str_add_mem()
598 Z_PTR_P(zv) = pemalloc(size, ht->u.flags & HASH_FLAG_PERSISTENT); in zend_hash_str_add_mem()
605 static zend_always_inline void *zend_hash_update_mem(HashTable *ht, zend_string *key, void *pData, … in zend_hash_update_mem() argument
609 p = pemalloc(size, ht->u.flags & HASH_FLAG_PERSISTENT); in zend_hash_update_mem()
611 return zend_hash_update_ptr(ht, key, p); in zend_hash_update_mem()
614 static zend_always_inline void *zend_hash_str_update_mem(HashTable *ht, const char *str, size_t len… in zend_hash_str_update_mem() argument
618 p = pemalloc(size, ht->u.flags & HASH_FLAG_PERSISTENT); in zend_hash_str_update_mem()
620 return zend_hash_str_update_ptr(ht, str, len, p); in zend_hash_str_update_mem()
623 static zend_always_inline void *zend_hash_index_add_ptr(HashTable *ht, zend_ulong h, void *pData) in zend_hash_index_add_ptr() argument
628 zv = zend_hash_index_add(ht, h, &tmp); in zend_hash_index_add_ptr()
632 static zend_always_inline void *zend_hash_index_add_new_ptr(HashTable *ht, zend_ulong h, void *pDat… in zend_hash_index_add_new_ptr() argument
637 zv = zend_hash_index_add_new(ht, h, &tmp); in zend_hash_index_add_new_ptr()
641 static zend_always_inline void *zend_hash_index_update_ptr(HashTable *ht, zend_ulong h, void *pData) in zend_hash_index_update_ptr() argument
646 zv = zend_hash_index_update(ht, h, &tmp); in zend_hash_index_update_ptr()
655 static zend_always_inline void *zend_hash_index_add_mem(HashTable *ht, zend_ulong h, void *pData, s… in zend_hash_index_add_mem() argument
660 if ((zv = zend_hash_index_add(ht, h, &tmp))) { in zend_hash_index_add_mem()
661 Z_PTR_P(zv) = pemalloc(size, ht->u.flags & HASH_FLAG_PERSISTENT); in zend_hash_index_add_mem()
668 static zend_always_inline void *zend_hash_next_index_insert_ptr(HashTable *ht, void *pData) in zend_hash_next_index_insert_ptr() argument
673 zv = zend_hash_next_index_insert(ht, &tmp); in zend_hash_next_index_insert_ptr()
682 static zend_always_inline void *zend_hash_index_update_mem(HashTable *ht, zend_ulong h, void *pData… in zend_hash_index_update_mem() argument
686 p = pemalloc(size, ht->u.flags & HASH_FLAG_PERSISTENT); in zend_hash_index_update_mem()
688 return zend_hash_index_update_ptr(ht, h, p); in zend_hash_index_update_mem()
691 static zend_always_inline void *zend_hash_next_index_insert_mem(HashTable *ht, void *pData, size_t … in zend_hash_next_index_insert_mem() argument
696 if ((zv = zend_hash_next_index_insert(ht, &tmp))) { in zend_hash_next_index_insert_mem()
697 Z_PTR_P(zv) = pemalloc(size, ht->u.flags & HASH_FLAG_PERSISTENT); in zend_hash_next_index_insert_mem()
704 static zend_always_inline void *zend_hash_find_ptr(const HashTable *ht, zend_string *key) in zend_hash_find_ptr() argument
708 zv = zend_hash_find(ht, key); in zend_hash_find_ptr()
717 static zend_always_inline void *zend_hash_str_find_ptr(const HashTable *ht, const char *str, size_t… in zend_hash_str_find_ptr() argument
721 zv = zend_hash_str_find(ht, str, len); in zend_hash_str_find_ptr()
730 static zend_always_inline void *zend_hash_index_find_ptr(const HashTable *ht, zend_ulong h) in zend_hash_index_find_ptr() argument
734 zv = zend_hash_index_find(ht, h); in zend_hash_index_find_ptr()
743 static zend_always_inline void *zend_symtable_str_find_ptr(HashTable *ht, const char *str, size_t l… in zend_symtable_str_find_ptr() argument
748 return zend_hash_index_find_ptr(ht, idx); in zend_symtable_str_find_ptr()
750 return zend_hash_str_find_ptr(ht, str, len); in zend_symtable_str_find_ptr()
754 static zend_always_inline void *zend_hash_get_current_data_ptr_ex(HashTable *ht, HashPosition *pos) in zend_hash_get_current_data_ptr_ex() argument
758 zv = zend_hash_get_current_data_ex(ht, pos); in zend_hash_get_current_data_ptr_ex()
767 #define zend_hash_get_current_data_ptr(ht) \ argument
768 zend_hash_get_current_data_ptr_ex(ht, &(ht)->nInternalPointer)
794 #define ZEND_HASH_FOREACH_BUCKET(ht, _bucket) \ argument
795 ZEND_HASH_FOREACH(ht, 0); \
798 #define ZEND_HASH_FOREACH_VAL(ht, _val) \ argument
799 ZEND_HASH_FOREACH(ht, 0); \
802 #define ZEND_HASH_FOREACH_VAL_IND(ht, _val) \ argument
803 ZEND_HASH_FOREACH(ht, 1); \
806 #define ZEND_HASH_FOREACH_PTR(ht, _ptr) \ argument
807 ZEND_HASH_FOREACH(ht, 0); \
810 #define ZEND_HASH_FOREACH_NUM_KEY(ht, _h) \ argument
811 ZEND_HASH_FOREACH(ht, 0); \
814 #define ZEND_HASH_FOREACH_STR_KEY(ht, _key) \ argument
815 ZEND_HASH_FOREACH(ht, 0); \
818 #define ZEND_HASH_FOREACH_KEY(ht, _h, _key) \ argument
819 ZEND_HASH_FOREACH(ht, 0); \
823 #define ZEND_HASH_FOREACH_NUM_KEY_VAL(ht, _h, _val) \ argument
824 ZEND_HASH_FOREACH(ht, 0); \
828 #define ZEND_HASH_FOREACH_STR_KEY_VAL(ht, _key, _val) \ argument
829 ZEND_HASH_FOREACH(ht, 0); \
833 #define ZEND_HASH_FOREACH_KEY_VAL(ht, _h, _key, _val) \ argument
834 ZEND_HASH_FOREACH(ht, 0); \
839 #define ZEND_HASH_FOREACH_STR_KEY_VAL_IND(ht, _key, _val) \ argument
840 ZEND_HASH_FOREACH(ht, 1); \
844 #define ZEND_HASH_FOREACH_KEY_VAL_IND(ht, _h, _key, _val) \ argument
845 ZEND_HASH_FOREACH(ht, 1); \
850 #define ZEND_HASH_FOREACH_NUM_KEY_PTR(ht, _h, _ptr) \ argument
851 ZEND_HASH_FOREACH(ht, 0); \
855 #define ZEND_HASH_FOREACH_STR_KEY_PTR(ht, _key, _ptr) \ argument
856 ZEND_HASH_FOREACH(ht, 0); \
860 #define ZEND_HASH_FOREACH_KEY_PTR(ht, _h, _key, _ptr) \ argument
861 ZEND_HASH_FOREACH(ht, 0); \
866 #define ZEND_HASH_REVERSE_FOREACH_BUCKET(ht, _bucket) \ argument
867 ZEND_HASH_REVERSE_FOREACH(ht, 0); \
870 #define ZEND_HASH_REVERSE_FOREACH_VAL(ht, _val) \ argument
871 ZEND_HASH_REVERSE_FOREACH(ht, 0); \
874 #define ZEND_HASH_REVERSE_FOREACH_PTR(ht, _ptr) \ argument
875 ZEND_HASH_REVERSE_FOREACH(ht, 0); \
878 #define ZEND_HASH_REVERSE_FOREACH_VAL_IND(ht, _val) \ argument
879 ZEND_HASH_REVERSE_FOREACH(ht, 1); \
882 #define ZEND_HASH_REVERSE_FOREACH_KEY_VAL(ht, _h, _key, _val) \ argument
883 ZEND_HASH_REVERSE_FOREACH(ht, 0); \
888 #define ZEND_HASH_REVERSE_FOREACH_KEY_VAL_IND(ht, _h, _key, _val) \ argument
889 ZEND_HASH_REVERSE_FOREACH(ht, 1); \
894 #define ZEND_HASH_APPLY_PROTECTION(ht) \ argument
895 ((ht)->u.flags & HASH_FLAG_APPLY_PROTECTION)
899 #define ZEND_HASH_GET_APPLY_COUNT(ht) (((ht)->u.flags & ZEND_HASH_APPLY_COUNT_MASK) >> ZEND_HASH_AP… argument
900 #define ZEND_HASH_INC_APPLY_COUNT(ht) ((ht)->u.flags += (1 << ZEND_HASH_APPLY_SHIFT)) argument
901 #define ZEND_HASH_DEC_APPLY_COUNT(ht) ((ht)->u.flags -= (1 << ZEND_HASH_APPLY_SHIFT)) argument
909 #define ZEND_HASH_FILL_PACKED(ht) do { \ argument
910 HashTable *__fill_ht = (ht); \
930 static zend_always_inline zval *_zend_hash_append(HashTable *ht, zend_string *key, zval *zv) in _zend_hash_append() argument
932 uint32_t idx = ht->nNumUsed++; in _zend_hash_append()
934 Bucket *p = ht->arData + idx; in _zend_hash_append()
938 ht->u.flags &= ~HASH_FLAG_STATIC_KEYS; in _zend_hash_append()
944 nIndex = (uint32_t)p->h | ht->nTableMask; in _zend_hash_append()
945 Z_NEXT(p->val) = HT_HASH(ht, nIndex); in _zend_hash_append()
946 HT_HASH(ht, nIndex) = HT_IDX_TO_HASH(idx); in _zend_hash_append()
947 ht->nNumUsed = idx + 1; in _zend_hash_append()
948 ht->nNumOfElements++; in _zend_hash_append()
952 static zend_always_inline zval *_zend_hash_append_ptr(HashTable *ht, zend_string *key, void *ptr) in _zend_hash_append_ptr() argument
954 uint32_t idx = ht->nNumUsed++; in _zend_hash_append_ptr()
956 Bucket *p = ht->arData + idx; in _zend_hash_append_ptr()
960 ht->u.flags &= ~HASH_FLAG_STATIC_KEYS; in _zend_hash_append_ptr()
966 nIndex = (uint32_t)p->h | ht->nTableMask; in _zend_hash_append_ptr()
967 Z_NEXT(p->val) = HT_HASH(ht, nIndex); in _zend_hash_append_ptr()
968 HT_HASH(ht, nIndex) = HT_IDX_TO_HASH(idx); in _zend_hash_append_ptr()
969 ht->nNumUsed = idx + 1; in _zend_hash_append_ptr()
970 ht->nNumOfElements++; in _zend_hash_append_ptr()
974 static zend_always_inline void _zend_hash_append_ind(HashTable *ht, zend_string *key, zval *ptr) in _zend_hash_append_ind() argument
976 uint32_t idx = ht->nNumUsed++; in _zend_hash_append_ind()
978 Bucket *p = ht->arData + idx; in _zend_hash_append_ind()
982 ht->u.flags &= ~HASH_FLAG_STATIC_KEYS; in _zend_hash_append_ind()
988 nIndex = (uint32_t)p->h | ht->nTableMask; in _zend_hash_append_ind()
989 Z_NEXT(p->val) = HT_HASH(ht, nIndex); in _zend_hash_append_ind()
990 HT_HASH(ht, nIndex) = HT_IDX_TO_HASH(idx); in _zend_hash_append_ind()
991 ht->nNumUsed = idx + 1; in _zend_hash_append_ind()
992 ht->nNumOfElements++; in _zend_hash_append_ind()