Lines Matching refs:s

59 #define IS_INTERNED(s)	ZSTR_IS_INTERNED(s)  in END_EXTERN_C()  argument
63 #define STR_ALLOCA_INIT(str, s, len, use_heap) ZSTR_ALLOCA_INIT(str, s, len, use_heap) in END_EXTERN_C() argument
68 #define ZSTR_IS_INTERNED(s) (GC_FLAGS(s) & IS_STR_INTERNED) in END_EXTERN_C() argument
89 #define ZSTR_ALLOCA_INIT(str, s, len, use_heap) do { \ argument
91 memcpy(ZSTR_VAL(str), (s), (len)); \
99 static zend_always_inline zend_ulong zend_string_hash_val(zend_string *s)
101 return ZSTR_H(s) ? ZSTR_H(s) : zend_string_hash_func(s);
104 static zend_always_inline void zend_string_forget_hash_val(zend_string *s) in zend_string_forget_hash_val() argument
106 ZSTR_H(s) = 0; in zend_string_forget_hash_val()
107 GC_DEL_FLAGS(s, IS_STR_VALID_UTF8); in zend_string_forget_hash_val()
110 static zend_always_inline uint32_t zend_string_refcount(const zend_string *s) in zend_string_refcount() argument
112 if (!ZSTR_IS_INTERNED(s)) { in zend_string_refcount()
113 return GC_REFCOUNT(s); in zend_string_refcount()
118 static zend_always_inline uint32_t zend_string_addref(zend_string *s) in zend_string_addref() argument
120 if (!ZSTR_IS_INTERNED(s)) { in zend_string_addref()
121 return GC_ADDREF(s); in zend_string_addref()
126 static zend_always_inline uint32_t zend_string_delref(zend_string *s) in zend_string_delref() argument
128 if (!ZSTR_IS_INTERNED(s)) { in zend_string_delref()
129 return GC_DELREF(s); in zend_string_delref()
165 static zend_always_inline zend_string *zend_string_copy(zend_string *s) in zend_string_copy() argument
167 if (!ZSTR_IS_INTERNED(s)) { in zend_string_copy()
168 GC_ADDREF(s); in zend_string_copy()
170 return s; in zend_string_copy()
173 static zend_always_inline zend_string *zend_string_dup(zend_string *s, int persistent) in zend_string_dup() argument
175 if (ZSTR_IS_INTERNED(s)) { in zend_string_dup()
176 return s; in zend_string_dup()
178 return zend_string_init(ZSTR_VAL(s), ZSTR_LEN(s), persistent); in zend_string_dup()
182 static zend_always_inline zend_string *zend_string_realloc(zend_string *s, size_t len, int persiste… in zend_string_realloc() argument
186 if (!ZSTR_IS_INTERNED(s)) { in zend_string_realloc()
187 if (EXPECTED(GC_REFCOUNT(s) == 1)) { in zend_string_realloc()
188 ret = (zend_string *)perealloc(s, ZEND_MM_ALIGNED_SIZE(_ZSTR_STRUCT_SIZE(len)), persistent); in zend_string_realloc()
195 memcpy(ZSTR_VAL(ret), ZSTR_VAL(s), MIN(len, ZSTR_LEN(s)) + 1); in zend_string_realloc()
196 if (!ZSTR_IS_INTERNED(s)) { in zend_string_realloc()
197 GC_DELREF(s); in zend_string_realloc()
202 static zend_always_inline zend_string *zend_string_extend(zend_string *s, size_t len, int persisten… in zend_string_extend() argument
206 ZEND_ASSERT(len >= ZSTR_LEN(s)); in zend_string_extend()
207 if (!ZSTR_IS_INTERNED(s)) { in zend_string_extend()
208 if (EXPECTED(GC_REFCOUNT(s) == 1)) { in zend_string_extend()
209 ret = (zend_string *)perealloc(s, ZEND_MM_ALIGNED_SIZE(_ZSTR_STRUCT_SIZE(len)), persistent); in zend_string_extend()
216 memcpy(ZSTR_VAL(ret), ZSTR_VAL(s), ZSTR_LEN(s) + 1); in zend_string_extend()
217 if (!ZSTR_IS_INTERNED(s)) { in zend_string_extend()
218 GC_DELREF(s); in zend_string_extend()
223 static zend_always_inline zend_string *zend_string_truncate(zend_string *s, size_t len, int persist… in zend_string_truncate() argument
227 ZEND_ASSERT(len <= ZSTR_LEN(s)); in zend_string_truncate()
228 if (!ZSTR_IS_INTERNED(s)) { in zend_string_truncate()
229 if (EXPECTED(GC_REFCOUNT(s) == 1)) { in zend_string_truncate()
230 ret = (zend_string *)perealloc(s, ZEND_MM_ALIGNED_SIZE(_ZSTR_STRUCT_SIZE(len)), persistent); in zend_string_truncate()
237 memcpy(ZSTR_VAL(ret), ZSTR_VAL(s), len + 1); in zend_string_truncate()
238 if (!ZSTR_IS_INTERNED(s)) { in zend_string_truncate()
239 GC_DELREF(s); in zend_string_truncate()
244 static zend_always_inline zend_string *zend_string_safe_realloc(zend_string *s, size_t n, size_t m,… in zend_string_safe_realloc() argument
248 if (!ZSTR_IS_INTERNED(s)) { in zend_string_safe_realloc()
249 if (GC_REFCOUNT(s) == 1) { in zend_string_safe_realloc()
250 …ret = (zend_string *)safe_perealloc(s, n, m, ZEND_MM_ALIGNED_SIZE(_ZSTR_STRUCT_SIZE(l)), persisten… in zend_string_safe_realloc()
257 memcpy(ZSTR_VAL(ret), ZSTR_VAL(s), MIN((n * m) + l, ZSTR_LEN(s)) + 1); in zend_string_safe_realloc()
258 if (!ZSTR_IS_INTERNED(s)) { in zend_string_safe_realloc()
259 GC_DELREF(s); in zend_string_safe_realloc()
264 static zend_always_inline void zend_string_free(zend_string *s) in zend_string_free() argument
266 if (!ZSTR_IS_INTERNED(s)) { in zend_string_free()
267 ZEND_ASSERT(GC_REFCOUNT(s) <= 1); in zend_string_free()
268 pefree(s, GC_FLAGS(s) & IS_STR_PERSISTENT); in zend_string_free()
272 static zend_always_inline void zend_string_efree(zend_string *s) in zend_string_efree() argument
274 ZEND_ASSERT(!ZSTR_IS_INTERNED(s)); in zend_string_efree()
275 ZEND_ASSERT(GC_REFCOUNT(s) <= 1); in zend_string_efree()
276 ZEND_ASSERT(!(GC_FLAGS(s) & IS_STR_PERSISTENT)); in zend_string_efree()
277 efree(s); in zend_string_efree()
280 static zend_always_inline void zend_string_release(zend_string *s) in zend_string_release() argument
282 if (!ZSTR_IS_INTERNED(s)) { in zend_string_release()
283 if (GC_DELREF(s) == 0) { in zend_string_release()
284 pefree(s, GC_FLAGS(s) & IS_STR_PERSISTENT); in zend_string_release()
289 static zend_always_inline void zend_string_release_ex(zend_string *s, int persistent) in zend_string_release_ex() argument
291 if (!ZSTR_IS_INTERNED(s)) { in zend_string_release_ex()
292 if (GC_DELREF(s) == 0) { in zend_string_release_ex()
294 ZEND_ASSERT(GC_FLAGS(s) & IS_STR_PERSISTENT); in zend_string_release_ex()
295 free(s); in zend_string_release_ex()
297 ZEND_ASSERT(!(GC_FLAGS(s) & IS_STR_PERSISTENT)); in zend_string_release_ex()
298 efree(s); in zend_string_release_ex()