/work/workdir/UnpackedTarball/harfbuzz/src/hb-object.hh
Line | Count | Source |
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 | 21.7M | void init (int v = 1) { ref_count = v; } |
148 | 842M | int get_relaxed () const { return ref_count; } |
149 | 167M | int inc () const { return ref_count.inc (); } |
150 | 189M | int dec () const { return ref_count.dec (); } |
151 | 21.7M | void fini () { ref_count = -0x0000DEAD; } |
152 | | |
153 | 0 | bool is_inert () const { return !ref_count; } |
154 | 435M | 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 | 410M | 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 | 453M | { |
231 | 453M | DEBUG_MSG (OBJECT, (void *) obj, |
232 | 453M | "%s refcount=%d", |
233 | 453M | function, |
234 | 453M | obj ? obj->header.ref_count.get_relaxed () : 0); |
235 | 453M | } hb-blob.cc:void hb_object_trace<hb_blob_t>(hb_blob_t const*, char const*) Line | Count | Source | 230 | 266M | { | 231 | 266M | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 266M | "%s refcount=%d", | 233 | 266M | function, | 234 | 266M | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 266M | } |
hb-buffer.cc:void hb_object_trace<hb_buffer_t>(hb_buffer_t const*, char const*) Line | Count | Source | 230 | 42.2M | { | 231 | 42.2M | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 42.2M | "%s refcount=%d", | 233 | 42.2M | function, | 234 | 42.2M | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 42.2M | } |
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 | 564k | { | 231 | 564k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 564k | "%s refcount=%d", | 233 | 564k | function, | 234 | 564k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 564k | } |
hb-font.cc:void hb_object_trace<hb_font_t>(hb_font_t const*, char const*) Line | Count | Source | 230 | 818k | { | 231 | 818k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 818k | "%s refcount=%d", | 233 | 818k | function, | 234 | 818k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 818k | } |
hb-font.cc:void hb_object_trace<hb_font_funcs_t>(hb_font_funcs_t const*, char const*) Line | Count | Source | 230 | 1.36M | { | 231 | 1.36M | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 1.36M | "%s refcount=%d", | 233 | 1.36M | function, | 234 | 1.36M | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 1.36M | } |
hb-set.cc:void hb_object_trace<hb_set_t>(hb_set_t const*, char const*) Line | Count | Source | 230 | 936 | { | 231 | 936 | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 936 | "%s refcount=%d", | 233 | 936 | function, | 234 | 936 | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 936 | } |
hb-shape-plan.cc:void hb_object_trace<hb_shape_plan_t>(hb_shape_plan_t const*, char const*) Line | Count | Source | 230 | 78.1M | { | 231 | 78.1M | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 78.1M | "%s refcount=%d", | 233 | 78.1M | function, | 234 | 78.1M | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 78.1M | } |
hb-unicode.cc:void hb_object_trace<hb_unicode_funcs_t>(hb_unicode_funcs_t const*, char const*) Line | Count | Source | 230 | 63.3M | { | 231 | 63.3M | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 63.3M | "%s refcount=%d", | 233 | 63.3M | function, | 234 | 63.3M | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 63.3M | } |
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 | 21.7M | { |
240 | 21.7M | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); |
241 | | |
242 | 21.7M | if (unlikely (!obj)) |
243 | 0 | return obj; |
244 | | |
245 | 21.7M | new (obj) Type (std::forward<Ts> (ds)...); |
246 | | |
247 | 21.7M | hb_object_init (obj); |
248 | 21.7M | hb_object_trace (obj, HB_FUNC); |
249 | | |
250 | 21.7M | return obj; |
251 | 21.7M | } hb-blob.cc:hb_blob_t* hb_object_create<hb_blob_t>() Line | Count | Source | 239 | 334k | { | 240 | 334k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 334k | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 334k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 334k | hb_object_init (obj); | 248 | 334k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 334k | return obj; | 251 | 334k | } |
hb-buffer.cc:hb_buffer_t* hb_object_create<hb_buffer_t>() Line | Count | Source | 239 | 21.1M | { | 240 | 21.1M | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 21.1M | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 21.1M | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 21.1M | hb_object_init (obj); | 248 | 21.1M | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 21.1M | return obj; | 251 | 21.1M | } |
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 | 61 | { | 240 | 61 | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 61 | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 61 | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 61 | hb_object_init (obj); | 248 | 61 | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 61 | return obj; | 251 | 61 | } |
hb-font.cc:hb_font_t* hb_object_create<hb_font_t>() Line | Count | Source | 239 | 273k | { | 240 | 273k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 273k | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 273k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 273k | hb_object_init (obj); | 248 | 273k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 273k | return obj; | 251 | 273k | } |
hb-font.cc:hb_font_funcs_t* hb_object_create<hb_font_funcs_t>() Line | Count | Source | 239 | 29 | { | 240 | 29 | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 29 | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 29 | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 29 | hb_object_init (obj); | 248 | 29 | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 29 | return obj; | 251 | 29 | } |
hb-set.cc:hb_set_t* hb_object_create<hb_set_t>() Line | Count | Source | 239 | 468 | { | 240 | 468 | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 468 | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 468 | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 468 | hb_object_init (obj); | 248 | 468 | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 468 | return obj; | 251 | 468 | } |
hb-shape-plan.cc:hb_shape_plan_t* hb_object_create<hb_shape_plan_t>() Line | Count | Source | 239 | 10.6k | { | 240 | 10.6k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 10.6k | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 10.6k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 10.6k | hb_object_init (obj); | 248 | 10.6k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 10.6k | return obj; | 251 | 10.6k | } |
hb-unicode.cc:hb_unicode_funcs_t* hb_object_create<hb_unicode_funcs_t>() Line | Count | Source | 239 | 29 | { | 240 | 29 | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 29 | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 29 | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 29 | hb_object_init (obj); | 248 | 29 | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 29 | return obj; | 251 | 29 | } |
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 | 21.7M | { |
255 | 21.7M | obj->header.ref_count.init (); |
256 | 21.7M | obj->header.writable = true; |
257 | 21.7M | obj->header.user_data.init (); |
258 | 21.7M | } 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<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<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 | 334k | { | 255 | 334k | obj->header.ref_count.init (); | 256 | 334k | obj->header.writable = true; | 257 | 334k | obj->header.user_data.init (); | 258 | 334k | } |
hb-buffer.cc:void hb_object_init<hb_buffer_t>(hb_buffer_t*) Line | Count | Source | 254 | 21.1M | { | 255 | 21.1M | obj->header.ref_count.init (); | 256 | 21.1M | obj->header.writable = true; | 257 | 21.1M | obj->header.user_data.init (); | 258 | 21.1M | } |
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 | 1.60k | { | 255 | 1.60k | obj->header.ref_count.init (); | 256 | 1.60k | obj->header.writable = true; | 257 | 1.60k | obj->header.user_data.init (); | 258 | 1.60k | } |
hb-face.cc:void hb_object_init<hb_face_t>(hb_face_t*) Line | Count | Source | 254 | 61 | { | 255 | 61 | obj->header.ref_count.init (); | 256 | 61 | obj->header.writable = true; | 257 | 61 | obj->header.user_data.init (); | 258 | 61 | } |
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<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 | 273k | { | 255 | 273k | obj->header.ref_count.init (); | 256 | 273k | obj->header.writable = true; | 257 | 273k | obj->header.user_data.init (); | 258 | 273k | } |
hb-font.cc:void hb_object_init<hb_font_funcs_t>(hb_font_funcs_t*) Line | Count | Source | 254 | 29 | { | 255 | 29 | obj->header.ref_count.init (); | 256 | 29 | obj->header.writable = true; | 257 | 29 | obj->header.user_data.init (); | 258 | 29 | } |
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<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<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<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<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: VARC.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<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<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<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<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 | 468 | { | 255 | 468 | obj->header.ref_count.init (); | 256 | 468 | obj->header.writable = true; | 257 | 468 | obj->header.user_data.init (); | 258 | 468 | } |
hb-shape-plan.cc:void hb_object_init<hb_shape_plan_t>(hb_shape_plan_t*) Line | Count | Source | 254 | 10.6k | { | 255 | 10.6k | obj->header.ref_count.init (); | 256 | 10.6k | obj->header.writable = true; | 257 | 10.6k | obj->header.user_data.init (); | 258 | 10.6k | } |
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<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 | 29 | { | 255 | 29 | obj->header.ref_count.init (); | 256 | 29 | obj->header.writable = true; | 257 | 29 | obj->header.user_data.init (); | 258 | 29 | } |
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 | 21.2k | { | 255 | 21.2k | obj->header.ref_count.init (); | 256 | 21.2k | obj->header.writable = true; | 257 | 21.2k | obj->header.user_data.init (); | 258 | 21.2k | } |
Unexecuted instantiation: hb-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<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<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 | 435M | { |
262 | 435M | return likely (obj->header.ref_count.is_valid ()); |
263 | 435M | } hb-blob.cc:bool hb_object_is_valid<hb_blob_t>(hb_blob_t const*) Line | Count | Source | 261 | 213M | { | 262 | 213M | return likely (obj->header.ref_count.is_valid ()); | 263 | 213M | } |
hb-buffer.cc:bool hb_object_is_valid<hb_buffer_t>(hb_buffer_t const*) Line | Count | Source | 261 | 21.1M | { | 262 | 21.1M | return likely (obj->header.ref_count.is_valid ()); | 263 | 21.1M | } |
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 | 564k | { | 262 | 564k | return likely (obj->header.ref_count.is_valid ()); | 263 | 564k | } |
hb-font.cc:bool hb_object_is_valid<hb_font_funcs_t>(hb_font_funcs_t const*) Line | Count | Source | 261 | 1.09M | { | 262 | 1.09M | return likely (obj->header.ref_count.is_valid ()); | 263 | 1.09M | } |
hb-font.cc:bool hb_object_is_valid<hb_font_t>(hb_font_t const*) Line | Count | Source | 261 | 272k | { | 262 | 272k | return likely (obj->header.ref_count.is_valid ()); | 263 | 272k | } |
hb-set.cc:bool hb_object_is_valid<hb_set_t>(hb_set_t const*) Line | Count | Source | 261 | 468 | { | 262 | 468 | return likely (obj->header.ref_count.is_valid ()); | 263 | 468 | } |
hb-shape-plan.cc:bool hb_object_is_valid<hb_shape_plan_t>(hb_shape_plan_t const*) Line | Count | Source | 261 | 117M | { | 262 | 117M | return likely (obj->header.ref_count.is_valid ()); | 263 | 117M | } |
hb-shape-plan.cc:bool hb_object_is_valid<hb_face_t>(hb_face_t const*) Line | Count | Source | 261 | 39.0M | { | 262 | 39.0M | return likely (obj->header.ref_count.is_valid ()); | 263 | 39.0M | } |
hb-unicode.cc:bool hb_object_is_valid<hb_unicode_funcs_t>(hb_unicode_funcs_t const*) Line | Count | Source | 261 | 42.2M | { | 262 | 42.2M | return likely (obj->header.ref_count.is_valid ()); | 263 | 42.2M | } |
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 | 275M | { |
267 | 275M | return !obj->header.writable; |
268 | 275M | } hb-blob.cc:bool hb_object_is_immutable<hb_blob_t>(hb_blob_t const*) Line | Count | Source | 266 | 334k | { | 267 | 334k | return !obj->header.writable; | 268 | 334k | } |
hb-buffer.cc:bool hb_object_is_immutable<hb_buffer_t>(hb_buffer_t const*) Line | Count | Source | 266 | 234M | { | 267 | 234M | return !obj->header.writable; | 268 | 234M | } |
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 | 284k | { | 267 | 284k | return !obj->header.writable; | 268 | 284k | } |
hb-font.cc:bool hb_object_is_immutable<hb_font_funcs_t>(hb_font_funcs_t const*) Line | Count | Source | 266 | 406 | { | 267 | 406 | return !obj->header.writable; | 268 | 406 | } |
hb-font.cc:bool hb_object_is_immutable<hb_font_t>(hb_font_t const*) Line | Count | Source | 266 | 1.36M | { | 267 | 1.36M | return !obj->header.writable; | 268 | 1.36M | } |
hb-shape-plan.cc:bool hb_object_is_immutable<hb_buffer_t>(hb_buffer_t const*) Line | Count | Source | 266 | 39.0M | { | 267 | 39.0M | return !obj->header.writable; | 268 | 39.0M | } |
hb-unicode.cc:bool hb_object_is_immutable<hb_unicode_funcs_t>(hb_unicode_funcs_t const*) Line | Count | Source | 266 | 232 | { | 267 | 232 | return !obj->header.writable; | 268 | 232 | } |
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 | 909 | { |
272 | 909 | obj->header.writable = false; |
273 | 909 | } hb-blob.cc:void hb_object_make_immutable<hb_blob_t>(hb_blob_t const*) Line | Count | Source | 271 | 790 | { | 272 | 790 | obj->header.writable = false; | 273 | 790 | } |
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 | 61 | { | 272 | 61 | obj->header.writable = false; | 273 | 61 | } |
hb-font.cc:void hb_object_make_immutable<hb_font_funcs_t>(hb_font_funcs_t const*) Line | Count | Source | 271 | 29 | { | 272 | 29 | obj->header.writable = false; | 273 | 29 | } |
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 | 29 | { | 272 | 29 | obj->header.writable = false; | 273 | 29 | } |
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 | 169M | { |
277 | 169M | hb_object_trace (obj, HB_FUNC); |
278 | 169M | if (unlikely (!obj || obj->header.is_inert ())) |
279 | 1.59M | return obj; |
280 | 169M | assert (hb_object_is_valid (obj)); |
281 | 167M | obj->header.ref_count.inc (); |
282 | 167M | return obj; |
283 | 167M | } hb-blob.cc:hb_blob_t* hb_object_reference<hb_blob_t>(hb_blob_t*) Line | Count | Source | 276 | 108M | { | 277 | 108M | hb_object_trace (obj, HB_FUNC); | 278 | 108M | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 1.59M | return obj; | 280 | 108M | assert (hb_object_is_valid (obj)); | 281 | 106M | obj->header.ref_count.inc (); | 282 | 106M | return obj; | 283 | 106M | } |
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 | 282k | { | 277 | 282k | hb_object_trace (obj, HB_FUNC); | 278 | 282k | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 0 | return obj; | 280 | 282k | assert (hb_object_is_valid (obj)); | 281 | 282k | obj->header.ref_count.inc (); | 282 | 282k | return obj; | 283 | 282k | } |
hb-font.cc:hb_font_funcs_t* hb_object_reference<hb_font_funcs_t>(hb_font_funcs_t*) Line | Count | Source | 276 | 547k | { | 277 | 547k | hb_object_trace (obj, HB_FUNC); | 278 | 547k | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 0 | return obj; | 280 | 547k | assert (hb_object_is_valid (obj)); | 281 | 547k | obj->header.ref_count.inc (); | 282 | 547k | return obj; | 283 | 547k | } |
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 | 39.0M | { | 277 | 39.0M | hb_object_trace (obj, HB_FUNC); | 278 | 39.0M | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 0 | return obj; | 280 | 39.0M | assert (hb_object_is_valid (obj)); | 281 | 39.0M | obj->header.ref_count.inc (); | 282 | 39.0M | return obj; | 283 | 39.0M | } |
hb-unicode.cc:hb_unicode_funcs_t* hb_object_reference<hb_unicode_funcs_t>(hb_unicode_funcs_t*) Line | Count | Source | 276 | 21.1M | { | 277 | 21.1M | hb_object_trace (obj, HB_FUNC); | 278 | 21.1M | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 29 | return obj; | 280 | 21.1M | assert (hb_object_is_valid (obj)); | 281 | 21.1M | obj->header.ref_count.inc (); | 282 | 21.1M | return obj; | 283 | 21.1M | } |
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 | 262M | { |
287 | 262M | hb_object_trace (obj, HB_FUNC); |
288 | 262M | if (unlikely (!obj || obj->header.is_inert ())) |
289 | 72.8M | return false; |
290 | 262M | assert (hb_object_is_valid (obj)); |
291 | 189M | if (obj->header.ref_count.dec () != 1) |
292 | 167M | return false; |
293 | | |
294 | 21.7M | hb_object_fini (obj); |
295 | | |
296 | 21.7M | if (!std::is_trivially_destructible<Type>::value) |
297 | 333k | obj->~Type (); |
298 | | |
299 | 21.7M | return true; |
300 | 189M | } hb-blob.cc:bool hb_object_destroy<hb_blob_t>(hb_blob_t*) Line | Count | Source | 286 | 158M | { | 287 | 158M | hb_object_trace (obj, HB_FUNC); | 288 | 158M | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 51.1M | return false; | 290 | 158M | assert (hb_object_is_valid (obj)); | 291 | 106M | if (obj->header.ref_count.dec () != 1) | 292 | 106M | return false; | 293 | | | 294 | 333k | hb_object_fini (obj); | 295 | | | 296 | 333k | if (!std::is_trivially_destructible<Type>::value) | 297 | 333k | obj->~Type (); | 298 | | | 299 | 333k | return true; | 300 | 106M | } |
hb-buffer.cc:bool hb_object_destroy<hb_buffer_t>(hb_buffer_t*) Line | Count | Source | 286 | 21.1M | { | 287 | 21.1M | hb_object_trace (obj, HB_FUNC); | 288 | 21.1M | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 0 | return false; | 290 | 21.1M | assert (hb_object_is_valid (obj)); | 291 | 21.1M | if (obj->header.ref_count.dec () != 1) | 292 | 0 | return false; | 293 | | | 294 | 21.1M | hb_object_fini (obj); | 295 | | | 296 | 21.1M | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 21.1M | return true; | 300 | 21.1M | } |
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 | 281k | { | 287 | 281k | hb_object_trace (obj, HB_FUNC); | 288 | 281k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 0 | return false; | 290 | 281k | assert (hb_object_is_valid (obj)); | 291 | 281k | if (obj->header.ref_count.dec () != 1) | 292 | 281k | 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 | 281k | } |
hb-font.cc:bool hb_object_destroy<hb_font_funcs_t>(hb_font_funcs_t*) Line | Count | Source | 286 | 820k | { | 287 | 820k | hb_object_trace (obj, HB_FUNC); | 288 | 820k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 273k | return false; | 290 | 820k | assert (hb_object_is_valid (obj)); | 291 | 546k | if (obj->header.ref_count.dec () != 1) | 292 | 546k | 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 | 546k | } |
hb-font.cc:bool hb_object_destroy<hb_font_t>(hb_font_t*) Line | Count | Source | 286 | 545k | { | 287 | 545k | hb_object_trace (obj, HB_FUNC); | 288 | 545k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 272k | return false; | 290 | 545k | assert (hb_object_is_valid (obj)); | 291 | 272k | if (obj->header.ref_count.dec () != 1) | 292 | 0 | return false; | 293 | | | 294 | 272k | hb_object_fini (obj); | 295 | | | 296 | 272k | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 272k | return true; | 300 | 272k | } |
hb-set.cc:bool hb_object_destroy<hb_set_t>(hb_set_t*) Line | Count | Source | 286 | 468 | { | 287 | 468 | hb_object_trace (obj, HB_FUNC); | 288 | 468 | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 0 | return false; | 290 | 468 | assert (hb_object_is_valid (obj)); | 291 | 468 | if (obj->header.ref_count.dec () != 1) | 292 | 0 | return false; | 293 | | | 294 | 468 | hb_object_fini (obj); | 295 | | | 296 | 468 | if (!std::is_trivially_destructible<Type>::value) | 297 | 468 | obj->~Type (); | 298 | | | 299 | 468 | return true; | 300 | 468 | } |
hb-shape-plan.cc:bool hb_object_destroy<hb_shape_plan_t>(hb_shape_plan_t*) Line | Count | Source | 286 | 39.0M | { | 287 | 39.0M | hb_object_trace (obj, HB_FUNC); | 288 | 39.0M | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 0 | return false; | 290 | 39.0M | assert (hb_object_is_valid (obj)); | 291 | 39.0M | if (obj->header.ref_count.dec () != 1) | 292 | 39.0M | 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 | 39.0M | } |
hb-unicode.cc:bool hb_object_destroy<hb_unicode_funcs_t>(hb_unicode_funcs_t*) Line | Count | Source | 286 | 42.2M | { | 287 | 42.2M | hb_object_trace (obj, HB_FUNC); | 288 | 42.2M | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 21.1M | return false; | 290 | 42.2M | assert (hb_object_is_valid (obj)); | 291 | 21.1M | if (obj->header.ref_count.dec () != 1) | 292 | 21.1M | return false; | 293 | | | 294 | 29 | hb_object_fini (obj); | 295 | | | 296 | 29 | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 29 | return true; | 300 | 21.1M | } |
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 | 21.7M | { |
304 | 21.7M | obj->header.ref_count.fini (); /* Do this before user_data */ |
305 | 21.7M | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); |
306 | 21.7M | if (user_data) |
307 | 0 | { |
308 | 0 | user_data->fini (); |
309 | 0 | hb_free (user_data); |
310 | 0 | obj->header.user_data.set_relaxed (nullptr); |
311 | 0 | } |
312 | 21.7M | } 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<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<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 | 333k | { | 304 | 333k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 333k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 333k | 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 | 333k | } |
hb-buffer.cc:void hb_object_fini<hb_buffer_t>(hb_buffer_t*) Line | Count | Source | 303 | 21.1M | { | 304 | 21.1M | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 21.1M | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 21.1M | if (user_data) | 307 | 0 | { | 308 | 0 | user_data->fini (); | 309 | 0 | hb_free (user_data); | 310 | 0 | obj->header.user_data.set_relaxed (nullptr); | 311 | 0 | } | 312 | 21.1M | } |
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 | 1.60k | { | 304 | 1.60k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 1.60k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 1.60k | if (user_data) | 307 | 0 | { | 308 | 0 | user_data->fini (); | 309 | 0 | hb_free (user_data); | 310 | 0 | obj->header.user_data.set_relaxed (nullptr); | 311 | 0 | } | 312 | 1.60k | } |
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<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 | 272k | { | 304 | 272k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 272k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 272k | 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 | 272k | } |
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<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<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<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<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: VARC.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) 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 | 21.2k | { | 304 | 21.2k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 21.2k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 21.2k | if (user_data) | 307 | 0 | { | 308 | 0 | user_data->fini (); | 309 | 0 | hb_free (user_data); | 310 | 0 | obj->header.user_data.set_relaxed (nullptr); | 311 | 0 | } | 312 | 21.2k | } |
Unexecuted instantiation: hb-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<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<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<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<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 | 468 | { | 304 | 468 | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 468 | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 468 | 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 | 468 | } |
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<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 | 29 | { | 304 | 29 | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 29 | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 29 | 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 | 29 | } |
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<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<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 */ |