/src/harfbuzz/src/hb-object.hh
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright © 2007 Chris Wilson |
3 | | * Copyright © 2009,2010 Red Hat, Inc. |
4 | | * Copyright © 2011,2012 Google, Inc. |
5 | | * |
6 | | * This is part of HarfBuzz, a text shaping library. |
7 | | * |
8 | | * Permission is hereby granted, without written agreement and without |
9 | | * license or royalty fees, to use, copy, modify, and distribute this |
10 | | * software and its documentation for any purpose, provided that the |
11 | | * above copyright notice and the following two paragraphs appear in |
12 | | * all copies of this software. |
13 | | * |
14 | | * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR |
15 | | * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES |
16 | | * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN |
17 | | * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH |
18 | | * DAMAGE. |
19 | | * |
20 | | * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, |
21 | | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND |
22 | | * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS |
23 | | * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO |
24 | | * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
25 | | * |
26 | | * Contributor(s): |
27 | | * Chris Wilson <chris@chris-wilson.co.uk> |
28 | | * Red Hat Author(s): Behdad Esfahbod |
29 | | * Google Author(s): Behdad Esfahbod |
30 | | */ |
31 | | |
32 | | #ifndef HB_OBJECT_HH |
33 | | #define HB_OBJECT_HH |
34 | | |
35 | | #include "hb.hh" |
36 | | #include "hb-atomic.hh" |
37 | | #include "hb-mutex.hh" |
38 | | #include "hb-vector.hh" |
39 | | |
40 | | |
41 | | /* |
42 | | * Lockable set |
43 | | */ |
44 | | |
45 | | template <typename item_t, typename lock_t> |
46 | | struct hb_lockable_set_t |
47 | | { |
48 | | hb_vector_t<item_t> items; |
49 | | |
50 | 0 | void init () { items.init (); } |
51 | | |
52 | | template <typename T> |
53 | | item_t *replace_or_insert (T v, lock_t &l, bool replace) |
54 | 0 | { |
55 | 0 | l.lock (); |
56 | 0 | item_t *item = items.lsearch (v); |
57 | 0 | if (item) { |
58 | 0 | if (replace) { |
59 | 0 | item_t old = *item; |
60 | 0 | *item = v; |
61 | 0 | l.unlock (); |
62 | 0 | old.fini (); |
63 | 0 | } |
64 | 0 | else { |
65 | 0 | item = nullptr; |
66 | 0 | l.unlock (); |
67 | 0 | } |
68 | 0 | } else { |
69 | 0 | item = items.push (v); |
70 | 0 | l.unlock (); |
71 | 0 | } |
72 | 0 | return items.in_error () ? nullptr : item; |
73 | 0 | } |
74 | | |
75 | | template <typename T> |
76 | | void remove (T v, lock_t &l) |
77 | 0 | { |
78 | 0 | l.lock (); |
79 | 0 | item_t *item = items.lsearch (v); |
80 | 0 | if (item) |
81 | 0 | { |
82 | 0 | item_t old = *item; |
83 | 0 | *item = std::move (items.tail ()); |
84 | 0 | items.pop (); |
85 | 0 | l.unlock (); |
86 | 0 | old.fini (); |
87 | 0 | } else { |
88 | 0 | l.unlock (); |
89 | 0 | } |
90 | 0 | } |
91 | | |
92 | | template <typename T> |
93 | | bool find (T v, item_t *i, lock_t &l) |
94 | 0 | { |
95 | 0 | l.lock (); |
96 | 0 | item_t *item = items.lsearch (v); |
97 | 0 | if (item) |
98 | 0 | *i = *item; |
99 | 0 | l.unlock (); |
100 | 0 | return !!item; |
101 | 0 | } |
102 | | |
103 | | template <typename T> |
104 | | item_t *find_or_insert (T v, lock_t &l) |
105 | | { |
106 | | l.lock (); |
107 | | item_t *item = items.find (v); |
108 | | if (!item) { |
109 | | item = items.push (v); |
110 | | } |
111 | | l.unlock (); |
112 | | return item; |
113 | | } |
114 | | |
115 | | void fini (lock_t &l) |
116 | 0 | { |
117 | 0 | if (!items.length) |
118 | 0 | { |
119 | | /* No need to lock. */ |
120 | 0 | items.fini (); |
121 | 0 | return; |
122 | 0 | } |
123 | 0 | l.lock (); |
124 | 0 | while (items.length) |
125 | 0 | { |
126 | 0 | item_t old = items.tail (); |
127 | 0 | items.pop (); |
128 | 0 | l.unlock (); |
129 | 0 | old.fini (); |
130 | 0 | l.lock (); |
131 | 0 | } |
132 | 0 | items.fini (); |
133 | 0 | l.unlock (); |
134 | 0 | } |
135 | | |
136 | | }; |
137 | | |
138 | | |
139 | | /* |
140 | | * Reference-count. |
141 | | */ |
142 | | |
143 | | struct hb_reference_count_t |
144 | | { |
145 | | mutable hb_atomic_t<int> ref_count; |
146 | | |
147 | 189k | void init (int v = 1) { ref_count = v; } |
148 | 5.56M | int get_relaxed () const { return ref_count; } |
149 | 297k | int inc () const { return ref_count.inc (); } |
150 | 465k | int dec () const { return ref_count.dec (); } |
151 | 189k | void fini () { ref_count = -0x0000DEAD; } |
152 | | |
153 | 0 | bool is_inert () const { return !ref_count; } |
154 | 763k | bool is_valid () const { return ref_count > 0; } |
155 | | }; |
156 | | |
157 | | |
158 | | /* user_data */ |
159 | | |
160 | | struct hb_user_data_array_t |
161 | | { |
162 | | struct hb_user_data_item_t { |
163 | | hb_user_data_key_t *key; |
164 | | void *data; |
165 | | hb_destroy_func_t destroy; |
166 | | |
167 | 0 | bool operator == (const hb_user_data_key_t *other_key) const { return key == other_key; } |
168 | 0 | bool operator == (const hb_user_data_item_t &other) const { return key == other.key; } |
169 | | |
170 | 0 | void fini () { if (destroy) destroy (data); } |
171 | | }; |
172 | | |
173 | | hb_mutex_t lock; |
174 | | hb_lockable_set_t<hb_user_data_item_t, hb_mutex_t> items; |
175 | | |
176 | 0 | void init () { lock.init (); items.init (); } |
177 | | |
178 | 0 | void fini () { items.fini (lock); lock.fini (); } |
179 | | |
180 | | bool set (hb_user_data_key_t *key, |
181 | | void * data, |
182 | | hb_destroy_func_t destroy, |
183 | | hb_bool_t replace) |
184 | 0 | { |
185 | 0 | if (!key) |
186 | 0 | return false; |
187 | | |
188 | 0 | if (replace) { |
189 | 0 | if (!data && !destroy) { |
190 | 0 | items.remove (key, lock); |
191 | 0 | return true; |
192 | 0 | } |
193 | 0 | } |
194 | 0 | hb_user_data_item_t item = {key, data, destroy}; |
195 | 0 | bool ret = !!items.replace_or_insert (item, lock, (bool) replace); |
196 | |
|
197 | 0 | return ret; |
198 | 0 | } |
199 | | |
200 | | void *get (hb_user_data_key_t *key) |
201 | 0 | { |
202 | 0 | hb_user_data_item_t item = {nullptr, nullptr, nullptr}; |
203 | |
|
204 | 0 | return items.find (key, &item, lock) ? item.data : nullptr; |
205 | 0 | } |
206 | | }; |
207 | | |
208 | | |
209 | | /* |
210 | | * Object header |
211 | | */ |
212 | | |
213 | | struct hb_object_header_t |
214 | | { |
215 | | hb_reference_count_t ref_count; |
216 | | mutable hb_atomic_t<bool> writable = false; |
217 | | hb_atomic_t<hb_user_data_array_t *> user_data; |
218 | | |
219 | 2.69M | bool is_inert () const { return !ref_count.get_relaxed (); } |
220 | | }; |
221 | | #define HB_OBJECT_HEADER_STATIC {} |
222 | | |
223 | | |
224 | | /* |
225 | | * Object |
226 | | */ |
227 | | |
228 | | template <typename Type> |
229 | | static inline void hb_object_trace (const Type *obj, const char *function) |
230 | 2.93M | { |
231 | 2.93M | DEBUG_MSG (OBJECT, (void *) obj, |
232 | 2.93M | "%s refcount=%d", |
233 | 2.93M | function, |
234 | 2.93M | obj ? obj->header.ref_count.get_relaxed () : 0); |
235 | 2.93M | } hb-blob.cc:void hb_object_trace<hb_blob_t>(hb_blob_t const*, char const*) Line | Count | Source | 230 | 2.46M | { | 231 | 2.46M | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 2.46M | "%s refcount=%d", | 233 | 2.46M | function, | 234 | 2.46M | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 2.46M | } |
hb-draw.cc:void hb_object_trace<hb_draw_funcs_t>(hb_draw_funcs_t const*, char const*) Line | Count | Source | 230 | 42.3k | { | 231 | 42.3k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 42.3k | "%s refcount=%d", | 233 | 42.3k | function, | 234 | 42.3k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 42.3k | } |
hb-face.cc:void hb_object_trace<hb_face_t>(hb_face_t const*, char const*) Line | Count | Source | 230 | 84.9k | { | 231 | 84.9k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 84.9k | "%s refcount=%d", | 233 | 84.9k | function, | 234 | 84.9k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 84.9k | } |
hb-font.cc:void hb_object_trace<hb_font_t>(hb_font_t const*, char const*) Line | Count | Source | 230 | 233k | { | 231 | 233k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 233k | "%s refcount=%d", | 233 | 233k | function, | 234 | 233k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 233k | } |
hb-font.cc:void hb_object_trace<hb_font_funcs_t>(hb_font_funcs_t const*, char const*) Line | Count | Source | 230 | 63.5k | { | 231 | 63.5k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 63.5k | "%s refcount=%d", | 233 | 63.5k | function, | 234 | 63.5k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 63.5k | } |
hb-set.cc:void hb_object_trace<hb_set_t>(hb_set_t const*, char const*) Line | Count | Source | 230 | 42.3k | { | 231 | 42.3k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 42.3k | "%s refcount=%d", | 233 | 42.3k | function, | 234 | 42.3k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 42.3k | } |
Unexecuted instantiation: hb-shape-plan.cc:void hb_object_trace<hb_shape_plan_t>(hb_shape_plan_t const*, char const*) Unexecuted instantiation: hb-unicode.cc:void hb_object_trace<hb_unicode_funcs_t>(hb_unicode_funcs_t const*, char const*) Unexecuted instantiation: hb-buffer.cc:void hb_object_trace<hb_buffer_t>(hb_buffer_t const*, char const*) hb-paint.cc:void hb_object_trace<hb_paint_funcs_t>(hb_paint_funcs_t const*, char const*) Line | Count | Source | 230 | 4 | { | 231 | 4 | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 4 | "%s refcount=%d", | 233 | 4 | function, | 234 | 4 | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 4 | } |
|
236 | | |
237 | | template <typename Type, typename ...Ts> |
238 | | static inline Type *hb_object_create (Ts... ds) |
239 | 168k | { |
240 | 168k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); |
241 | | |
242 | 168k | if (unlikely (!obj)) |
243 | 804 | return obj; |
244 | | |
245 | 168k | new (obj) Type (std::forward<Ts> (ds)...); |
246 | | |
247 | 168k | hb_object_init (obj); |
248 | 168k | hb_object_trace (obj, HB_FUNC); |
249 | | |
250 | 168k | return obj; |
251 | 168k | } hb-blob.cc:hb_blob_t* hb_object_create<hb_blob_t>() Line | Count | Source | 239 | 83.8k | { | 240 | 83.8k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 83.8k | if (unlikely (!obj)) | 243 | 245 | return obj; | 244 | | | 245 | 83.5k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 83.5k | hb_object_init (obj); | 248 | 83.5k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 83.5k | return obj; | 251 | 83.8k | } |
hb-draw.cc:hb_draw_funcs_t* hb_object_create<hb_draw_funcs_t>() Line | Count | Source | 239 | 21.2k | { | 240 | 21.2k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 21.2k | if (unlikely (!obj)) | 243 | 258 | return obj; | 244 | | | 245 | 21.0k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 21.0k | hb_object_init (obj); | 248 | 21.0k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 21.0k | return obj; | 251 | 21.2k | } |
hb-face.cc:hb_face_t* hb_object_create<hb_face_t>() Line | Count | Source | 239 | 21.2k | { | 240 | 21.2k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 21.2k | if (unlikely (!obj)) | 243 | 7 | return obj; | 244 | | | 245 | 21.2k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 21.2k | hb_object_init (obj); | 248 | 21.2k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 21.2k | return obj; | 251 | 21.2k | } |
hb-font.cc:hb_font_t* hb_object_create<hb_font_t>() Line | Count | Source | 239 | 21.2k | { | 240 | 21.2k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 21.2k | if (unlikely (!obj)) | 243 | 68 | return obj; | 244 | | | 245 | 21.2k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 21.2k | hb_object_init (obj); | 248 | 21.2k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 21.2k | return obj; | 251 | 21.2k | } |
hb-font.cc:hb_font_funcs_t* hb_object_create<hb_font_funcs_t>() Line | Count | Source | 239 | 1 | { | 240 | 1 | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 1 | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 1 | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 1 | hb_object_init (obj); | 248 | 1 | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 1 | return obj; | 251 | 1 | } |
hb-set.cc:hb_set_t* hb_object_create<hb_set_t>() Line | Count | Source | 239 | 21.2k | { | 240 | 21.2k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 21.2k | if (unlikely (!obj)) | 243 | 226 | return obj; | 244 | | | 245 | 21.0k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 21.0k | hb_object_init (obj); | 248 | 21.0k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 21.0k | return obj; | 251 | 21.2k | } |
Unexecuted instantiation: hb-shape-plan.cc:hb_shape_plan_t* hb_object_create<hb_shape_plan_t>() Unexecuted instantiation: hb-unicode.cc:hb_unicode_funcs_t* hb_object_create<hb_unicode_funcs_t>() Unexecuted instantiation: hb-buffer.cc:hb_buffer_t* hb_object_create<hb_buffer_t>() hb-paint.cc:hb_paint_funcs_t* hb_object_create<hb_paint_funcs_t>() Line | Count | Source | 239 | 2 | { | 240 | 2 | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 2 | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 2 | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 2 | hb_object_init (obj); | 248 | 2 | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 2 | return obj; | 251 | 2 | } |
|
252 | | template <typename Type> |
253 | | static inline void hb_object_init (Type *obj) |
254 | 189k | { |
255 | 189k | obj->header.ref_count.init (); |
256 | 189k | obj->header.writable = true; |
257 | 189k | obj->header.user_data.init (); |
258 | 189k | } hb-blob.cc:void hb_object_init<hb_blob_t>(hb_blob_t*) Line | Count | Source | 254 | 83.5k | { | 255 | 83.5k | obj->header.ref_count.init (); | 256 | 83.5k | obj->header.writable = true; | 257 | 83.5k | obj->header.user_data.init (); | 258 | 83.5k | } |
Unexecuted instantiation: hb-common.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-common.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-common.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) hb-draw.cc:void hb_object_init<hb_draw_funcs_t>(hb_draw_funcs_t*) Line | Count | Source | 254 | 21.0k | { | 255 | 21.0k | obj->header.ref_count.init (); | 256 | 21.0k | obj->header.writable = true; | 257 | 21.0k | obj->header.user_data.init (); | 258 | 21.0k | } |
hb-face.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Line | Count | Source | 254 | 21.0k | { | 255 | 21.0k | obj->header.ref_count.init (); | 256 | 21.0k | obj->header.writable = true; | 257 | 21.0k | obj->header.user_data.init (); | 258 | 21.0k | } |
hb-face.cc:void hb_object_init<hb_face_t>(hb_face_t*) Line | Count | Source | 254 | 21.2k | { | 255 | 21.2k | obj->header.ref_count.init (); | 256 | 21.2k | obj->header.writable = true; | 257 | 21.2k | obj->header.user_data.init (); | 258 | 21.2k | } |
Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_init<hb_hashmap_t<unsigned int, face_table_info_t, false> >(hb_hashmap_t<unsigned int, face_table_info_t, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) hb-font.cc:void hb_object_init<hb_font_t>(hb_font_t*) Line | Count | Source | 254 | 21.2k | { | 255 | 21.2k | obj->header.ref_count.init (); | 256 | 21.2k | obj->header.writable = true; | 257 | 21.2k | obj->header.user_data.init (); | 258 | 21.2k | } |
hb-font.cc:void hb_object_init<hb_font_funcs_t>(hb_font_funcs_t*) Line | Count | Source | 254 | 1 | { | 255 | 1 | obj->header.ref_count.init (); | 256 | 1 | obj->header.writable = true; | 257 | 1 | obj->header.user_data.init (); | 258 | 1 | } |
Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<hb_ot_name_record_ids_t, unsigned int, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_ot_name_record_ids_t, unsigned int, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, unsigned int, false>*) Unexecuted instantiation: hb-ot-math.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-math.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-math.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-math.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-math.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-math.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-set.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) hb-set.cc:void hb_object_init<hb_set_t>(hb_set_t*) Line | Count | Source | 254 | 21.0k | { | 255 | 21.0k | obj->header.ref_count.init (); | 256 | 21.0k | obj->header.writable = true; | 257 | 21.0k | obj->header.user_data.init (); | 258 | 21.0k | } |
Unexecuted instantiation: hb-shape-plan.cc:void hb_object_init<hb_shape_plan_t>(hb_shape_plan_t*) Unexecuted instantiation: hb-unicode.cc:void hb_object_init<hb_unicode_funcs_t>(hb_unicode_funcs_t*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-buffer.cc:void hb_object_init<hb_buffer_t>(hb_buffer_t*) Unexecuted instantiation: hb-buffer.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-buffer.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-buffer.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-buffer.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-buffer.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) hb-paint.cc:void hb_object_init<hb_paint_funcs_t>(hb_paint_funcs_t*) Line | Count | Source | 254 | 2 | { | 255 | 2 | obj->header.ref_count.init (); | 256 | 2 | obj->header.writable = true; | 257 | 2 | obj->header.user_data.init (); | 258 | 2 | } |
Unexecuted instantiation: hb-ot-cff1-table.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-cff1-table.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-cff1-table.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-cff1-table.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-cff1-table.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-cff1-table.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-cff2-table.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-cff2-table.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-cff2-table.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-cff2-table.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-cff2-table.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-cff2-table.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) |
259 | | template <typename Type> |
260 | | static inline bool hb_object_is_valid (const Type *obj) |
261 | 763k | { |
262 | 763k | return likely (obj->header.ref_count.is_valid ()); |
263 | 763k | } hb-blob.cc:bool hb_object_is_valid<hb_blob_t>(hb_blob_t const*) Line | Count | Source | 261 | 424k | { | 262 | 424k | return likely (obj->header.ref_count.is_valid ()); | 263 | 424k | } |
hb-draw.cc:bool hb_object_is_valid<hb_draw_funcs_t>(hb_draw_funcs_t const*) Line | Count | Source | 261 | 21.0k | { | 262 | 21.0k | return likely (obj->header.ref_count.is_valid ()); | 263 | 21.0k | } |
hb-face.cc:bool hb_object_is_valid<hb_face_t>(hb_face_t const*) Line | Count | Source | 261 | 63.6k | { | 262 | 63.6k | return likely (obj->header.ref_count.is_valid ()); | 263 | 63.6k | } |
hb-font.cc:bool hb_object_is_valid<hb_font_funcs_t>(hb_font_funcs_t const*) Line | Count | Source | 261 | 42.3k | { | 262 | 42.3k | return likely (obj->header.ref_count.is_valid ()); | 263 | 42.3k | } |
hb-font.cc:bool hb_object_is_valid<hb_font_t>(hb_font_t const*) Line | Count | Source | 261 | 190k | { | 262 | 190k | return likely (obj->header.ref_count.is_valid ()); | 263 | 190k | } |
hb-set.cc:bool hb_object_is_valid<hb_set_t>(hb_set_t const*) Line | Count | Source | 261 | 21.0k | { | 262 | 21.0k | return likely (obj->header.ref_count.is_valid ()); | 263 | 21.0k | } |
Unexecuted instantiation: hb-shape-plan.cc:bool hb_object_is_valid<hb_shape_plan_t>(hb_shape_plan_t const*) Unexecuted instantiation: hb-shape-plan.cc:bool hb_object_is_valid<hb_face_t>(hb_face_t const*) Unexecuted instantiation: hb-unicode.cc:bool hb_object_is_valid<hb_unicode_funcs_t>(hb_unicode_funcs_t const*) Unexecuted instantiation: hb-buffer.cc:bool hb_object_is_valid<hb_buffer_t>(hb_buffer_t const*) hb-paint.cc:bool hb_object_is_valid<hb_paint_funcs_t>(hb_paint_funcs_t const*) Line | Count | Source | 261 | 2 | { | 262 | 2 | return likely (obj->header.ref_count.is_valid ()); | 263 | 2 | } |
|
264 | | template <typename Type> |
265 | | static inline bool hb_object_is_immutable (const Type *obj) |
266 | 386k | { |
267 | 386k | return !obj->header.writable; |
268 | 386k | } hb-blob.cc:bool hb_object_is_immutable<hb_blob_t>(hb_blob_t const*) Line | Count | Source | 266 | 152k | { | 267 | 152k | return !obj->header.writable; | 268 | 152k | } |
hb-draw.cc:bool hb_object_is_immutable<hb_draw_funcs_t>(hb_draw_funcs_t const*) Line | Count | Source | 266 | 106k | { | 267 | 106k | return !obj->header.writable; | 268 | 106k | } |
hb-face.cc:bool hb_object_is_immutable<hb_face_t>(hb_face_t const*) Line | Count | Source | 266 | 42.4k | { | 267 | 42.4k | return !obj->header.writable; | 268 | 42.4k | } |
hb-font.cc:bool hb_object_is_immutable<hb_font_funcs_t>(hb_font_funcs_t const*) Line | Count | Source | 266 | 14 | { | 267 | 14 | return !obj->header.writable; | 268 | 14 | } |
hb-font.cc:bool hb_object_is_immutable<hb_font_t>(hb_font_t const*) Line | Count | Source | 266 | 85.0k | { | 267 | 85.0k | return !obj->header.writable; | 268 | 85.0k | } |
Unexecuted instantiation: hb-shape-plan.cc:bool hb_object_is_immutable<hb_buffer_t>(hb_buffer_t const*) Unexecuted instantiation: hb-unicode.cc:bool hb_object_is_immutable<hb_unicode_funcs_t>(hb_unicode_funcs_t const*) Unexecuted instantiation: hb-buffer.cc:bool hb_object_is_immutable<hb_buffer_t>(hb_buffer_t const*) hb-paint.cc:bool hb_object_is_immutable<hb_paint_funcs_t>(hb_paint_funcs_t const*) Line | Count | Source | 266 | 24 | { | 267 | 24 | return !obj->header.writable; | 268 | 24 | } |
|
269 | | template <typename Type> |
270 | | static inline void hb_object_make_immutable (const Type *obj) |
271 | 94.6k | { |
272 | 94.6k | obj->header.writable = false; |
273 | 94.6k | } hb-blob.cc:void hb_object_make_immutable<hb_blob_t>(hb_blob_t const*) Line | Count | Source | 271 | 73.4k | { | 272 | 73.4k | obj->header.writable = false; | 273 | 73.4k | } |
hb-draw.cc:void hb_object_make_immutable<hb_draw_funcs_t>(hb_draw_funcs_t const*) Line | Count | Source | 271 | 2 | { | 272 | 2 | obj->header.writable = false; | 273 | 2 | } |
hb-face.cc:void hb_object_make_immutable<hb_face_t>(hb_face_t const*) Line | Count | Source | 271 | 21.2k | { | 272 | 21.2k | obj->header.writable = false; | 273 | 21.2k | } |
hb-font.cc:void hb_object_make_immutable<hb_font_funcs_t>(hb_font_funcs_t const*) Line | Count | Source | 271 | 1 | { | 272 | 1 | obj->header.writable = false; | 273 | 1 | } |
Unexecuted instantiation: hb-font.cc:void hb_object_make_immutable<hb_font_t>(hb_font_t const*) Unexecuted instantiation: hb-unicode.cc:void hb_object_make_immutable<hb_unicode_funcs_t>(hb_unicode_funcs_t const*) hb-paint.cc:void hb_object_make_immutable<hb_paint_funcs_t>(hb_paint_funcs_t const*) Line | Count | Source | 271 | 2 | { | 272 | 2 | obj->header.writable = false; | 273 | 2 | } |
|
274 | | template <typename Type> |
275 | | static inline Type *hb_object_reference (Type *obj) |
276 | 894k | { |
277 | 894k | hb_object_trace (obj, HB_FUNC); |
278 | 894k | if (unlikely (!obj || obj->header.is_inert ())) |
279 | 596k | return obj; |
280 | 297k | assert (hb_object_is_valid (obj)); |
281 | 297k | obj->header.ref_count.inc (); |
282 | 297k | return obj; |
283 | 297k | } hb-blob.cc:hb_blob_t* hb_object_reference<hb_blob_t>(hb_blob_t*) Line | Count | Source | 276 | 767k | { | 277 | 767k | hb_object_trace (obj, HB_FUNC); | 278 | 767k | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 596k | return obj; | 280 | 170k | assert (hb_object_is_valid (obj)); | 281 | 170k | obj->header.ref_count.inc (); | 282 | 170k | return obj; | 283 | 170k | } |
Unexecuted instantiation: hb-draw.cc:hb_draw_funcs_t* hb_object_reference<hb_draw_funcs_t>(hb_draw_funcs_t*) hb-face.cc:hb_face_t* hb_object_reference<hb_face_t>(hb_face_t*) Line | Count | Source | 276 | 21.2k | { | 277 | 21.2k | hb_object_trace (obj, HB_FUNC); | 278 | 21.2k | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 11 | return obj; | 280 | 21.2k | assert (hb_object_is_valid (obj)); | 281 | 21.2k | obj->header.ref_count.inc (); | 282 | 21.2k | return obj; | 283 | 21.2k | } |
hb-font.cc:hb_font_funcs_t* hb_object_reference<hb_font_funcs_t>(hb_font_funcs_t*) Line | Count | Source | 276 | 21.1k | { | 277 | 21.1k | hb_object_trace (obj, HB_FUNC); | 278 | 21.1k | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 0 | return obj; | 280 | 21.1k | assert (hb_object_is_valid (obj)); | 281 | 21.1k | obj->header.ref_count.inc (); | 282 | 21.1k | return obj; | 283 | 21.1k | } |
hb-font.cc:hb_font_t* hb_object_reference<hb_font_t>(hb_font_t*) Line | Count | Source | 276 | 84.6k | { | 277 | 84.6k | hb_object_trace (obj, HB_FUNC); | 278 | 84.6k | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 0 | return obj; | 280 | 84.6k | assert (hb_object_is_valid (obj)); | 281 | 84.6k | obj->header.ref_count.inc (); | 282 | 84.6k | return obj; | 283 | 84.6k | } |
Unexecuted instantiation: hb-set.cc:hb_set_t* hb_object_reference<hb_set_t>(hb_set_t*) Unexecuted instantiation: hb-shape-plan.cc:hb_shape_plan_t* hb_object_reference<hb_shape_plan_t>(hb_shape_plan_t*) Unexecuted instantiation: hb-unicode.cc:hb_unicode_funcs_t* hb_object_reference<hb_unicode_funcs_t>(hb_unicode_funcs_t*) Unexecuted instantiation: hb-buffer.cc:hb_buffer_t* hb_object_reference<hb_buffer_t>(hb_buffer_t*) Unexecuted instantiation: hb-paint.cc:hb_paint_funcs_t* hb_object_reference<hb_paint_funcs_t>(hb_paint_funcs_t*) |
284 | | template <typename Type> |
285 | | static inline bool hb_object_destroy (Type *obj) |
286 | 1.87M | { |
287 | 1.87M | hb_object_trace (obj, HB_FUNC); |
288 | 1.87M | if (unlikely (!obj || obj->header.is_inert ())) |
289 | 1.40M | return false; |
290 | 465k | assert (hb_object_is_valid (obj)); |
291 | 465k | if (obj->header.ref_count.dec () != 1) |
292 | 297k | return false; |
293 | | |
294 | 168k | hb_object_fini (obj); |
295 | | |
296 | 168k | if (!std::is_trivially_destructible<Type>::value) |
297 | 104k | obj->~Type (); |
298 | | |
299 | 168k | return true; |
300 | 465k | } hb-blob.cc:bool hb_object_destroy<hb_blob_t>(hb_blob_t*) Line | Count | Source | 286 | 1.61M | { | 287 | 1.61M | hb_object_trace (obj, HB_FUNC); | 288 | 1.61M | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 1.36M | return false; | 290 | 254k | assert (hb_object_is_valid (obj)); | 291 | 254k | if (obj->header.ref_count.dec () != 1) | 292 | 170k | return false; | 293 | | | 294 | 83.5k | hb_object_fini (obj); | 295 | | | 296 | 83.5k | if (!std::is_trivially_destructible<Type>::value) | 297 | 83.5k | obj->~Type (); | 298 | | | 299 | 83.5k | return true; | 300 | 254k | } |
hb-draw.cc:bool hb_object_destroy<hb_draw_funcs_t>(hb_draw_funcs_t*) Line | Count | Source | 286 | 21.2k | { | 287 | 21.2k | hb_object_trace (obj, HB_FUNC); | 288 | 21.2k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 258 | return false; | 290 | 21.0k | assert (hb_object_is_valid (obj)); | 291 | 21.0k | if (obj->header.ref_count.dec () != 1) | 292 | 0 | return false; | 293 | | | 294 | 21.0k | hb_object_fini (obj); | 295 | | | 296 | 21.0k | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 21.0k | return true; | 300 | 21.0k | } |
hb-face.cc:bool hb_object_destroy<hb_face_t>(hb_face_t*) Line | Count | Source | 286 | 42.5k | { | 287 | 42.5k | hb_object_trace (obj, HB_FUNC); | 288 | 42.5k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 28 | return false; | 290 | 42.4k | assert (hb_object_is_valid (obj)); | 291 | 42.4k | if (obj->header.ref_count.dec () != 1) | 292 | 21.2k | return false; | 293 | | | 294 | 21.2k | hb_object_fini (obj); | 295 | | | 296 | 21.2k | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 21.2k | return true; | 300 | 42.4k | } |
hb-font.cc:bool hb_object_destroy<hb_font_funcs_t>(hb_font_funcs_t*) Line | Count | Source | 286 | 42.3k | { | 287 | 42.3k | hb_object_trace (obj, HB_FUNC); | 288 | 42.3k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 21.2k | return false; | 290 | 21.1k | assert (hb_object_is_valid (obj)); | 291 | 21.1k | if (obj->header.ref_count.dec () != 1) | 292 | 21.1k | return false; | 293 | | | 294 | 1 | hb_object_fini (obj); | 295 | | | 296 | 1 | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 1 | return true; | 300 | 21.1k | } |
hb-font.cc:bool hb_object_destroy<hb_font_t>(hb_font_t*) Line | Count | Source | 286 | 127k | { | 287 | 127k | hb_object_trace (obj, HB_FUNC); | 288 | 127k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 21.2k | return false; | 290 | 105k | assert (hb_object_is_valid (obj)); | 291 | 105k | if (obj->header.ref_count.dec () != 1) | 292 | 84.6k | return false; | 293 | | | 294 | 21.2k | hb_object_fini (obj); | 295 | | | 296 | 21.2k | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 21.2k | return true; | 300 | 105k | } |
hb-set.cc:bool hb_object_destroy<hb_set_t>(hb_set_t*) Line | Count | Source | 286 | 21.2k | { | 287 | 21.2k | hb_object_trace (obj, HB_FUNC); | 288 | 21.2k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 226 | return false; | 290 | 21.0k | assert (hb_object_is_valid (obj)); | 291 | 21.0k | if (obj->header.ref_count.dec () != 1) | 292 | 0 | return false; | 293 | | | 294 | 21.0k | hb_object_fini (obj); | 295 | | | 296 | 21.0k | if (!std::is_trivially_destructible<Type>::value) | 297 | 21.0k | obj->~Type (); | 298 | | | 299 | 21.0k | return true; | 300 | 21.0k | } |
Unexecuted instantiation: hb-shape-plan.cc:bool hb_object_destroy<hb_shape_plan_t>(hb_shape_plan_t*) Unexecuted instantiation: hb-unicode.cc:bool hb_object_destroy<hb_unicode_funcs_t>(hb_unicode_funcs_t*) Unexecuted instantiation: hb-buffer.cc:bool hb_object_destroy<hb_buffer_t>(hb_buffer_t*) hb-paint.cc:bool hb_object_destroy<hb_paint_funcs_t>(hb_paint_funcs_t*) Line | Count | Source | 286 | 2 | { | 287 | 2 | hb_object_trace (obj, HB_FUNC); | 288 | 2 | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 0 | return false; | 290 | 2 | assert (hb_object_is_valid (obj)); | 291 | 2 | if (obj->header.ref_count.dec () != 1) | 292 | 0 | return false; | 293 | | | 294 | 2 | hb_object_fini (obj); | 295 | | | 296 | 2 | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 2 | return true; | 300 | 2 | } |
|
301 | | template <typename Type> |
302 | | static inline void hb_object_fini (Type *obj) |
303 | 189k | { |
304 | 189k | obj->header.ref_count.fini (); /* Do this before user_data */ |
305 | 189k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); |
306 | 189k | if (user_data) |
307 | 0 | { |
308 | 0 | user_data->fini (); |
309 | 0 | hb_free (user_data); |
310 | 0 | obj->header.user_data.set_relaxed (nullptr); |
311 | 0 | } |
312 | 189k | } hb-blob.cc:void hb_object_fini<hb_blob_t>(hb_blob_t*) Line | Count | Source | 303 | 83.5k | { | 304 | 83.5k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 83.5k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 83.5k | if (user_data) | 307 | 0 | { | 308 | 0 | user_data->fini (); | 309 | 0 | hb_free (user_data); | 310 | 0 | obj->header.user_data.set_relaxed (nullptr); | 311 | 0 | } | 312 | 83.5k | } |
Unexecuted instantiation: hb-common.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-common.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-common.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-common.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) hb-draw.cc:void hb_object_fini<hb_draw_funcs_t>(hb_draw_funcs_t*) Line | Count | Source | 303 | 21.0k | { | 304 | 21.0k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 21.0k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 21.0k | if (user_data) | 307 | 0 | { | 308 | 0 | user_data->fini (); | 309 | 0 | hb_free (user_data); | 310 | 0 | obj->header.user_data.set_relaxed (nullptr); | 311 | 0 | } | 312 | 21.0k | } |
hb-face.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Line | Count | Source | 303 | 21.0k | { | 304 | 21.0k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 21.0k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 21.0k | if (user_data) | 307 | 0 | { | 308 | 0 | user_data->fini (); | 309 | 0 | hb_free (user_data); | 310 | 0 | obj->header.user_data.set_relaxed (nullptr); | 311 | 0 | } | 312 | 21.0k | } |
hb-face.cc:void hb_object_fini<hb_face_t>(hb_face_t*) Line | Count | Source | 303 | 21.2k | { | 304 | 21.2k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 21.2k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 21.2k | if (user_data) | 307 | 0 | { | 308 | 0 | user_data->fini (); | 309 | 0 | hb_free (user_data); | 310 | 0 | obj->header.user_data.set_relaxed (nullptr); | 311 | 0 | } | 312 | 21.2k | } |
Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_fini<hb_hashmap_t<unsigned int, face_table_info_t, false> >(hb_hashmap_t<unsigned int, face_table_info_t, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) hb-font.cc:void hb_object_fini<hb_font_funcs_t>(hb_font_funcs_t*) Line | Count | Source | 303 | 1 | { | 304 | 1 | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 1 | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 1 | if (user_data) | 307 | 0 | { | 308 | 0 | user_data->fini (); | 309 | 0 | hb_free (user_data); | 310 | 0 | obj->header.user_data.set_relaxed (nullptr); | 311 | 0 | } | 312 | 1 | } |
hb-font.cc:void hb_object_fini<hb_font_t>(hb_font_t*) Line | Count | Source | 303 | 21.2k | { | 304 | 21.2k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 21.2k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 21.2k | if (user_data) | 307 | 0 | { | 308 | 0 | user_data->fini (); | 309 | 0 | hb_free (user_data); | 310 | 0 | obj->header.user_data.set_relaxed (nullptr); | 311 | 0 | } | 312 | 21.2k | } |
Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-color.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, unsigned int, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, unsigned int, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, unsigned int, false>*) Unexecuted instantiation: hb-ot-math.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-math.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-math.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-math.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-math.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-math.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-math.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) hb-set.cc:void hb_object_fini<hb_set_t>(hb_set_t*) Line | Count | Source | 303 | 21.0k | { | 304 | 21.0k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 21.0k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 21.0k | if (user_data) | 307 | 0 | { | 308 | 0 | user_data->fini (); | 309 | 0 | hb_free (user_data); | 310 | 0 | obj->header.user_data.set_relaxed (nullptr); | 311 | 0 | } | 312 | 21.0k | } |
Unexecuted instantiation: hb-set.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-shape-plan.cc:void hb_object_fini<hb_shape_plan_t>(hb_shape_plan_t*) Unexecuted instantiation: hb-unicode.cc:void hb_object_fini<hb_unicode_funcs_t>(hb_unicode_funcs_t*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-buffer.cc:void hb_object_fini<hb_buffer_t>(hb_buffer_t*) Unexecuted instantiation: hb-buffer.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-buffer.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-buffer.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-buffer.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-buffer.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-buffer.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-buffer.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) hb-paint.cc:void hb_object_fini<hb_paint_funcs_t>(hb_paint_funcs_t*) Line | Count | Source | 303 | 2 | { | 304 | 2 | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 2 | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 2 | if (user_data) | 307 | 0 | { | 308 | 0 | user_data->fini (); | 309 | 0 | hb_free (user_data); | 310 | 0 | obj->header.user_data.set_relaxed (nullptr); | 311 | 0 | } | 312 | 2 | } |
Unexecuted instantiation: hb-ot-cff1-table.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-cff1-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-cff1-table.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-cff1-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-cff1-table.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-cff1-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-cff1-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-cff2-table.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-cff2-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-cff2-table.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-cff2-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-cff2-table.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-cff2-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-cff2-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_fini<hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> >(hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) |
313 | | template <typename Type> |
314 | | static inline bool hb_object_set_user_data (Type *obj, |
315 | | hb_user_data_key_t *key, |
316 | | void * data, |
317 | | hb_destroy_func_t destroy, |
318 | | hb_bool_t replace) |
319 | 0 | { |
320 | 0 | if (unlikely (!obj || obj->header.is_inert ())) |
321 | 0 | return false; |
322 | 0 | assert (hb_object_is_valid (obj)); |
323 | | |
324 | 0 | retry: |
325 | 0 | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); |
326 | 0 | if (unlikely (!user_data)) |
327 | 0 | { |
328 | 0 | user_data = (hb_user_data_array_t *) hb_calloc (1, sizeof (hb_user_data_array_t)); |
329 | 0 | if (unlikely (!user_data)) |
330 | 0 | return false; |
331 | 0 | user_data->init (); |
332 | 0 | if (unlikely (!obj->header.user_data.cmpexch (nullptr, user_data))) |
333 | 0 | { |
334 | 0 | user_data->fini (); |
335 | 0 | hb_free (user_data); |
336 | 0 | goto retry; |
337 | 0 | } |
338 | 0 | } |
339 | | |
340 | 0 | return user_data->set (key, data, destroy, replace); |
341 | 0 | } Unexecuted instantiation: hb-blob.cc:bool hb_object_set_user_data<hb_blob_t>(hb_blob_t*, hb_user_data_key_t*, void*, void (*)(void*), int) Unexecuted instantiation: hb-draw.cc:bool hb_object_set_user_data<hb_draw_funcs_t>(hb_draw_funcs_t*, hb_user_data_key_t*, void*, void (*)(void*), int) Unexecuted instantiation: hb-face.cc:bool hb_object_set_user_data<hb_face_t>(hb_face_t*, hb_user_data_key_t*, void*, void (*)(void*), int) Unexecuted instantiation: hb-font.cc:bool hb_object_set_user_data<hb_font_funcs_t>(hb_font_funcs_t*, hb_user_data_key_t*, void*, void (*)(void*), int) Unexecuted instantiation: hb-font.cc:bool hb_object_set_user_data<hb_font_t>(hb_font_t*, hb_user_data_key_t*, void*, void (*)(void*), int) Unexecuted instantiation: hb-set.cc:bool hb_object_set_user_data<hb_set_t>(hb_set_t*, hb_user_data_key_t*, void*, void (*)(void*), int) Unexecuted instantiation: hb-shape-plan.cc:bool hb_object_set_user_data<hb_shape_plan_t>(hb_shape_plan_t*, hb_user_data_key_t*, void*, void (*)(void*), int) Unexecuted instantiation: hb-unicode.cc:bool hb_object_set_user_data<hb_unicode_funcs_t>(hb_unicode_funcs_t*, hb_user_data_key_t*, void*, void (*)(void*), int) Unexecuted instantiation: hb-buffer.cc:bool hb_object_set_user_data<hb_buffer_t>(hb_buffer_t*, hb_user_data_key_t*, void*, void (*)(void*), int) Unexecuted instantiation: hb-paint.cc:bool hb_object_set_user_data<hb_paint_funcs_t>(hb_paint_funcs_t*, hb_user_data_key_t*, void*, void (*)(void*), int) |
342 | | |
343 | | template <typename Type> |
344 | | static inline void *hb_object_get_user_data (Type *obj, |
345 | | hb_user_data_key_t *key) |
346 | 0 | { |
347 | 0 | if (unlikely (!obj || obj->header.is_inert ())) |
348 | 0 | return nullptr; |
349 | 0 | assert (hb_object_is_valid (obj)); |
350 | 0 | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); |
351 | 0 | if (!user_data) |
352 | 0 | return nullptr; |
353 | 0 | return user_data->get (key); |
354 | 0 | } Unexecuted instantiation: hb-blob.cc:void* hb_object_get_user_data<hb_blob_t const>(hb_blob_t const*, hb_user_data_key_t*) Unexecuted instantiation: hb-draw.cc:void* hb_object_get_user_data<hb_draw_funcs_t const>(hb_draw_funcs_t const*, hb_user_data_key_t*) Unexecuted instantiation: hb-face.cc:void* hb_object_get_user_data<hb_face_t const>(hb_face_t const*, hb_user_data_key_t*) Unexecuted instantiation: hb-font.cc:void* hb_object_get_user_data<hb_font_funcs_t const>(hb_font_funcs_t const*, hb_user_data_key_t*) Unexecuted instantiation: hb-font.cc:void* hb_object_get_user_data<hb_font_t const>(hb_font_t const*, hb_user_data_key_t*) Unexecuted instantiation: hb-set.cc:void* hb_object_get_user_data<hb_set_t const>(hb_set_t const*, hb_user_data_key_t*) Unexecuted instantiation: hb-shape-plan.cc:void* hb_object_get_user_data<hb_shape_plan_t const>(hb_shape_plan_t const*, hb_user_data_key_t*) Unexecuted instantiation: hb-unicode.cc:void* hb_object_get_user_data<hb_unicode_funcs_t const>(hb_unicode_funcs_t const*, hb_user_data_key_t*) Unexecuted instantiation: hb-buffer.cc:void* hb_object_get_user_data<hb_buffer_t const>(hb_buffer_t const*, hb_user_data_key_t*) Unexecuted instantiation: hb-paint.cc:void* hb_object_get_user_data<hb_paint_funcs_t const>(hb_paint_funcs_t const*, hb_user_data_key_t*) |
355 | | |
356 | | |
357 | | #endif /* HB_OBJECT_HH */ |