Lines Matching refs:str

34 static zend_string* ZEND_FASTCALL zend_new_interned_string_permanent(zend_string *str);
35 static zend_string* ZEND_FASTCALL zend_new_interned_string_request(zend_string *str);
36 static zend_string* ZEND_FASTCALL zend_string_init_interned_permanent(const char *str, size_t size,…
37 static zend_string* ZEND_FASTCALL zend_string_init_existing_interned_permanent(const char *str, siz…
38 static zend_string* ZEND_FASTCALL zend_string_init_interned_request(const char *str, size_t size, b…
39 static zend_string* ZEND_FASTCALL zend_string_init_existing_interned_request(const char *str, size_…
55 ZEND_API zend_ulong ZEND_FASTCALL zend_string_hash_func(zend_string *str) in zend_string_hash_func() argument
57 return ZSTR_H(str) = zend_hash_func(ZSTR_VAL(str), ZSTR_LEN(str)); in zend_string_hash_func()
60 ZEND_API zend_ulong ZEND_FASTCALL zend_hash_func(const char *str, size_t len) in zend_hash_func() argument
62 return zend_inline_hash_func(str, len); in zend_hash_func()
67 zend_string *str = Z_STR_P(zv); in _str_dtor() local
68 pefree(str, GC_FLAGS(str) & IS_STR_PERSISTENT); in _str_dtor()
72 #define _ZEND_STR_DSC(id, str) str, argument
90 zend_string *str; in zend_interned_strings_init() local
106 str = zend_string_alloc(sizeof("")-1, 1); in zend_interned_strings_init()
107 ZSTR_VAL(str)[0] = '\000'; in zend_interned_strings_init() local
108 zend_empty_string = zend_new_interned_string_permanent(str); in zend_interned_strings_init()
123 str = zend_string_init(known_strings[i], strlen(known_strings[i]), 1); in zend_interned_strings_init()
124 zend_known_strings[i] = zend_new_interned_string_permanent(str); in zend_interned_strings_init()
137 …e zend_string *zend_interned_string_ht_lookup_ex(zend_ulong h, const char *str, size_t size, HashT… in zend_interned_string_ht_lookup_ex() argument
147 if ((p->h == h) && zend_string_equals_cstr(p->key, str, size)) { in zend_interned_string_ht_lookup_ex()
156 static zend_always_inline zend_string *zend_interned_string_ht_lookup(zend_string *str, HashTable *… in zend_interned_string_ht_lookup() argument
158 zend_ulong h = ZSTR_H(str); in zend_interned_string_ht_lookup()
167 if ((p->h == h) && zend_string_equal_content(p->key, str)) { in zend_interned_string_ht_lookup()
178 static zend_always_inline zend_string *zend_add_interned_string(zend_string *str, HashTable *intern… in zend_add_interned_string() argument
182 GC_SET_REFCOUNT(str, 1); in zend_add_interned_string()
183 GC_ADD_FLAGS(str, IS_STR_INTERNED | flags); in zend_add_interned_string()
185 ZVAL_INTERNED_STR(&val, str); in zend_add_interned_string()
187 zend_hash_add_new(interned_strings, str, &val); in zend_add_interned_string()
189 return str; in zend_add_interned_string()
192 ZEND_API zend_string* ZEND_FASTCALL zend_interned_string_find_permanent(zend_string *str) in zend_interned_string_find_permanent() argument
194 zend_string_hash_val(str); in zend_interned_string_find_permanent()
195 return zend_interned_string_ht_lookup(str, &interned_strings_permanent); in zend_interned_string_find_permanent()
198 static zend_string* ZEND_FASTCALL zend_init_string_for_interning(zend_string *str, bool persistent) in zend_init_string_for_interning() argument
200 uint32_t flags = ZSTR_GET_COPYABLE_CONCAT_PROPERTIES(str); in zend_init_string_for_interning()
201 zend_ulong h = ZSTR_H(str); in zend_init_string_for_interning()
202 zend_string_delref(str); in zend_init_string_for_interning()
203 str = zend_string_init(ZSTR_VAL(str), ZSTR_LEN(str), persistent); in zend_init_string_for_interning()
204 GC_ADD_FLAGS(str, flags); in zend_init_string_for_interning()
205 ZSTR_H(str) = h; in zend_init_string_for_interning()
206 return str; in zend_init_string_for_interning()
209 static zend_string* ZEND_FASTCALL zend_new_interned_string_permanent(zend_string *str) in zend_new_interned_string_permanent() argument
213 if (ZSTR_IS_INTERNED(str)) { in zend_new_interned_string_permanent()
214 return str; in zend_new_interned_string_permanent()
217 zend_string_hash_val(str); in zend_new_interned_string_permanent()
218 ret = zend_interned_string_ht_lookup(str, &interned_strings_permanent); in zend_new_interned_string_permanent()
220 zend_string_release(str); in zend_new_interned_string_permanent()
224 ZEND_ASSERT(GC_FLAGS(str) & GC_PERSISTENT); in zend_new_interned_string_permanent()
225 if (GC_REFCOUNT(str) > 1) { in zend_new_interned_string_permanent()
226 str = zend_init_string_for_interning(str, true); in zend_new_interned_string_permanent()
229 return zend_add_interned_string(str, &interned_strings_permanent, IS_STR_PERMANENT); in zend_new_interned_string_permanent()
232 static zend_string* ZEND_FASTCALL zend_new_interned_string_request(zend_string *str) in zend_new_interned_string_request() argument
236 if (ZSTR_IS_INTERNED(str)) { in zend_new_interned_string_request()
237 return str; in zend_new_interned_string_request()
240 zend_string_hash_val(str); in zend_new_interned_string_request()
243 ret = zend_interned_string_ht_lookup(str, &interned_strings_permanent); in zend_new_interned_string_request()
245 zend_string_release(str); in zend_new_interned_string_request()
249 ret = zend_interned_string_ht_lookup(str, &CG(interned_strings)); in zend_new_interned_string_request()
251 zend_string_release(str); in zend_new_interned_string_request()
260 ZEND_ASSERT(!(GC_FLAGS(str) & GC_PERSISTENT)); in zend_new_interned_string_request()
263 if (GC_REFCOUNT(str) > 1) { in zend_new_interned_string_request()
264 str = zend_init_string_for_interning(str, false); in zend_new_interned_string_request()
267 ret = zend_add_interned_string(str, &CG(interned_strings), 0); in zend_new_interned_string_request()
272 static zend_string* ZEND_FASTCALL zend_string_init_interned_permanent(const char *str, size_t size,… in zend_string_init_interned_permanent() argument
275 zend_ulong h = zend_inline_hash_func(str, size); in zend_string_init_interned_permanent()
277 ret = zend_interned_string_ht_lookup_ex(h, str, size, &interned_strings_permanent); in zend_string_init_interned_permanent()
283 ret = zend_string_init(str, size, permanent); in zend_string_init_interned_permanent()
288 static zend_string* ZEND_FASTCALL zend_string_init_existing_interned_permanent(const char *str, siz… in zend_string_init_existing_interned_permanent() argument
290 zend_ulong h = zend_inline_hash_func(str, size); in zend_string_init_existing_interned_permanent()
291 zend_string *ret = zend_interned_string_ht_lookup_ex(h, str, size, &interned_strings_permanent); in zend_string_init_existing_interned_permanent()
297 ret = zend_string_init(str, size, permanent); in zend_string_init_existing_interned_permanent()
302 static zend_string* ZEND_FASTCALL zend_string_init_interned_request(const char *str, size_t size, b… in zend_string_init_interned_request() argument
305 zend_ulong h = zend_inline_hash_func(str, size); in zend_string_init_interned_request()
308 ret = zend_interned_string_ht_lookup_ex(h, str, size, &interned_strings_permanent); in zend_string_init_interned_request()
313 ret = zend_interned_string_ht_lookup_ex(h, str, size, &CG(interned_strings)); in zend_string_init_interned_request()
325 ret = zend_string_init(str, size, permanent); in zend_string_init_interned_request()
332 static zend_string* ZEND_FASTCALL zend_string_init_existing_interned_request(const char *str, size_… in zend_string_init_existing_interned_request() argument
334 zend_ulong h = zend_inline_hash_func(str, size); in zend_string_init_existing_interned_request()
335 zend_string *ret = zend_interned_string_ht_lookup_ex(h, str, size, &interned_strings_permanent); in zend_string_init_existing_interned_request()
340 ret = zend_interned_string_ht_lookup_ex(h, str, size, &CG(interned_strings)); in zend_string_init_existing_interned_request()
346 ret = zend_string_init(str, size, permanent); in zend_string_init_existing_interned_request()