/src/harfbuzz/src/hb-object.hh
Line | Count | Source (jump to first uncovered line) |
1 | | /* |
2 | | * Copyright © 2007 Chris Wilson |
3 | | * Copyright © 2009,2010 Red Hat, Inc. |
4 | | * Copyright © 2011,2012 Google, Inc. |
5 | | * |
6 | | * This is part of HarfBuzz, a text shaping library. |
7 | | * |
8 | | * Permission is hereby granted, without written agreement and without |
9 | | * license or royalty fees, to use, copy, modify, and distribute this |
10 | | * software and its documentation for any purpose, provided that the |
11 | | * above copyright notice and the following two paragraphs appear in |
12 | | * all copies of this software. |
13 | | * |
14 | | * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR |
15 | | * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES |
16 | | * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN |
17 | | * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH |
18 | | * DAMAGE. |
19 | | * |
20 | | * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, |
21 | | * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND |
22 | | * FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS |
23 | | * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO |
24 | | * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. |
25 | | * |
26 | | * Contributor(s): |
27 | | * Chris Wilson <chris@chris-wilson.co.uk> |
28 | | * Red Hat Author(s): Behdad Esfahbod |
29 | | * Google Author(s): Behdad Esfahbod |
30 | | */ |
31 | | |
32 | | #ifndef HB_OBJECT_HH |
33 | | #define HB_OBJECT_HH |
34 | | |
35 | | #include "hb.hh" |
36 | | #include "hb-atomic.hh" |
37 | | #include "hb-mutex.hh" |
38 | | #include "hb-vector.hh" |
39 | | |
40 | | |
41 | | /* |
42 | | * Lockable set |
43 | | */ |
44 | | |
45 | | template <typename item_t, typename lock_t> |
46 | | struct hb_lockable_set_t |
47 | | { |
48 | | hb_vector_t<item_t> items; |
49 | | |
50 | 0 | void init () { items.init (); } |
51 | | |
52 | | template <typename T> |
53 | | item_t *replace_or_insert (T v, lock_t &l, bool replace) |
54 | 0 | { |
55 | 0 | l.lock (); |
56 | 0 | item_t *item = items.lsearch (v); |
57 | 0 | if (item) { |
58 | 0 | if (replace) { |
59 | 0 | item_t old = *item; |
60 | 0 | *item = v; |
61 | 0 | l.unlock (); |
62 | 0 | old.fini (); |
63 | 0 | } |
64 | 0 | else { |
65 | 0 | item = nullptr; |
66 | 0 | l.unlock (); |
67 | 0 | } |
68 | 0 | } else { |
69 | 0 | item = items.push (v); |
70 | 0 | l.unlock (); |
71 | 0 | } |
72 | 0 | return items.in_error () ? nullptr : item; |
73 | 0 | } |
74 | | |
75 | | template <typename T> |
76 | | void remove (T v, lock_t &l) |
77 | 0 | { |
78 | 0 | l.lock (); |
79 | 0 | item_t *item = items.lsearch (v); |
80 | 0 | if (item) |
81 | 0 | { |
82 | 0 | item_t old = *item; |
83 | 0 | *item = std::move (items.tail ()); |
84 | 0 | items.pop (); |
85 | 0 | l.unlock (); |
86 | 0 | old.fini (); |
87 | 0 | } else { |
88 | 0 | l.unlock (); |
89 | 0 | } |
90 | 0 | } |
91 | | |
92 | | template <typename T> |
93 | | bool find (T v, item_t *i, lock_t &l) |
94 | 0 | { |
95 | 0 | l.lock (); |
96 | 0 | item_t *item = items.lsearch (v); |
97 | 0 | if (item) |
98 | 0 | *i = *item; |
99 | 0 | l.unlock (); |
100 | 0 | return !!item; |
101 | 0 | } |
102 | | |
103 | | template <typename T> |
104 | | item_t *find_or_insert (T v, lock_t &l) |
105 | | { |
106 | | l.lock (); |
107 | | item_t *item = items.find (v); |
108 | | if (!item) { |
109 | | item = items.push (v); |
110 | | } |
111 | | l.unlock (); |
112 | | return item; |
113 | | } |
114 | | |
115 | | void fini (lock_t &l) |
116 | 0 | { |
117 | 0 | if (!items.length) |
118 | 0 | { |
119 | | /* No need to lock. */ |
120 | 0 | items.fini (); |
121 | 0 | return; |
122 | 0 | } |
123 | 0 | l.lock (); |
124 | 0 | while (items.length) |
125 | 0 | { |
126 | 0 | item_t old = items.tail (); |
127 | 0 | items.pop (); |
128 | 0 | l.unlock (); |
129 | 0 | old.fini (); |
130 | 0 | l.lock (); |
131 | 0 | } |
132 | 0 | items.fini (); |
133 | 0 | l.unlock (); |
134 | 0 | } |
135 | | |
136 | | }; |
137 | | |
138 | | |
139 | | /* |
140 | | * Reference-count. |
141 | | */ |
142 | | |
143 | | struct hb_reference_count_t |
144 | | { |
145 | | mutable hb_atomic_t<int> ref_count; |
146 | | |
147 | 254k | void init (int v = 1) { ref_count = v; } |
148 | 7.10M | int get_relaxed () const { return ref_count; } |
149 | 1.44M | int inc () const { return ref_count.inc (); } |
150 | 1.69M | int dec () const { return ref_count.dec (); } |
151 | 254k | void fini () { ref_count = -0x0000DEAD; } |
152 | | |
153 | 0 | bool is_inert () const { return !ref_count; } |
154 | 3.54M | 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 | 3.42M | 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 | 3.68M | { |
231 | 3.68M | DEBUG_MSG (OBJECT, (void *) obj, |
232 | 3.68M | "%s refcount=%d", |
233 | 3.68M | function, |
234 | 3.68M | obj ? obj->header.ref_count.get_relaxed () : 0); |
235 | 3.68M | } hb-blob.cc:void hb_object_trace<hb_blob_t>(hb_blob_t const*, char const*) Line | Count | Source | 230 | 908k | { | 231 | 908k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 908k | "%s refcount=%d", | 233 | 908k | function, | 234 | 908k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 908k | } |
hb-buffer.cc:void hb_object_trace<hb_buffer_t>(hb_buffer_t const*, char const*) Line | Count | Source | 230 | 21.7k | { | 231 | 21.7k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 21.7k | "%s refcount=%d", | 233 | 21.7k | function, | 234 | 21.7k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 21.7k | } |
hb-face.cc:void hb_object_trace<hb_face_t>(hb_face_t const*, char const*) Line | Count | Source | 230 | 434k | { | 231 | 434k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 434k | "%s refcount=%d", | 233 | 434k | function, | 234 | 434k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 434k | } |
hb-font.cc:void hb_object_trace<hb_font_t>(hb_font_t const*, char const*) Line | Count | Source | 230 | 828k | { | 231 | 828k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 828k | "%s refcount=%d", | 233 | 828k | function, | 234 | 828k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 828k | } |
hb-font.cc:void hb_object_trace<hb_font_funcs_t>(hb_font_funcs_t const*, char const*) Line | Count | Source | 230 | 649k | { | 231 | 649k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 649k | "%s refcount=%d", | 233 | 649k | function, | 234 | 649k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 649k | } |
Unexecuted instantiation: hb-set.cc:void hb_object_trace<hb_set_t>(hb_set_t const*, char const*) hb-shape-plan.cc:void hb_object_trace<hb_shape_plan_t>(hb_shape_plan_t const*, char const*) Line | Count | Source | 230 | 407k | { | 231 | 407k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 407k | "%s refcount=%d", | 233 | 407k | function, | 234 | 407k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 407k | } |
hb-unicode.cc:void hb_object_trace<hb_unicode_funcs_t>(hb_unicode_funcs_t const*, char const*) Line | Count | Source | 230 | 435k | { | 231 | 435k | DEBUG_MSG (OBJECT, (void *) obj, | 232 | 435k | "%s refcount=%d", | 233 | 435k | function, | 234 | 435k | obj ? obj->header.ref_count.get_relaxed () : 0); | 235 | 435k | } |
Unexecuted instantiation: hb-draw.cc:void hb_object_trace<hb_draw_funcs_t>(hb_draw_funcs_t const*, char const*) 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 | 248k | { |
240 | 248k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); |
241 | | |
242 | 248k | if (unlikely (!obj)) |
243 | 0 | return obj; |
244 | | |
245 | 248k | new (obj) Type (std::forward<Ts> (ds)...); |
246 | | |
247 | 248k | hb_object_init (obj); |
248 | 248k | hb_object_trace (obj, HB_FUNC); |
249 | | |
250 | 248k | return obj; |
251 | 248k | } hb-blob.cc:hb_blob_t* hb_object_create<hb_blob_t>() Line | Count | Source | 239 | 6.99k | { | 240 | 6.99k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 6.99k | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 6.99k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 6.99k | hb_object_init (obj); | 248 | 6.99k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 6.99k | return obj; | 251 | 6.99k | } |
hb-buffer.cc:hb_buffer_t* hb_object_create<hb_buffer_t>() Line | Count | Source | 239 | 10.8k | { | 240 | 10.8k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 10.8k | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 10.8k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 10.8k | hb_object_init (obj); | 248 | 10.8k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 10.8k | return obj; | 251 | 10.8k | } |
hb-face.cc:hb_face_t* hb_object_create<hb_face_t>() Line | Count | Source | 239 | 8.00k | { | 240 | 8.00k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 8.00k | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 8.00k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 8.00k | hb_object_init (obj); | 248 | 8.00k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 8.00k | return obj; | 251 | 8.00k | } |
hb-font.cc:hb_font_t* hb_object_create<hb_font_t>() Line | Count | Source | 239 | 209k | { | 240 | 209k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 209k | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 209k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 209k | hb_object_init (obj); | 248 | 209k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 209k | return obj; | 251 | 209k | } |
hb-font.cc:hb_font_funcs_t* hb_object_create<hb_font_funcs_t>() Line | Count | Source | 239 | 10.8k | { | 240 | 10.8k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 10.8k | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 10.8k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 10.8k | hb_object_init (obj); | 248 | 10.8k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 10.8k | return obj; | 251 | 10.8k | } |
Unexecuted instantiation: hb-set.cc:hb_set_t* hb_object_create<hb_set_t>() hb-shape-plan.cc:hb_shape_plan_t* hb_object_create<hb_shape_plan_t>() Line | Count | Source | 239 | 2.69k | { | 240 | 2.69k | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 2.69k | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 2.69k | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 2.69k | hb_object_init (obj); | 248 | 2.69k | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 2.69k | return obj; | 251 | 2.69k | } |
hb-unicode.cc:hb_unicode_funcs_t* hb_object_create<hb_unicode_funcs_t>() Line | Count | Source | 239 | 1 | { | 240 | 1 | Type *obj = (Type *) hb_calloc (1, sizeof (Type)); | 241 | | | 242 | 1 | if (unlikely (!obj)) | 243 | 0 | return obj; | 244 | | | 245 | 1 | new (obj) Type (std::forward<Ts> (ds)...); | 246 | | | 247 | 1 | hb_object_init (obj); | 248 | 1 | hb_object_trace (obj, HB_FUNC); | 249 | | | 250 | 1 | return obj; | 251 | 1 | } |
Unexecuted instantiation: hb-draw.cc:hb_draw_funcs_t* hb_object_create<hb_draw_funcs_t>() 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 | 254k | { |
255 | 254k | obj->header.ref_count.init (); |
256 | 254k | obj->header.writable = true; |
257 | 254k | obj->header.user_data.init (); |
258 | 254k | } hb-blob.cc:void hb_object_init<hb_blob_t>(hb_blob_t*) Line | Count | Source | 254 | 6.99k | { | 255 | 6.99k | obj->header.ref_count.init (); | 256 | 6.99k | obj->header.writable = true; | 257 | 6.99k | obj->header.user_data.init (); | 258 | 6.99k | } |
hb-buffer.cc:void hb_object_init<hb_buffer_t>(hb_buffer_t*) Line | Count | Source | 254 | 10.8k | { | 255 | 10.8k | obj->header.ref_count.init (); | 256 | 10.8k | obj->header.writable = true; | 257 | 10.8k | obj->header.user_data.init (); | 258 | 10.8k | } |
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-face.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) hb-face.cc:void hb_object_init<hb_face_t>(hb_face_t*) Line | Count | Source | 254 | 8.00k | { | 255 | 8.00k | obj->header.ref_count.init (); | 256 | 8.00k | obj->header.writable = true; | 257 | 8.00k | obj->header.user_data.init (); | 258 | 8.00k | } |
Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_init<hb_hashmap_t<unsigned int, face_table_info_t, false> >(hb_hashmap_t<unsigned int, face_table_info_t, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) hb-font.cc:void hb_object_init<hb_font_t>(hb_font_t*) Line | Count | Source | 254 | 209k | { | 255 | 209k | obj->header.ref_count.init (); | 256 | 209k | obj->header.writable = true; | 257 | 209k | obj->header.user_data.init (); | 258 | 209k | } |
hb-font.cc:void hb_object_init<hb_font_funcs_t>(hb_font_funcs_t*) Line | Count | Source | 254 | 10.8k | { | 255 | 10.8k | obj->header.ref_count.init (); | 256 | 10.8k | obj->header.writable = true; | 257 | 10.8k | obj->header.user_data.init (); | 258 | 10.8k | } |
Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-set.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-set.cc:void hb_object_init<hb_set_t>(hb_set_t*) hb-shape-plan.cc:void hb_object_init<hb_shape_plan_t>(hb_shape_plan_t*) Line | Count | Source | 254 | 2.69k | { | 255 | 2.69k | obj->header.ref_count.init (); | 256 | 2.69k | obj->header.writable = true; | 257 | 2.69k | obj->header.user_data.init (); | 258 | 2.69k | } |
Unexecuted instantiation: hb-static.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-static.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-static.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) hb-unicode.cc:void hb_object_init<hb_unicode_funcs_t>(hb_unicode_funcs_t*) Line | Count | Source | 254 | 1 | { | 255 | 1 | obj->header.ref_count.init (); | 256 | 1 | obj->header.writable = true; | 257 | 1 | obj->header.user_data.init (); | 258 | 1 | } |
Unexecuted instantiation: hb-ft.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ft.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ft.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-ft.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-ft.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-ft.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ft.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-ft.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-ft.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-ft.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-ft.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ft.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_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-draw.cc:void hb_object_init<hb_draw_funcs_t>(hb_draw_funcs_t*) 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>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) 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 | 5.39k | { | 255 | 5.39k | obj->header.ref_count.init (); | 256 | 5.39k | obj->header.writable = true; | 257 | 5.39k | obj->header.user_data.init (); | 258 | 5.39k | } |
Unexecuted instantiation: hb-ot-map.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_init<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_init<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_init<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_init<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_init<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) |
259 | | template <typename Type> |
260 | | static inline bool hb_object_is_valid (const Type *obj) |
261 | 3.54M | { |
262 | 3.54M | return likely (obj->header.ref_count.is_valid ()); |
263 | 3.54M | } hb-blob.cc:bool hb_object_is_valid<hb_blob_t>(hb_blob_t const*) Line | Count | Source | 261 | 830k | { | 262 | 830k | return likely (obj->header.ref_count.is_valid ()); | 263 | 830k | } |
hb-buffer.cc:bool hb_object_is_valid<hb_buffer_t>(hb_buffer_t const*) Line | Count | Source | 261 | 10.8k | { | 262 | 10.8k | return likely (obj->header.ref_count.is_valid ()); | 263 | 10.8k | } |
hb-face.cc:bool hb_object_is_valid<hb_face_t>(hb_face_t const*) Line | Count | Source | 261 | 426k | { | 262 | 426k | return likely (obj->header.ref_count.is_valid ()); | 263 | 426k | } |
hb-font.cc:bool hb_object_is_valid<hb_font_funcs_t>(hb_font_funcs_t const*) Line | Count | Source | 261 | 429k | { | 262 | 429k | return likely (obj->header.ref_count.is_valid ()); | 263 | 429k | } |
hb-font.cc:bool hb_object_is_valid<hb_font_t>(hb_font_t const*) Line | Count | Source | 261 | 611k | { | 262 | 611k | return likely (obj->header.ref_count.is_valid ()); | 263 | 611k | } |
Unexecuted instantiation: hb-set.cc:bool hb_object_is_valid<hb_set_t>(hb_set_t const*) hb-shape-plan.cc:bool hb_object_is_valid<hb_shape_plan_t>(hb_shape_plan_t const*) Line | Count | Source | 261 | 606k | { | 262 | 606k | return likely (obj->header.ref_count.is_valid ()); | 263 | 606k | } |
hb-shape-plan.cc:bool hb_object_is_valid<hb_face_t>(hb_face_t const*) Line | Count | Source | 261 | 201k | { | 262 | 201k | return likely (obj->header.ref_count.is_valid ()); | 263 | 201k | } |
hb-unicode.cc:bool hb_object_is_valid<hb_unicode_funcs_t>(hb_unicode_funcs_t const*) Line | Count | Source | 261 | 424k | { | 262 | 424k | return likely (obj->header.ref_count.is_valid ()); | 263 | 424k | } |
Unexecuted instantiation: hb-draw.cc:bool hb_object_is_valid<hb_draw_funcs_t>(hb_draw_funcs_t const*) 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 | 2.22M | { |
267 | 2.22M | return !obj->header.writable; |
268 | 2.22M | } hb-blob.cc:bool hb_object_is_immutable<hb_blob_t>(hb_blob_t const*) Line | Count | Source | 266 | 13.9k | { | 267 | 13.9k | return !obj->header.writable; | 268 | 13.9k | } |
hb-buffer.cc:bool hb_object_is_immutable<hb_buffer_t>(hb_buffer_t const*) Line | Count | Source | 266 | 603k | { | 267 | 603k | return !obj->header.writable; | 268 | 603k | } |
hb-face.cc:bool hb_object_is_immutable<hb_face_t>(hb_face_t const*) Line | Count | Source | 266 | 235k | { | 267 | 235k | return !obj->header.writable; | 268 | 235k | } |
hb-font.cc:bool hb_object_is_immutable<hb_font_funcs_t>(hb_font_funcs_t const*) Line | Count | Source | 266 | 130k | { | 267 | 130k | return !obj->header.writable; | 268 | 130k | } |
hb-font.cc:bool hb_object_is_immutable<hb_font_t>(hb_font_t const*) Line | Count | Source | 266 | 1.03M | { | 267 | 1.03M | return !obj->header.writable; | 268 | 1.03M | } |
hb-shape-plan.cc:bool hb_object_is_immutable<hb_buffer_t>(hb_buffer_t const*) Line | Count | Source | 266 | 201k | { | 267 | 201k | return !obj->header.writable; | 268 | 201k | } |
hb-unicode.cc:bool hb_object_is_immutable<hb_unicode_funcs_t>(hb_unicode_funcs_t const*) Line | Count | Source | 266 | 8 | { | 267 | 8 | return !obj->header.writable; | 268 | 8 | } |
Unexecuted instantiation: hb-ft.cc:bool hb_object_is_immutable<hb_font_t>(hb_font_t const*) Unexecuted instantiation: hb-draw.cc:bool hb_object_is_immutable<hb_draw_funcs_t>(hb_draw_funcs_t const*) 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 | 25.8k | { |
272 | 25.8k | obj->header.writable = false; |
273 | 25.8k | } hb-blob.cc:void hb_object_make_immutable<hb_blob_t>(hb_blob_t const*) Line | Count | Source | 271 | 6.99k | { | 272 | 6.99k | obj->header.writable = false; | 273 | 6.99k | } |
hb-face.cc:void hb_object_make_immutable<hb_face_t>(hb_face_t const*) Line | Count | Source | 271 | 8.00k | { | 272 | 8.00k | obj->header.writable = false; | 273 | 8.00k | } |
hb-font.cc:void hb_object_make_immutable<hb_font_funcs_t>(hb_font_funcs_t const*) Line | Count | Source | 271 | 10.8k | { | 272 | 10.8k | obj->header.writable = false; | 273 | 10.8k | } |
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 | 1 | { | 272 | 1 | obj->header.writable = false; | 273 | 1 | } |
Unexecuted instantiation: hb-draw.cc:void hb_object_make_immutable<hb_draw_funcs_t>(hb_draw_funcs_t const*) 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 | 1.47M | { |
277 | 1.47M | hb_object_trace (obj, HB_FUNC); |
278 | 1.47M | if (unlikely (!obj || obj->header.is_inert ())) |
279 | 29.7k | return obj; |
280 | 1.44M | assert (hb_object_is_valid (obj)); |
281 | 1.44M | obj->header.ref_count.inc (); |
282 | 1.44M | return obj; |
283 | 1.44M | } hb-blob.cc:hb_blob_t* hb_object_reference<hb_blob_t>(hb_blob_t*) Line | Count | Source | 276 | 441k | { | 277 | 441k | hb_object_trace (obj, HB_FUNC); | 278 | 441k | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 29.7k | return obj; | 280 | 411k | assert (hb_object_is_valid (obj)); | 281 | 411k | obj->header.ref_count.inc (); | 282 | 411k | return obj; | 283 | 411k | } |
Unexecuted instantiation: hb-buffer.cc:hb_buffer_t* hb_object_reference<hb_buffer_t>(hb_buffer_t*) hb-face.cc:hb_face_t* hb_object_reference<hb_face_t>(hb_face_t*) Line | Count | Source | 276 | 209k | { | 277 | 209k | hb_object_trace (obj, HB_FUNC); | 278 | 209k | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 0 | return obj; | 280 | 209k | assert (hb_object_is_valid (obj)); | 281 | 209k | obj->header.ref_count.inc (); | 282 | 209k | return obj; | 283 | 209k | } |
hb-font.cc:hb_font_funcs_t* hb_object_reference<hb_font_funcs_t>(hb_font_funcs_t*) Line | Count | Source | 276 | 209k | { | 277 | 209k | hb_object_trace (obj, HB_FUNC); | 278 | 209k | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 0 | return obj; | 280 | 209k | assert (hb_object_is_valid (obj)); | 281 | 209k | obj->header.ref_count.inc (); | 282 | 209k | return obj; | 283 | 209k | } |
hb-font.cc:hb_font_t* hb_object_reference<hb_font_t>(hb_font_t*) Line | Count | Source | 276 | 201k | { | 277 | 201k | hb_object_trace (obj, HB_FUNC); | 278 | 201k | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 0 | return obj; | 280 | 201k | assert (hb_object_is_valid (obj)); | 281 | 201k | obj->header.ref_count.inc (); | 282 | 201k | return obj; | 283 | 201k | } |
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 | 201k | { | 277 | 201k | hb_object_trace (obj, HB_FUNC); | 278 | 201k | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 0 | return obj; | 280 | 201k | assert (hb_object_is_valid (obj)); | 281 | 201k | obj->header.ref_count.inc (); | 282 | 201k | return obj; | 283 | 201k | } |
hb-unicode.cc:hb_unicode_funcs_t* hb_object_reference<hb_unicode_funcs_t>(hb_unicode_funcs_t*) Line | Count | Source | 276 | 212k | { | 277 | 212k | hb_object_trace (obj, HB_FUNC); | 278 | 212k | if (unlikely (!obj || obj->header.is_inert ())) | 279 | 1 | return obj; | 280 | 212k | assert (hb_object_is_valid (obj)); | 281 | 212k | obj->header.ref_count.inc (); | 282 | 212k | return obj; | 283 | 212k | } |
Unexecuted instantiation: hb-draw.cc:hb_draw_funcs_t* hb_object_reference<hb_draw_funcs_t>(hb_draw_funcs_t*) Unexecuted instantiation: hb-paint.cc:hb_paint_funcs_t* hb_object_reference<hb_paint_funcs_t>(hb_paint_funcs_t*) |
284 | | template <typename Type> |
285 | | static inline bool hb_object_destroy (Type *obj) |
286 | 1.96M | { |
287 | 1.96M | hb_object_trace (obj, HB_FUNC); |
288 | 1.96M | if (unlikely (!obj || obj->header.is_inert ())) |
289 | 269k | return false; |
290 | 1.69M | assert (hb_object_is_valid (obj)); |
291 | 1.69M | if (obj->header.ref_count.dec () != 1) |
292 | 1.44M | return false; |
293 | | |
294 | 248k | hb_object_fini (obj); |
295 | | |
296 | 248k | if (!std::is_trivially_destructible<Type>::value) |
297 | 9.69k | obj->~Type (); |
298 | | |
299 | 248k | return true; |
300 | 1.69M | } hb-blob.cc:bool hb_object_destroy<hb_blob_t>(hb_blob_t*) Line | Count | Source | 286 | 459k | { | 287 | 459k | hb_object_trace (obj, HB_FUNC); | 288 | 459k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 41.1k | return false; | 290 | 418k | assert (hb_object_is_valid (obj)); | 291 | 418k | if (obj->header.ref_count.dec () != 1) | 292 | 411k | return false; | 293 | | | 294 | 6.99k | hb_object_fini (obj); | 295 | | | 296 | 6.99k | if (!std::is_trivially_destructible<Type>::value) | 297 | 6.99k | obj->~Type (); | 298 | | | 299 | 6.99k | return true; | 300 | 418k | } |
hb-buffer.cc:bool hb_object_destroy<hb_buffer_t>(hb_buffer_t*) Line | Count | Source | 286 | 10.8k | { | 287 | 10.8k | hb_object_trace (obj, HB_FUNC); | 288 | 10.8k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 0 | return false; | 290 | 10.8k | assert (hb_object_is_valid (obj)); | 291 | 10.8k | if (obj->header.ref_count.dec () != 1) | 292 | 0 | return false; | 293 | | | 294 | 10.8k | hb_object_fini (obj); | 295 | | | 296 | 10.8k | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 10.8k | return true; | 300 | 10.8k | } |
hb-face.cc:bool hb_object_destroy<hb_face_t>(hb_face_t*) Line | Count | Source | 286 | 217k | { | 287 | 217k | hb_object_trace (obj, HB_FUNC); | 288 | 217k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 0 | return false; | 290 | 217k | assert (hb_object_is_valid (obj)); | 291 | 217k | if (obj->header.ref_count.dec () != 1) | 292 | 209k | return false; | 293 | | | 294 | 8.00k | hb_object_fini (obj); | 295 | | | 296 | 8.00k | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 8.00k | return true; | 300 | 217k | } |
hb-font.cc:bool hb_object_destroy<hb_font_funcs_t>(hb_font_funcs_t*) Line | Count | Source | 286 | 429k | { | 287 | 429k | hb_object_trace (obj, HB_FUNC); | 288 | 429k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 209k | return false; | 290 | 220k | assert (hb_object_is_valid (obj)); | 291 | 220k | if (obj->header.ref_count.dec () != 1) | 292 | 209k | return false; | 293 | | | 294 | 10.8k | hb_object_fini (obj); | 295 | | | 296 | 10.8k | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 10.8k | return true; | 300 | 220k | } |
hb-font.cc:bool hb_object_destroy<hb_font_t>(hb_font_t*) Line | Count | Source | 286 | 418k | { | 287 | 418k | hb_object_trace (obj, HB_FUNC); | 288 | 418k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 8.00k | return false; | 290 | 410k | assert (hb_object_is_valid (obj)); | 291 | 410k | if (obj->header.ref_count.dec () != 1) | 292 | 201k | return false; | 293 | | | 294 | 209k | hb_object_fini (obj); | 295 | | | 296 | 209k | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 209k | return true; | 300 | 410k | } |
Unexecuted instantiation: hb-set.cc:bool hb_object_destroy<hb_set_t>(hb_set_t*) hb-shape-plan.cc:bool hb_object_destroy<hb_shape_plan_t>(hb_shape_plan_t*) Line | Count | Source | 286 | 203k | { | 287 | 203k | hb_object_trace (obj, HB_FUNC); | 288 | 203k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 0 | return false; | 290 | 203k | assert (hb_object_is_valid (obj)); | 291 | 203k | if (obj->header.ref_count.dec () != 1) | 292 | 201k | return false; | 293 | | | 294 | 2.69k | hb_object_fini (obj); | 295 | | | 296 | 2.69k | if (!std::is_trivially_destructible<Type>::value) | 297 | 2.69k | obj->~Type (); | 298 | | | 299 | 2.69k | return true; | 300 | 203k | } |
hb-unicode.cc:bool hb_object_destroy<hb_unicode_funcs_t>(hb_unicode_funcs_t*) Line | Count | Source | 286 | 222k | { | 287 | 222k | hb_object_trace (obj, HB_FUNC); | 288 | 222k | if (unlikely (!obj || obj->header.is_inert ())) | 289 | 10.8k | return false; | 290 | 212k | assert (hb_object_is_valid (obj)); | 291 | 212k | if (obj->header.ref_count.dec () != 1) | 292 | 212k | return false; | 293 | | | 294 | 1 | hb_object_fini (obj); | 295 | | | 296 | 1 | if (!std::is_trivially_destructible<Type>::value) | 297 | 0 | obj->~Type (); | 298 | | | 299 | 1 | return true; | 300 | 212k | } |
Unexecuted instantiation: hb-draw.cc:bool hb_object_destroy<hb_draw_funcs_t>(hb_draw_funcs_t*) 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 | 254k | { |
304 | 254k | obj->header.ref_count.fini (); /* Do this before user_data */ |
305 | 254k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); |
306 | 254k | 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 | 254k | } hb-blob.cc:void hb_object_fini<hb_blob_t>(hb_blob_t*) Line | Count | Source | 303 | 6.99k | { | 304 | 6.99k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 6.99k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 6.99k | 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 | 6.99k | } |
hb-buffer.cc:void hb_object_fini<hb_buffer_t>(hb_buffer_t*) Line | Count | Source | 303 | 10.8k | { | 304 | 10.8k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 10.8k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 10.8k | 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 | 10.8k | } |
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-face.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) hb-face.cc:void hb_object_fini<hb_face_t>(hb_face_t*) Line | Count | Source | 303 | 8.00k | { | 304 | 8.00k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 8.00k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 8.00k | 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 | 8.00k | } |
Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_fini<hb_hashmap_t<unsigned int, face_table_info_t, false> >(hb_hashmap_t<unsigned int, face_table_info_t, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-face-builder.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) hb-font.cc:void hb_object_fini<hb_font_funcs_t>(hb_font_funcs_t*) Line | Count | Source | 303 | 10.8k | { | 304 | 10.8k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 10.8k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 10.8k | 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 | 10.8k | } |
hb-font.cc:void hb_object_fini<hb_font_t>(hb_font_t*) Line | Count | Source | 303 | 209k | { | 304 | 209k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 209k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 209k | 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 | 209k | } |
Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: hb-ot-face.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-font.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-metrics.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-var.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-set.cc:void hb_object_fini<hb_set_t>(hb_set_t*) 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>*) hb-shape-plan.cc:void hb_object_fini<hb_shape_plan_t>(hb_shape_plan_t*) Line | Count | Source | 303 | 2.69k | { | 304 | 2.69k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 2.69k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 2.69k | if (user_data) | 307 | 0 | { | 308 | 0 | user_data->fini (); | 309 | 0 | hb_free (user_data); | 310 | 0 | obj->header.user_data.set_relaxed (nullptr); | 311 | 0 | } | 312 | 2.69k | } |
Unexecuted instantiation: hb-static.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-static.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-static.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-static.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) hb-unicode.cc:void hb_object_fini<hb_unicode_funcs_t>(hb_unicode_funcs_t*) Line | Count | Source | 303 | 1 | { | 304 | 1 | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 1 | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 1 | if (user_data) | 307 | 0 | { | 308 | 0 | user_data->fini (); | 309 | 0 | hb_free (user_data); | 310 | 0 | obj->header.user_data.set_relaxed (nullptr); | 311 | 0 | } | 312 | 1 | } |
Unexecuted instantiation: hb-ft.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ft.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ft.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-ft.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ft.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-ft.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-ft.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-ft.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-ft.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-ft.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-ft.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ft.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_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-aat-map.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-draw.cc:void hb_object_fini<hb_draw_funcs_t>(hb_draw_funcs_t*) 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-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 | 5.39k | { | 304 | 5.39k | obj->header.ref_count.fini (); /* Do this before user_data */ | 305 | 5.39k | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); | 306 | 5.39k | 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 | 5.39k | } |
Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_set_t>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-layout.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-map.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-arabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_set_t, false> >(hb_hashmap_t<unsigned int, hb_set_t, false>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-default.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-hangul.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-hebrew.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-indic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-khmer.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-myanmar.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-syllabic.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-thai.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-use.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-vowel-constraints.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, hb_vector_t<unsigned char, false>, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<bool, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false> >(hb_hashmap_t<hb_hashmap_t<unsigned int, Triple, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false> >(hb_hashmap_t<unsigned int, hb_vector_t<int, false> const*, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false> >(hb_hashmap_t<hb_vector_t<unsigned char, false>, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-fallback.cc:void hb_object_fini<hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false> >(hb_hashmap_t<hb_vector_t<int, false> const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shape-normalize.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_fini<hb_sparseset_t<hb_bit_set_invertible_t> >(hb_sparseset_t<hb_bit_set_invertible_t>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, unsigned int, true> >(hb_hashmap_t<unsigned int, unsigned int, true>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_fini<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false> >(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, Triple, false> >(hb_hashmap_t<unsigned int, Triple, false>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false> >(hb_hashmap_t<unsigned int, hb_vector_t<unsigned int, false>, false>*) Unexecuted instantiation: hb-ot-shaper-indic-table.cc:void hb_object_fini<hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false> >(hb_hashmap_t<unsigned int, hb::unique_ptr<hb_blob_t>, false>*) |
313 | | template <typename Type> |
314 | | static inline bool hb_object_set_user_data (Type *obj, |
315 | | hb_user_data_key_t *key, |
316 | | void * data, |
317 | | hb_destroy_func_t destroy, |
318 | | hb_bool_t replace) |
319 | 0 | { |
320 | 0 | if (unlikely (!obj || obj->header.is_inert ())) |
321 | 0 | return false; |
322 | 0 | assert (hb_object_is_valid (obj)); |
323 | | |
324 | 0 | retry: |
325 | 0 | hb_user_data_array_t *user_data = obj->header.user_data.get_acquire (); |
326 | 0 | if (unlikely (!user_data)) |
327 | 0 | { |
328 | 0 | user_data = (hb_user_data_array_t *) hb_calloc (1, sizeof (hb_user_data_array_t)); |
329 | 0 | if (unlikely (!user_data)) |
330 | 0 | return false; |
331 | 0 | user_data->init (); |
332 | 0 | if (unlikely (!obj->header.user_data.cmpexch (nullptr, user_data))) |
333 | 0 | { |
334 | 0 | user_data->fini (); |
335 | 0 | hb_free (user_data); |
336 | 0 | goto retry; |
337 | 0 | } |
338 | 0 | } |
339 | | |
340 | 0 | return user_data->set (key, data, destroy, replace); |
341 | 0 | } Unexecuted instantiation: hb-blob.cc:bool hb_object_set_user_data<hb_blob_t>(hb_blob_t*, hb_user_data_key_t*, void*, void (*)(void*), int) Unexecuted instantiation: hb-buffer.cc:bool hb_object_set_user_data<hb_buffer_t>(hb_buffer_t*, hb_user_data_key_t*, void*, void (*)(void*), int) Unexecuted instantiation: hb-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-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-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-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-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-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 */ |