/work/workdir/UnpackedTarball/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 | 24.2M | void init (int v = 1) { ref_count = v; } |
148 | 820M | int get_relaxed () const { return ref_count; } |
149 | 154M | int inc () const { return ref_count.inc (); } |
150 | 178M | int dec () const { return ref_count.dec (); } |
151 | 24.2M | void fini () { ref_count = -0x0000DEAD; } |
152 | | |
153 | 0 | bool is_inert () const { return !ref_count; } |
154 | 398M | 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 | 398M | 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 | 439M | { |
231 | 439M | DEBUG_MSG (OBJECT, (void *) obj, |
232 | 439M | "%s refcount=%d", |
233 | 439M | function, |
234 | 439M | obj ? obj->header.ref_count.get_relaxed () : 0); |
235 | 439M | } hb-blob.cc:void hb_object_trace<hb_blob_t>(hb_blob_t const*, char const*) Line | Count | Source | 230 | 286M | { | 231 | 286M | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 286M | "%s refcount=%d", | 233 | 286M | function, | 234 | 286M | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 286M | } |
hb-buffer.cc:void hb_object_trace<hb_buffer_t>(hb_buffer_t const*, char const*) Line | Count | Source | 230 | 33.8M | { | 231 | 33.8M | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 33.8M | "%s refcount=%d", | 233 | 33.8M | function, | 234 | 33.8M | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 33.8M | } |
Unexecuted instantiation: hb-draw.cc:void hb_object_trace<hb_draw_funcs_t>(hb_draw_funcs_t const*, char const*) hb-face.cc:void hb_object_trace<hb_face_t>(hb_face_t const*, char const*) Line | Count | Source | 230 | 501k | { | 231 | 501k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 501k | "%s refcount=%d", | 233 | 501k | function, | 234 | 501k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 501k | } |
hb-font.cc:void hb_object_trace<hb_font_t>(hb_font_t const*, char const*) Line | Count | Source | 230 | 701k | { | 231 | 701k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 701k | "%s refcount=%d", | 233 | 701k | function, | 234 | 701k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 701k | } |
hb-font.cc:void hb_object_trace<hb_font_funcs_t>(hb_font_funcs_t const*, char const*) Line | Count | Source | 230 | 1.17M | { | 231 | 1.17M | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 1.17M | "%s refcount=%d", | 233 | 1.17M | function, | 234 | 1.17M | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 1.17M | } |
hb-set.cc:void hb_object_trace<hb_set_t>(hb_set_t const*, char const*) Line | Count | Source | 230 | 22 | { | 231 | 22 | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 22 | "%s refcount=%d", | 233 | 22 | function, | 234 | 22 | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 22 | } |
hb-shape-plan.cc:void hb_object_trace<hb_shape_plan_t>(hb_shape_plan_t const*, char const*) Line | Count | Source | 230 | 65.8M | { | 231 | 65.8M | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 65.8M | "%s refcount=%d", | 233 | 65.8M | function, | 234 | 65.8M | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 65.8M | } |
hb-unicode.cc:void hb_object_trace<hb_unicode_funcs_t>(hb_unicode_funcs_t const*, char const*) Line | Count | Source | 230 | 50.8M | { | 231 | 50.8M | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 50.8M | "%s refcount=%d", | 233 | 50.8M | function, | 234 | 50.8M | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 50.8M | } |
Unexecuted instantiation: hb-paint.cc:void hb_object_trace<hb_paint_funcs_t>(hb_paint_funcs_t const*, char const*) |
236 | | |
237 | | template <typename Type, typename ...Ts> |
238 | | static inline Type *hb_object_create (Ts... ds) |
239 | 24.2M | { |
240 | 24.2M | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); |
241 | | |
242 | 24.2M | if (unlikely (!obj)) |
243 | 0 | return obj; |
244 | | |
245 | 24.2M | new (obj) Type (std::forward<Ts> (ds)...); |
246 | | |
247 | 24.2M | hb_object_init (obj); |
248 | 24.2M | hb_object_trace (obj, HB_FUNC); |
249 | | |
250 | 24.2M | return obj; |
251 | 24.2M | } hb-blob.cc:hb_blob_t* hb_object_create<hb_blob_t>() Line | Count | Source | 239 | 7.05M | { | 240 | 7.05M | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 7.05M | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 7.05M | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 7.05M | hb_object_init (obj); | 248 | 7.05M | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 7.05M | return obj; | 251 | 7.05M | } |
hb-buffer.cc:hb_buffer_t* hb_object_create<hb_buffer_t>() Line | Count | Source | 239 | 16.9M | { | 240 | 16.9M | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 16.9M | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 16.9M | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 16.9M | hb_object_init (obj); | 248 | 16.9M | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 16.9M | return obj; | 251 | 16.9M | } |
Unexecuted instantiation: hb-draw.cc:hb_draw_funcs_t* hb_object_create<hb_draw_funcs_t>() hb-face.cc:hb_face_t* hb_object_create<hb_face_t>() Line | Count | Source | 239 | 60 | { | 240 | 60 | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 60 | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 60 | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 60 | hb_object_init (obj); | 248 | 60 | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 60 | return obj; | 251 | 60 | } |
hb-font.cc:hb_font_t* hb_object_create<hb_font_t>() Line | Count | Source | 239 | 234k | { | 240 | 234k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 234k | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 234k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 234k | hb_object_init (obj); | 248 | 234k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 234k | return obj; | 251 | 234k | } |
hb-font.cc:hb_font_funcs_t* hb_object_create<hb_font_funcs_t>() Line | Count | Source | 239 | 28 | { | 240 | 28 | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 28 | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 28 | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 28 | hb_object_init (obj); | 248 | 28 | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 28 | return obj; | 251 | 28 | } |
hb-set.cc:hb_set_t* hb_object_create<hb_set_t>() Line | Count | Source | 239 | 11 | { | 240 | 11 | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 11 | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 11 | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 11 | hb_object_init (obj); | 248 | 11 | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 11 | return obj; | 251 | 11 | } |
hb-shape-plan.cc:hb_shape_plan_t* hb_object_create<hb_shape_plan_t>() Line | Count | Source | 239 | 8.85k | { | 240 | 8.85k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 8.85k | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 8.85k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 8.85k | hb_object_init (obj); | 248 | 8.85k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 8.85k | return obj; | 251 | 8.85k | } |
hb-unicode.cc:hb_unicode_funcs_t* hb_object_create<hb_unicode_funcs_t>() Line | Count | Source | 239 | 28 | { | 240 | 28 | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 28 | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 28 | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 28 | hb_object_init (obj); | 248 | 28 | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 28 | return obj; | 251 | 28 | } |
Unexecuted instantiation: hb-paint.cc:hb_paint_funcs_t* hb_object_create<hb_paint_funcs_t>() |
252 | | template <typename Type> |
253 | | static inline void hb_object_init (Type *obj) |
254 | 24.2M | { |
255 | 24.2M | obj->header.ref_count.init (); |
256 | 24.2M | obj->header.writable = true; |
257 | 24.2M | obj->header.user_data.init (); |
258 | 24.2M | } 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>*) hb-blob.cc:void hb_object_init<hb_blob_t>(hb_blob_t*) Line | Count | Source | 254 | 7.05M | { | 255 | 7.05M | obj->header.ref_count.init (); | 256 | 7.05M | obj->header.writable = true; | 257 | 7.05M | obj->header.user_data.init (); | 258 | 7.05M | } |
hb-buffer.cc:void hb_object_init<hb_buffer_t>(hb_buffer_t*) Line | Count | Source | 254 | 16.9M | { | 255 | 16.9M | obj->header.ref_count.init (); | 256 | 16.9M | obj->header.writable = true; | 257 | 16.9M | obj->header.user_data.init (); | 258 | 16.9M | } |
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>*) Unexecuted instantiation: hb-draw.cc:void hb_object_init<hb_draw_funcs_t>(hb_draw_funcs_t*) 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 | 11 | { | 255 | 11 | obj->header.ref_count.init (); | 256 | 11 | obj->header.writable = true; | 257 | 11 | obj->header.user_data.init (); | 258 | 11 | } |
hb-face.cc:void hb_object_init<hb_face_t>(hb_face_t*) Line | Count | Source | 254 | 60 | { | 255 | 60 | obj->header.ref_count.init (); | 256 | 60 | obj->header.writable = true; | 257 | 60 | obj->header.user_data.init (); | 258 | 60 | } |
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 | 234k | { | 255 | 234k | obj->header.ref_count.init (); | 256 | 234k | obj->header.writable = true; | 257 | 234k | obj->header.user_data.init (); | 258 | 234k | } |
hb-font.cc:void hb_object_init<hb_font_funcs_t>(hb_font_funcs_t*) Line | Count | Source | 254 | 28 | { | 255 | 28 | obj->header.ref_count.init (); | 256 | 28 | obj->header.writable = true; | 257 | 28 | obj->header.user_data.init (); | 258 | 28 | } |
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<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: 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-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-name.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-name.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-name.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-name.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-name.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_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 | 11 | { | 255 | 11 | obj->header.ref_count.init (); | 256 | 11 | obj->header.writable = true; | 257 | 11 | obj->header.user_data.init (); | 258 | 11 | } |
hb-shape-plan.cc:void hb_object_init<hb_shape_plan_t>(hb_shape_plan_t*) Line | Count | Source | 254 | 8.85k | { | 255 | 8.85k | obj->header.ref_count.init (); | 256 | 8.85k | obj->header.writable = true; | 257 | 8.85k | obj->header.user_data.init (); | 258 | 8.85k | } |
Unexecuted instantiation: hb-static.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-static.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-static.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-static.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-static.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-static.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-static.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-static.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-static.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-static.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-static.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-static.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-static.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-unicode.cc:void hb_object_init<hb_unicode_funcs_t>(hb_unicode_funcs_t*) Line | Count | Source | 254 | 28 | { | 255 | 28 | obj->header.ref_count.init (); | 256 | 28 | obj->header.writable = true; | 257 | 28 | obj->header.user_data.init (); | 258 | 28 | } |
Unexecuted instantiation: hb-paint.cc:void hb_object_init<hb_paint_funcs_t>(hb_paint_funcs_t*) 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>*) hb-ot-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Line | Count | Source | 254 | 17.7k | { | 255 | 17.7k | obj->header.ref_count.init (); | 256 | 17.7k | obj->header.writable = true; | 257 | 17.7k | obj->header.user_data.init (); | 258 | 17.7k | } |
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 | 398M | { |
262 | 398M | return likely (obj->header.ref_count.is_valid ()); |
263 | 398M | } hb-blob.cc:bool hb_object_is_valid<hb_blob_t>(hb_blob_t const*) Line | Count | Source | 261 | 214M | { | 262 | 214M | return likely (obj->header.ref_count.is_valid ()); | 263 | 214M | } |
hb-buffer.cc:bool hb_object_is_valid<hb_buffer_t>(hb_buffer_t const*) Line | Count | Source | 261 | 16.9M | { | 262 | 16.9M | return likely (obj->header.ref_count.is_valid ()); | 263 | 16.9M | } |
Unexecuted instantiation: hb-draw.cc:bool hb_object_is_valid<hb_draw_funcs_t>(hb_draw_funcs_t const*) hb-face.cc:bool hb_object_is_valid<hb_face_t>(hb_face_t const*) Line | Count | Source | 261 | 501k | { | 262 | 501k | return likely (obj->header.ref_count.is_valid ()); | 263 | 501k | } |
hb-font.cc:bool hb_object_is_valid<hb_font_funcs_t>(hb_font_funcs_t const*) Line | Count | Source | 261 | 937k | { | 262 | 937k | return likely (obj->header.ref_count.is_valid ()); | 263 | 937k | } |
hb-font.cc:bool hb_object_is_valid<hb_font_t>(hb_font_t const*) Line | Count | Source | 261 | 233k | { | 262 | 233k | return likely (obj->header.ref_count.is_valid ()); | 263 | 233k | } |
hb-set.cc:bool hb_object_is_valid<hb_set_t>(hb_set_t const*) Line | Count | Source | 261 | 11 | { | 262 | 11 | return likely (obj->header.ref_count.is_valid ()); | 263 | 11 | } |
hb-shape-plan.cc:bool hb_object_is_valid<hb_shape_plan_t>(hb_shape_plan_t const*) Line | Count | Source | 261 | 98.8M | { | 262 | 98.8M | return likely (obj->header.ref_count.is_valid ()); | 263 | 98.8M | } |
hb-shape-plan.cc:bool hb_object_is_valid<hb_face_t>(hb_face_t const*) Line | Count | Source | 261 | 32.9M | { | 262 | 32.9M | return likely (obj->header.ref_count.is_valid ()); | 263 | 32.9M | } |
hb-unicode.cc:bool hb_object_is_valid<hb_unicode_funcs_t>(hb_unicode_funcs_t const*) Line | Count | Source | 261 | 33.8M | { | 262 | 33.8M | return likely (obj->header.ref_count.is_valid ()); | 263 | 33.8M | } |
Unexecuted instantiation: hb-paint.cc:bool hb_object_is_valid<hb_paint_funcs_t>(hb_paint_funcs_t const*) |
264 | | template <typename Type> |
265 | | static inline bool hb_object_is_immutable (const Type *obj) |
266 | 245M | { |
267 | 245M | return !obj->header.writable; |
268 | 245M | } hb-blob.cc:bool hb_object_is_immutable<hb_blob_t>(hb_blob_t const*) Line | Count | Source | 266 | 13.7M | { | 267 | 13.7M | return !obj->header.writable; | 268 | 13.7M | } |
hb-buffer.cc:bool hb_object_is_immutable<hb_buffer_t>(hb_buffer_t const*) Line | Count | Source | 266 | 197M | { | 267 | 197M | return !obj->header.writable; | 268 | 197M | } |
Unexecuted instantiation: hb-draw.cc:bool hb_object_is_immutable<hb_draw_funcs_t>(hb_draw_funcs_t const*) hb-face.cc:bool hb_object_is_immutable<hb_face_t>(hb_face_t const*) Line | Count | Source | 266 | 243k | { | 267 | 243k | return !obj->header.writable; | 268 | 243k | } |
hb-font.cc:bool hb_object_is_immutable<hb_font_funcs_t>(hb_font_funcs_t const*) Line | Count | Source | 266 | 392 | { | 267 | 392 | return !obj->header.writable; | 268 | 392 | } |
hb-font.cc:bool hb_object_is_immutable<hb_font_t>(hb_font_t const*) Line | Count | Source | 266 | 703k | { | 267 | 703k | return !obj->header.writable; | 268 | 703k | } |
hb-shape-plan.cc:bool hb_object_is_immutable<hb_buffer_t>(hb_buffer_t const*) Line | Count | Source | 266 | 32.9M | { | 267 | 32.9M | return !obj->header.writable; | 268 | 32.9M | } |
hb-unicode.cc:bool hb_object_is_immutable<hb_unicode_funcs_t>(hb_unicode_funcs_t const*) Line | Count | Source | 266 | 224 | { | 267 | 224 | return !obj->header.writable; | 268 | 224 | } |
Unexecuted instantiation: hb-paint.cc:bool hb_object_is_immutable<hb_paint_funcs_t>(hb_paint_funcs_t const*) Unexecuted instantiation: hb-buffer-serialize.cc:bool hb_object_is_immutable<hb_buffer_t>(hb_buffer_t const*) |
269 | | template <typename Type> |
270 | | static inline void hb_object_make_immutable (const Type *obj) |
271 | 6.71M | { |
272 | 6.71M | obj->header.writable = false; |
273 | 6.71M | } hb-blob.cc:void hb_object_make_immutable<hb_blob_t>(hb_blob_t const*) Line | Count | Source | 271 | 6.71M | { | 272 | 6.71M | obj->header.writable = false; | 273 | 6.71M | } |
Unexecuted instantiation: hb-draw.cc:void hb_object_make_immutable<hb_draw_funcs_t>(hb_draw_funcs_t const*) hb-face.cc:void hb_object_make_immutable<hb_face_t>(hb_face_t const*) Line | Count | Source | 271 | 60 | { | 272 | 60 | obj->header.writable = false; | 273 | 60 | } |
hb-font.cc:void hb_object_make_immutable<hb_font_funcs_t>(hb_font_funcs_t const*) Line | Count | Source | 271 | 28 | { | 272 | 28 | obj->header.writable = false; | 273 | 28 | } |
Unexecuted instantiation: hb-font.cc:void hb_object_make_immutable<hb_font_t>(hb_font_t const*) hb-unicode.cc:void hb_object_make_immutable<hb_unicode_funcs_t>(hb_unicode_funcs_t const*) Line | Count | Source | 271 | 28 | { | 272 | 28 | obj->header.writable = false; | 273 | 28 | } |
Unexecuted instantiation: hb-paint.cc:void hb_object_make_immutable<hb_paint_funcs_t>(hb_paint_funcs_t const*) |
274 | | template <typename Type> |
275 | | static inline Type *hb_object_reference (Type *obj) |
276 | 162M | { |
277 | 162M | hb_object_trace (obj, HB_FUNC); |
278 | 162M | if (unlikely (!obj || obj->header.is_inert ())) |
279 | 8.16M | return obj; |
280 | 154M | assert (hb_object_is_valid (obj)); |
281 | 154M | obj->header.ref_count.inc (); |
282 | 154M | return obj; |
283 | 154M | } hb-blob.cc:hb_blob_t* hb_object_reference<hb_blob_t>(hb_blob_t*) Line | Count | Source | 276 | 111M | { | 277 | 111M | hb_object_trace (obj, HB_FUNC); | 278 | 111M | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 8.16M | return obj; | 280 | 103M | assert (hb_object_is_valid (obj)); | 281 | 103M | obj->header.ref_count.inc (); | 282 | 103M | return obj; | 283 | 103M | } |
Unexecuted instantiation: hb-buffer.cc:hb_buffer_t* hb_object_reference<hb_buffer_t>(hb_buffer_t*) 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 | 251k | { | 277 | 251k | hb_object_trace (obj, HB_FUNC); | 278 | 251k | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 0 | return obj; | 280 | 251k | assert (hb_object_is_valid (obj)); | 281 | 251k | obj->header.ref_count.inc (); | 282 | 251k | return obj; | 283 | 251k | } |
hb-font.cc:hb_font_funcs_t* hb_object_reference<hb_font_funcs_t>(hb_font_funcs_t*) Line | Count | Source | 276 | 469k | { | 277 | 469k | hb_object_trace (obj, HB_FUNC); | 278 | 469k | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 0 | return obj; | 280 | 469k | assert (hb_object_is_valid (obj)); | 281 | 469k | obj->header.ref_count.inc (); | 282 | 469k | return obj; | 283 | 469k | } |
Unexecuted instantiation: hb-font.cc:hb_font_t* hb_object_reference<hb_font_t>(hb_font_t*) Unexecuted instantiation: hb-set.cc:hb_set_t* hb_object_reference<hb_set_t>(hb_set_t*) hb-shape-plan.cc:hb_shape_plan_t* hb_object_reference<hb_shape_plan_t>(hb_shape_plan_t*) Line | Count | Source | 276 | 32.9M | { | 277 | 32.9M | hb_object_trace (obj, HB_FUNC); | 278 | 32.9M | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 0 | return obj; | 280 | 32.9M | assert (hb_object_is_valid (obj)); | 281 | 32.9M | obj->header.ref_count.inc (); | 282 | 32.9M | return obj; | 283 | 32.9M | } |
hb-unicode.cc:hb_unicode_funcs_t* hb_object_reference<hb_unicode_funcs_t>(hb_unicode_funcs_t*) Line | Count | Source | 276 | 16.9M | { | 277 | 16.9M | hb_object_trace (obj, HB_FUNC); | 278 | 16.9M | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 28 | return obj; | 280 | 16.9M | assert (hb_object_is_valid (obj)); | 281 | 16.9M | obj->header.ref_count.inc (); | 282 | 16.9M | return obj; | 283 | 16.9M | } |
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 | 253M | { |
287 | 253M | hb_object_trace (obj, HB_FUNC); |
288 | 253M | if (unlikely (!obj || obj->header.is_inert ())) |
289 | 74.6M | return false; |
290 | 178M | assert (hb_object_is_valid (obj)); |
291 | 178M | if (obj->header.ref_count.dec () != 1) |
292 | 154M | return false; |
293 | | |
294 | 24.2M | hb_object_fini (obj); |
295 | | |
296 | 24.2M | if (!std::is_trivially_destructible<Type>::value) |
297 | 7.05M | obj->~Type (); |
298 | | |
299 | 24.2M | return true; |
300 | 178M | } hb-blob.cc:bool hb_object_destroy<hb_blob_t>(hb_blob_t*) Line | Count | Source | 286 | 167M | { | 287 | 167M | hb_object_trace (obj, HB_FUNC); | 288 | 167M | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 57.2M | return false; | 290 | 110M | assert (hb_object_is_valid (obj)); | 291 | 110M | if (obj->header.ref_count.dec () != 1) | 292 | 103M | return false; | 293 | | | 294 | 7.05M | hb_object_fini (obj); | 295 | | | 296 | 7.05M | if (!std::is_trivially_destructible<Type>::value) | 297 | 7.05M | obj->~Type (); | 298 | | | 299 | 7.05M | return true; | 300 | 110M | } |
hb-buffer.cc:bool hb_object_destroy<hb_buffer_t>(hb_buffer_t*) Line | Count | Source | 286 | 16.9M | { | 287 | 16.9M | hb_object_trace (obj, HB_FUNC); | 288 | 16.9M | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 0 | return false; | 290 | 16.9M | assert (hb_object_is_valid (obj)); | 291 | 16.9M | if (obj->header.ref_count.dec () != 1) | 292 | 0 | return false; | 293 | | | 294 | 16.9M | hb_object_fini (obj); | 295 | | | 296 | 16.9M | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 16.9M | return true; | 300 | 16.9M | } |
Unexecuted instantiation: hb-draw.cc:bool hb_object_destroy<hb_draw_funcs_t>(hb_draw_funcs_t*) hb-face.cc:bool hb_object_destroy<hb_face_t>(hb_face_t*) Line | Count | Source | 286 | 250k | { | 287 | 250k | hb_object_trace (obj, HB_FUNC); | 288 | 250k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 0 | return false; | 290 | 250k | assert (hb_object_is_valid (obj)); | 291 | 250k | if (obj->header.ref_count.dec () != 1) | 292 | 250k | return false; | 293 | | | 294 | 0 | hb_object_fini (obj); | 295 | |
| 296 | 0 | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | |
| 299 | 0 | return true; | 300 | 250k | } |
hb-font.cc:bool hb_object_destroy<hb_font_funcs_t>(hb_font_funcs_t*) Line | Count | Source | 286 | 702k | { | 287 | 702k | hb_object_trace (obj, HB_FUNC); | 288 | 702k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 234k | return false; | 290 | 468k | assert (hb_object_is_valid (obj)); | 291 | 468k | if (obj->header.ref_count.dec () != 1) | 292 | 468k | return false; | 293 | | | 294 | 0 | hb_object_fini (obj); | 295 | |
| 296 | 0 | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | |
| 299 | 0 | return true; | 300 | 468k | } |
hb-font.cc:bool hb_object_destroy<hb_font_t>(hb_font_t*) Line | Count | Source | 286 | 466k | { | 287 | 466k | hb_object_trace (obj, HB_FUNC); | 288 | 466k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 233k | return false; | 290 | 233k | assert (hb_object_is_valid (obj)); | 291 | 233k | if (obj->header.ref_count.dec () != 1) | 292 | 0 | return false; | 293 | | | 294 | 233k | hb_object_fini (obj); | 295 | | | 296 | 233k | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 233k | return true; | 300 | 233k | } |
hb-set.cc:bool hb_object_destroy<hb_set_t>(hb_set_t*) Line | Count | Source | 286 | 11 | { | 287 | 11 | hb_object_trace (obj, HB_FUNC); | 288 | 11 | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 0 | return false; | 290 | 11 | assert (hb_object_is_valid (obj)); | 291 | 11 | if (obj->header.ref_count.dec () != 1) | 292 | 0 | return false; | 293 | | | 294 | 11 | hb_object_fini (obj); | 295 | | | 296 | 11 | if (!std::is_trivially_destructible<Type>::value) | 297 | 11 | obj->~Type (); | 298 | | | 299 | 11 | return true; | 300 | 11 | } |
hb-shape-plan.cc:bool hb_object_destroy<hb_shape_plan_t>(hb_shape_plan_t*) Line | Count | Source | 286 | 32.9M | { | 287 | 32.9M | hb_object_trace (obj, HB_FUNC); | 288 | 32.9M | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 0 | return false; | 290 | 32.9M | assert (hb_object_is_valid (obj)); | 291 | 32.9M | if (obj->header.ref_count.dec () != 1) | 292 | 32.9M | return false; | 293 | | | 294 | 0 | hb_object_fini (obj); | 295 | |
| 296 | 0 | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | |
| 299 | 0 | return true; | 300 | 32.9M | } |
hb-unicode.cc:bool hb_object_destroy<hb_unicode_funcs_t>(hb_unicode_funcs_t*) Line | Count | Source | 286 | 33.8M | { | 287 | 33.8M | hb_object_trace (obj, HB_FUNC); | 288 | 33.8M | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 16.9M | return false; | 290 | 16.9M | assert (hb_object_is_valid (obj)); | 291 | 16.9M | if (obj->header.ref_count.dec () != 1) | 292 | 16.9M | return false; | 293 | | | 294 | 28 | hb_object_fini (obj); | 295 | | | 296 | 28 | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 28 | return true; | 300 | 16.9M | } |
Unexecuted instantiation: hb-paint.cc:bool hb_object_destroy<hb_paint_funcs_t>(hb_paint_funcs_t*) |
301 | | template <typename Type> |
302 | | static inline void hb_object_fini (Type *obj) |
303 | 24.2M | { |
304 | 24.2M | obj->header.ref_count.fini (); /* Do this before user_data */ |
305 | 24.2M | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); |
306 | 24.2M | 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 | 24.2M | } 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<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<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>*) hb-blob.cc:void hb_object_fini<hb_blob_t>(hb_blob_t*) Line | Count | Source | 303 | 7.05M | { | 304 | 7.05M | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 7.05M | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 7.05M | 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 | 7.05M | } |
hb-buffer.cc:void hb_object_fini<hb_buffer_t>(hb_buffer_t*) Line | Count | Source | 303 | 16.9M | { | 304 | 16.9M | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 16.9M | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 16.9M | 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 | 16.9M | } |
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<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>*) Unexecuted instantiation: hb-draw.cc:void hb_object_fini<hb_draw_funcs_t>(hb_draw_funcs_t*) 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 | 11 | { | 304 | 11 | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 11 | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 11 | 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 | 11 | } |
Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_face_t>(hb_face_t*) 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<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<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>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_font_funcs_t>(hb_font_funcs_t*) hb-font.cc:void hb_object_fini<hb_font_t>(hb_font_t*) Line | Count | Source | 303 | 233k | { | 304 | 233k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 233k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 233k | 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 | 233k | } |
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<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<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<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<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<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: 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>*) hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Line | Count | Source | 303 | 17.7k | { | 304 | 17.7k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 17.7k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 17.7k | 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 | 17.7k | } |
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<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-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<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-name.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-name.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-name.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-name.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-name.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-name.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_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<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<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 | 11 | { | 304 | 11 | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 11 | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 11 | 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 | 11 | } |
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-static.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-static.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-static.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-static.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-static.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-static.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-static.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-static.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-static.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-static.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-static.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-static.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-static.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-unicode.cc:void hb_object_fini<hb_unicode_funcs_t>(hb_unicode_funcs_t*) Line | Count | Source | 303 | 28 | { | 304 | 28 | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 28 | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 28 | 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 | 28 | } |
Unexecuted instantiation: hb-paint.cc:void hb_object_fini<hb_paint_funcs_t>(hb_paint_funcs_t*) 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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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<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-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-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-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-buffer.cc:void* hb_object_get_user_data<hb_buffer_t const>(hb_buffer_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-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 */ |