Home | History | Annotate | Download | only in src

Lines Matching refs:shapers

39 /* Thread-safe, lock-free, shapers */
56 hb_shaper_pair_t *shapers = (hb_shaper_pair_t *) hb_atomic_ptr_get (&static_shapers);
58 if (unlikely (!shapers))
67 shapers = (hb_shaper_pair_t *) calloc (1, sizeof (all_shapers));
68 if (unlikely (!shapers)) {
73 memcpy (shapers, all_shapers, sizeof (all_shapers));
75 /* Reorder shaper list to prefer requested shapers. */
84 if (end - p == (int) strlen (shapers[j].name) &&
85 0 == strncmp (shapers[j].name, p, end - p))
88 struct hb_shaper_pair_t t = shapers[j];
89 memmove (&shapers[i + 1], &shapers[i], sizeof (shapers[i]) * (j - i));
90 shapers[i] = t;
100 if (!hb_atomic_ptr_cmpexch (&static_shapers, NULL, shapers)) {
101 free (shapers);
110 return shapers;