Home | History | Annotate | Download | only in src

Lines Matching full:shapers

39 /* Thread-safe, lock-free, shapers */
54 hb_shaper_pair_t *shapers = (hb_shaper_pair_t *) hb_atomic_ptr_get (&static_shapers);
56 if (unlikely (!shapers))
65 shapers = (hb_shaper_pair_t *) malloc (sizeof (all_shapers));
66 if (unlikely (!shapers)) {
71 memcpy (shapers, all_shapers, sizeof (all_shapers));
73 /* Reorder shaper list to prefer requested shapers. */
82 if (end - p == (int) strlen (shapers[j].name) &&
83 0 == strncmp (shapers[j].name, p, end - p))
86 struct hb_shaper_pair_t t = shapers[j];
87 memmove (&shapers[i + 1], &shapers[i], sizeof (shapers[i]) * (j - i));
88 shapers[i] = t;
98 if (!hb_atomic_ptr_cmpexch (&static_shapers, NULL, shapers)) {
99 free (shapers);
108 return shapers;