/src/harfbuzz/src/hb-serialize.hh
Line | Count | Source |
1 | | /* |
2 | | * Copyright © 2007,2008,2009,2010 Red Hat, Inc. |
3 | | * Copyright © 2012,2018 Google, Inc. |
4 | | * Copyright © 2019 Facebook, 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 | | * Red Hat Author(s): Behdad Esfahbod |
27 | | * Google Author(s): Behdad Esfahbod |
28 | | * Facebook Author(s): Behdad Esfahbod |
29 | | */ |
30 | | |
31 | | #ifndef HB_SERIALIZE_HH |
32 | | #define HB_SERIALIZE_HH |
33 | | |
34 | | #include "hb.hh" |
35 | | #include "hb-blob.hh" |
36 | | #include "hb-map.hh" |
37 | | #include "hb-free-pool.hh" |
38 | | |
39 | | #include "hb-subset-serialize.h" |
40 | | |
41 | | /* |
42 | | * Serialize |
43 | | */ |
44 | | |
45 | | enum hb_serialize_error_t { |
46 | | HB_SERIALIZE_ERROR_NONE = 0x00000000u, |
47 | | HB_SERIALIZE_ERROR_OTHER = 0x00000001u, |
48 | | HB_SERIALIZE_ERROR_OFFSET_OVERFLOW = 0x00000002u, |
49 | | HB_SERIALIZE_ERROR_OUT_OF_ROOM = 0x00000004u, |
50 | | HB_SERIALIZE_ERROR_INT_OVERFLOW = 0x00000008u, |
51 | | HB_SERIALIZE_ERROR_ARRAY_OVERFLOW = 0x00000010u |
52 | | }; |
53 | | HB_MARK_AS_FLAG_T (hb_serialize_error_t); |
54 | | |
55 | | struct hb_serialize_context_t |
56 | | { |
57 | | typedef unsigned objidx_t; |
58 | | |
59 | | enum whence_t { |
60 | | Head, /* Relative to the current object head (default). */ |
61 | | Tail, /* Relative to the current object tail after packed. */ |
62 | | Absolute /* Absolute: from the start of the serialize buffer. */ |
63 | | }; |
64 | | |
65 | | |
66 | | |
67 | | struct object_t |
68 | | { |
69 | 43.7M | void fini () { |
70 | 43.7M | real_links.fini (); |
71 | 43.7M | virtual_links.fini (); |
72 | 43.7M | } |
73 | | |
74 | 4.75M | object_t () = default; |
75 | | |
76 | | object_t (const hb_subset_serialize_object_t &o) |
77 | 11.3M | { |
78 | 11.3M | head = o.head; |
79 | 11.3M | tail = o.tail; |
80 | 11.3M | next = nullptr; |
81 | 11.3M | real_links.alloc_exact (o.num_real_links); |
82 | 29.2M | for (unsigned i = 0 ; i < o.num_real_links; i++) |
83 | 17.8M | real_links.push (o.real_links[i]); |
84 | | |
85 | 11.3M | virtual_links.alloc_exact (o.num_virtual_links); |
86 | 11.3M | for (unsigned i = 0; i < o.num_virtual_links; i++) |
87 | 0 | virtual_links.push (o.virtual_links[i]); |
88 | 11.3M | } |
89 | | |
90 | | bool in_error () const |
91 | 11.5M | { |
92 | 11.5M | return real_links.in_error() || virtual_links.in_error(); |
93 | 11.5M | } |
94 | | |
95 | | bool add_virtual_link (objidx_t objidx) |
96 | 31.2M | { |
97 | 31.2M | if (!objidx) |
98 | 0 | return false; |
99 | | |
100 | 31.2M | auto& link = *virtual_links.push (); |
101 | 31.2M | if (virtual_links.in_error ()) |
102 | 0 | return false; |
103 | | |
104 | 31.2M | link.objidx = objidx; |
105 | | // Remaining fields were previously zero'd by push(): |
106 | | // link.width = 0; |
107 | | // link.is_signed = 0; |
108 | | // link.whence = 0; |
109 | | // link.position = 0; |
110 | | // link.bias = 0; |
111 | | |
112 | 31.2M | return true; |
113 | 31.2M | } |
114 | | |
115 | | friend void swap (object_t& a, object_t& b) noexcept |
116 | 0 | { |
117 | 0 | hb_swap (a.head, b.head); |
118 | 0 | hb_swap (a.tail, b.tail); |
119 | 0 | hb_swap (a.next, b.next); |
120 | 0 | hb_swap (a.real_links, b.real_links); |
121 | 0 | hb_swap (a.virtual_links, b.virtual_links); |
122 | 0 | } |
123 | | |
124 | | bool operator == (const object_t &o) const |
125 | 39.8M | { |
126 | | // Virtual links aren't considered for equality since they don't affect the functionality |
127 | | // of the object. |
128 | 39.8M | return (tail - head == o.tail - o.head) |
129 | 39.6M | && (real_links.length == o.real_links.length) |
130 | 39.6M | && 0 == hb_memcmp (head, o.head, tail - head) |
131 | 39.6M | && real_links.as_bytes () == o.real_links.as_bytes (); |
132 | 39.8M | } |
133 | | uint32_t hash () const |
134 | 40.6M | { |
135 | | // Virtual links aren't considered for equality since they don't affect the functionality |
136 | | // of the object. |
137 | 40.6M | return hb_bytes_t (head, hb_min (128, tail - head)).hash () ^ |
138 | 40.6M | real_links.as_bytes ().hash (); |
139 | 40.6M | } |
140 | | |
141 | | struct link_t |
142 | | { |
143 | | unsigned width: 3; |
144 | | unsigned is_signed: 1; |
145 | | unsigned whence: 2; |
146 | | unsigned bias : 26; |
147 | | unsigned position; |
148 | | objidx_t objidx; |
149 | | |
150 | | link_t () = default; |
151 | | |
152 | | link_t (const hb_subset_serialize_link_t &o) |
153 | 17.7M | { |
154 | 17.7M | width = o.width; |
155 | 17.7M | is_signed = 0; |
156 | 17.7M | whence = 0; |
157 | 17.7M | position = o.position; |
158 | 17.7M | bias = 0; |
159 | 17.7M | objidx = o.objidx; |
160 | 17.7M | } |
161 | | |
162 | | HB_INTERNAL static int cmp (const void* a, const void* b) |
163 | 5.53M | { |
164 | 5.53M | int cmp = ((const link_t*)a)->position - ((const link_t*)b)->position; |
165 | 5.53M | if (cmp) return cmp; |
166 | | |
167 | 2.54k | return ((const link_t*)a)->objidx - ((const link_t*)b)->objidx; |
168 | 5.53M | } |
169 | | }; |
170 | | |
171 | | char *head; |
172 | | char *tail; |
173 | | hb_vector_t<link_t> real_links; |
174 | | hb_vector_t<link_t> virtual_links; |
175 | | object_t *next; |
176 | | |
177 | | auto all_links () const HB_AUTO_RETURN |
178 | | (( hb_concat (real_links, virtual_links) )); |
179 | | auto all_links_writer () HB_AUTO_RETURN |
180 | | (( hb_concat (real_links.writer (), virtual_links.writer ()) )); |
181 | | }; |
182 | | |
183 | | struct snapshot_t |
184 | | { |
185 | | char *head; |
186 | | char *tail; |
187 | | object_t *current; // Just for sanity check |
188 | | unsigned num_real_links; |
189 | | unsigned num_virtual_links; |
190 | | hb_serialize_error_t errors; |
191 | | }; |
192 | | |
193 | | snapshot_t snapshot () |
194 | 279M | { |
195 | 279M | return snapshot_t { |
196 | 279M | head, tail, current, |
197 | 279M | current ? current->real_links.length : 0, |
198 | 279M | current ? current->virtual_links.length : 0, |
199 | 279M | errors |
200 | 279M | }; |
201 | 279M | } |
202 | | |
203 | | hb_serialize_context_t (void *start_, size_t size) : |
204 | 120k | start ((char *) start_), |
205 | 120k | end (start + size), |
206 | 120k | current (nullptr) |
207 | 120k | { reset (); } |
208 | 120k | ~hb_serialize_context_t () { fini (); } |
209 | | |
210 | | void fini () |
211 | 250k | { |
212 | 1.10M | for (object_t *_ : ++hb_iter (packed)) _->fini (); |
213 | 250k | packed.fini (); |
214 | 250k | this->packed_map.fini (); |
215 | | |
216 | 346k | while (current) |
217 | 96.0k | { |
218 | 96.0k | auto *_ = current; |
219 | 96.0k | current = current->next; |
220 | 96.0k | _->fini (); |
221 | 96.0k | } |
222 | 250k | } |
223 | | |
224 | 2.97G | bool in_error () const { return bool (errors); } |
225 | | |
226 | 3.21M | bool successful () const { return !bool (errors); } |
227 | | |
228 | 106k | HB_NODISCARD bool ran_out_of_room () const { return errors & HB_SERIALIZE_ERROR_OUT_OF_ROOM; } |
229 | 78.4k | HB_NODISCARD bool offset_overflow () const { return errors & HB_SERIALIZE_ERROR_OFFSET_OVERFLOW; } |
230 | 5.38k | HB_NODISCARD bool only_offset_overflow () const { return errors == HB_SERIALIZE_ERROR_OFFSET_OVERFLOW; } |
231 | | HB_NODISCARD bool only_overflow () const |
232 | 37.1k | { |
233 | 37.1k | return errors == HB_SERIALIZE_ERROR_OFFSET_OVERFLOW |
234 | 37.1k | || errors == HB_SERIALIZE_ERROR_INT_OVERFLOW |
235 | 29.0k | || errors == HB_SERIALIZE_ERROR_ARRAY_OVERFLOW; |
236 | 37.1k | } |
237 | | |
238 | | void reset (void *start_, size_t size) |
239 | 8.56k | { |
240 | 8.56k | start = (char*) start_; |
241 | 8.56k | end = start + size; |
242 | 8.56k | reset (); |
243 | 8.56k | current = nullptr; |
244 | 8.56k | } |
245 | | |
246 | | void reset () |
247 | 129k | { |
248 | 129k | this->errors = HB_SERIALIZE_ERROR_NONE; |
249 | 129k | this->head = this->start; |
250 | 129k | this->tail = this->end; |
251 | 129k | this->zerocopy = nullptr; |
252 | 129k | this->debug_depth = 0; |
253 | | |
254 | 129k | fini (); |
255 | 129k | this->packed.push (nullptr); |
256 | 129k | this->packed_map.init (); |
257 | 129k | } |
258 | | |
259 | | bool check_success (bool success, |
260 | | hb_serialize_error_t err_type = HB_SERIALIZE_ERROR_OTHER) |
261 | 3.00M | { |
262 | 3.00M | return successful () |
263 | 3.00M | && (success || err (err_type)); |
264 | 3.00M | } |
265 | | |
266 | | template <typename T1, typename T2> |
267 | | bool check_equal (T1 &&v1, T2 &&v2, hb_serialize_error_t err_type) |
268 | 59.3M | { |
269 | 59.3M | if ((long long) v1 != (long long) v2) |
270 | 6.39M | { |
271 | 6.39M | return err (err_type); |
272 | 6.39M | } |
273 | 52.9M | return true; |
274 | 59.3M | } bool hb_serialize_context_t::check_equal<HBInt<true, int, 4>&, unsigned int&>(HBInt<true, int, 4>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 11.5k | { | 269 | 11.5k | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 11.5k | return true; | 274 | 11.5k | } |
bool hb_serialize_context_t::check_equal<HBInt<true, short, 2>&, unsigned int&>(HBInt<true, short, 2>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 774 | { | 269 | 774 | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 774 | return true; | 274 | 774 | } |
bool hb_serialize_context_t::check_equal<HBInt<true, unsigned int, 4>&, unsigned int&>(HBInt<true, unsigned int, 4>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 75.6k | { | 269 | 75.6k | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 75.6k | return true; | 274 | 75.6k | } |
bool hb_serialize_context_t::check_equal<HBInt<true, unsigned int, 3>&, unsigned int&>(HBInt<true, unsigned int, 3>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 21.5k | { | 269 | 21.5k | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 21.5k | return true; | 274 | 21.5k | } |
bool hb_serialize_context_t::check_equal<HBInt<true, unsigned short, 2>&, unsigned int&>(HBInt<true, unsigned short, 2>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 19.5M | { | 269 | 19.5M | if ((long long) v1 != (long long) v2) | 270 | 6.39M | { | 271 | 6.39M | return err (err_type); | 272 | 6.39M | } | 273 | 13.2M | return true; | 274 | 19.5M | } |
bool hb_serialize_context_t::check_equal<OT::NumType<true, unsigned int, 3u>&, unsigned int&>(OT::NumType<true, unsigned int, 3u>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 2 | { | 269 | 2 | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 2 | return true; | 274 | 2 | } |
bool hb_serialize_context_t::check_equal<OT::NumType<true, unsigned short, 2u>&, unsigned int&>(OT::NumType<true, unsigned short, 2u>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 31.7M | { | 269 | 31.7M | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 31.7M | return true; | 274 | 31.7M | } |
bool hb_serialize_context_t::check_equal<OT::BinSearchHeader<OT::NumType<true, unsigned short, 2u> >&, unsigned int&>(OT::BinSearchHeader<OT::NumType<true, unsigned short, 2u> >&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 13.1k | { | 269 | 13.1k | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 13.1k | return true; | 274 | 13.1k | } |
bool hb_serialize_context_t::check_equal<OT::Offset<OT::NumType<true, unsigned int, 4u>, true>&, unsigned int&>(OT::Offset<OT::NumType<true, unsigned int, 4u>, true>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 97.9k | { | 269 | 97.9k | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 97.9k | return true; | 274 | 97.9k | } |
bool hb_serialize_context_t::check_equal<OT::NumType<true, unsigned short, 2u>&, unsigned int const&>(OT::NumType<true, unsigned short, 2u>&, unsigned int const&, hb_serialize_error_t) Line | Count | Source | 268 | 7.56M | { | 269 | 7.56M | if ((long long) v1 != (long long) v2) | 270 | 180 | { | 271 | 180 | return err (err_type); | 272 | 180 | } | 273 | 7.56M | return true; | 274 | 7.56M | } |
bool hb_serialize_context_t::check_equal<OT::NumType<true, short, 2u>&, int&>(OT::NumType<true, short, 2u>&, int&, hb_serialize_error_t) Line | Count | Source | 268 | 2.35k | { | 269 | 2.35k | if ((long long) v1 != (long long) v2) | 270 | 5 | { | 271 | 5 | return err (err_type); | 272 | 5 | } | 273 | 2.35k | return true; | 274 | 2.35k | } |
bool hb_serialize_context_t::check_equal<OT::VarIdx&, unsigned int&>(OT::VarIdx&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 60.2k | { | 269 | 60.2k | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 60.2k | return true; | 274 | 60.2k | } |
bool hb_serialize_context_t::check_equal<OT::NumType<true, unsigned short, 2u>&, int&>(OT::NumType<true, unsigned short, 2u>&, int&, hb_serialize_error_t) Line | Count | Source | 268 | 2.85k | { | 269 | 2.85k | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 2.85k | return true; | 274 | 2.85k | } |
bool hb_serialize_context_t::check_equal<OT::NumType<true, short, 2u>&, float&>(OT::NumType<true, short, 2u>&, float&, hb_serialize_error_t) Line | Count | Source | 268 | 7.99k | { | 269 | 7.99k | if ((long long) v1 != (long long) v2) | 270 | 1 | { | 271 | 1 | return err (err_type); | 272 | 1 | } | 273 | 7.99k | return true; | 274 | 7.99k | } |
bool hb_serialize_context_t::check_equal<OT::NumType<true, unsigned short, 2u>&, float&>(OT::NumType<true, unsigned short, 2u>&, float&, hb_serialize_error_t) Line | Count | Source | 268 | 866 | { | 269 | 866 | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 866 | return true; | 274 | 866 | } |
bool hb_serialize_context_t::check_equal<OT::NumType<true, short, 2u>&, unsigned int&>(OT::NumType<true, short, 2u>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 8.95k | { | 269 | 8.95k | if ((long long) v1 != (long long) v2) | 270 | 1 | { | 271 | 1 | return err (err_type); | 272 | 1 | } | 273 | 8.95k | return true; | 274 | 8.95k | } |
bool hb_serialize_context_t::check_equal<OT::NumType<true, unsigned int, 4u>&, unsigned int&>(OT::NumType<true, unsigned int, 4u>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 11.4k | { | 269 | 11.4k | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 11.4k | return true; | 274 | 11.4k | } |
bool hb_serialize_context_t::check_equal<OT::Extend&, OT::Extend const&>(OT::Extend&, OT::Extend const&, hb_serialize_error_t) Line | Count | Source | 268 | 16.8k | { | 269 | 16.8k | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 16.8k | return true; | 274 | 16.8k | } |
bool hb_serialize_context_t::check_equal<OT::NumType<true, unsigned short, 2u>&, OT::NumType<true, unsigned short, 2u> const&>(OT::NumType<true, unsigned short, 2u>&, OT::NumType<true, unsigned short, 2u> const&, hb_serialize_error_t) Line | Count | Source | 268 | 19.9k | { | 269 | 19.9k | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 19.9k | return true; | 274 | 19.9k | } |
bool hb_serialize_context_t::check_equal<OT::HBGlyphID24&, unsigned int const&>(OT::HBGlyphID24&, unsigned int const&, hb_serialize_error_t) Line | Count | Source | 268 | 155 | { | 269 | 155 | if ((long long) v1 != (long long) v2) | 270 | 25 | { | 271 | 25 | return err (err_type); | 272 | 25 | } | 273 | 130 | return true; | 274 | 155 | } |
bool hb_serialize_context_t::check_equal<OT::NumType<true, unsigned char, 1u>&, OT::NumType<true, unsigned char, 1u> const&>(OT::NumType<true, unsigned char, 1u>&, OT::NumType<true, unsigned char, 1u> const&, hb_serialize_error_t) Line | Count | Source | 268 | 791 | { | 269 | 791 | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 791 | return true; | 274 | 791 | } |
bool hb_serialize_context_t::check_equal<OT::HBGlyphID16&, unsigned int const&>(OT::HBGlyphID16&, unsigned int const&, hb_serialize_error_t) Line | Count | Source | 268 | 27.9k | { | 269 | 27.9k | if ((long long) v1 != (long long) v2) | 270 | 502 | { | 271 | 502 | return err (err_type); | 272 | 502 | } | 273 | 27.4k | return true; | 274 | 27.9k | } |
bool hb_serialize_context_t::check_equal<OT::NumType<true, int, 4u>&, int&>(OT::NumType<true, int, 4u>&, int&, hb_serialize_error_t) Line | Count | Source | 268 | 12.0k | { | 269 | 12.0k | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 12.0k | return true; | 274 | 12.0k | } |
bool hb_serialize_context_t::check_equal<OT::Layout::GPOS_impl::ValueFormat&, OT::Layout::GPOS_impl::ValueFormat&>(OT::Layout::GPOS_impl::ValueFormat&, OT::Layout::GPOS_impl::ValueFormat&, hb_serialize_error_t) Line | Count | Source | 268 | 6.51k | { | 269 | 6.51k | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 6.51k | return true; | 274 | 6.51k | } |
bool hb_serialize_context_t::check_equal<OT::OffsetTo<OT::UnsizedArrayOf<OT::StatAxisRecord>, OT::NumType<true, unsigned int, 4u>, void, false>&, unsigned long&>(OT::OffsetTo<OT::UnsizedArrayOf<OT::StatAxisRecord>, OT::NumType<true, unsigned int, 4u>, void, false>&, unsigned long&, hb_serialize_error_t) Line | Count | Source | 268 | 368 | { | 269 | 368 | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 368 | return true; | 274 | 368 | } |
bool hb_serialize_context_t::check_equal<OT::OffsetTo<OT::AxisRecord, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned long&>(OT::OffsetTo<OT::AxisRecord, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned long&, hb_serialize_error_t) Line | Count | Source | 268 | 1.16k | { | 269 | 1.16k | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 1.16k | return true; | 274 | 1.16k | } |
bool hb_serialize_context_t::check_equal<OT::HBGlyphID16&, unsigned int&>(OT::HBGlyphID16&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 990 | { | 269 | 990 | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 990 | return true; | 274 | 990 | } |
bool hb_serialize_context_t::check_equal<OT::HBGlyphID24&, unsigned int&>(OT::HBGlyphID24&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 16 | { | 269 | 16 | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 16 | return true; | 274 | 16 | } |
bool hb_serialize_context_t::check_equal<OT::NumType<true, unsigned char, 1u>&, unsigned int&>(OT::NumType<true, unsigned char, 1u>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 290 | { | 269 | 290 | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 290 | return true; | 274 | 290 | } |
bool hb_serialize_context_t::check_equal<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::TupleVarCount&, unsigned int&>(OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::TupleVarCount&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 148 | { | 269 | 148 | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 148 | return true; | 274 | 148 | } |
bool hb_serialize_context_t::check_equal<OT::OffsetTo<OT::NumType<true, unsigned char, 1u>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int&>(OT::OffsetTo<OT::NumType<true, unsigned char, 1u>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 268 | 148 | { | 269 | 148 | if ((long long) v1 != (long long) v2) | 270 | 0 | { | 271 | 0 | return err (err_type); | 272 | 0 | } | 273 | 148 | return true; | 274 | 148 | } |
Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::TupleVariationData<OT::NumType<true, unsigned int, 3u> >::TupleVarCount&, unsigned int&>(OT::TupleVariationData<OT::NumType<true, unsigned int, 3u> >::TupleVarCount&, unsigned int&, hb_serialize_error_t) Unexecuted instantiation: bool hb_serialize_context_t::check_equal<OT::OffsetTo<OT::NumType<true, unsigned char, 1u>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int&>(OT::OffsetTo<OT::NumType<true, unsigned char, 1u>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int&, hb_serialize_error_t) |
275 | | |
276 | | template <typename T1, typename T2> |
277 | | bool check_assign (T1 &v1, T2 &&v2, hb_serialize_error_t err_type) |
278 | 59.3M | { return check_equal (v1 = v2, v2, err_type); }bool hb_serialize_context_t::check_assign<HBInt<true, int, 4>, unsigned int&>(HBInt<true, int, 4>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 278 | 11.5k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<HBInt<true, short, 2>, unsigned int&>(HBInt<true, short, 2>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 278 | 774 | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<HBInt<true, unsigned int, 4>, unsigned int&>(HBInt<true, unsigned int, 4>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 278 | 75.6k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<HBInt<true, unsigned int, 3>, unsigned int&>(HBInt<true, unsigned int, 3>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 278 | 21.5k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<HBInt<true, unsigned short, 2>, unsigned int&>(HBInt<true, unsigned short, 2>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 278 | 19.5M | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::NumType<true, unsigned int, 3u>, unsigned int&>(OT::NumType<true, unsigned int, 3u>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 278 | 2 | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::NumType<true, unsigned short, 2u>, unsigned int&>(OT::NumType<true, unsigned short, 2u>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 278 | 471k | { return check_equal (v1 = v2, v2, err_type); } |
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::NumType<true, short, 2u>, int>(OT::NumType<true, short, 2u>&, int&&, hb_serialize_error_t) bool hb_serialize_context_t::check_assign<OT::NumType<true, unsigned short, 2u>, unsigned int>(OT::NumType<true, unsigned short, 2u>&, unsigned int&&, hb_serialize_error_t) Line | Count | Source | 278 | 31.3M | { return check_equal (v1 = v2, v2, err_type); } |
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::NumType<true, unsigned int, 3u>, unsigned int>(OT::NumType<true, unsigned int, 3u>&, unsigned int&&, hb_serialize_error_t) bool hb_serialize_context_t::check_assign<OT::BinSearchHeader<OT::NumType<true, unsigned short, 2u> >, unsigned int&>(OT::BinSearchHeader<OT::NumType<true, unsigned short, 2u> >&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 278 | 13.1k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::Offset<OT::NumType<true, unsigned int, 4u>, true>, unsigned int>(OT::Offset<OT::NumType<true, unsigned int, 4u>, true>&, unsigned int&&, hb_serialize_error_t) Line | Count | Source | 278 | 97.9k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::NumType<true, unsigned short, 2u>, unsigned int const&>(OT::NumType<true, unsigned short, 2u>&, unsigned int const&, hb_serialize_error_t) Line | Count | Source | 278 | 7.56M | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::NumType<true, short, 2u>, int&>(OT::NumType<true, short, 2u>&, int&, hb_serialize_error_t) Line | Count | Source | 278 | 2.35k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::VarIdx, unsigned int>(OT::VarIdx&, unsigned int&&, hb_serialize_error_t) Line | Count | Source | 278 | 60.2k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::NumType<true, unsigned short, 2u>, int>(OT::NumType<true, unsigned short, 2u>&, int&&, hb_serialize_error_t) Line | Count | Source | 278 | 2.85k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::NumType<true, short, 2u>, float>(OT::NumType<true, short, 2u>&, float&&, hb_serialize_error_t) Line | Count | Source | 278 | 7.99k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::NumType<true, unsigned short, 2u>, float>(OT::NumType<true, unsigned short, 2u>&, float&&, hb_serialize_error_t) Line | Count | Source | 278 | 866 | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::NumType<true, short, 2u>, unsigned int&>(OT::NumType<true, short, 2u>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 278 | 8.95k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::NumType<true, unsigned int, 4u>, unsigned int>(OT::NumType<true, unsigned int, 4u>&, unsigned int&&, hb_serialize_error_t) Line | Count | Source | 278 | 653 | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::NumType<true, unsigned int, 4u>, unsigned int&>(OT::NumType<true, unsigned int, 4u>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 278 | 10.7k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::Extend, OT::Extend const&>(OT::Extend&, OT::Extend const&, hb_serialize_error_t) Line | Count | Source | 278 | 16.8k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned short, 2u> const&>(OT::NumType<true, unsigned short, 2u>&, OT::NumType<true, unsigned short, 2u> const&, hb_serialize_error_t) Line | Count | Source | 278 | 19.9k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::HBGlyphID24, unsigned int const&>(OT::HBGlyphID24&, unsigned int const&, hb_serialize_error_t) Line | Count | Source | 278 | 155 | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::NumType<true, unsigned char, 1u>, OT::NumType<true, unsigned char, 1u> const&>(OT::NumType<true, unsigned char, 1u>&, OT::NumType<true, unsigned char, 1u> const&, hb_serialize_error_t) Line | Count | Source | 278 | 791 | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::HBGlyphID16, unsigned int const&>(OT::HBGlyphID16&, unsigned int const&, hb_serialize_error_t) Line | Count | Source | 278 | 27.9k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::NumType<true, int, 4u>, int&>(OT::NumType<true, int, 4u>&, int&, hb_serialize_error_t) Line | Count | Source | 278 | 12.0k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::Layout::GPOS_impl::ValueFormat, OT::Layout::GPOS_impl::ValueFormat&>(OT::Layout::GPOS_impl::ValueFormat&, OT::Layout::GPOS_impl::ValueFormat&, hb_serialize_error_t) Line | Count | Source | 278 | 6.51k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::OffsetTo<OT::UnsizedArrayOf<OT::StatAxisRecord>, OT::NumType<true, unsigned int, 4u>, void, false>, unsigned long>(OT::OffsetTo<OT::UnsizedArrayOf<OT::StatAxisRecord>, OT::NumType<true, unsigned int, 4u>, void, false>&, unsigned long&&, hb_serialize_error_t) Line | Count | Source | 278 | 368 | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::OffsetTo<OT::AxisRecord, OT::NumType<true, unsigned short, 2u>, void, true>, unsigned long>(OT::OffsetTo<OT::AxisRecord, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned long&&, hb_serialize_error_t) Line | Count | Source | 278 | 1.16k | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::HBGlyphID16, unsigned int&>(OT::HBGlyphID16&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 278 | 990 | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::HBGlyphID24, unsigned int&>(OT::HBGlyphID24&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 278 | 16 | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::NumType<true, unsigned char, 1u>, unsigned int&>(OT::NumType<true, unsigned char, 1u>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 278 | 290 | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::TupleVarCount, unsigned int>(OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >::TupleVarCount&, unsigned int&&, hb_serialize_error_t) Line | Count | Source | 278 | 148 | { return check_equal (v1 = v2, v2, err_type); } |
bool hb_serialize_context_t::check_assign<OT::OffsetTo<OT::NumType<true, unsigned char, 1u>, OT::NumType<true, unsigned short, 2u>, void, true>, unsigned int&>(OT::OffsetTo<OT::NumType<true, unsigned char, 1u>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int&, hb_serialize_error_t) Line | Count | Source | 278 | 148 | { return check_equal (v1 = v2, v2, err_type); } |
Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::TupleVariationData<OT::NumType<true, unsigned int, 3u> >::TupleVarCount, unsigned int>(OT::TupleVariationData<OT::NumType<true, unsigned int, 3u> >::TupleVarCount&, unsigned int&&, hb_serialize_error_t) Unexecuted instantiation: bool hb_serialize_context_t::check_assign<OT::OffsetTo<OT::NumType<true, unsigned char, 1u>, OT::NumType<true, unsigned int, 3u>, void, true>, unsigned int&>(OT::OffsetTo<OT::NumType<true, unsigned char, 1u>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int&, hb_serialize_error_t) |
279 | | |
280 | | template <typename T> bool propagate_error (T &&obj) |
281 | 2.99M | { return check_success (!hb_deref (obj).in_error ()); }bool hb_serialize_context_t::propagate_error<hb_vector_t<hb_serialize_context_t::object_t*, false>&>(hb_vector_t<hb_serialize_context_t::object_t*, false>&) Line | Count | Source | 281 | 1.38M | { return check_success (!hb_deref (obj).in_error ()); } |
bool hb_serialize_context_t::propagate_error<hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>&>(hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>&) Line | Count | Source | 281 | 1.38M | { return check_success (!hb_deref (obj).in_error ()); } |
Unexecuted instantiation: bool hb_serialize_context_t::propagate_error<hb_vector_t<hb_inc_bimap_t, false>&>(hb_vector_t<hb_inc_bimap_t, false>&) bool hb_serialize_context_t::propagate_error<hb_hashmap_t<unsigned int, face_table_info_t, false>&>(hb_hashmap_t<unsigned int, face_table_info_t, false>&) Line | Count | Source | 281 | 13.2k | { return check_success (!hb_deref (obj).in_error ()); } |
bool hb_serialize_context_t::propagate_error<hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>&>(hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>&) Line | Count | Source | 281 | 6.83k | { return check_success (!hb_deref (obj).in_error ()); } |
bool hb_serialize_context_t::propagate_error<hb_set_t const&>(hb_set_t const&) Line | Count | Source | 281 | 6.83k | { return check_success (!hb_deref (obj).in_error ()); } |
bool hb_serialize_context_t::propagate_error<hb_map_t*&>(hb_map_t*&) Line | Count | Source | 281 | 6.83k | { return check_success (!hb_deref (obj).in_error ()); } |
bool hb_serialize_context_t::propagate_error<hb_vector_t<unsigned int, false>&>(hb_vector_t<unsigned int, false>&) Line | Count | Source | 281 | 12.8k | { return check_success (!hb_deref (obj).in_error ()); } |
bool hb_serialize_context_t::propagate_error<hb_map_t&>(hb_map_t&) Line | Count | Source | 281 | 178k | { return check_success (!hb_deref (obj).in_error ()); } |
bool hb_serialize_context_t::propagate_error<hb_vector_t<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>, false>&>(hb_vector_t<hb_pair_t<unsigned int, OT::IndexSubtableRecord const*>, false>&) Line | Count | Source | 281 | 185 | { return check_success (!hb_deref (obj).in_error ()); } |
|
282 | | |
283 | | template <typename T1, typename... Ts> bool propagate_error (T1 &&o1, Ts&&... os) |
284 | 134k | { return propagate_error (std::forward<T1> (o1)) && |
285 | 132k | propagate_error (std::forward<Ts> (os)...); } bool hb_serialize_context_t::propagate_error<hb_vector_t<hb_serialize_context_t::object_t*, false>&, hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>&>(hb_vector_t<hb_serialize_context_t::object_t*, false>&, hb_hashmap_t<hb_serialize_context_t::object_t const*, unsigned int, false>&) Line | Count | Source | 284 | 119k | { return propagate_error (std::forward<T1> (o1)) && | 285 | 117k | propagate_error (std::forward<Ts> (os)...); } |
bool hb_serialize_context_t::propagate_error<hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>&, hb_set_t const&, hb_map_t*&>(hb_vector_t<hb_pair_t<unsigned int, unsigned int>, true>&, hb_set_t const&, hb_map_t*&) Line | Count | Source | 284 | 6.83k | { return propagate_error (std::forward<T1> (o1)) && | 285 | 6.83k | propagate_error (std::forward<Ts> (os)...); } |
bool hb_serialize_context_t::propagate_error<hb_set_t const&, hb_map_t*&>(hb_set_t const&, hb_map_t*&) Line | Count | Source | 284 | 6.83k | { return propagate_error (std::forward<T1> (o1)) && | 285 | 6.83k | propagate_error (std::forward<Ts> (os)...); } |
bool hb_serialize_context_t::propagate_error<hb_map_t&, hb_map_t&, hb_map_t&>(hb_map_t&, hb_map_t&, hb_map_t&) Line | Count | Source | 284 | 719 | { return propagate_error (std::forward<T1> (o1)) && | 285 | 719 | propagate_error (std::forward<Ts> (os)...); } |
bool hb_serialize_context_t::propagate_error<hb_map_t&, hb_map_t&>(hb_map_t&, hb_map_t&) Line | Count | Source | 284 | 719 | { return propagate_error (std::forward<T1> (o1)) && | 285 | 719 | propagate_error (std::forward<Ts> (os)...); } |
|
286 | | |
287 | | /* To be called around main operation. */ |
288 | | template <typename Type=char> |
289 | | __attribute__((returns_nonnull)) |
290 | | Type *start_serialize () |
291 | 120k | { |
292 | 120k | DEBUG_MSG_LEVEL (SERIALIZE, this->start, 0, +1, |
293 | 120k | "start [%p..%p] (%lu bytes)", |
294 | 120k | this->start, this->end, |
295 | 120k | (unsigned long) (this->end - this->start)); |
296 | | |
297 | 120k | assert (!current); |
298 | 120k | return push<Type> (); |
299 | 120k | } OT::OpenTypeFontFile* hb_serialize_context_t::start_serialize<OT::OpenTypeFontFile>() Line | Count | Source | 291 | 13.2k | { | 292 | 13.2k | DEBUG_MSG_LEVEL (SERIALIZE, this->start, 0, +1, | 293 | 13.2k | "start [%p..%p] (%lu bytes)", | 294 | 13.2k | this->start, this->end, | 295 | 13.2k | (unsigned long) (this->end - this->start)); | 296 | | | 297 | 13.2k | assert (!current); | 298 | 13.2k | return push<Type> (); | 299 | 13.2k | } |
OT::Layout::GSUB_impl::SubstLookup* hb_serialize_context_t::start_serialize<OT::Layout::GSUB_impl::SubstLookup>() Line | Count | Source | 291 | 2.46k | { | 292 | 2.46k | DEBUG_MSG_LEVEL (SERIALIZE, this->start, 0, +1, | 293 | 2.46k | "start [%p..%p] (%lu bytes)", | 294 | 2.46k | this->start, this->end, | 295 | 2.46k | (unsigned long) (this->end - this->start)); | 296 | | | 297 | 2.46k | assert (!current); | 298 | 2.46k | return push<Type> (); | 299 | 2.46k | } |
void* hb_serialize_context_t::start_serialize<void>() Line | Count | Source | 291 | 1.45k | { | 292 | 1.45k | DEBUG_MSG_LEVEL (SERIALIZE, this->start, 0, +1, | 293 | 1.45k | "start [%p..%p] (%lu bytes)", | 294 | 1.45k | this->start, this->end, | 295 | 1.45k | (unsigned long) (this->end - this->start)); | 296 | | | 297 | 1.45k | assert (!current); | 298 | 1.45k | return push<Type> (); | 299 | 1.45k | } |
char* hb_serialize_context_t::start_serialize<char>() Line | Count | Source | 291 | 103k | { | 292 | 103k | DEBUG_MSG_LEVEL (SERIALIZE, this->start, 0, +1, | 293 | 103k | "start [%p..%p] (%lu bytes)", | 294 | 103k | this->start, this->end, | 295 | 103k | (unsigned long) (this->end - this->start)); | 296 | | | 297 | 103k | assert (!current); | 298 | 103k | return push<Type> (); | 299 | 103k | } |
|
300 | | void end_serialize () |
301 | 119k | { |
302 | 119k | DEBUG_MSG_LEVEL (SERIALIZE, this->start, 0, -1, |
303 | 119k | "end [%p..%p] serialized %u bytes; %s", |
304 | 119k | this->start, this->end, |
305 | 119k | (unsigned) (this->head - this->start), |
306 | 119k | successful () ? "successful" : "UNSUCCESSFUL"); |
307 | | |
308 | 119k | propagate_error (packed, packed_map); |
309 | | |
310 | 119k | if (unlikely (!current)) return; |
311 | 109k | if (unlikely (in_error())) |
312 | 1.66k | { |
313 | | // Offset overflows that occur before link resolution cannot be handled |
314 | | // by repacking, so set a more general error. |
315 | 1.66k | if (offset_overflow ()) err (HB_SERIALIZE_ERROR_OTHER); |
316 | 1.66k | return; |
317 | 1.66k | } |
318 | | |
319 | 109k | assert (!current->next); |
320 | | |
321 | | /* Only "pack" if there exist other objects... Otherwise, don't bother. |
322 | | * Saves a move. */ |
323 | 108k | if (packed.length <= 1) |
324 | 67.5k | return; |
325 | | |
326 | 40.4k | pop_pack (false); |
327 | | |
328 | 40.4k | resolve_links (); |
329 | 40.4k | } |
330 | | |
331 | | template <typename Type = void> |
332 | | __attribute__((returns_nonnull)) |
333 | | Type *push () |
334 | 159M | { |
335 | 159M | if (unlikely (in_error ())) return start_embed<Type> (); |
336 | | |
337 | 159M | object_t *obj = object_pool.alloc (); |
338 | 159M | if (unlikely (!obj)) |
339 | 338 | check_success (false); |
340 | 159M | else |
341 | 159M | { |
342 | 159M | obj->head = head; |
343 | 159M | obj->tail = tail; |
344 | 159M | obj->next = current; |
345 | 159M | current = obj; |
346 | 159M | } |
347 | 159M | return start_embed<Type> (); |
348 | 159M | } OT::Layout::Common::Coverage* hb_serialize_context_t::push<OT::Layout::Common::Coverage>() Line | Count | Source | 334 | 69.2k | { | 335 | 69.2k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 67.2k | object_t *obj = object_pool.alloc (); | 338 | 67.2k | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 67.2k | else | 341 | 67.2k | { | 342 | 67.2k | obj->head = head; | 343 | 67.2k | obj->tail = tail; | 344 | 67.2k | obj->next = current; | 345 | 67.2k | current = obj; | 346 | 67.2k | } | 347 | 67.2k | return start_embed<Type> (); | 348 | 69.2k | } |
OT::OpenTypeFontFile* hb_serialize_context_t::push<OT::OpenTypeFontFile>() Line | Count | Source | 334 | 13.2k | { | 335 | 13.2k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 13.2k | object_t *obj = object_pool.alloc (); | 338 | 13.2k | if (unlikely (!obj)) | 339 | 55 | check_success (false); | 340 | 13.1k | else | 341 | 13.1k | { | 342 | 13.1k | obj->head = head; | 343 | 13.1k | obj->tail = tail; | 344 | 13.1k | obj->next = current; | 345 | 13.1k | current = obj; | 346 | 13.1k | } | 347 | 13.2k | return start_embed<Type> (); | 348 | 13.2k | } |
OT::Layout::GSUB_impl::SubstLookup* hb_serialize_context_t::push<OT::Layout::GSUB_impl::SubstLookup>() Line | Count | Source | 334 | 2.46k | { | 335 | 2.46k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 2.46k | object_t *obj = object_pool.alloc (); | 338 | 2.46k | if (unlikely (!obj)) | 339 | 96 | check_success (false); | 340 | 2.37k | else | 341 | 2.37k | { | 342 | 2.37k | obj->head = head; | 343 | 2.37k | obj->tail = tail; | 344 | 2.37k | obj->next = current; | 345 | 2.37k | current = obj; | 346 | 2.37k | } | 347 | 2.46k | return start_embed<Type> (); | 348 | 2.46k | } |
OT::Layout::GSUB_impl::SubstLookupSubTable* hb_serialize_context_t::push<OT::Layout::GSUB_impl::SubstLookupSubTable>() Line | Count | Source | 334 | 2.37k | { | 335 | 2.37k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 2.37k | object_t *obj = object_pool.alloc (); | 338 | 2.37k | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 2.37k | else | 341 | 2.37k | { | 342 | 2.37k | obj->head = head; | 343 | 2.37k | obj->tail = tail; | 344 | 2.37k | obj->next = current; | 345 | 2.37k | current = obj; | 346 | 2.37k | } | 347 | 2.37k | return start_embed<Type> (); | 348 | 2.37k | } |
OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>* hb_serialize_context_t::push<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> >() Line | Count | Source | 334 | 8.31k | { | 335 | 8.31k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 8.27k | object_t *obj = object_pool.alloc (); | 338 | 8.27k | if (unlikely (!obj)) | 339 | 2 | check_success (false); | 340 | 8.27k | else | 341 | 8.27k | { | 342 | 8.27k | obj->head = head; | 343 | 8.27k | obj->tail = tail; | 344 | 8.27k | obj->next = current; | 345 | 8.27k | current = obj; | 346 | 8.27k | } | 347 | 8.27k | return start_embed<Type> (); | 348 | 8.31k | } |
OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>* hb_serialize_context_t::push<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> >() Line | Count | Source | 334 | 25.0k | { | 335 | 25.0k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 24.9k | object_t *obj = object_pool.alloc (); | 338 | 24.9k | if (unlikely (!obj)) | 339 | 1 | check_success (false); | 340 | 24.9k | else | 341 | 24.9k | { | 342 | 24.9k | obj->head = head; | 343 | 24.9k | obj->tail = tail; | 344 | 24.9k | obj->next = current; | 345 | 24.9k | current = obj; | 346 | 24.9k | } | 347 | 24.9k | return start_embed<Type> (); | 348 | 25.0k | } |
void* hb_serialize_context_t::push<void>() Line | Count | Source | 334 | 159M | { | 335 | 159M | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 159M | object_t *obj = object_pool.alloc (); | 338 | 159M | if (unlikely (!obj)) | 339 | 43 | check_success (false); | 340 | 159M | else | 341 | 159M | { | 342 | 159M | obj->head = head; | 343 | 159M | obj->tail = tail; | 344 | 159M | obj->next = current; | 345 | 159M | current = obj; | 346 | 159M | } | 347 | 159M | return start_embed<Type> (); | 348 | 159M | } |
OT::SparseVariationRegion* hb_serialize_context_t::push<OT::SparseVariationRegion>() Line | Count | Source | 334 | 92 | { | 335 | 92 | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 92 | object_t *obj = object_pool.alloc (); | 338 | 92 | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 92 | else | 341 | 92 | { | 342 | 92 | obj->head = head; | 343 | 92 | obj->tail = tail; | 344 | 92 | obj->next = current; | 345 | 92 | current = obj; | 346 | 92 | } | 347 | 92 | return start_embed<Type> (); | 348 | 92 | } |
OT::TupleList* hb_serialize_context_t::push<OT::TupleList>() Line | Count | Source | 334 | 87 | { | 335 | 87 | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 87 | object_t *obj = object_pool.alloc (); | 338 | 87 | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 87 | else | 341 | 87 | { | 342 | 87 | obj->head = head; | 343 | 87 | obj->tail = tail; | 344 | 87 | obj->next = current; | 345 | 87 | current = obj; | 346 | 87 | } | 347 | 87 | return start_embed<Type> (); | 348 | 87 | } |
OT::VarRegionList* hb_serialize_context_t::push<OT::VarRegionList>() Line | Count | Source | 334 | 9.09k | { | 335 | 9.09k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 9.09k | object_t *obj = object_pool.alloc (); | 338 | 9.09k | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 9.09k | else | 341 | 9.09k | { | 342 | 9.09k | obj->head = head; | 343 | 9.09k | obj->tail = tail; | 344 | 9.09k | obj->next = current; | 345 | 9.09k | current = obj; | 346 | 9.09k | } | 347 | 9.09k | return start_embed<Type> (); | 348 | 9.09k | } |
OT::VarData* hb_serialize_context_t::push<OT::VarData>() Line | Count | Source | 334 | 23.1k | { | 335 | 23.1k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 23.1k | object_t *obj = object_pool.alloc (); | 338 | 23.1k | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 23.1k | else | 341 | 23.1k | { | 342 | 23.1k | obj->head = head; | 343 | 23.1k | obj->tail = tail; | 344 | 23.1k | obj->next = current; | 345 | 23.1k | current = obj; | 346 | 23.1k | } | 347 | 23.1k | return start_embed<Type> (); | 348 | 23.1k | } |
OT::SparseVarRegionList* hb_serialize_context_t::push<OT::SparseVarRegionList>() Line | Count | Source | 334 | 62 | { | 335 | 62 | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 62 | object_t *obj = object_pool.alloc (); | 338 | 62 | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 62 | else | 341 | 62 | { | 342 | 62 | obj->head = head; | 343 | 62 | obj->tail = tail; | 344 | 62 | obj->next = current; | 345 | 62 | current = obj; | 346 | 62 | } | 347 | 62 | return start_embed<Type> (); | 348 | 62 | } |
OT::MultiVarData* hb_serialize_context_t::push<OT::MultiVarData>() Line | Count | Source | 334 | 57 | { | 335 | 57 | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 57 | object_t *obj = object_pool.alloc (); | 338 | 57 | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 57 | else | 341 | 57 | { | 342 | 57 | obj->head = head; | 343 | 57 | obj->tail = tail; | 344 | 57 | obj->next = current; | 345 | 57 | current = obj; | 346 | 57 | } | 347 | 57 | return start_embed<Type> (); | 348 | 57 | } |
OT::Condition* hb_serialize_context_t::push<OT::Condition>() Line | Count | Source | 334 | 45 | { | 335 | 45 | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 45 | object_t *obj = object_pool.alloc (); | 338 | 45 | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 45 | else | 341 | 45 | { | 342 | 45 | obj->head = head; | 343 | 45 | obj->tail = tail; | 344 | 45 | obj->next = current; | 345 | 45 | current = obj; | 346 | 45 | } | 347 | 45 | return start_embed<Type> (); | 348 | 45 | } |
OT::ItemVariationStore* hb_serialize_context_t::push<OT::ItemVariationStore>() Line | Count | Source | 334 | 5.03k | { | 335 | 5.03k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 5.03k | object_t *obj = object_pool.alloc (); | 338 | 5.03k | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 5.03k | else | 341 | 5.03k | { | 342 | 5.03k | obj->head = head; | 343 | 5.03k | obj->tail = tail; | 344 | 5.03k | obj->next = current; | 345 | 5.03k | current = obj; | 346 | 5.03k | } | 347 | 5.03k | return start_embed<Type> (); | 348 | 5.03k | } |
OT::CmapSubtable* hb_serialize_context_t::push<OT::CmapSubtable>() Line | Count | Source | 334 | 9.18k | { | 335 | 9.18k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 9.18k | object_t *obj = object_pool.alloc (); | 338 | 9.18k | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 9.18k | else | 341 | 9.18k | { | 342 | 9.18k | obj->head = head; | 343 | 9.18k | obj->tail = tail; | 344 | 9.18k | obj->next = current; | 345 | 9.18k | current = obj; | 346 | 9.18k | } | 347 | 9.18k | return start_embed<Type> (); | 348 | 9.18k | } |
OT::DeltaSetIndexMap* hb_serialize_context_t::push<OT::DeltaSetIndexMap>() Line | Count | Source | 334 | 2.57k | { | 335 | 2.57k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 2.37k | object_t *obj = object_pool.alloc (); | 338 | 2.37k | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 2.37k | else | 341 | 2.37k | { | 342 | 2.37k | obj->head = head; | 343 | 2.37k | obj->tail = tail; | 344 | 2.37k | obj->next = current; | 345 | 2.37k | current = obj; | 346 | 2.37k | } | 347 | 2.37k | return start_embed<Type> (); | 348 | 2.57k | } |
char* hb_serialize_context_t::push<char>() Line | Count | Source | 334 | 103k | { | 335 | 103k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 103k | object_t *obj = object_pool.alloc (); | 338 | 103k | if (unlikely (!obj)) | 339 | 141 | check_success (false); | 340 | 102k | else | 341 | 102k | { | 342 | 102k | obj->head = head; | 343 | 102k | obj->tail = tail; | 344 | 102k | obj->next = current; | 345 | 102k | current = obj; | 346 | 102k | } | 347 | 103k | return start_embed<Type> (); | 348 | 103k | } |
OT::ConditionList* hb_serialize_context_t::push<OT::ConditionList>() Line | Count | Source | 334 | 45 | { | 335 | 45 | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 45 | object_t *obj = object_pool.alloc (); | 338 | 45 | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 45 | else | 341 | 45 | { | 342 | 45 | obj->head = head; | 343 | 45 | obj->tail = tail; | 344 | 45 | obj->next = current; | 345 | 45 | current = obj; | 346 | 45 | } | 347 | 45 | return start_embed<Type> (); | 348 | 45 | } |
OT::MultiItemVariationStore* hb_serialize_context_t::push<OT::MultiItemVariationStore>() Line | Count | Source | 334 | 62 | { | 335 | 62 | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 62 | object_t *obj = object_pool.alloc (); | 338 | 62 | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 62 | else | 341 | 62 | { | 342 | 62 | obj->head = head; | 343 | 62 | obj->tail = tail; | 344 | 62 | obj->next = current; | 345 | 62 | current = obj; | 346 | 62 | } | 347 | 62 | return start_embed<Type> (); | 348 | 62 | } |
OT::CFFIndex<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::push<OT::CFFIndex<OT::NumType<true, unsigned int, 4u> > >() Line | Count | Source | 334 | 63 | { | 335 | 63 | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 63 | object_t *obj = object_pool.alloc (); | 338 | 63 | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 63 | else | 341 | 63 | { | 342 | 63 | obj->head = head; | 343 | 63 | obj->tail = tail; | 344 | 63 | obj->next = current; | 345 | 63 | current = obj; | 346 | 63 | } | 347 | 63 | return start_embed<Type> (); | 348 | 63 | } |
OT::CFFIndex<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::push<OT::CFFIndex<OT::NumType<true, unsigned short, 2u> > >() Line | Count | Source | 334 | 4.60k | { | 335 | 4.60k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 4.60k | object_t *obj = object_pool.alloc (); | 338 | 4.60k | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 4.60k | else | 341 | 4.60k | { | 342 | 4.60k | obj->head = head; | 343 | 4.60k | obj->tail = tail; | 344 | 4.60k | obj->next = current; | 345 | 4.60k | current = obj; | 346 | 4.60k | } | 347 | 4.60k | return start_embed<Type> (); | 348 | 4.60k | } |
CFF::Subrs<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::push<CFF::Subrs<OT::NumType<true, unsigned short, 2u> > >() Line | Count | Source | 334 | 5.22k | { | 335 | 5.22k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 5.22k | object_t *obj = object_pool.alloc (); | 338 | 5.22k | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 5.22k | else | 341 | 5.22k | { | 342 | 5.22k | obj->head = head; | 343 | 5.22k | obj->tail = tail; | 344 | 5.22k | obj->next = current; | 345 | 5.22k | current = obj; | 346 | 5.22k | } | 347 | 5.22k | return start_embed<Type> (); | 348 | 5.22k | } |
CFF::PrivateDict* hb_serialize_context_t::push<CFF::PrivateDict>() Line | Count | Source | 334 | 6.99k | { | 335 | 6.99k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 6.99k | object_t *obj = object_pool.alloc (); | 338 | 6.99k | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 6.99k | else | 341 | 6.99k | { | 342 | 6.99k | obj->head = head; | 343 | 6.99k | obj->tail = tail; | 344 | 6.99k | obj->next = current; | 345 | 6.99k | current = obj; | 346 | 6.99k | } | 347 | 6.99k | return start_embed<Type> (); | 348 | 6.99k | } |
CFF::CFF1FDArray* hb_serialize_context_t::push<CFF::CFF1FDArray>() Line | Count | Source | 334 | 323 | { | 335 | 323 | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 323 | object_t *obj = object_pool.alloc (); | 338 | 323 | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 323 | else | 341 | 323 | { | 342 | 323 | obj->head = head; | 343 | 323 | obj->tail = tail; | 344 | 323 | obj->next = current; | 345 | 323 | current = obj; | 346 | 323 | } | 347 | 323 | return start_embed<Type> (); | 348 | 323 | } |
CFF::Charset* hb_serialize_context_t::push<CFF::Charset>() Line | Count | Source | 334 | 2.73k | { | 335 | 2.73k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 2.73k | object_t *obj = object_pool.alloc (); | 338 | 2.73k | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 2.73k | else | 341 | 2.73k | { | 342 | 2.73k | obj->head = head; | 343 | 2.73k | obj->tail = tail; | 344 | 2.73k | obj->next = current; | 345 | 2.73k | current = obj; | 346 | 2.73k | } | 347 | 2.73k | return start_embed<Type> (); | 348 | 2.73k | } |
CFF::Encoding* hb_serialize_context_t::push<CFF::Encoding>() Line | Count | Source | 334 | 1.85k | { | 335 | 1.85k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 1.85k | object_t *obj = object_pool.alloc (); | 338 | 1.85k | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 1.85k | else | 341 | 1.85k | { | 342 | 1.85k | obj->head = head; | 343 | 1.85k | obj->tail = tail; | 344 | 1.85k | obj->next = current; | 345 | 1.85k | current = obj; | 346 | 1.85k | } | 347 | 1.85k | return start_embed<Type> (); | 348 | 1.85k | } |
CFF::CFF1StringIndex* hb_serialize_context_t::push<CFF::CFF1StringIndex>() Line | Count | Source | 334 | 4.36k | { | 335 | 4.36k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 4.36k | object_t *obj = object_pool.alloc (); | 338 | 4.36k | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 4.36k | else | 341 | 4.36k | { | 342 | 4.36k | obj->head = head; | 343 | 4.36k | obj->tail = tail; | 344 | 4.36k | obj->next = current; | 345 | 4.36k | current = obj; | 346 | 4.36k | } | 347 | 4.36k | return start_embed<Type> (); | 348 | 4.36k | } |
CFF::TopDict* hb_serialize_context_t::push<CFF::TopDict>() Line | Count | Source | 334 | 1.57k | { | 335 | 1.57k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 1.57k | object_t *obj = object_pool.alloc (); | 338 | 1.57k | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 1.57k | else | 341 | 1.57k | { | 342 | 1.57k | obj->head = head; | 343 | 1.57k | obj->tail = tail; | 344 | 1.57k | obj->next = current; | 345 | 1.57k | current = obj; | 346 | 1.57k | } | 347 | 1.57k | return start_embed<Type> (); | 348 | 1.57k | } |
CFF::FDArray<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::push<CFF::FDArray<OT::NumType<true, unsigned short, 2u> > >() Line | Count | Source | 334 | 234 | { | 335 | 234 | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 234 | object_t *obj = object_pool.alloc (); | 338 | 234 | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 234 | else | 341 | 234 | { | 342 | 234 | obj->head = head; | 343 | 234 | obj->tail = tail; | 344 | 234 | obj->next = current; | 345 | 234 | current = obj; | 346 | 234 | } | 347 | 234 | return start_embed<Type> (); | 348 | 234 | } |
CFF::Subrs<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::push<CFF::Subrs<OT::NumType<true, unsigned int, 4u> > >() Line | Count | Source | 334 | 417 | { | 335 | 417 | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 416 | object_t *obj = object_pool.alloc (); | 338 | 416 | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 416 | else | 341 | 416 | { | 342 | 416 | obj->head = head; | 343 | 416 | obj->tail = tail; | 344 | 416 | obj->next = current; | 345 | 416 | current = obj; | 346 | 416 | } | 347 | 416 | return start_embed<Type> (); | 348 | 417 | } |
CFF::CFF2FDArray* hb_serialize_context_t::push<CFF::CFF2FDArray>() Line | Count | Source | 334 | 2.00k | { | 335 | 2.00k | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 2.00k | object_t *obj = object_pool.alloc (); | 338 | 2.00k | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 2.00k | else | 341 | 2.00k | { | 342 | 2.00k | obj->head = head; | 343 | 2.00k | obj->tail = tail; | 344 | 2.00k | obj->next = current; | 345 | 2.00k | current = obj; | 346 | 2.00k | } | 347 | 2.00k | return start_embed<Type> (); | 348 | 2.00k | } |
CFF::CFF2ItemVariationStore* hb_serialize_context_t::push<CFF::CFF2ItemVariationStore>() Line | Count | Source | 334 | 625 | { | 335 | 625 | if (unlikely (in_error ())) return start_embed<Type> (); | 336 | | | 337 | 625 | object_t *obj = object_pool.alloc (); | 338 | 625 | if (unlikely (!obj)) | 339 | 0 | check_success (false); | 340 | 625 | else | 341 | 625 | { | 342 | 625 | obj->head = head; | 343 | 625 | obj->tail = tail; | 344 | 625 | obj->next = current; | 345 | 625 | current = obj; | 346 | 625 | } | 347 | 625 | return start_embed<Type> (); | 348 | 625 | } |
|
349 | | void pop_discard () |
350 | 3.01M | { |
351 | 3.01M | object_t *obj = current; |
352 | 3.01M | if (unlikely (!obj)) return; |
353 | | // Allow cleanup when we've error'd out on int overflows which don't compromise |
354 | | // the serializer state. |
355 | 3.01M | if (unlikely (in_error() && !only_overflow ())) return; |
356 | | |
357 | 2.99M | current = current->next; |
358 | 2.99M | revert (zerocopy ? zerocopy : obj->head, obj->tail); |
359 | 2.99M | zerocopy = nullptr; |
360 | 2.99M | obj->fini (); |
361 | 2.99M | object_pool.release (obj); |
362 | 2.99M | } |
363 | | |
364 | | /* Set share to false when an object is unlikely shareable with others |
365 | | * so not worth an attempt, or a contiguous table is serialized as |
366 | | * multiple consecutive objects in the reverse order so can't be shared. |
367 | | */ |
368 | | objidx_t pop_pack (bool share=true) |
369 | 156M | { |
370 | 156M | object_t *obj = current; |
371 | 156M | if (unlikely (!obj)) return 0; |
372 | | // Allow cleanup when we've error'd out on int overflows which don't compromise |
373 | | // the serializer state. |
374 | 156M | if (unlikely (in_error() && !only_overflow ())) return 0; |
375 | | |
376 | 156M | current = current->next; |
377 | 156M | obj->tail = head; |
378 | 156M | obj->next = nullptr; |
379 | 156M | assert (obj->head <= obj->tail); |
380 | 156M | unsigned len = obj->tail - obj->head; |
381 | 156M | head = zerocopy ? zerocopy : obj->head; /* Rewind head. */ |
382 | 156M | bool was_zerocopy = zerocopy; |
383 | 156M | zerocopy = nullptr; |
384 | | |
385 | 156M | if (!len) |
386 | 115M | { |
387 | 115M | assert (!obj->real_links.length); |
388 | 115M | assert (!obj->virtual_links.length); |
389 | 115M | return 0; |
390 | 115M | } |
391 | | |
392 | 40.6M | objidx_t objidx; |
393 | 40.6M | uint32_t hash = 0; |
394 | 40.6M | if (share) |
395 | 40.4M | { |
396 | 40.4M | hash = hb_hash (obj); |
397 | 40.4M | objidx = packed_map.get_with_hash (obj, hash); |
398 | 40.4M | if (objidx) |
399 | 39.4M | { |
400 | 39.4M | merge_virtual_links (obj, objidx); |
401 | 39.4M | obj->fini (); |
402 | 39.4M | object_pool.release (obj); |
403 | 39.4M | return objidx; |
404 | 39.4M | } |
405 | 40.4M | } |
406 | | |
407 | 1.26M | tail -= len; |
408 | 1.26M | if (was_zerocopy) |
409 | 1.26M | assert (tail == obj->head); |
410 | 1.25M | else |
411 | 1.25M | memmove (tail, obj->head, len); |
412 | | |
413 | 1.26M | obj->head = tail; |
414 | 1.26M | obj->tail = tail + len; |
415 | | |
416 | 1.26M | packed.push (obj); |
417 | | |
418 | 1.26M | if (unlikely (!propagate_error (packed))) |
419 | 2.47k | { |
420 | | /* Obj wasn't successfully added to packed, so clean it up otherwise its |
421 | | * links will be leaked. When we use constructor/destructors properly, we |
422 | | * can remove these. */ |
423 | 2.47k | obj->fini (); |
424 | 2.47k | return 0; |
425 | 2.47k | } |
426 | | |
427 | 1.26M | objidx = packed.length - 1; |
428 | | |
429 | 1.26M | if (share) packed_map.set_with_hash (obj, hash, objidx); |
430 | 1.26M | propagate_error (packed_map); |
431 | | |
432 | 1.26M | return objidx; |
433 | 1.26M | } |
434 | | |
435 | | void revert (snapshot_t snap) |
436 | 121M | { |
437 | | // Overflows that happened after the snapshot will be erased by the revert. |
438 | 121M | if (unlikely (in_error () && !only_overflow ())) return; |
439 | 121M | assert (snap.current == current); |
440 | 121M | if (current) |
441 | 121M | { |
442 | 121M | current->real_links.shrink (snap.num_real_links); |
443 | 121M | current->virtual_links.shrink (snap.num_virtual_links); |
444 | 121M | } |
445 | 121M | errors = snap.errors; |
446 | 121M | revert (snap.head, snap.tail); |
447 | 121M | } Unexecuted instantiation: hb_serialize_context_t::revert(hb_serialize_context_t::snapshot_t) hb_serialize_context_t::revert(hb_serialize_context_t::snapshot_t) Line | Count | Source | 436 | 121M | { | 437 | | // Overflows that happened after the snapshot will be erased by the revert. | 438 | 121M | if (unlikely (in_error () && !only_overflow ())) return; | 439 | 121M | assert (snap.current == current); | 440 | 121M | if (current) | 441 | 121M | { | 442 | 121M | current->real_links.shrink (snap.num_real_links); | 443 | 121M | current->virtual_links.shrink (snap.num_virtual_links); | 444 | 121M | } | 445 | 121M | errors = snap.errors; | 446 | 121M | revert (snap.head, snap.tail); | 447 | 121M | } |
|
448 | | |
449 | | void revert (char *snap_head, |
450 | | char *snap_tail) |
451 | 124M | { |
452 | 124M | if (unlikely (in_error ())) return; |
453 | 124M | assert (snap_head <= head); |
454 | 124M | assert (tail <= snap_tail); |
455 | 124M | head = snap_head; |
456 | 124M | tail = snap_tail; |
457 | 124M | discard_stale_objects (); |
458 | 124M | } |
459 | | |
460 | | void discard_stale_objects () |
461 | 124M | { |
462 | 124M | if (unlikely (in_error ())) return; |
463 | 124M | while (packed.length > 1 && |
464 | 124M | packed.tail ()->head < tail) |
465 | 162k | { |
466 | 162k | object_t *obj = packed.tail (); |
467 | 162k | packed_map.del (obj); |
468 | 162k | assert (!obj->next); |
469 | 162k | obj->fini (); |
470 | 162k | object_pool.release (obj); |
471 | 162k | packed.pop (); |
472 | 162k | } |
473 | 124M | if (packed.length > 1) |
474 | 124M | assert (packed.tail ()->head == tail); |
475 | 124M | } |
476 | | |
477 | | // Adds a virtual link from the current object to objidx. A virtual link is not associated with |
478 | | // an actual offset field. They are solely used to enforce ordering constraints between objects. |
479 | | // Adding a virtual link from object a to object b will ensure that object b is always packed after |
480 | | // object a in the final serialized order. |
481 | | // |
482 | | // This is useful in certain situations where there needs to be a specific ordering in the |
483 | | // final serialization. Such as when platform bugs require certain orderings, or to provide |
484 | | // guidance to the repacker for better offset overflow resolution. |
485 | | void add_virtual_link (objidx_t objidx) |
486 | 31.2M | { |
487 | 31.2M | if (unlikely (in_error ())) return; |
488 | | |
489 | 31.2M | if (!objidx) |
490 | 0 | return; |
491 | | |
492 | 31.2M | assert (current); |
493 | | |
494 | 31.2M | if (!current->add_virtual_link(objidx)) |
495 | 0 | err (HB_SERIALIZE_ERROR_OTHER); |
496 | 31.2M | } Unexecuted instantiation: hb_serialize_context_t::add_virtual_link(unsigned int) hb_serialize_context_t::add_virtual_link(unsigned int) Line | Count | Source | 486 | 31.2M | { | 487 | 31.2M | if (unlikely (in_error ())) return; | 488 | | | 489 | 31.2M | if (!objidx) | 490 | 0 | return; | 491 | | | 492 | 31.2M | assert (current); | 493 | | | 494 | 31.2M | if (!current->add_virtual_link(objidx)) | 495 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 496 | 31.2M | } |
|
497 | | |
498 | 5.01k | objidx_t last_added_child_index() const { |
499 | 5.01k | if (unlikely (in_error ())) return (objidx_t) -1; |
500 | | |
501 | 5.01k | assert (current); |
502 | 5.00k | if (!bool(current->real_links)) { |
503 | 3.53k | return (objidx_t) -1; |
504 | 3.53k | } |
505 | | |
506 | 1.47k | return current->real_links[current->real_links.length - 1].objidx; |
507 | 5.00k | } Unexecuted instantiation: hb_serialize_context_t::last_added_child_index() const hb_serialize_context_t::last_added_child_index() const Line | Count | Source | 498 | 5.01k | objidx_t last_added_child_index() const { | 499 | 5.01k | if (unlikely (in_error ())) return (objidx_t) -1; | 500 | | | 501 | 5.01k | assert (current); | 502 | 5.00k | if (!bool(current->real_links)) { | 503 | 3.53k | return (objidx_t) -1; | 504 | 3.53k | } | 505 | | | 506 | 1.47k | return current->real_links[current->real_links.length - 1].objidx; | 507 | 5.00k | } |
|
508 | | |
509 | | // For the current object ensure that the sub-table bytes for child objidx are always placed |
510 | | // after the subtable bytes for any other existing children. This only ensures that the |
511 | | // repacker will not move the target subtable before the other children |
512 | | // (by adding virtual links). It is up to the caller to ensure the initial serialization |
513 | | // order is correct. |
514 | 1.47k | void repack_last(objidx_t objidx) { |
515 | 1.47k | if (unlikely (in_error ())) return; |
516 | | |
517 | 1.47k | if (!objidx) |
518 | 0 | return; |
519 | | |
520 | 1.47k | assert (current); |
521 | 2.80k | for (auto& l : current->real_links) { |
522 | 2.80k | if (l.objidx == objidx) { |
523 | 1.47k | continue; |
524 | 1.47k | } |
525 | | |
526 | 1.32k | packed[l.objidx]->add_virtual_link(objidx); |
527 | 1.32k | } |
528 | 1.47k | } |
529 | | |
530 | | template <typename T> |
531 | | void add_link (T &ofs, objidx_t objidx, |
532 | | whence_t whence = Head, |
533 | | unsigned bias = 0) |
534 | 161M | { |
535 | 161M | if (unlikely (in_error ())) return; |
536 | | |
537 | 161M | if (!objidx) |
538 | 115M | return; |
539 | | |
540 | 161M | assert (current); |
541 | 45.8M | assert (current->head <= (const char *) &ofs); |
542 | | |
543 | 45.8M | auto& link = *current->real_links.push (); |
544 | 45.8M | if (current->real_links.in_error ()) |
545 | 281 | err (HB_SERIALIZE_ERROR_OTHER); |
546 | | |
547 | 45.8M | link.width = sizeof (T); |
548 | 45.8M | link.objidx = objidx; |
549 | 45.8M | if (unlikely (!sizeof (T))) |
550 | 0 | { |
551 | | // This link is not associated with an actual offset and exists merely to enforce |
552 | | // an ordering constraint. |
553 | 0 | link.is_signed = 0; |
554 | 0 | link.whence = 0; |
555 | 0 | link.position = 0; |
556 | 0 | link.bias = 0; |
557 | 0 | return; |
558 | 0 | } |
559 | | |
560 | 45.8M | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; |
561 | 45.8M | link.whence = (unsigned) whence; |
562 | 45.8M | link.position = (const char *) &ofs - current->head; |
563 | 45.8M | link.bias = bias; |
564 | 45.8M | } void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 119k | { | 535 | 119k | if (unlikely (in_error ())) return; | 536 | | | 537 | 118k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 118k | assert (current); | 541 | 118k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 118k | auto& link = *current->real_links.push (); | 544 | 118k | if (current->real_links.in_error ()) | 545 | 21 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 118k | link.width = sizeof (T); | 548 | 118k | link.objidx = objidx; | 549 | 118k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 118k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 118k | link.whence = (unsigned) whence; | 562 | 118k | link.position = (const char *) &ofs - current->head; | 563 | 118k | link.bias = bias; | 564 | 118k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 8.22k | { | 535 | 8.22k | if (unlikely (in_error ())) return; | 536 | | | 537 | 8.20k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 8.20k | assert (current); | 541 | 8.20k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 8.20k | auto& link = *current->real_links.push (); | 544 | 8.20k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 8.20k | link.width = sizeof (T); | 548 | 8.20k | link.objidx = objidx; | 549 | 8.20k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 8.20k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 8.20k | link.whence = (unsigned) whence; | 562 | 8.20k | link.position = (const char *) &ofs - current->head; | 563 | 8.20k | link.bias = bias; | 564 | 8.20k | } |
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LigCaretList<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::LigCaretList<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 31.3M | { | 535 | 31.3M | if (unlikely (in_error ())) return; | 536 | | | 537 | 31.3M | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 31.3M | assert (current); | 541 | 31.3M | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 31.3M | auto& link = *current->real_links.push (); | 544 | 31.3M | if (current->real_links.in_error ()) | 545 | 58 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 31.3M | link.width = sizeof (T); | 548 | 31.3M | link.objidx = objidx; | 549 | 31.3M | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 31.3M | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 31.3M | link.whence = (unsigned) whence; | 562 | 31.3M | link.position = (const char *) &ofs - current->head; | 563 | 31.3M | link.bias = bias; | 564 | 31.3M | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 23.7k | { | 535 | 23.7k | if (unlikely (in_error ())) return; | 536 | | | 537 | 23.6k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 23.6k | assert (current); | 541 | 23.6k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 23.6k | auto& link = *current->real_links.push (); | 544 | 23.6k | if (current->real_links.in_error ()) | 545 | 22 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 23.6k | link.width = sizeof (T); | 548 | 23.6k | link.objidx = objidx; | 549 | 23.6k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 23.6k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 23.6k | link.whence = (unsigned) whence; | 562 | 23.6k | link.position = (const char *) &ofs - current->head; | 563 | 23.6k | link.bias = bias; | 564 | 23.6k | } |
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 45.7k | { | 535 | 45.7k | if (unlikely (in_error ())) return; | 536 | | | 537 | 45.3k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 45.3k | assert (current); | 541 | 45.3k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 45.3k | auto& link = *current->real_links.push (); | 544 | 45.3k | if (current->real_links.in_error ()) | 545 | 41 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 45.3k | link.width = sizeof (T); | 548 | 45.3k | link.objidx = objidx; | 549 | 45.3k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 45.3k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 45.3k | link.whence = (unsigned) whence; | 562 | 45.3k | link.position = (const char *) &ofs - current->head; | 563 | 45.3k | link.bias = bias; | 564 | 45.3k | } |
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::Offset<OT::NumType<true, int, 4u>, true> >(OT::Offset<OT::NumType<true, int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) void hb_serialize_context_t::add_link<OT::Offset<OT::NumType<true, unsigned int, 4u>, true> >(OT::Offset<OT::NumType<true, unsigned int, 4u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 10.9k | { | 535 | 10.9k | if (unlikely (in_error ())) return; | 536 | | | 537 | 10.9k | if (!objidx) | 538 | 496 | return; | 539 | | | 540 | 10.9k | assert (current); | 541 | 10.4k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 10.4k | auto& link = *current->real_links.push (); | 544 | 10.4k | if (current->real_links.in_error ()) | 545 | 8 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 10.4k | link.width = sizeof (T); | 548 | 10.4k | link.objidx = objidx; | 549 | 10.4k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 10.4k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 10.4k | link.whence = (unsigned) whence; | 562 | 10.4k | link.position = (const char *) &ofs - current->head; | 563 | 10.4k | link.bias = bias; | 564 | 10.4k | } |
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::Offset<OT::NumType<true, short, 2u>, true> >(OT::Offset<OT::NumType<true, short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) void hb_serialize_context_t::add_link<OT::Offset<OT::NumType<true, unsigned short, 2u>, true> >(OT::Offset<OT::NumType<true, unsigned short, 2u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 5.33M | { | 535 | 5.33M | if (unlikely (in_error ())) return; | 536 | | | 537 | 5.33M | if (!objidx) | 538 | 505 | return; | 539 | | | 540 | 5.33M | assert (current); | 541 | 5.33M | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 5.33M | auto& link = *current->real_links.push (); | 544 | 5.33M | if (current->real_links.in_error ()) | 545 | 4 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 5.33M | link.width = sizeof (T); | 548 | 5.33M | link.objidx = objidx; | 549 | 5.33M | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 5.33M | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 5.33M | link.whence = (unsigned) whence; | 562 | 5.33M | link.position = (const char *) &ofs - current->head; | 563 | 5.33M | link.bias = bias; | 564 | 5.33M | } |
void hb_serialize_context_t::add_link<OT::Offset<OT::NumType<true, unsigned int, 3u>, true> >(OT::Offset<OT::NumType<true, unsigned int, 3u>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 1.39k | { | 535 | 1.39k | if (unlikely (in_error ())) return; | 536 | | | 537 | 1.38k | if (!objidx) | 538 | 507 | return; | 539 | | | 540 | 1.38k | assert (current); | 541 | 873 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 873 | auto& link = *current->real_links.push (); | 544 | 873 | if (current->real_links.in_error ()) | 545 | 4 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 873 | link.width = sizeof (T); | 548 | 873 | link.objidx = objidx; | 549 | 873 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 873 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 873 | link.whence = (unsigned) whence; | 562 | 873 | link.position = (const char *) &ofs - current->head; | 563 | 873 | link.bias = bias; | 564 | 873 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::FeatureParams, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::FeatureParams, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 5 | { | 535 | 5 | if (unlikely (in_error ())) return; | 536 | | | 537 | 5 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 5 | assert (current); | 541 | 5 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 5 | auto& link = *current->real_links.push (); | 544 | 5 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 5 | link.width = sizeof (T); | 548 | 5 | link.objidx = objidx; | 549 | 5 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 5 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 5 | link.whence = (unsigned) whence; | 562 | 5 | link.position = (const char *) &ofs - current->head; | 563 | 5 | link.bias = bias; | 564 | 5 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Feature, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Feature, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 22.7k | { | 535 | 22.7k | if (unlikely (in_error ())) return; | 536 | | | 537 | 22.6k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 22.6k | assert (current); | 541 | 22.6k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 22.6k | auto& link = *current->real_links.push (); | 544 | 22.6k | if (current->real_links.in_error ()) | 545 | 7 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 22.6k | link.width = sizeof (T); | 548 | 22.6k | link.objidx = objidx; | 549 | 22.6k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 22.6k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 22.6k | link.whence = (unsigned) whence; | 562 | 22.6k | link.position = (const char *) &ofs - current->head; | 563 | 22.6k | link.bias = bias; | 564 | 22.6k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LangSys, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::LangSys, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 42.7k | { | 535 | 42.7k | if (unlikely (in_error ())) return; | 536 | | | 537 | 42.6k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 42.6k | assert (current); | 541 | 42.6k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 42.6k | auto& link = *current->real_links.push (); | 544 | 42.6k | if (current->real_links.in_error ()) | 545 | 7 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 42.6k | link.width = sizeof (T); | 548 | 42.6k | link.objidx = objidx; | 549 | 42.6k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 42.6k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 42.6k | link.whence = (unsigned) whence; | 562 | 42.6k | link.position = (const char *) &ofs - current->head; | 563 | 42.6k | link.bias = bias; | 564 | 42.6k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Script, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Script, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 43.5k | { | 535 | 43.5k | if (unlikely (in_error ())) return; | 536 | | | 537 | 43.4k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 43.4k | assert (current); | 541 | 43.4k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 43.4k | auto& link = *current->real_links.push (); | 544 | 43.4k | if (current->real_links.in_error ()) | 545 | 5 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 43.4k | link.width = sizeof (T); | 548 | 43.4k | link.objidx = objidx; | 549 | 43.4k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 43.4k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 43.4k | link.whence = (unsigned) whence; | 562 | 43.4k | link.position = (const char *) &ofs - current->head; | 563 | 43.4k | link.bias = bias; | 564 | 43.4k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::SparseVarRegionAxis, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::SparseVarRegionAxis, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 80 | { | 535 | 80 | if (unlikely (in_error ())) return; | 536 | | | 537 | 80 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 80 | assert (current); | 541 | 80 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 80 | auto& link = *current->real_links.push (); | 544 | 80 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 80 | link.width = sizeof (T); | 548 | 80 | link.objidx = objidx; | 549 | 80 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 80 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 80 | link.whence = (unsigned) whence; | 562 | 80 | link.position = (const char *) &ofs - current->head; | 563 | 80 | link.bias = bias; | 564 | 80 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::SparseVariationRegion, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::SparseVariationRegion, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 87 | { | 535 | 87 | if (unlikely (in_error ())) return; | 536 | | | 537 | 87 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 87 | assert (current); | 541 | 87 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 87 | auto& link = *current->real_links.push (); | 544 | 87 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 87 | link.width = sizeof (T); | 548 | 87 | link.objidx = objidx; | 549 | 87 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 87 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 87 | link.whence = (unsigned) whence; | 562 | 87 | link.position = (const char *) &ofs - current->head; | 563 | 87 | link.bias = bias; | 564 | 87 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::TupleList, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::TupleList, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 87 | { | 535 | 87 | if (unlikely (in_error ())) return; | 536 | | | 537 | 87 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 87 | assert (current); | 541 | 87 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 87 | auto& link = *current->real_links.push (); | 544 | 87 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 87 | link.width = sizeof (T); | 548 | 87 | link.objidx = objidx; | 549 | 87 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 87 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 87 | link.whence = (unsigned) whence; | 562 | 87 | link.position = (const char *) &ofs - current->head; | 563 | 87 | link.bias = bias; | 564 | 87 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::VarRegionList, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::VarRegionList, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 7.79k | { | 535 | 7.79k | if (unlikely (in_error ())) return; | 536 | | | 537 | 7.78k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 7.78k | assert (current); | 541 | 7.78k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 7.78k | auto& link = *current->real_links.push (); | 544 | 7.78k | if (current->real_links.in_error ()) | 545 | 5 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 7.78k | link.width = sizeof (T); | 548 | 7.78k | link.objidx = objidx; | 549 | 7.78k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 7.78k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 7.78k | link.whence = (unsigned) whence; | 562 | 7.78k | link.position = (const char *) &ofs - current->head; | 563 | 7.78k | link.bias = bias; | 564 | 7.78k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::VarData, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::VarData, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 22.9k | { | 535 | 22.9k | if (unlikely (in_error ())) return; | 536 | | | 537 | 22.9k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 22.9k | assert (current); | 541 | 22.9k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 22.9k | auto& link = *current->real_links.push (); | 544 | 22.9k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 22.9k | link.width = sizeof (T); | 548 | 22.9k | link.objidx = objidx; | 549 | 22.9k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 22.9k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 22.9k | link.whence = (unsigned) whence; | 562 | 22.9k | link.position = (const char *) &ofs - current->head; | 563 | 22.9k | link.bias = bias; | 564 | 22.9k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::SparseVarRegionList, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::SparseVarRegionList, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 57 | { | 535 | 57 | if (unlikely (in_error ())) return; | 536 | | | 537 | 57 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 57 | assert (current); | 541 | 57 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 57 | auto& link = *current->real_links.push (); | 544 | 57 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 57 | link.width = sizeof (T); | 548 | 57 | link.objidx = objidx; | 549 | 57 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 57 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 57 | link.whence = (unsigned) whence; | 562 | 57 | link.position = (const char *) &ofs - current->head; | 563 | 57 | link.bias = bias; | 564 | 57 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MultiVarData, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::MultiVarData, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 34 | { | 535 | 34 | if (unlikely (in_error ())) return; | 536 | | | 537 | 34 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 34 | assert (current); | 541 | 34 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 34 | auto& link = *current->real_links.push (); | 544 | 34 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 34 | link.width = sizeof (T); | 548 | 34 | link.objidx = objidx; | 549 | 34 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 34 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 34 | link.whence = (unsigned) whence; | 562 | 34 | link.position = (const char *) &ofs - current->head; | 563 | 34 | link.bias = bias; | 564 | 34 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 839 | { | 535 | 839 | if (unlikely (in_error ())) return; | 536 | | | 537 | 839 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 839 | assert (current); | 541 | 839 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 839 | auto& link = *current->real_links.push (); | 544 | 839 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 839 | link.width = sizeof (T); | 548 | 839 | link.objidx = objidx; | 549 | 839 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 839 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 839 | link.whence = (unsigned) whence; | 562 | 839 | link.position = (const char *) &ofs - current->head; | 563 | 839 | link.bias = bias; | 564 | 839 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 1.10k | { | 535 | 1.10k | if (unlikely (in_error ())) return; | 536 | | | 537 | 1.10k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 1.10k | assert (current); | 541 | 1.10k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 1.10k | auto& link = *current->real_links.push (); | 544 | 1.10k | if (current->real_links.in_error ()) | 545 | 2 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 1.10k | link.width = sizeof (T); | 548 | 1.10k | link.objidx = objidx; | 549 | 1.10k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 1.10k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 1.10k | link.whence = (unsigned) whence; | 562 | 1.10k | link.position = (const char *) &ofs - current->head; | 563 | 1.10k | link.bias = bias; | 564 | 1.10k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Feature, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Feature, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 1.06k | { | 535 | 1.06k | if (unlikely (in_error ())) return; | 536 | | | 537 | 1.06k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 1.06k | assert (current); | 541 | 1.06k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 1.06k | auto& link = *current->real_links.push (); | 544 | 1.06k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 1.06k | link.width = sizeof (T); | 548 | 1.06k | link.objidx = objidx; | 549 | 1.06k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 1.06k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 1.06k | link.whence = (unsigned) whence; | 562 | 1.06k | link.position = (const char *) &ofs - current->head; | 563 | 1.06k | link.bias = bias; | 564 | 1.06k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ConditionSet, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::ConditionSet, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 899 | { | 535 | 899 | if (unlikely (in_error ())) return; | 536 | | | 537 | 897 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 897 | assert (current); | 541 | 897 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 897 | auto& link = *current->real_links.push (); | 544 | 897 | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 897 | link.width = sizeof (T); | 548 | 897 | link.objidx = objidx; | 549 | 897 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 897 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 897 | link.whence = (unsigned) whence; | 562 | 897 | link.position = (const char *) &ofs - current->head; | 563 | 897 | link.bias = bias; | 564 | 897 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::FeatureTableSubstitution, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::FeatureTableSubstitution, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 885 | { | 535 | 885 | if (unlikely (in_error ())) return; | 536 | | | 537 | 883 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 883 | assert (current); | 541 | 883 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 883 | auto& link = *current->real_links.push (); | 544 | 883 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 883 | link.width = sizeof (T); | 548 | 883 | link.objidx = objidx; | 549 | 883 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 883 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 883 | link.whence = (unsigned) whence; | 562 | 883 | link.position = (const char *) &ofs - current->head; | 563 | 883 | link.bias = bias; | 564 | 883 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LookupIndexList, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::LookupIndexList, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 65 | { | 535 | 65 | if (unlikely (in_error ())) return; | 536 | | | 537 | 65 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 65 | assert (current); | 541 | 65 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 65 | auto& link = *current->real_links.push (); | 544 | 65 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 65 | link.width = sizeof (T); | 548 | 65 | link.objidx = objidx; | 549 | 65 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 65 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 65 | link.whence = (unsigned) whence; | 562 | 65 | link.position = (const char *) &ofs - current->head; | 563 | 65 | link.bias = bias; | 564 | 65 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::FeatureLookupsTable, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::FeatureLookupsTable, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 131 | { | 535 | 131 | if (unlikely (in_error ())) return; | 536 | | | 537 | 131 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 131 | assert (current); | 541 | 131 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 131 | auto& link = *current->real_links.push (); | 544 | 131 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 131 | link.width = sizeof (T); | 548 | 131 | link.objidx = objidx; | 549 | 131 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 131 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 131 | link.whence = (unsigned) whence; | 562 | 131 | link.position = (const char *) &ofs - current->head; | 563 | 131 | link.bias = bias; | 564 | 131 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::AttachPoint, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::AttachPoint, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 37.5k | { | 535 | 37.5k | if (unlikely (in_error ())) return; | 536 | | | 537 | 37.5k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 37.5k | assert (current); | 541 | 37.5k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 37.5k | auto& link = *current->real_links.push (); | 544 | 37.5k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 37.5k | link.width = sizeof (T); | 548 | 37.5k | link.objidx = objidx; | 549 | 37.5k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 37.5k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 37.5k | link.whence = (unsigned) whence; | 562 | 37.5k | link.position = (const char *) &ofs - current->head; | 563 | 37.5k | link.bias = bias; | 564 | 37.5k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Device, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Device, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 2.53M | { | 535 | 2.53M | if (unlikely (in_error ())) return; | 536 | | | 537 | 2.53M | if (!objidx) | 538 | 2.39M | return; | 539 | | | 540 | 2.53M | assert (current); | 541 | 142k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 142k | auto& link = *current->real_links.push (); | 544 | 142k | if (current->real_links.in_error ()) | 545 | 4 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 142k | link.width = sizeof (T); | 548 | 142k | link.objidx = objidx; | 549 | 142k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 142k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 142k | link.whence = (unsigned) whence; | 562 | 142k | link.position = (const char *) &ofs - current->head; | 563 | 142k | link.bias = bias; | 564 | 142k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::CaretValue, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::CaretValue, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 120M | { | 535 | 120M | if (unlikely (in_error ())) return; | 536 | | | 537 | 120M | if (!objidx) | 538 | 113M | return; | 539 | | | 540 | 120M | assert (current); | 541 | 7.49M | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 7.49M | auto& link = *current->real_links.push (); | 544 | 7.49M | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 7.49M | link.width = sizeof (T); | 548 | 7.49M | link.objidx = objidx; | 549 | 7.49M | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 7.49M | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 7.49M | link.whence = (unsigned) whence; | 562 | 7.49M | link.position = (const char *) &ofs - current->head; | 563 | 7.49M | link.bias = bias; | 564 | 7.49M | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ItemVariationStore, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::ItemVariationStore, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 4.56k | { | 535 | 4.56k | if (unlikely (in_error ())) return; | 536 | | | 537 | 4.56k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 4.56k | assert (current); | 541 | 4.56k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 4.56k | auto& link = *current->real_links.push (); | 544 | 4.56k | if (current->real_links.in_error ()) | 545 | 2 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 4.56k | link.width = sizeof (T); | 548 | 4.56k | link.objidx = objidx; | 549 | 4.56k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 4.56k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 4.56k | link.whence = (unsigned) whence; | 562 | 4.56k | link.position = (const char *) &ofs - current->head; | 563 | 4.56k | link.bias = bias; | 564 | 4.56k | } |
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 2.18k | { | 535 | 2.18k | if (unlikely (in_error ())) return; | 536 | | | 537 | 2.17k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 2.17k | assert (current); | 541 | 2.17k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 2.17k | auto& link = *current->real_links.push (); | 544 | 2.17k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 2.17k | link.width = sizeof (T); | 548 | 2.17k | link.objidx = objidx; | 549 | 2.17k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 2.17k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 2.17k | link.whence = (unsigned) whence; | 562 | 2.17k | link.position = (const char *) &ofs - current->head; | 563 | 2.17k | link.bias = bias; | 564 | 2.17k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ClassDef, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::ClassDef, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 10 | { | 535 | 10 | if (unlikely (in_error ())) return; | 536 | | | 537 | 10 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 10 | assert (current); | 541 | 10 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 10 | auto& link = *current->real_links.push (); | 544 | 10 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 10 | link.width = sizeof (T); | 548 | 10 | link.objidx = objidx; | 549 | 10 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 10 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 10 | link.whence = (unsigned) whence; | 562 | 10 | link.position = (const char *) &ofs - current->head; | 563 | 10 | link.bias = bias; | 564 | 10 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ClassDef, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::ClassDef, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 10.5k | { | 535 | 10.5k | if (unlikely (in_error ())) return; | 536 | | | 537 | 10.5k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 10.5k | assert (current); | 541 | 10.5k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 10.5k | auto& link = *current->real_links.push (); | 544 | 10.5k | if (current->real_links.in_error ()) | 545 | 2 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 10.5k | link.width = sizeof (T); | 548 | 10.5k | link.objidx = objidx; | 549 | 10.5k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 10.5k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 10.5k | link.whence = (unsigned) whence; | 562 | 10.5k | link.position = (const char *) &ofs - current->head; | 563 | 10.5k | link.bias = bias; | 564 | 10.5k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::AttachList, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::AttachList, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 2 | { | 535 | 2 | if (unlikely (in_error ())) return; | 536 | | | 537 | 2 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 2 | assert (current); | 541 | 2 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 2 | auto& link = *current->real_links.push (); | 544 | 2 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 2 | link.width = sizeof (T); | 548 | 2 | link.objidx = objidx; | 549 | 2 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 2 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 2 | link.whence = (unsigned) whence; | 562 | 2 | link.position = (const char *) &ofs - current->head; | 563 | 2 | link.bias = bias; | 564 | 2 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::AttachList, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::AttachList, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 538 | { | 535 | 538 | if (unlikely (in_error ())) return; | 536 | | | 537 | 364 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 364 | assert (current); | 541 | 364 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 364 | auto& link = *current->real_links.push (); | 544 | 364 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 364 | link.width = sizeof (T); | 548 | 364 | link.objidx = objidx; | 549 | 364 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 364 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 364 | link.whence = (unsigned) whence; | 562 | 364 | link.position = (const char *) &ofs - current->head; | 563 | 364 | link.bias = bias; | 564 | 364 | } |
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LigCaretList<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::LigCaretList<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 39.1k | { | 535 | 39.1k | if (unlikely (in_error ())) return; | 536 | | | 537 | 38.7k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 38.7k | assert (current); | 541 | 38.7k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 38.7k | auto& link = *current->real_links.push (); | 544 | 38.7k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 38.7k | link.width = sizeof (T); | 548 | 38.7k | link.objidx = objidx; | 549 | 38.7k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 38.7k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 38.7k | link.whence = (unsigned) whence; | 562 | 38.7k | link.position = (const char *) &ofs - current->head; | 563 | 38.7k | link.bias = bias; | 564 | 38.7k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LigCaretList<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::LigCaretList<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 1.52k | { | 535 | 1.52k | if (unlikely (in_error ())) return; | 536 | | | 537 | 1.16k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 1.16k | assert (current); | 541 | 1.16k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 1.16k | auto& link = *current->real_links.push (); | 544 | 1.16k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 1.16k | link.width = sizeof (T); | 548 | 1.16k | link.objidx = objidx; | 549 | 1.16k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 1.16k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 1.16k | link.whence = (unsigned) whence; | 562 | 1.16k | link.position = (const char *) &ofs - current->head; | 563 | 1.16k | link.bias = bias; | 564 | 1.16k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ItemVariationStore, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::ItemVariationStore, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 148 | { | 535 | 148 | if (unlikely (in_error ())) return; | 536 | | | 537 | 148 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 148 | assert (current); | 541 | 148 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 148 | auto& link = *current->real_links.push (); | 544 | 148 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 148 | link.width = sizeof (T); | 548 | 148 | link.objidx = objidx; | 549 | 148 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 148 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 148 | link.whence = (unsigned) whence; | 562 | 148 | link.position = (const char *) &ofs - current->head; | 563 | 148 | link.bias = bias; | 564 | 148 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::DefaultUVS, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::DefaultUVS, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 371 | { | 535 | 371 | if (unlikely (in_error ())) return; | 536 | | | 537 | 371 | if (!objidx) | 538 | 184 | return; | 539 | | | 540 | 371 | assert (current); | 541 | 187 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 187 | auto& link = *current->real_links.push (); | 544 | 187 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 187 | link.width = sizeof (T); | 548 | 187 | link.objidx = objidx; | 549 | 187 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 187 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 187 | link.whence = (unsigned) whence; | 562 | 187 | link.position = (const char *) &ofs - current->head; | 563 | 187 | link.bias = bias; | 564 | 187 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::NonDefaultUVS<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::NonDefaultUVS<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 289 | { | 535 | 289 | if (unlikely (in_error ())) return; | 536 | | | 537 | 289 | if (!objidx) | 538 | 99 | return; | 539 | | | 540 | 289 | assert (current); | 541 | 190 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 190 | auto& link = *current->real_links.push (); | 544 | 190 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 190 | link.width = sizeof (T); | 548 | 190 | link.objidx = objidx; | 549 | 190 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 190 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 190 | link.whence = (unsigned) whence; | 562 | 190 | link.position = (const char *) &ofs - current->head; | 563 | 190 | link.bias = bias; | 564 | 190 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::NonDefaultUVS<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::NonDefaultUVS<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 82 | { | 535 | 82 | if (unlikely (in_error ())) return; | 536 | | | 537 | 82 | if (!objidx) | 538 | 17 | return; | 539 | | | 540 | 82 | assert (current); | 541 | 65 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 65 | auto& link = *current->real_links.push (); | 544 | 65 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 65 | link.width = sizeof (T); | 548 | 65 | link.objidx = objidx; | 549 | 65 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 65 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 65 | link.whence = (unsigned) whence; | 562 | 65 | link.position = (const char *) &ofs - current->head; | 563 | 65 | link.bias = bias; | 564 | 65 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::CmapSubtable, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::CmapSubtable, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 3.80k | { | 535 | 3.80k | if (unlikely (in_error ())) return; | 536 | | | 537 | 3.80k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 3.80k | assert (current); | 541 | 3.80k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 3.80k | auto& link = *current->real_links.push (); | 544 | 3.80k | if (current->real_links.in_error ()) | 545 | 2 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 3.80k | link.width = sizeof (T); | 548 | 3.80k | link.objidx = objidx; | 549 | 3.80k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 3.80k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 3.80k | link.whence = (unsigned) whence; | 562 | 3.80k | link.position = (const char *) &ofs - current->head; | 563 | 3.80k | link.bias = bias; | 564 | 3.80k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::UnsizedArrayOf<OT::NumType<true, unsigned int, 4u> >, OT::NumType<true, unsigned int, 4u>, void, false> >(OT::OffsetTo<OT::UnsizedArrayOf<OT::NumType<true, unsigned int, 4u> >, OT::NumType<true, unsigned int, 4u>, void, false>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 844 | { | 535 | 844 | if (unlikely (in_error ())) return; | 536 | | | 537 | 834 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 834 | assert (current); | 541 | 834 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 834 | auto& link = *current->real_links.push (); | 544 | 834 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 834 | link.width = sizeof (T); | 548 | 834 | link.objidx = objidx; | 549 | 834 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 834 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 834 | link.whence = (unsigned) whence; | 562 | 834 | link.position = (const char *) &ofs - current->head; | 563 | 834 | link.bias = bias; | 564 | 834 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::UnsizedArrayOf<OT::Index>, OT::NumType<true, unsigned int, 4u>, void, false> >(OT::OffsetTo<OT::UnsizedArrayOf<OT::Index>, OT::NumType<true, unsigned int, 4u>, void, false>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 298 | { | 535 | 298 | if (unlikely (in_error ())) return; | 536 | | | 537 | 284 | if (!objidx) | 538 | 9 | return; | 539 | | | 540 | 284 | assert (current); | 541 | 275 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 275 | auto& link = *current->real_links.push (); | 544 | 275 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 275 | link.width = sizeof (T); | 548 | 275 | link.objidx = objidx; | 549 | 275 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 275 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 275 | link.whence = (unsigned) whence; | 562 | 275 | link.position = (const char *) &ofs - current->head; | 563 | 275 | link.bias = bias; | 564 | 275 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::UnsizedArrayOf<OT::NumType<true, unsigned int, 4u> >, OT::NumType<true, unsigned int, 4u>, void, false> const>(OT::OffsetTo<OT::UnsizedArrayOf<OT::NumType<true, unsigned int, 4u> >, OT::NumType<true, unsigned int, 4u>, void, false> const&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 1.24k | { | 535 | 1.24k | if (unlikely (in_error ())) return; | 536 | | | 537 | 1.24k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 1.24k | assert (current); | 541 | 1.24k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 1.24k | auto& link = *current->real_links.push (); | 544 | 1.24k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 1.24k | link.width = sizeof (T); | 548 | 1.24k | link.objidx = objidx; | 549 | 1.24k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 1.24k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 1.24k | link.whence = (unsigned) whence; | 562 | 1.24k | link.position = (const char *) &ofs - current->head; | 563 | 1.24k | link.bias = bias; | 564 | 1.24k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ColorLine<OT::NoVariable>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::ColorLine<OT::NoVariable>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 4.45k | { | 535 | 4.45k | if (unlikely (in_error ())) return; | 536 | | | 537 | 4.45k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 4.45k | assert (current); | 541 | 4.45k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 4.45k | auto& link = *current->real_links.push (); | 544 | 4.45k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 4.45k | link.width = sizeof (T); | 548 | 4.45k | link.objidx = objidx; | 549 | 4.45k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 4.45k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 4.45k | link.whence = (unsigned) whence; | 562 | 4.45k | link.position = (const char *) &ofs - current->head; | 563 | 4.45k | link.bias = bias; | 564 | 4.45k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ColorLine<OT::Variable>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::ColorLine<OT::Variable>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 10.0k | { | 535 | 10.0k | if (unlikely (in_error ())) return; | 536 | | | 537 | 10.0k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 10.0k | assert (current); | 541 | 10.0k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 10.0k | auto& link = *current->real_links.push (); | 544 | 10.0k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 10.0k | link.width = sizeof (T); | 548 | 10.0k | link.objidx = objidx; | 549 | 10.0k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 10.0k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 10.0k | link.whence = (unsigned) whence; | 562 | 10.0k | link.position = (const char *) &ofs - current->head; | 563 | 10.0k | link.bias = bias; | 564 | 10.0k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::NoVariable<OT::Affine2x3>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::NoVariable<OT::Affine2x3>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 2.50k | { | 535 | 2.50k | if (unlikely (in_error ())) return; | 536 | | | 537 | 2.50k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 2.50k | assert (current); | 541 | 2.50k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 2.50k | auto& link = *current->real_links.push (); | 544 | 2.50k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 2.50k | link.width = sizeof (T); | 548 | 2.50k | link.objidx = objidx; | 549 | 2.50k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 2.50k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 2.50k | link.whence = (unsigned) whence; | 562 | 2.50k | link.position = (const char *) &ofs - current->head; | 563 | 2.50k | link.bias = bias; | 564 | 2.50k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Variable<OT::Affine2x3>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Variable<OT::Affine2x3>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 516 | { | 535 | 516 | if (unlikely (in_error ())) return; | 536 | | | 537 | 515 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 515 | assert (current); | 541 | 515 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 515 | auto& link = *current->real_links.push (); | 544 | 515 | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 515 | link.width = sizeof (T); | 548 | 515 | link.objidx = objidx; | 549 | 515 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 515 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 515 | link.whence = (unsigned) whence; | 562 | 515 | link.position = (const char *) &ofs - current->head; | 563 | 515 | link.bias = bias; | 564 | 515 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Paint, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Paint, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 341k | { | 535 | 341k | if (unlikely (in_error ())) return; | 536 | | | 537 | 338k | if (!objidx) | 538 | 121k | return; | 539 | | | 540 | 338k | assert (current); | 541 | 217k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 217k | auto& link = *current->real_links.push (); | 544 | 217k | if (current->real_links.in_error ()) | 545 | 21 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 217k | link.width = sizeof (T); | 548 | 217k | link.objidx = objidx; | 549 | 217k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 217k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 217k | link.whence = (unsigned) whence; | 562 | 217k | link.position = (const char *) &ofs - current->head; | 563 | 217k | link.bias = bias; | 564 | 217k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ClipBox, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::ClipBox, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 640 | { | 535 | 640 | if (unlikely (in_error ())) return; | 536 | | | 537 | 640 | if (!objidx) | 538 | 73 | return; | 539 | | | 540 | 640 | assert (current); | 541 | 567 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 567 | auto& link = *current->real_links.push (); | 544 | 567 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 567 | link.width = sizeof (T); | 548 | 567 | link.objidx = objidx; | 549 | 567 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 567 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 567 | link.whence = (unsigned) whence; | 562 | 567 | link.position = (const char *) &ofs - current->head; | 563 | 567 | link.bias = bias; | 564 | 567 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Paint, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Paint, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 19.6k | { | 535 | 19.6k | if (unlikely (in_error ())) return; | 536 | | | 537 | 19.4k | if (!objidx) | 538 | 458 | return; | 539 | | | 540 | 19.4k | assert (current); | 541 | 19.0k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 19.0k | auto& link = *current->real_links.push (); | 544 | 19.0k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 19.0k | link.width = sizeof (T); | 548 | 19.0k | link.objidx = objidx; | 549 | 19.0k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 19.0k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 19.0k | link.whence = (unsigned) whence; | 562 | 19.0k | link.position = (const char *) &ofs - current->head; | 563 | 19.0k | link.bias = bias; | 564 | 19.0k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::DeltaSetIndexMap, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::DeltaSetIndexMap, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 2.13k | { | 535 | 2.13k | if (unlikely (in_error ())) return; | 536 | | | 537 | 2.13k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 2.13k | assert (current); | 541 | 2.13k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 2.13k | auto& link = *current->real_links.push (); | 544 | 2.13k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 2.13k | link.width = sizeof (T); | 548 | 2.13k | link.objidx = objidx; | 549 | 2.13k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 2.13k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 2.13k | link.whence = (unsigned) whence; | 562 | 2.13k | link.position = (const char *) &ofs - current->head; | 563 | 2.13k | link.bias = bias; | 564 | 2.13k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::SortedUnsizedArrayOf<OT::BaseGlyphRecord>, OT::NumType<true, unsigned int, 4u>, void, false> >(OT::OffsetTo<OT::SortedUnsizedArrayOf<OT::BaseGlyphRecord>, OT::NumType<true, unsigned int, 4u>, void, false>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 621 | { | 535 | 621 | if (unlikely (in_error ())) return; | 536 | | | 537 | 617 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 617 | assert (current); | 541 | 617 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 617 | auto& link = *current->real_links.push (); | 544 | 617 | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 617 | link.width = sizeof (T); | 548 | 617 | link.objidx = objidx; | 549 | 617 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 617 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 617 | link.whence = (unsigned) whence; | 562 | 617 | link.position = (const char *) &ofs - current->head; | 563 | 617 | link.bias = bias; | 564 | 617 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::UnsizedArrayOf<OT::LayerRecord>, OT::NumType<true, unsigned int, 4u>, void, false> >(OT::OffsetTo<OT::UnsizedArrayOf<OT::LayerRecord>, OT::NumType<true, unsigned int, 4u>, void, false>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 621 | { | 535 | 621 | if (unlikely (in_error ())) return; | 536 | | | 537 | 616 | if (!objidx) | 538 | 315 | return; | 539 | | | 540 | 616 | assert (current); | 541 | 301 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 301 | auto& link = *current->real_links.push (); | 544 | 301 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 301 | link.width = sizeof (T); | 548 | 301 | link.objidx = objidx; | 549 | 301 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 301 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 301 | link.whence = (unsigned) whence; | 562 | 301 | link.position = (const char *) &ofs - current->head; | 563 | 301 | link.bias = bias; | 564 | 301 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::BaseGlyphList, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::BaseGlyphList, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 1.77k | { | 535 | 1.77k | if (unlikely (in_error ())) return; | 536 | | | 537 | 1.66k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 1.66k | assert (current); | 541 | 1.66k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 1.66k | auto& link = *current->real_links.push (); | 544 | 1.66k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 1.66k | link.width = sizeof (T); | 548 | 1.66k | link.objidx = objidx; | 549 | 1.66k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 1.66k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 1.66k | link.whence = (unsigned) whence; | 562 | 1.66k | link.position = (const char *) &ofs - current->head; | 563 | 1.66k | link.bias = bias; | 564 | 1.66k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LayerList, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::LayerList, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 561 | { | 535 | 561 | if (unlikely (in_error ())) return; | 536 | | | 537 | 514 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 514 | assert (current); | 541 | 514 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 514 | auto& link = *current->real_links.push (); | 544 | 514 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 514 | link.width = sizeof (T); | 548 | 514 | link.objidx = objidx; | 549 | 514 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 514 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 514 | link.whence = (unsigned) whence; | 562 | 514 | link.position = (const char *) &ofs - current->head; | 563 | 514 | link.bias = bias; | 564 | 514 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ClipList, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::ClipList, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 201 | { | 535 | 201 | if (unlikely (in_error ())) return; | 536 | | | 537 | 201 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 201 | assert (current); | 541 | 201 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 201 | auto& link = *current->real_links.push (); | 544 | 201 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 201 | link.width = sizeof (T); | 548 | 201 | link.objidx = objidx; | 549 | 201 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 201 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 201 | link.whence = (unsigned) whence; | 562 | 201 | link.position = (const char *) &ofs - current->head; | 563 | 201 | link.bias = bias; | 564 | 201 | } |
void hb_serialize_context_t::add_link<OT::NumType<true, int, 4u> >(OT::NumType<true, int, 4u>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 12.0k | { | 535 | 12.0k | if (unlikely (in_error ())) return; | 536 | | | 537 | 12.0k | if (!objidx) | 538 | 387 | return; | 539 | | | 540 | 12.0k | assert (current); | 541 | 11.6k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 11.6k | auto& link = *current->real_links.push (); | 544 | 11.6k | if (current->real_links.in_error ()) | 545 | 10 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 11.6k | link.width = sizeof (T); | 548 | 11.6k | link.objidx = objidx; | 549 | 11.6k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 11.6k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 11.6k | link.whence = (unsigned) whence; | 562 | 11.6k | link.position = (const char *) &ofs - current->head; | 563 | 11.6k | link.bias = bias; | 564 | 11.6k | } |
void hb_serialize_context_t::add_link<OT::NumType<true, short, 2u> >(OT::NumType<true, short, 2u>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 1.07k | { | 535 | 1.07k | if (unlikely (in_error ())) return; | 536 | | | 537 | 1.07k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 1.07k | assert (current); | 541 | 1.07k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 1.07k | auto& link = *current->real_links.push (); | 544 | 1.07k | if (current->real_links.in_error ()) | 545 | 3 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 1.07k | link.width = sizeof (T); | 548 | 1.07k | link.objidx = objidx; | 549 | 1.07k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 1.07k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 1.07k | link.whence = (unsigned) whence; | 562 | 1.07k | link.position = (const char *) &ofs - current->head; | 563 | 1.07k | link.bias = bias; | 564 | 1.07k | } |
void hb_serialize_context_t::add_link<OT::NumType<true, unsigned short, 2u> >(OT::NumType<true, unsigned short, 2u>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 89.5k | { | 535 | 89.5k | if (unlikely (in_error ())) return; | 536 | | | 537 | 89.5k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 89.5k | assert (current); | 541 | 89.5k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 89.5k | auto& link = *current->real_links.push (); | 544 | 89.5k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 89.5k | link.width = sizeof (T); | 548 | 89.5k | link.objidx = objidx; | 549 | 89.5k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 89.5k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 89.5k | link.whence = (unsigned) whence; | 562 | 89.5k | link.position = (const char *) &ofs - current->head; | 563 | 89.5k | link.bias = bias; | 564 | 89.5k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 126k | { | 535 | 126k | if (unlikely (in_error ())) return; | 536 | | | 537 | 125k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 125k | assert (current); | 541 | 125k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 125k | auto& link = *current->real_links.push (); | 544 | 125k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 125k | link.width = sizeof (T); | 548 | 125k | link.objidx = objidx; | 549 | 125k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 125k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 125k | link.whence = (unsigned) whence; | 562 | 125k | link.position = (const char *) &ofs - current->head; | 563 | 125k | link.bias = bias; | 564 | 125k | } |
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 70.6k | { | 535 | 70.6k | if (unlikely (in_error ())) return; | 536 | | | 537 | 70.6k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 70.6k | assert (current); | 541 | 70.6k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 70.6k | auto& link = *current->real_links.push (); | 544 | 70.6k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 70.6k | link.width = sizeof (T); | 548 | 70.6k | link.objidx = objidx; | 549 | 70.6k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 70.6k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 70.6k | link.whence = (unsigned) whence; | 562 | 70.6k | link.position = (const char *) &ofs - current->head; | 563 | 70.6k | link.bias = bias; | 564 | 70.6k | } |
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 15.4k | { | 535 | 15.4k | if (unlikely (in_error ())) return; | 536 | | | 537 | 15.4k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 15.4k | assert (current); | 541 | 15.4k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 15.4k | auto& link = *current->real_links.push (); | 544 | 15.4k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 15.4k | link.width = sizeof (T); | 548 | 15.4k | link.objidx = objidx; | 549 | 15.4k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 15.4k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 15.4k | link.whence = (unsigned) whence; | 562 | 15.4k | link.position = (const char *) &ofs - current->head; | 563 | 15.4k | link.bias = bias; | 564 | 15.4k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 3.41k | { | 535 | 3.41k | if (unlikely (in_error ())) return; | 536 | | | 537 | 3.41k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 3.41k | assert (current); | 541 | 3.41k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 3.41k | auto& link = *current->real_links.push (); | 544 | 3.41k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 3.41k | link.width = sizeof (T); | 548 | 3.41k | link.objidx = objidx; | 549 | 3.41k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 3.41k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 3.41k | link.whence = (unsigned) whence; | 562 | 3.41k | link.position = (const char *) &ofs - current->head; | 563 | 3.41k | link.bias = bias; | 564 | 3.41k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 125k | { | 535 | 125k | if (unlikely (in_error ())) return; | 536 | | | 537 | 125k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 125k | assert (current); | 541 | 125k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 125k | auto& link = *current->real_links.push (); | 544 | 125k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 125k | link.width = sizeof (T); | 548 | 125k | link.objidx = objidx; | 549 | 125k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 125k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 125k | link.whence = (unsigned) whence; | 562 | 125k | link.position = (const char *) &ofs - current->head; | 563 | 125k | link.bias = bias; | 564 | 125k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 7.20k | { | 535 | 7.20k | if (unlikely (in_error ())) return; | 536 | | | 537 | 7.20k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 7.20k | assert (current); | 541 | 7.20k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 7.20k | auto& link = *current->real_links.push (); | 544 | 7.20k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 7.20k | link.width = sizeof (T); | 548 | 7.20k | link.objidx = objidx; | 549 | 7.20k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 7.20k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 7.20k | link.whence = (unsigned) whence; | 562 | 7.20k | link.position = (const char *) &ofs - current->head; | 563 | 7.20k | link.bias = bias; | 564 | 7.20k | } |
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 648 | { | 535 | 648 | if (unlikely (in_error ())) return; | 536 | | | 537 | 648 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 648 | assert (current); | 541 | 648 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 648 | auto& link = *current->real_links.push (); | 544 | 648 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 648 | link.width = sizeof (T); | 548 | 648 | link.objidx = objidx; | 549 | 648 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 648 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 648 | link.whence = (unsigned) whence; | 562 | 648 | link.position = (const char *) &ofs - current->head; | 563 | 648 | link.bias = bias; | 564 | 648 | } |
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 7.36k | { | 535 | 7.36k | if (unlikely (in_error ())) return; | 536 | | | 537 | 7.31k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 7.31k | assert (current); | 541 | 7.31k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 7.31k | auto& link = *current->real_links.push (); | 544 | 7.31k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 7.31k | link.width = sizeof (T); | 548 | 7.31k | link.objidx = objidx; | 549 | 7.31k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 7.31k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 7.31k | link.whence = (unsigned) whence; | 562 | 7.31k | link.position = (const char *) &ofs - current->head; | 563 | 7.31k | link.bias = bias; | 564 | 7.31k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 2.60k | { | 535 | 2.60k | if (unlikely (in_error ())) return; | 536 | | | 537 | 2.54k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 2.54k | assert (current); | 541 | 2.54k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 2.54k | auto& link = *current->real_links.push (); | 544 | 2.54k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 2.54k | link.width = sizeof (T); | 548 | 2.54k | link.objidx = objidx; | 549 | 2.54k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 2.54k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 2.54k | link.whence = (unsigned) whence; | 562 | 2.54k | link.position = (const char *) &ofs - current->head; | 563 | 2.54k | link.bias = bias; | 564 | 2.54k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::ClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 422 | { | 535 | 422 | if (unlikely (in_error ())) return; | 536 | | | 537 | 422 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 422 | assert (current); | 541 | 422 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 422 | auto& link = *current->real_links.push (); | 544 | 422 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 422 | link.width = sizeof (T); | 548 | 422 | link.objidx = objidx; | 549 | 422 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 422 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 422 | link.whence = (unsigned) whence; | 562 | 422 | link.position = (const char *) &ofs - current->head; | 563 | 422 | link.bias = bias; | 564 | 422 | } |
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 132 | { | 535 | 132 | if (unlikely (in_error ())) return; | 536 | | | 537 | 132 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 132 | assert (current); | 541 | 132 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 132 | auto& link = *current->real_links.push (); | 544 | 132 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 132 | link.width = sizeof (T); | 548 | 132 | link.objidx = objidx; | 549 | 132 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 132 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 132 | link.whence = (unsigned) whence; | 562 | 132 | link.position = (const char *) &ofs - current->head; | 563 | 132 | link.bias = bias; | 564 | 132 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 94.7k | { | 535 | 94.7k | if (unlikely (in_error ())) return; | 536 | | | 537 | 94.6k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 94.6k | assert (current); | 541 | 94.6k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 94.6k | auto& link = *current->real_links.push (); | 544 | 94.6k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 94.6k | link.width = sizeof (T); | 548 | 94.6k | link.objidx = objidx; | 549 | 94.6k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 94.6k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 94.6k | link.whence = (unsigned) whence; | 562 | 94.6k | link.position = (const char *) &ofs - current->head; | 563 | 94.6k | link.bias = bias; | 564 | 94.6k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 1.61k | { | 535 | 1.61k | if (unlikely (in_error ())) return; | 536 | | | 537 | 1.57k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 1.57k | assert (current); | 541 | 1.57k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 1.57k | auto& link = *current->real_links.push (); | 544 | 1.57k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 1.57k | link.width = sizeof (T); | 548 | 1.57k | link.objidx = objidx; | 549 | 1.57k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 1.57k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 1.57k | link.whence = (unsigned) whence; | 562 | 1.57k | link.position = (const char *) &ofs - current->head; | 563 | 1.57k | link.bias = bias; | 564 | 1.57k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 666 | { | 535 | 666 | if (unlikely (in_error ())) return; | 536 | | | 537 | 666 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 666 | assert (current); | 541 | 666 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 666 | auto& link = *current->real_links.push (); | 544 | 666 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 666 | link.width = sizeof (T); | 548 | 666 | link.objidx = objidx; | 549 | 666 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 666 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 666 | link.whence = (unsigned) whence; | 562 | 666 | link.position = (const char *) &ofs - current->head; | 563 | 666 | link.bias = bias; | 564 | 666 | } |
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 671 | { | 535 | 671 | if (unlikely (in_error ())) return; | 536 | | | 537 | 550 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 550 | assert (current); | 541 | 550 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 550 | auto& link = *current->real_links.push (); | 544 | 550 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 550 | link.width = sizeof (T); | 548 | 550 | link.objidx = objidx; | 549 | 550 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 550 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 550 | link.whence = (unsigned) whence; | 562 | 550 | link.position = (const char *) &ofs - current->head; | 563 | 550 | link.bias = bias; | 564 | 550 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 25.1k | { | 535 | 25.1k | if (unlikely (in_error ())) return; | 536 | | | 537 | 24.3k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 24.3k | assert (current); | 541 | 24.3k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 24.3k | auto& link = *current->real_links.push (); | 544 | 24.3k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 24.3k | link.width = sizeof (T); | 548 | 24.3k | link.objidx = objidx; | 549 | 24.3k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 24.3k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 24.3k | link.whence = (unsigned) whence; | 562 | 24.3k | link.position = (const char *) &ofs - current->head; | 563 | 24.3k | link.bias = bias; | 564 | 24.3k | } |
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) void hb_serialize_context_t::add_link<OT::OffsetTo<OT::List16OfOffsetTo<OT::Lookup, OT::NumType<true, unsigned int, 4u> >, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::List16OfOffsetTo<OT::Lookup, OT::NumType<true, unsigned int, 4u> >, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 63 | { | 535 | 63 | if (unlikely (in_error ())) return; | 536 | | | 537 | 63 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 63 | assert (current); | 541 | 63 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 63 | auto& link = *current->real_links.push (); | 544 | 63 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 63 | link.width = sizeof (T); | 548 | 63 | link.objidx = objidx; | 549 | 63 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 63 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 63 | link.whence = (unsigned) whence; | 562 | 63 | link.position = (const char *) &ofs - current->head; | 563 | 63 | link.bias = bias; | 564 | 63 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 16.3k | { | 535 | 16.3k | if (unlikely (in_error ())) return; | 536 | | | 537 | 15.4k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 15.4k | assert (current); | 541 | 15.4k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 15.4k | auto& link = *current->real_links.push (); | 544 | 15.4k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 15.4k | link.width = sizeof (T); | 548 | 15.4k | link.objidx = objidx; | 549 | 15.4k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 15.4k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 15.4k | link.whence = (unsigned) whence; | 562 | 15.4k | link.position = (const char *) &ofs - current->head; | 563 | 15.4k | link.bias = bias; | 564 | 15.4k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::RecordListOf<OT::Feature>, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::RecordListOf<OT::Feature>, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 60 | { | 535 | 60 | if (unlikely (in_error ())) return; | 536 | | | 537 | 60 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 60 | assert (current); | 541 | 60 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 60 | auto& link = *current->real_links.push (); | 544 | 60 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 60 | link.width = sizeof (T); | 548 | 60 | link.objidx = objidx; | 549 | 60 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 60 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 60 | link.whence = (unsigned) whence; | 562 | 60 | link.position = (const char *) &ofs - current->head; | 563 | 60 | link.bias = bias; | 564 | 60 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::RecordListOfScript, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::RecordListOfScript, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 74 | { | 535 | 74 | if (unlikely (in_error ())) return; | 536 | | | 537 | 74 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 74 | assert (current); | 541 | 74 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 74 | auto& link = *current->real_links.push (); | 544 | 74 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 74 | link.width = sizeof (T); | 548 | 74 | link.objidx = objidx; | 549 | 74 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 74 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 74 | link.whence = (unsigned) whence; | 562 | 74 | link.position = (const char *) &ofs - current->head; | 563 | 74 | link.bias = bias; | 564 | 74 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 8.20k | { | 535 | 8.20k | if (unlikely (in_error ())) return; | 536 | | | 537 | 7.32k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 7.32k | assert (current); | 541 | 7.32k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 7.32k | auto& link = *current->real_links.push (); | 544 | 7.32k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 7.32k | link.width = sizeof (T); | 548 | 7.32k | link.objidx = objidx; | 549 | 7.32k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 7.32k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 7.32k | link.whence = (unsigned) whence; | 562 | 7.32k | link.position = (const char *) &ofs - current->head; | 563 | 7.32k | link.bias = bias; | 564 | 7.32k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::RecordListOfFeature, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::RecordListOfFeature, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 16.3k | { | 535 | 16.3k | if (unlikely (in_error ())) return; | 536 | | | 537 | 16.3k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 16.3k | assert (current); | 541 | 16.3k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 16.3k | auto& link = *current->real_links.push (); | 544 | 16.3k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 16.3k | link.width = sizeof (T); | 548 | 16.3k | link.objidx = objidx; | 549 | 16.3k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 16.3k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 16.3k | link.whence = (unsigned) whence; | 562 | 16.3k | link.position = (const char *) &ofs - current->head; | 563 | 16.3k | link.bias = bias; | 564 | 16.3k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::RecordListOfScript, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::RecordListOfScript, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 16.3k | { | 535 | 16.3k | if (unlikely (in_error ())) return; | 536 | | | 537 | 16.3k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 16.3k | assert (current); | 541 | 16.3k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 16.3k | auto& link = *current->real_links.push (); | 544 | 16.3k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 16.3k | link.width = sizeof (T); | 548 | 16.3k | link.objidx = objidx; | 549 | 16.3k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 16.3k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 16.3k | link.whence = (unsigned) whence; | 562 | 16.3k | link.position = (const char *) &ofs - current->head; | 563 | 16.3k | link.bias = bias; | 564 | 16.3k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::FeatureVariations, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::FeatureVariations, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 643 | { | 535 | 643 | if (unlikely (in_error ())) return; | 536 | | | 537 | 637 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 637 | assert (current); | 541 | 637 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 637 | auto& link = *current->real_links.push (); | 544 | 637 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 637 | link.width = sizeof (T); | 548 | 637 | link.objidx = objidx; | 549 | 637 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 637 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 637 | link.whence = (unsigned) whence; | 562 | 637 | link.position = (const char *) &ofs - current->head; | 563 | 637 | link.bias = bias; | 564 | 637 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::UnsizedArrayOf<OT::NumType<true, unsigned char, 1u> >, OT::NumType<true, unsigned short, 2u>, void, false> >(OT::OffsetTo<OT::UnsizedArrayOf<OT::NumType<true, unsigned char, 1u> >, OT::NumType<true, unsigned short, 2u>, void, false>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 40.2k | { | 535 | 40.2k | if (unlikely (in_error ())) return; | 536 | | | 537 | 40.2k | if (!objidx) | 538 | 19 | return; | 539 | | | 540 | 40.2k | assert (current); | 541 | 40.2k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 40.2k | auto& link = *current->real_links.push (); | 544 | 40.2k | if (current->real_links.in_error ()) | 545 | 7 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 40.2k | link.width = sizeof (T); | 548 | 40.2k | link.objidx = objidx; | 549 | 40.2k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 40.2k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 40.2k | link.whence = (unsigned) whence; | 562 | 40.2k | link.position = (const char *) &ofs - current->head; | 563 | 40.2k | link.bias = bias; | 564 | 40.2k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::IndexSubtable, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::IndexSubtable, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 64 | { | 535 | 64 | if (unlikely (in_error ())) return; | 536 | | | 537 | 64 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 64 | assert (current); | 541 | 64 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 64 | auto& link = *current->real_links.push (); | 544 | 64 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 64 | link.width = sizeof (T); | 548 | 64 | link.objidx = objidx; | 549 | 64 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 64 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 64 | link.whence = (unsigned) whence; | 562 | 64 | link.position = (const char *) &ofs - current->head; | 563 | 64 | link.bias = bias; | 564 | 64 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::IndexSubtableArray, OT::NumType<true, unsigned int, 4u>, void, false> >(OT::OffsetTo<OT::IndexSubtableArray, OT::NumType<true, unsigned int, 4u>, void, false>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 185 | { | 535 | 185 | if (unlikely (in_error ())) return; | 536 | | | 537 | 185 | if (!objidx) | 538 | 145 | return; | 539 | | | 540 | 185 | assert (current); | 541 | 40 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 40 | auto& link = *current->real_links.push (); | 544 | 40 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 40 | link.width = sizeof (T); | 548 | 40 | link.objidx = objidx; | 549 | 40 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 40 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 40 | link.whence = (unsigned) whence; | 562 | 40 | link.position = (const char *) &ofs - current->head; | 563 | 40 | link.bias = bias; | 564 | 40 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 289 | { | 535 | 289 | if (unlikely (in_error ())) return; | 536 | | | 537 | 208 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 208 | assert (current); | 541 | 208 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 208 | auto& link = *current->real_links.push (); | 544 | 208 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 208 | link.width = sizeof (T); | 548 | 208 | link.objidx = objidx; | 549 | 208 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 208 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 208 | link.whence = (unsigned) whence; | 562 | 208 | link.position = (const char *) &ofs - current->head; | 563 | 208 | link.bias = bias; | 564 | 208 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 32.8k | { | 535 | 32.8k | if (unlikely (in_error ())) return; | 536 | | | 537 | 32.8k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 32.8k | assert (current); | 541 | 32.8k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 32.8k | auto& link = *current->real_links.push (); | 544 | 32.8k | if (current->real_links.in_error ()) | 545 | 2 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 32.8k | link.width = sizeof (T); | 548 | 32.8k | link.objidx = objidx; | 549 | 32.8k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 32.8k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 32.8k | link.whence = (unsigned) whence; | 562 | 32.8k | link.position = (const char *) &ofs - current->head; | 563 | 32.8k | link.bias = bias; | 564 | 32.8k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 8 | { | 535 | 8 | if (unlikely (in_error ())) return; | 536 | | | 537 | 8 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 8 | assert (current); | 541 | 8 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 8 | auto& link = *current->real_links.push (); | 544 | 8 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 8 | link.width = sizeof (T); | 548 | 8 | link.objidx = objidx; | 549 | 8 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 8 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 8 | link.whence = (unsigned) whence; | 562 | 8 | link.position = (const char *) &ofs - current->head; | 563 | 8 | link.bias = bias; | 564 | 8 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 13.1k | { | 535 | 13.1k | if (unlikely (in_error ())) return; | 536 | | | 537 | 13.1k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 13.1k | assert (current); | 541 | 13.1k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 13.1k | auto& link = *current->real_links.push (); | 544 | 13.1k | if (current->real_links.in_error ()) | 545 | 3 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 13.1k | link.width = sizeof (T); | 548 | 13.1k | link.objidx = objidx; | 549 | 13.1k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 13.1k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 13.1k | link.whence = (unsigned) whence; | 562 | 13.1k | link.position = (const char *) &ofs - current->head; | 563 | 13.1k | link.bias = bias; | 564 | 13.1k | } |
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 80 | { | 535 | 80 | if (unlikely (in_error ())) return; | 536 | | | 537 | 80 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 80 | assert (current); | 541 | 80 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 80 | auto& link = *current->real_links.push (); | 544 | 80 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 80 | link.width = sizeof (T); | 548 | 80 | link.objidx = objidx; | 549 | 80 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 80 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 80 | link.whence = (unsigned) whence; | 562 | 80 | link.position = (const char *) &ofs - current->head; | 563 | 80 | link.bias = bias; | 564 | 80 | } |
Unexecuted instantiation: void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 38.7k | { | 535 | 38.7k | if (unlikely (in_error ())) return; | 536 | | | 537 | 36.9k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 36.9k | assert (current); | 541 | 36.9k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 36.9k | auto& link = *current->real_links.push (); | 544 | 36.9k | if (current->real_links.in_error ()) | 545 | 6 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 36.9k | link.width = sizeof (T); | 548 | 36.9k | link.objidx = objidx; | 549 | 36.9k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 36.9k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 36.9k | link.whence = (unsigned) whence; | 562 | 36.9k | link.position = (const char *) &ofs - current->head; | 563 | 36.9k | link.bias = bias; | 564 | 36.9k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 10.9k | { | 535 | 10.9k | if (unlikely (in_error ())) return; | 536 | | | 537 | 9.09k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 9.09k | assert (current); | 541 | 9.09k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 9.09k | auto& link = *current->real_links.push (); | 544 | 9.09k | if (current->real_links.in_error ()) | 545 | 3 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 9.09k | link.width = sizeof (T); | 548 | 9.09k | link.objidx = objidx; | 549 | 9.09k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 9.09k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 9.09k | link.whence = (unsigned) whence; | 562 | 9.09k | link.position = (const char *) &ofs - current->head; | 563 | 9.09k | link.bias = bias; | 564 | 9.09k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::AxisValue, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::AxisValue, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 1.09k | { | 535 | 1.09k | if (unlikely (in_error ())) return; | 536 | | | 537 | 1.09k | if (!objidx) | 538 | 87 | return; | 539 | | | 540 | 1.09k | assert (current); | 541 | 1.01k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 1.01k | auto& link = *current->real_links.push (); | 544 | 1.01k | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 1.01k | link.width = sizeof (T); | 548 | 1.01k | link.objidx = objidx; | 549 | 1.01k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 1.01k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 1.01k | link.whence = (unsigned) whence; | 562 | 1.01k | link.position = (const char *) &ofs - current->head; | 563 | 1.01k | link.bias = bias; | 564 | 1.01k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::AxisValueOffsetArray, OT::NumType<true, unsigned int, 4u>, void, false> >(OT::OffsetTo<OT::AxisValueOffsetArray, OT::NumType<true, unsigned int, 4u>, void, false>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 371 | { | 535 | 371 | if (unlikely (in_error ())) return; | 536 | | | 537 | 371 | if (!objidx) | 538 | 96 | return; | 539 | | | 540 | 371 | assert (current); | 541 | 275 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 275 | auto& link = *current->real_links.push (); | 544 | 275 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 275 | link.width = sizeof (T); | 548 | 275 | link.objidx = objidx; | 549 | 275 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 275 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 275 | link.whence = (unsigned) whence; | 562 | 275 | link.position = (const char *) &ofs - current->head; | 563 | 275 | link.bias = bias; | 564 | 275 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::BaseCoord, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::BaseCoord, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 7.55k | { | 535 | 7.55k | if (unlikely (in_error ())) return; | 536 | | | 537 | 7.55k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 7.55k | assert (current); | 541 | 7.55k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 7.55k | auto& link = *current->real_links.push (); | 544 | 7.55k | if (current->real_links.in_error ()) | 545 | 2 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 7.55k | link.width = sizeof (T); | 548 | 7.55k | link.objidx = objidx; | 549 | 7.55k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 7.55k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 7.55k | link.whence = (unsigned) whence; | 562 | 7.55k | link.position = (const char *) &ofs - current->head; | 563 | 7.55k | link.bias = bias; | 564 | 7.55k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MinMax, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::MinMax, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 578 | { | 535 | 578 | if (unlikely (in_error ())) return; | 536 | | | 537 | 578 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 578 | assert (current); | 541 | 578 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 578 | auto& link = *current->real_links.push (); | 544 | 578 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 578 | link.width = sizeof (T); | 548 | 578 | link.objidx = objidx; | 549 | 578 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 578 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 578 | link.whence = (unsigned) whence; | 562 | 578 | link.position = (const char *) &ofs - current->head; | 563 | 578 | link.bias = bias; | 564 | 578 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::BaseValues, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::BaseValues, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 2.38k | { | 535 | 2.38k | if (unlikely (in_error ())) return; | 536 | | | 537 | 2.37k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 2.37k | assert (current); | 541 | 2.37k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 2.37k | auto& link = *current->real_links.push (); | 544 | 2.37k | if (current->real_links.in_error ()) | 545 | 3 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 2.37k | link.width = sizeof (T); | 548 | 2.37k | link.objidx = objidx; | 549 | 2.37k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 2.37k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 2.37k | link.whence = (unsigned) whence; | 562 | 2.37k | link.position = (const char *) &ofs - current->head; | 563 | 2.37k | link.bias = bias; | 564 | 2.37k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::BaseScript, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::BaseScript, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 2.62k | { | 535 | 2.62k | if (unlikely (in_error ())) return; | 536 | | | 537 | 2.61k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 2.61k | assert (current); | 541 | 2.61k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 2.61k | auto& link = *current->real_links.push (); | 544 | 2.61k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 2.61k | link.width = sizeof (T); | 548 | 2.61k | link.objidx = objidx; | 549 | 2.61k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 2.61k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 2.61k | link.whence = (unsigned) whence; | 562 | 2.61k | link.position = (const char *) &ofs - current->head; | 563 | 2.61k | link.bias = bias; | 564 | 2.61k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::SortedArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::SortedArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 928 | { | 535 | 928 | if (unlikely (in_error ())) return; | 536 | | | 537 | 855 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 855 | assert (current); | 541 | 855 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 855 | auto& link = *current->real_links.push (); | 544 | 855 | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 855 | link.width = sizeof (T); | 548 | 855 | link.objidx = objidx; | 549 | 855 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 855 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 855 | link.whence = (unsigned) whence; | 562 | 855 | link.position = (const char *) &ofs - current->head; | 563 | 855 | link.bias = bias; | 564 | 855 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::BaseScriptList, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::BaseScriptList, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 642 | { | 535 | 642 | if (unlikely (in_error ())) return; | 536 | | | 537 | 632 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 632 | assert (current); | 541 | 632 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 632 | auto& link = *current->real_links.push (); | 544 | 632 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 632 | link.width = sizeof (T); | 548 | 632 | link.objidx = objidx; | 549 | 632 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 632 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 632 | link.whence = (unsigned) whence; | 562 | 632 | link.position = (const char *) &ofs - current->head; | 563 | 632 | link.bias = bias; | 564 | 632 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::Axis, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Axis, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 835 | { | 535 | 835 | if (unlikely (in_error ())) return; | 536 | | | 537 | 819 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 819 | assert (current); | 541 | 819 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 819 | auto& link = *current->real_links.push (); | 544 | 819 | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 819 | link.width = sizeof (T); | 548 | 819 | link.objidx = objidx; | 549 | 819 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 819 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 819 | link.whence = (unsigned) whence; | 562 | 819 | link.position = (const char *) &ofs - current->head; | 563 | 819 | link.bias = bias; | 564 | 819 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathKern, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::MathKern, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 25.3k | { | 535 | 25.3k | if (unlikely (in_error ())) return; | 536 | | | 537 | 25.1k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 25.1k | assert (current); | 541 | 25.1k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 25.1k | auto& link = *current->real_links.push (); | 544 | 25.1k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 25.1k | link.width = sizeof (T); | 548 | 25.1k | link.objidx = objidx; | 549 | 25.1k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 25.1k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 25.1k | link.whence = (unsigned) whence; | 562 | 25.1k | link.position = (const char *) &ofs - current->head; | 563 | 25.1k | link.bias = bias; | 564 | 25.1k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathItalicsCorrectionInfo, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::MathItalicsCorrectionInfo, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 533 | { | 535 | 533 | if (unlikely (in_error ())) return; | 536 | | | 537 | 532 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 532 | assert (current); | 541 | 532 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 532 | auto& link = *current->real_links.push (); | 544 | 532 | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 532 | link.width = sizeof (T); | 548 | 532 | link.objidx = objidx; | 549 | 532 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 532 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 532 | link.whence = (unsigned) whence; | 562 | 532 | link.position = (const char *) &ofs - current->head; | 563 | 532 | link.bias = bias; | 564 | 532 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathTopAccentAttachment, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::MathTopAccentAttachment, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 770 | { | 535 | 770 | if (unlikely (in_error ())) return; | 536 | | | 537 | 705 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 705 | assert (current); | 541 | 705 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 705 | auto& link = *current->real_links.push (); | 544 | 705 | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 705 | link.width = sizeof (T); | 548 | 705 | link.objidx = objidx; | 549 | 705 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 705 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 705 | link.whence = (unsigned) whence; | 562 | 705 | link.position = (const char *) &ofs - current->head; | 563 | 705 | link.bias = bias; | 564 | 705 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathKernInfo, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::MathKernInfo, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 617 | { | 535 | 617 | if (unlikely (in_error ())) return; | 536 | | | 537 | 474 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 474 | assert (current); | 541 | 474 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 474 | auto& link = *current->real_links.push (); | 544 | 474 | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 474 | link.width = sizeof (T); | 548 | 474 | link.objidx = objidx; | 549 | 474 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 474 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 474 | link.whence = (unsigned) whence; | 562 | 474 | link.position = (const char *) &ofs - current->head; | 563 | 474 | link.bias = bias; | 564 | 474 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathGlyphAssembly, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::MathGlyphAssembly, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 408 | { | 535 | 408 | if (unlikely (in_error ())) return; | 536 | | | 537 | 408 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 408 | assert (current); | 541 | 408 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 408 | auto& link = *current->real_links.push (); | 544 | 408 | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 408 | link.width = sizeof (T); | 548 | 408 | link.objidx = objidx; | 549 | 408 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 408 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 408 | link.whence = (unsigned) whence; | 562 | 408 | link.position = (const char *) &ofs - current->head; | 563 | 408 | link.bias = bias; | 564 | 408 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathGlyphConstruction, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::MathGlyphConstruction, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 1.25k | { | 535 | 1.25k | if (unlikely (in_error ())) return; | 536 | | | 537 | 1.24k | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 1.24k | assert (current); | 541 | 1.24k | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 1.24k | auto& link = *current->real_links.push (); | 544 | 1.24k | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 1.24k | link.width = sizeof (T); | 548 | 1.24k | link.objidx = objidx; | 549 | 1.24k | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 1.24k | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 1.24k | link.whence = (unsigned) whence; | 562 | 1.24k | link.position = (const char *) &ofs - current->head; | 563 | 1.24k | link.bias = bias; | 564 | 1.24k | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathConstants, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::MathConstants, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 457 | { | 535 | 457 | if (unlikely (in_error ())) return; | 536 | | | 537 | 405 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 405 | assert (current); | 541 | 405 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 405 | auto& link = *current->real_links.push (); | 544 | 405 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 405 | link.width = sizeof (T); | 548 | 405 | link.objidx = objidx; | 549 | 405 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 405 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 405 | link.whence = (unsigned) whence; | 562 | 405 | link.position = (const char *) &ofs - current->head; | 563 | 405 | link.bias = bias; | 564 | 405 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathGlyphInfo, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::MathGlyphInfo, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 973 | { | 535 | 973 | if (unlikely (in_error ())) return; | 536 | | | 537 | 749 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 749 | assert (current); | 541 | 749 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 749 | auto& link = *current->real_links.push (); | 544 | 749 | if (current->real_links.in_error ()) | 545 | 1 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 749 | link.width = sizeof (T); | 548 | 749 | link.objidx = objidx; | 549 | 749 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 749 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 749 | link.whence = (unsigned) whence; | 562 | 749 | link.position = (const char *) &ofs - current->head; | 563 | 749 | link.bias = bias; | 564 | 749 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MathVariants, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::MathVariants, OT::NumType<true, unsigned short, 2u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 642 | { | 535 | 642 | if (unlikely (in_error ())) return; | 536 | | | 537 | 482 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 482 | assert (current); | 541 | 482 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 482 | auto& link = *current->real_links.push (); | 544 | 482 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 482 | link.width = sizeof (T); | 548 | 482 | link.objidx = objidx; | 549 | 482 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 482 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 482 | link.whence = (unsigned) whence; | 562 | 482 | link.position = (const char *) &ofs - current->head; | 563 | 482 | link.bias = bias; | 564 | 482 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::ConditionList, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::ConditionList, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 45 | { | 535 | 45 | if (unlikely (in_error ())) return; | 536 | | | 537 | 45 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 45 | assert (current); | 541 | 45 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 45 | auto& link = *current->real_links.push (); | 544 | 45 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 45 | link.width = sizeof (T); | 548 | 45 | link.objidx = objidx; | 549 | 45 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 45 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 45 | link.whence = (unsigned) whence; | 562 | 45 | link.position = (const char *) &ofs - current->head; | 563 | 45 | link.bias = bias; | 564 | 45 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::MultiItemVariationStore, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::MultiItemVariationStore, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 34 | { | 535 | 34 | if (unlikely (in_error ())) return; | 536 | | | 537 | 34 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 34 | assert (current); | 541 | 34 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 34 | auto& link = *current->real_links.push (); | 544 | 34 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 34 | link.width = sizeof (T); | 548 | 34 | link.objidx = objidx; | 549 | 34 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 34 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 34 | link.whence = (unsigned) whence; | 562 | 34 | link.position = (const char *) &ofs - current->head; | 563 | 34 | link.bias = bias; | 564 | 34 | } |
void hb_serialize_context_t::add_link<OT::OffsetTo<OT::CFFIndex<OT::NumType<true, unsigned int, 4u> >, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::CFFIndex<OT::NumType<true, unsigned int, 4u> >, OT::NumType<true, unsigned int, 4u>, void, true>&, unsigned int, hb_serialize_context_t::whence_t, unsigned int) Line | Count | Source | 534 | 63 | { | 535 | 63 | if (unlikely (in_error ())) return; | 536 | | | 537 | 63 | if (!objidx) | 538 | 0 | return; | 539 | | | 540 | 63 | assert (current); | 541 | 63 | assert (current->head <= (const char *) &ofs); | 542 | | | 543 | 63 | auto& link = *current->real_links.push (); | 544 | 63 | if (current->real_links.in_error ()) | 545 | 0 | err (HB_SERIALIZE_ERROR_OTHER); | 546 | | | 547 | 63 | link.width = sizeof (T); | 548 | 63 | link.objidx = objidx; | 549 | 63 | if (unlikely (!sizeof (T))) | 550 | 0 | { | 551 | | // This link is not associated with an actual offset and exists merely to enforce | 552 | | // an ordering constraint. | 553 | 0 | link.is_signed = 0; | 554 | 0 | link.whence = 0; | 555 | 0 | link.position = 0; | 556 | 0 | link.bias = 0; | 557 | 0 | return; | 558 | 0 | } | 559 | | | 560 | 63 | link.is_signed = std::is_signed<hb_unwrap_type (T)>::value; | 561 | 63 | link.whence = (unsigned) whence; | 562 | 63 | link.position = (const char *) &ofs - current->head; | 563 | 63 | link.bias = bias; | 564 | 63 | } |
|
565 | | |
566 | | unsigned to_bias (const void *base) const |
567 | 1.28M | { |
568 | 1.28M | if (unlikely (in_error ())) return 0; |
569 | 1.28M | if (!base) return 0; |
570 | 1.28M | assert (current); |
571 | 1.28M | assert (current->head <= (const char *) base); |
572 | 1.28M | return (const char *) base - current->head; |
573 | 1.28M | } Unexecuted instantiation: hb_serialize_context_t::to_bias(void const*) const hb_serialize_context_t::to_bias(void const*) const Line | Count | Source | 567 | 1.28M | { | 568 | 1.28M | if (unlikely (in_error ())) return 0; | 569 | 1.28M | if (!base) return 0; | 570 | 1.28M | assert (current); | 571 | 1.28M | assert (current->head <= (const char *) base); | 572 | 1.28M | return (const char *) base - current->head; | 573 | 1.28M | } |
|
574 | | |
575 | | void resolve_links () |
576 | 40.4k | { |
577 | 40.4k | if (unlikely (in_error ())) return; |
578 | | |
579 | 40.4k | assert (!current); |
580 | 40.4k | assert (packed.length > 1); |
581 | | |
582 | 40.4k | for (const object_t* parent : ++hb_iter (packed)) |
583 | 904k | for (const object_t::link_t &link : parent->real_links) |
584 | 19.7M | { |
585 | 19.7M | const object_t* child = packed[link.objidx]; |
586 | 19.7M | if (unlikely (!child)) { err (HB_SERIALIZE_ERROR_OTHER); return; } |
587 | 19.7M | unsigned offset = 0; |
588 | 19.7M | switch ((whence_t) link.whence) { |
589 | 19.6M | case Head: offset = child->head - parent->head; break; |
590 | 40.1k | case Tail: offset = child->head - parent->tail; break; |
591 | 10.9k | case Absolute: offset = (head - start) + (child->head - tail); break; |
592 | 19.7M | } |
593 | | |
594 | 19.7M | assert (offset >= link.bias); |
595 | 19.7M | offset -= link.bias; |
596 | 19.7M | if (link.is_signed) |
597 | 12.3k | { |
598 | 12.3k | assert (link.width == 2 || link.width == 4); |
599 | 12.3k | if (link.width == 4) |
600 | 11.5k | assign_offset<int32_t> (parent, link, offset); |
601 | 774 | else |
602 | 774 | assign_offset<int16_t> (parent, link, offset); |
603 | 12.3k | } |
604 | 19.6M | else |
605 | 19.6M | { |
606 | 19.6M | assert (link.width == 2 || link.width == 3 || link.width == 4); |
607 | 19.6M | if (link.width == 4) |
608 | 75.6k | assign_offset<uint32_t> (parent, link, offset); |
609 | 19.6M | else if (link.width == 3) |
610 | 21.5k | assign_offset<uint32_t, 3> (parent, link, offset); |
611 | 19.5M | else |
612 | 19.5M | assign_offset<uint16_t> (parent, link, offset); |
613 | 19.6M | } |
614 | 19.7M | } |
615 | 40.4k | } |
616 | | |
617 | | unsigned int length () const |
618 | 153k | { |
619 | 153k | if (unlikely (!current)) return 0; |
620 | 153k | return this->head - current->head; |
621 | 153k | } |
622 | | |
623 | | void align (unsigned int alignment) |
624 | 97.9k | { |
625 | 97.9k | unsigned int l = length () % alignment; |
626 | 97.9k | if (l) |
627 | 21.9k | (void) allocate_size<void> (alignment - l); |
628 | 97.9k | } |
629 | | |
630 | | template <typename Type = void> |
631 | | __attribute__((returns_nonnull)) |
632 | | Type *start_embed (const Type *obj HB_UNUSED = nullptr) const |
633 | 617M | { return reinterpret_cast<Type *> (this->head); }OT::Layout::Common::Coverage* hb_serialize_context_t::start_embed<OT::Layout::Common::Coverage>(OT::Layout::Common::Coverage const*) const Line | Count | Source | 633 | 148k | { return reinterpret_cast<Type *> (this->head); } |
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> > >(OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> > const*) const Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > >(OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > const*) const Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::Rule<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Rule<OT::Layout::MediumTypes> >(OT::Rule<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat2_5<OT::Layout::MediumTypes> >(OT::ContextFormat2_5<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> >* hb_serialize_context_t::start_embed<OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> > >(OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> > const*) const Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat1_4<OT::Layout::MediumTypes> >(OT::ChainContextFormat1_4<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> >* hb_serialize_context_t::start_embed<OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> > >(OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> > const*) const Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat2_5<OT::Layout::MediumTypes> >(OT::ChainContextFormat2_5<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> >* hb_serialize_context_t::start_embed<OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> > >(OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> > const*) const Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes> const*) const OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 30.0k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 31.3M | { return reinterpret_cast<Type *> (this->head); } |
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::Layout::GSUB_impl::ReverseChainSingleSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::ReverseChainSingleSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::ReverseChainSingleSubstFormat1_2<OT::Layout::MediumTypes> const*) const Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::start_embed<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > const*) const Unexecuted instantiation: OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::start_embed<OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned int, 3u> > const*) const OT::OpenTypeFontFile* hb_serialize_context_t::start_embed<OT::OpenTypeFontFile>(OT::OpenTypeFontFile const*) const Line | Count | Source | 633 | 13.2k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GSUB_impl::SubstLookup* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::SubstLookup>(OT::Layout::GSUB_impl::SubstLookup const*) const Line | Count | Source | 633 | 2.46k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GSUB_impl::SubstLookupSubTable* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::SubstLookupSubTable>(OT::Layout::GSUB_impl::SubstLookupSubTable const*) const Line | Count | Source | 633 | 2.37k | { return reinterpret_cast<Type *> (this->head); } |
void* hb_serialize_context_t::start_embed<void>(void const*) const Line | Count | Source | 633 | 159M | { return reinterpret_cast<Type *> (this->head); } |
OT::ClassDef* hb_serialize_context_t::start_embed<OT::ClassDef>(OT::ClassDef const*) const Line | Count | Source | 633 | 13.6k | { return reinterpret_cast<Type *> (this->head); } |
OT::Feature* hb_serialize_context_t::start_embed<OT::Feature>(OT::Feature const*) const Line | Count | Source | 633 | 23.7k | { return reinterpret_cast<Type *> (this->head); } |
OT::RecordListOfFeature* hb_serialize_context_t::start_embed<OT::RecordListOfFeature>(OT::RecordListOfFeature const*) const Line | Count | Source | 633 | 19.2k | { return reinterpret_cast<Type *> (this->head); } |
OT::LangSys* hb_serialize_context_t::start_embed<OT::LangSys>(OT::LangSys const*) const Line | Count | Source | 633 | 78.4k | { return reinterpret_cast<Type *> (this->head); } |
OT::Script* hb_serialize_context_t::start_embed<OT::Script>(OT::Script const*) const Line | Count | Source | 633 | 58.5k | { return reinterpret_cast<Type *> (this->head); } |
OT::RecordListOfScript* hb_serialize_context_t::start_embed<OT::RecordListOfScript>(OT::RecordListOfScript const*) const Line | Count | Source | 633 | 19.2k | { return reinterpret_cast<Type *> (this->head); } |
OT::SparseVariationRegion* hb_serialize_context_t::start_embed<OT::SparseVariationRegion>(OT::SparseVariationRegion const*) const Line | Count | Source | 633 | 92 | { return reinterpret_cast<Type *> (this->head); } |
OT::TupleList* hb_serialize_context_t::start_embed<OT::TupleList>(OT::TupleList const*) const Line | Count | Source | 633 | 87 | { return reinterpret_cast<Type *> (this->head); } |
OT::VarRegionList* hb_serialize_context_t::start_embed<OT::VarRegionList>(OT::VarRegionList const*) const Line | Count | Source | 633 | 9.12k | { return reinterpret_cast<Type *> (this->head); } |
OT::VarData* hb_serialize_context_t::start_embed<OT::VarData>(OT::VarData const*) const Line | Count | Source | 633 | 23.1k | { return reinterpret_cast<Type *> (this->head); } |
OT::ItemVariationStore* hb_serialize_context_t::start_embed<OT::ItemVariationStore>(OT::ItemVariationStore const*) const Line | Count | Source | 633 | 9.11k | { return reinterpret_cast<Type *> (this->head); } |
OT::SparseVarRegionList* hb_serialize_context_t::start_embed<OT::SparseVarRegionList>(OT::SparseVarRegionList const*) const Line | Count | Source | 633 | 62 | { return reinterpret_cast<Type *> (this->head); } |
OT::MultiVarData* hb_serialize_context_t::start_embed<OT::MultiVarData>(OT::MultiVarData const*) const Line | Count | Source | 633 | 57 | { return reinterpret_cast<Type *> (this->head); } |
OT::ConditionAnd* hb_serialize_context_t::start_embed<OT::ConditionAnd>(OT::ConditionAnd const*) const Line | Count | Source | 633 | 169 | { return reinterpret_cast<Type *> (this->head); } |
OT::ConditionOr* hb_serialize_context_t::start_embed<OT::ConditionOr>(OT::ConditionOr const*) const Line | Count | Source | 633 | 165 | { return reinterpret_cast<Type *> (this->head); } |
OT::ConditionValue* hb_serialize_context_t::start_embed<OT::ConditionValue>(OT::ConditionValue const*) const Line | Count | Source | 633 | 246 | { return reinterpret_cast<Type *> (this->head); } |
OT::Condition* hb_serialize_context_t::start_embed<OT::Condition>(OT::Condition const*) const Line | Count | Source | 633 | 45 | { return reinterpret_cast<Type *> (this->head); } |
OT::ConditionSet* hb_serialize_context_t::start_embed<OT::ConditionSet>(OT::ConditionSet const*) const Line | Count | Source | 633 | 906 | { return reinterpret_cast<Type *> (this->head); } |
OT::FeatureTableSubstitution* hb_serialize_context_t::start_embed<OT::FeatureTableSubstitution>(OT::FeatureTableSubstitution const*) const Line | Count | Source | 633 | 937 | { return reinterpret_cast<Type *> (this->head); } |
OT::LookupIndexList* hb_serialize_context_t::start_embed<OT::LookupIndexList>(OT::LookupIndexList const*) const Line | Count | Source | 633 | 175 | { return reinterpret_cast<Type *> (this->head); } |
OT::FeatureLookupsTable* hb_serialize_context_t::start_embed<OT::FeatureLookupsTable>(OT::FeatureLookupsTable const*) const Line | Count | Source | 633 | 131 | { return reinterpret_cast<Type *> (this->head); } |
OT::FeatureVariations* hb_serialize_context_t::start_embed<OT::FeatureVariations>(OT::FeatureVariations const*) const Line | Count | Source | 633 | 1.22k | { return reinterpret_cast<Type *> (this->head); } |
OT::AttachPoint* hb_serialize_context_t::start_embed<OT::AttachPoint>(OT::AttachPoint const*) const Line | Count | Source | 633 | 37.7k | { return reinterpret_cast<Type *> (this->head); } |
OT::AttachList* hb_serialize_context_t::start_embed<OT::AttachList>(OT::AttachList const*) const Line | Count | Source | 633 | 1.33k | { return reinterpret_cast<Type *> (this->head); } |
OT::CaretValueFormat3* hb_serialize_context_t::start_embed<OT::CaretValueFormat3>(OT::CaretValueFormat3 const*) const Line | Count | Source | 633 | 1.28M | { return reinterpret_cast<Type *> (this->head); } |
OT::LigGlyph* hb_serialize_context_t::start_embed<OT::LigGlyph>(OT::LigGlyph const*) const Line | Count | Source | 633 | 47.6k | { return reinterpret_cast<Type *> (this->head); } |
OT::MarkGlyphSetsFormat1* hb_serialize_context_t::start_embed<OT::MarkGlyphSetsFormat1>(OT::MarkGlyphSetsFormat1 const*) const Line | Count | Source | 633 | 3.99k | { return reinterpret_cast<Type *> (this->head); } |
OT::GDEF* hb_serialize_context_t::start_embed<OT::GDEF>(OT::GDEF const*) const Line | Count | Source | 633 | 8.80k | { return reinterpret_cast<Type *> (this->head); } |
OT::LigCaretList<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::LigCaretList<OT::Layout::MediumTypes> >(OT::LigCaretList<OT::Layout::MediumTypes> const*) const Line | Count | Source | 633 | 36 | { return reinterpret_cast<Type *> (this->head); } |
OT::LigCaretList<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::LigCaretList<OT::Layout::SmallTypes> >(OT::LigCaretList<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 2.56k | { return reinterpret_cast<Type *> (this->head); } |
OT::MVAR* hb_serialize_context_t::start_embed<OT::MVAR>(OT::MVAR const*) const Line | Count | Source | 633 | 284 | { return reinterpret_cast<Type *> (this->head); } |
OT::DefaultUVS* hb_serialize_context_t::start_embed<OT::DefaultUVS>(OT::DefaultUVS const*) const Line | Count | Source | 633 | 353 | { return reinterpret_cast<Type *> (this->head); } |
OT::cmap* hb_serialize_context_t::start_embed<OT::cmap>(OT::cmap const*) const Line | Count | Source | 633 | 8.01k | { return reinterpret_cast<Type *> (this->head); } |
OT::CmapSubtable* hb_serialize_context_t::start_embed<OT::CmapSubtable>(OT::CmapSubtable const*) const Line | Count | Source | 633 | 9.18k | { return reinterpret_cast<Type *> (this->head); } |
OT::NumType<true, unsigned short, 2u>* hb_serialize_context_t::start_embed<OT::NumType<true, unsigned short, 2u> >(OT::NumType<true, unsigned short, 2u> const*) const Line | Count | Source | 633 | 6.05k | { return reinterpret_cast<Type *> (this->head); } |
OT::NonDefaultUVS<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::NonDefaultUVS<OT::Layout::SmallTypes> >(OT::NonDefaultUVS<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 356 | { return reinterpret_cast<Type *> (this->head); } |
OT::NonDefaultUVS<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::NonDefaultUVS<OT::Layout::MediumTypes> >(OT::NonDefaultUVS<OT::Layout::MediumTypes> const*) const Line | Count | Source | 633 | 88 | { return reinterpret_cast<Type *> (this->head); } |
OT::UnsizedArrayOf<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::start_embed<OT::UnsizedArrayOf<OT::NumType<true, unsigned int, 4u> > >(OT::UnsizedArrayOf<OT::NumType<true, unsigned int, 4u> > const*) const Line | Count | Source | 633 | 844 | { return reinterpret_cast<Type *> (this->head); } |
OT::NumType<true, unsigned int, 4u>* hb_serialize_context_t::start_embed<OT::NumType<true, unsigned int, 4u> >(OT::NumType<true, unsigned int, 4u> const*) const Line | Count | Source | 633 | 844 | { return reinterpret_cast<Type *> (this->head); } |
OT::UnsizedArrayOf<OT::Index>* hb_serialize_context_t::start_embed<OT::UnsizedArrayOf<OT::Index> >(OT::UnsizedArrayOf<OT::Index> const*) const Line | Count | Source | 633 | 118 | { return reinterpret_cast<Type *> (this->head); } |
OT::Index* hb_serialize_context_t::start_embed<OT::Index>(OT::Index const*) const Line | Count | Source | 633 | 118 | { return reinterpret_cast<Type *> (this->head); } |
OT::CPAL* hb_serialize_context_t::start_embed<OT::CPAL>(OT::CPAL const*) const Line | Count | Source | 633 | 1.32k | { return reinterpret_cast<Type *> (this->head); } |
OT::ColorLine<OT::NoVariable>* hb_serialize_context_t::start_embed<OT::ColorLine<OT::NoVariable> >(OT::ColorLine<OT::NoVariable> const*) const Line | Count | Source | 633 | 4.51k | { return reinterpret_cast<Type *> (this->head); } |
OT::ColorLine<OT::Variable>* hb_serialize_context_t::start_embed<OT::ColorLine<OT::Variable> >(OT::ColorLine<OT::Variable> const*) const Line | Count | Source | 633 | 12.3k | { return reinterpret_cast<Type *> (this->head); } |
OT::ClipList* hb_serialize_context_t::start_embed<OT::ClipList>(OT::ClipList const*) const Line | Count | Source | 633 | 985 | { return reinterpret_cast<Type *> (this->head); } |
OT::BaseGlyphList* hb_serialize_context_t::start_embed<OT::BaseGlyphList>(OT::BaseGlyphList const*) const Line | Count | Source | 633 | 3.41k | { return reinterpret_cast<Type *> (this->head); } |
OT::LayerList* hb_serialize_context_t::start_embed<OT::LayerList>(OT::LayerList const*) const Line | Count | Source | 633 | 952 | { return reinterpret_cast<Type *> (this->head); } |
OT::DeltaSetIndexMap* hb_serialize_context_t::start_embed<OT::DeltaSetIndexMap>(OT::DeltaSetIndexMap const*) const Line | Count | Source | 633 | 2.57k | { return reinterpret_cast<Type *> (this->head); } |
OT::COLR* hb_serialize_context_t::start_embed<OT::COLR>(OT::COLR const*) const Line | Count | Source | 633 | 5.42k | { return reinterpret_cast<Type *> (this->head); } |
OT::LayerRecord* hb_serialize_context_t::start_embed<OT::LayerRecord>(OT::LayerRecord const*) const Line | Count | Source | 633 | 793 | { return reinterpret_cast<Type *> (this->head); } |
char* hb_serialize_context_t::start_embed<char>(char const*) const Line | Count | Source | 633 | 12.4M | { return reinterpret_cast<Type *> (this->head); } |
OT::glyf* hb_serialize_context_t::start_embed<OT::glyf>(OT::glyf const*) const Line | Count | Source | 633 | 5.57k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GPOS_impl::AnchorFormat3* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::AnchorFormat3>(OT::Layout::GPOS_impl::AnchorFormat3 const*) const Line | Count | Source | 633 | 1.37k | { return reinterpret_cast<Type *> (this->head); } |
OT::Lookup* hb_serialize_context_t::start_embed<OT::Lookup>(OT::Lookup const*) const Line | Count | Source | 633 | 55.1k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GPOS_impl::SinglePos* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::SinglePos>(OT::Layout::GPOS_impl::SinglePos const*) const Line | Count | Source | 633 | 6.51k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 5.57k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 145k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 411M | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 2.40k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 1.46k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes> const*) const Line | Count | Source | 633 | 6 | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 2.44k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 4.24k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> > >(OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> > const*) const Line | Count | Source | 633 | 7.20k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 1.61k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GPOS_impl::LigatureArray<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::LigatureArray<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 1.44k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 490 | { return reinterpret_cast<Type *> (this->head); } |
OT::ContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat1_4<OT::Layout::SmallTypes> >(OT::ContextFormat1_4<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 4.28k | { return reinterpret_cast<Type *> (this->head); } |
OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> >* hb_serialize_context_t::start_embed<OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> > >(OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> > const*) const Line | Count | Source | 633 | 6.76k | { return reinterpret_cast<Type *> (this->head); } |
OT::Rule<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Rule<OT::Layout::SmallTypes> >(OT::Rule<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 7.37k | { return reinterpret_cast<Type *> (this->head); } |
OT::ContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat2_5<OT::Layout::SmallTypes> >(OT::ContextFormat2_5<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 538 | { return reinterpret_cast<Type *> (this->head); } |
OT::ContextFormat3_6<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat3_6<OT::Layout::SmallTypes> >(OT::ContextFormat3_6<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 1.10k | { return reinterpret_cast<Type *> (this->head); } |
OT::ContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat1_4<OT::Layout::MediumTypes> >(OT::ContextFormat1_4<OT::Layout::MediumTypes> const*) const Line | Count | Source | 633 | 12 | { return reinterpret_cast<Type *> (this->head); } |
OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> >* hb_serialize_context_t::start_embed<OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> > >(OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> > const*) const Line | Count | Source | 633 | 12 | { return reinterpret_cast<Type *> (this->head); } |
OT::ContextFormat3_6<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat3_6<OT::Layout::MediumTypes> >(OT::ContextFormat3_6<OT::Layout::MediumTypes> const*) const Line | Count | Source | 633 | 167 | { return reinterpret_cast<Type *> (this->head); } |
OT::ChainContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat1_4<OT::Layout::SmallTypes> >(OT::ChainContextFormat1_4<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 1.48k | { return reinterpret_cast<Type *> (this->head); } |
OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> >* hb_serialize_context_t::start_embed<OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> > >(OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> > const*) const Line | Count | Source | 633 | 2.91k | { return reinterpret_cast<Type *> (this->head); } |
OT::ChainContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat2_5<OT::Layout::SmallTypes> >(OT::ChainContextFormat2_5<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 719 | { return reinterpret_cast<Type *> (this->head); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::start_embed<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > const*) const Line | Count | Source | 633 | 60.3k | { return reinterpret_cast<Type *> (this->head); } |
OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos>* hb_serialize_context_t::start_embed<OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos> >(OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos> const*) const Line | Count | Source | 633 | 678 | { return reinterpret_cast<Type *> (this->head); } |
OT::GSUBGPOS* hb_serialize_context_t::start_embed<OT::GSUBGPOS>(OT::GSUBGPOS const*) const Line | Count | Source | 633 | 19.3k | { return reinterpret_cast<Type *> (this->head); } |
OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::start_embed<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u> > >(OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u> > const*) const Line | Count | Source | 633 | 15 | { return reinterpret_cast<Type *> (this->head); } |
OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::start_embed<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u> > >(OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u> > const*) const Line | Count | Source | 633 | 8.22k | { return reinterpret_cast<Type *> (this->head); } |
OT::name* hb_serialize_context_t::start_embed<OT::name>(OT::name const*) const Line | Count | Source | 633 | 3.47k | { return reinterpret_cast<Type *> (this->head); } |
OT::post* hb_serialize_context_t::start_embed<OT::post>(OT::post const*) const Line | Count | Source | 633 | 3.41k | { return reinterpret_cast<Type *> (this->head); } |
OT::IndexSubtable* hb_serialize_context_t::start_embed<OT::IndexSubtable>(OT::IndexSubtable const*) const Line | Count | Source | 633 | 174 | { return reinterpret_cast<Type *> (this->head); } |
OT::CBLC* hb_serialize_context_t::start_embed<OT::CBLC>(OT::CBLC const*) const Line | Count | Source | 633 | 180 | { return reinterpret_cast<Type *> (this->head); } |
OT::SBIXGlyph* hb_serialize_context_t::start_embed<OT::SBIXGlyph>(OT::SBIXGlyph const*) const Line | Count | Source | 633 | 416 | { return reinterpret_cast<Type *> (this->head); } |
OT::UnsizedArrayOf<OT::NumType<true, unsigned char, 1u> >* hb_serialize_context_t::start_embed<OT::UnsizedArrayOf<OT::NumType<true, unsigned char, 1u> > >(OT::UnsizedArrayOf<OT::NumType<true, unsigned char, 1u> > const*) const Line | Count | Source | 633 | 40.6k | { return reinterpret_cast<Type *> (this->head); } |
OT::NumType<true, unsigned char, 1u>* hb_serialize_context_t::start_embed<OT::NumType<true, unsigned char, 1u> >(OT::NumType<true, unsigned char, 1u> const*) const Line | Count | Source | 633 | 40.6k | { return reinterpret_cast<Type *> (this->head); } |
OT::SBIXStrike* hb_serialize_context_t::start_embed<OT::SBIXStrike>(OT::SBIXStrike const*) const Line | Count | Source | 633 | 944 | { return reinterpret_cast<Type *> (this->head); } |
OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::start_embed<OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> > >(OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> > const*) const Line | Count | Source | 633 | 170 | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GSUB_impl::SingleSubst* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::SingleSubst>(OT::Layout::GSUB_impl::SingleSubst const*) const Line | Count | Source | 633 | 16.9k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 5.62k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 32.8k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes> const*) const Line | Count | Source | 633 | 30 | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes> const*) const Line | Count | Source | 633 | 8 | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 2.71k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 15.9k | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes> const*) const Line | Count | Source | 633 | 4 | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 8.08k | { return reinterpret_cast<Type *> (this->head); } |
OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>* hb_serialize_context_t::start_embed<OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst> >(OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst> const*) const Line | Count | Source | 633 | 83 | { return reinterpret_cast<Type *> (this->head); } |
OT::Layout::GSUB_impl::ReverseChainSingleSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::ReverseChainSingleSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::ReverseChainSingleSubstFormat1_2<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 1.31k | { return reinterpret_cast<Type *> (this->head); } |
OT::ArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::start_embed<OT::ArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> > const*) const Line | Count | Source | 633 | 1.28k | { return reinterpret_cast<Type *> (this->head); } |
OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::start_embed<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u> > >(OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u> > const*) const Line | Count | Source | 633 | 6 | { return reinterpret_cast<Type *> (this->head); } |
OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::start_embed<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u> > >(OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u> > const*) const Line | Count | Source | 633 | 10.9k | { return reinterpret_cast<Type *> (this->head); } |
OT::SegmentMaps* hb_serialize_context_t::start_embed<OT::SegmentMaps>(OT::SegmentMaps const*) const Line | Count | Source | 633 | 292 | { return reinterpret_cast<Type *> (this->head); } |
OT::VORGFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::VORGFormat1_2<OT::Layout::SmallTypes> >(OT::VORGFormat1_2<OT::Layout::SmallTypes> const*) const Line | Count | Source | 633 | 125 | { return reinterpret_cast<Type *> (this->head); } |
OT::VORGFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::VORGFormat1_2<OT::Layout::MediumTypes> >(OT::VORGFormat1_2<OT::Layout::MediumTypes> const*) const Line | Count | Source | 633 | 39 | { return reinterpret_cast<Type *> (this->head); } |
OT::MinMax* hb_serialize_context_t::start_embed<OT::MinMax>(OT::MinMax const*) const Line | Count | Source | 633 | 1.35k | { return reinterpret_cast<Type *> (this->head); } |
OT::BaseValues* hb_serialize_context_t::start_embed<OT::BaseValues>(OT::BaseValues const*) const Line | Count | Source | 633 | 2.68k | { return reinterpret_cast<Type *> (this->head); } |
OT::BaseScript* hb_serialize_context_t::start_embed<OT::BaseScript>(OT::BaseScript const*) const Line | Count | Source | 633 | 3.12k | { return reinterpret_cast<Type *> (this->head); } |
OT::BaseScriptList* hb_serialize_context_t::start_embed<OT::BaseScriptList>(OT::BaseScriptList const*) const Line | Count | Source | 633 | 1.01k | { return reinterpret_cast<Type *> (this->head); } |
OT::ArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::start_embed<OT::ArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> > const*) const Line | Count | Source | 633 | 928 | { return reinterpret_cast<Type *> (this->head); } |
OT::Tag* hb_serialize_context_t::start_embed<OT::Tag>(OT::Tag const*) const Line | Count | Source | 633 | 928 | { return reinterpret_cast<Type *> (this->head); } |
OT::BASE* hb_serialize_context_t::start_embed<OT::BASE>(OT::BASE const*) const Line | Count | Source | 633 | 735 | { return reinterpret_cast<Type *> (this->head); } |
OT::postV2Tail* hb_serialize_context_t::start_embed<OT::postV2Tail>(OT::postV2Tail const*) const Line | Count | Source | 633 | 300 | { return reinterpret_cast<Type *> (this->head); } |
OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::start_embed<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> > >(OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> > const*) const Line | Count | Source | 633 | 148 | { return reinterpret_cast<Type *> (this->head); } |
unsigned char* hb_serialize_context_t::start_embed<unsigned char>(unsigned char const*) const Line | Count | Source | 633 | 2.30k | { return reinterpret_cast<Type *> (this->head); } |
OT::MathConstants* hb_serialize_context_t::start_embed<OT::MathConstants>(OT::MathConstants const*) const Line | Count | Source | 633 | 457 | { return reinterpret_cast<Type *> (this->head); } |
OT::MathItalicsCorrectionInfo* hb_serialize_context_t::start_embed<OT::MathItalicsCorrectionInfo>(OT::MathItalicsCorrectionInfo const*) const Line | Count | Source | 633 | 533 | { return reinterpret_cast<Type *> (this->head); } |
OT::MathTopAccentAttachment* hb_serialize_context_t::start_embed<OT::MathTopAccentAttachment>(OT::MathTopAccentAttachment const*) const Line | Count | Source | 633 | 774 | { return reinterpret_cast<Type *> (this->head); } |
OT::MathKern* hb_serialize_context_t::start_embed<OT::MathKern>(OT::MathKern const*) const Line | Count | Source | 633 | 25.3k | { return reinterpret_cast<Type *> (this->head); } |
OT::MathKernInfo* hb_serialize_context_t::start_embed<OT::MathKernInfo>(OT::MathKernInfo const*) const Line | Count | Source | 633 | 687 | { return reinterpret_cast<Type *> (this->head); } |
OT::MathGlyphConstruction* hb_serialize_context_t::start_embed<OT::MathGlyphConstruction>(OT::MathGlyphConstruction const*) const Line | Count | Source | 633 | 1.43k | { return reinterpret_cast<Type *> (this->head); } |
OT::MathVariants* hb_serialize_context_t::start_embed<OT::MathVariants>(OT::MathVariants const*) const Line | Count | Source | 633 | 988 | { return reinterpret_cast<Type *> (this->head); } |
OT::VARC* hb_serialize_context_t::start_embed<OT::VARC>(OT::VARC const*) const Line | Count | Source | 633 | 91 | { return reinterpret_cast<Type *> (this->head); } |
OT::ConditionList* hb_serialize_context_t::start_embed<OT::ConditionList>(OT::ConditionList const*) const Line | Count | Source | 633 | 45 | { return reinterpret_cast<Type *> (this->head); } |
OT::MultiItemVariationStore* hb_serialize_context_t::start_embed<OT::MultiItemVariationStore>(OT::MultiItemVariationStore const*) const Line | Count | Source | 633 | 62 | { return reinterpret_cast<Type *> (this->head); } |
OT::CFFIndex<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::start_embed<OT::CFFIndex<OT::NumType<true, unsigned int, 4u> > >(OT::CFFIndex<OT::NumType<true, unsigned int, 4u> > const*) const Line | Count | Source | 633 | 2.23k | { return reinterpret_cast<Type *> (this->head); } |
Unexecuted instantiation: OT::HBFixed<OT::NumType<true, short, 2u>, 14u>* hb_serialize_context_t::start_embed<OT::HBFixed<OT::NumType<true, short, 2u>, 14u> >(OT::HBFixed<OT::NumType<true, short, 2u>, 14u> const*) const Unexecuted instantiation: OT::TupleVariationData<OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::start_embed<OT::TupleVariationData<OT::NumType<true, unsigned int, 3u> > >(OT::TupleVariationData<OT::NumType<true, unsigned int, 3u> > const*) const OT::hdmx* hb_serialize_context_t::start_embed<OT::hdmx>(OT::hdmx const*) const Line | Count | Source | 633 | 140 | { return reinterpret_cast<Type *> (this->head); } |
OT::DeviceRecord* hb_serialize_context_t::start_embed<OT::DeviceRecord>(OT::DeviceRecord const*) const Line | Count | Source | 633 | 6.18k | { return reinterpret_cast<Type *> (this->head); } |
OT::hmtx* hb_serialize_context_t::start_embed<OT::hmtx>(OT::hmtx const*) const Line | Count | Source | 633 | 5.47k | { return reinterpret_cast<Type *> (this->head); } |
OT::vmtx* hb_serialize_context_t::start_embed<OT::vmtx>(OT::vmtx const*) const Line | Count | Source | 633 | 1.05k | { return reinterpret_cast<Type *> (this->head); } |
OT::HMTX* hb_serialize_context_t::start_embed<OT::HMTX>(OT::HMTX const*) const Line | Count | Source | 633 | 65 | { return reinterpret_cast<Type *> (this->head); } |
OT::VMTX* hb_serialize_context_t::start_embed<OT::VMTX>(OT::VMTX const*) const Line | Count | Source | 633 | 22 | { return reinterpret_cast<Type *> (this->head); } |
OT::CFFIndex<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::start_embed<OT::CFFIndex<OT::NumType<true, unsigned short, 2u> > >(OT::CFFIndex<OT::NumType<true, unsigned short, 2u> > const*) const Line | Count | Source | 633 | 11.0k | { return reinterpret_cast<Type *> (this->head); } |
CFF::Subrs<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::start_embed<CFF::Subrs<OT::NumType<true, unsigned short, 2u> > >(CFF::Subrs<OT::NumType<true, unsigned short, 2u> > const*) const Line | Count | Source | 633 | 5.22k | { return reinterpret_cast<Type *> (this->head); } |
CFF::PrivateDict* hb_serialize_context_t::start_embed<CFF::PrivateDict>(CFF::PrivateDict const*) const Line | Count | Source | 633 | 6.99k | { return reinterpret_cast<Type *> (this->head); } |
CFF::CFF1FDArray* hb_serialize_context_t::start_embed<CFF::CFF1FDArray>(CFF::CFF1FDArray const*) const Line | Count | Source | 633 | 323 | { return reinterpret_cast<Type *> (this->head); } |
CFF::FontDict* hb_serialize_context_t::start_embed<CFF::FontDict>(CFF::FontDict const*) const Line | Count | Source | 633 | 2.77k | { return reinterpret_cast<Type *> (this->head); } |
CFF::Charset* hb_serialize_context_t::start_embed<CFF::Charset>(CFF::Charset const*) const Line | Count | Source | 633 | 2.96k | { return reinterpret_cast<Type *> (this->head); } |
CFF::Encoding* hb_serialize_context_t::start_embed<CFF::Encoding>(CFF::Encoding const*) const Line | Count | Source | 633 | 1.85k | { return reinterpret_cast<Type *> (this->head); } |
CFF::CFF1StringIndex* hb_serialize_context_t::start_embed<CFF::CFF1StringIndex>(CFF::CFF1StringIndex const*) const Line | Count | Source | 633 | 4.36k | { return reinterpret_cast<Type *> (this->head); } |
CFF::TopDict* hb_serialize_context_t::start_embed<CFF::TopDict>(CFF::TopDict const*) const Line | Count | Source | 633 | 1.57k | { return reinterpret_cast<Type *> (this->head); } |
CFF::FDArray<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::start_embed<CFF::FDArray<OT::NumType<true, unsigned short, 2u> > >(CFF::FDArray<OT::NumType<true, unsigned short, 2u> > const*) const Line | Count | Source | 633 | 234 | { return reinterpret_cast<Type *> (this->head); } |
CFF::CFF2FDArray* hb_serialize_context_t::start_embed<CFF::CFF2FDArray>(CFF::CFF2FDArray const*) const Line | Count | Source | 633 | 2.00k | { return reinterpret_cast<Type *> (this->head); } |
CFF::CFF2ItemVariationStore* hb_serialize_context_t::start_embed<CFF::CFF2ItemVariationStore>(CFF::CFF2ItemVariationStore const*) const Line | Count | Source | 633 | 625 | { return reinterpret_cast<Type *> (this->head); } |
CFF::Subrs<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::start_embed<CFF::Subrs<OT::NumType<true, unsigned int, 4u> > >(CFF::Subrs<OT::NumType<true, unsigned int, 4u> > const*) const Line | Count | Source | 633 | 2.39k | { return reinterpret_cast<Type *> (this->head); } |
|
634 | | template <typename Type> |
635 | | __attribute__((returns_nonnull)) |
636 | | Type *start_embed (const Type &obj) const |
637 | 444M | { return start_embed (std::addressof (obj)); }Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> const&) const Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> const&) const Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> const&) const Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> const&) const Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> const&) const Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> const&) const Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> const&) const Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat2_5<OT::Layout::MediumTypes> >(OT::ContextFormat2_5<OT::Layout::MediumTypes> const&) const Unexecuted instantiation: OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> >* hb_serialize_context_t::start_embed<OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> > >(OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> > const&) const Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat1_4<OT::Layout::MediumTypes> >(OT::ChainContextFormat1_4<OT::Layout::MediumTypes> const&) const Unexecuted instantiation: OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> >* hb_serialize_context_t::start_embed<OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> > >(OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> > const&) const Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat2_5<OT::Layout::MediumTypes> >(OT::ChainContextFormat2_5<OT::Layout::MediumTypes> const&) const Unexecuted instantiation: OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> >* hb_serialize_context_t::start_embed<OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> > >(OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> > const&) const Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes> const&) const Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> const&) const Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> const&) const Unexecuted instantiation: OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> const&) const OT::Feature* hb_serialize_context_t::start_embed<OT::Feature>(OT::Feature const&) const Line | Count | Source | 637 | 23.7k | { return start_embed (std::addressof (obj)); } |
OT::RecordListOfFeature* hb_serialize_context_t::start_embed<OT::RecordListOfFeature>(OT::RecordListOfFeature const&) const Line | Count | Source | 637 | 19.2k | { return start_embed (std::addressof (obj)); } |
OT::LangSys* hb_serialize_context_t::start_embed<OT::LangSys>(OT::LangSys const&) const Line | Count | Source | 637 | 78.4k | { return start_embed (std::addressof (obj)); } |
OT::Script* hb_serialize_context_t::start_embed<OT::Script>(OT::Script const&) const Line | Count | Source | 637 | 58.5k | { return start_embed (std::addressof (obj)); } |
OT::RecordListOfScript* hb_serialize_context_t::start_embed<OT::RecordListOfScript>(OT::RecordListOfScript const&) const Line | Count | Source | 637 | 19.2k | { return start_embed (std::addressof (obj)); } |
OT::FeatureTableSubstitution* hb_serialize_context_t::start_embed<OT::FeatureTableSubstitution>(OT::FeatureTableSubstitution const&) const Line | Count | Source | 637 | 937 | { return start_embed (std::addressof (obj)); } |
OT::FeatureVariations* hb_serialize_context_t::start_embed<OT::FeatureVariations>(OT::FeatureVariations const&) const Line | Count | Source | 637 | 1.22k | { return start_embed (std::addressof (obj)); } |
OT::AttachPoint* hb_serialize_context_t::start_embed<OT::AttachPoint>(OT::AttachPoint const&) const Line | Count | Source | 637 | 37.7k | { return start_embed (std::addressof (obj)); } |
OT::AttachList* hb_serialize_context_t::start_embed<OT::AttachList>(OT::AttachList const&) const Line | Count | Source | 637 | 1.33k | { return start_embed (std::addressof (obj)); } |
OT::CaretValueFormat3* hb_serialize_context_t::start_embed<OT::CaretValueFormat3>(OT::CaretValueFormat3 const&) const Line | Count | Source | 637 | 1.28M | { return start_embed (std::addressof (obj)); } |
OT::LigGlyph* hb_serialize_context_t::start_embed<OT::LigGlyph>(OT::LigGlyph const&) const Line | Count | Source | 637 | 47.6k | { return start_embed (std::addressof (obj)); } |
OT::MarkGlyphSetsFormat1* hb_serialize_context_t::start_embed<OT::MarkGlyphSetsFormat1>(OT::MarkGlyphSetsFormat1 const&) const Line | Count | Source | 637 | 3.99k | { return start_embed (std::addressof (obj)); } |
OT::GDEF* hb_serialize_context_t::start_embed<OT::GDEF>(OT::GDEF const&) const Line | Count | Source | 637 | 8.80k | { return start_embed (std::addressof (obj)); } |
OT::LigCaretList<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::LigCaretList<OT::Layout::MediumTypes> >(OT::LigCaretList<OT::Layout::MediumTypes> const&) const Line | Count | Source | 637 | 36 | { return start_embed (std::addressof (obj)); } |
OT::LigCaretList<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::LigCaretList<OT::Layout::SmallTypes> >(OT::LigCaretList<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 2.56k | { return start_embed (std::addressof (obj)); } |
OT::MVAR* hb_serialize_context_t::start_embed<OT::MVAR>(OT::MVAR const&) const Line | Count | Source | 637 | 284 | { return start_embed (std::addressof (obj)); } |
OT::CPAL* hb_serialize_context_t::start_embed<OT::CPAL>(OT::CPAL const&) const Line | Count | Source | 637 | 1.32k | { return start_embed (std::addressof (obj)); } |
OT::ClipList* hb_serialize_context_t::start_embed<OT::ClipList>(OT::ClipList const&) const Line | Count | Source | 637 | 985 | { return start_embed (std::addressof (obj)); } |
OT::Layout::GPOS_impl::AnchorFormat3* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::AnchorFormat3>(OT::Layout::GPOS_impl::AnchorFormat3 const&) const Line | Count | Source | 637 | 1.37k | { return start_embed (std::addressof (obj)); } |
OT::Lookup* hb_serialize_context_t::start_embed<OT::Lookup>(OT::Lookup const&) const Line | Count | Source | 637 | 55.1k | { return start_embed (std::addressof (obj)); } |
OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 5.57k | { return start_embed (std::addressof (obj)); } |
OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 145k | { return start_embed (std::addressof (obj)); } |
OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 411M | { return start_embed (std::addressof (obj)); } |
OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 2.40k | { return start_embed (std::addressof (obj)); } |
OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 1.46k | { return start_embed (std::addressof (obj)); } |
OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes> const&) const Line | Count | Source | 637 | 6 | { return start_embed (std::addressof (obj)); } |
OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 2.44k | { return start_embed (std::addressof (obj)); } |
OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 1.61k | { return start_embed (std::addressof (obj)); } |
OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 490 | { return start_embed (std::addressof (obj)); } |
OT::ContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat1_4<OT::Layout::SmallTypes> >(OT::ContextFormat1_4<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 4.28k | { return start_embed (std::addressof (obj)); } |
OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> >* hb_serialize_context_t::start_embed<OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> > >(OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> > const&) const Line | Count | Source | 637 | 6.76k | { return start_embed (std::addressof (obj)); } |
OT::ContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat2_5<OT::Layout::SmallTypes> >(OT::ContextFormat2_5<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 538 | { return start_embed (std::addressof (obj)); } |
OT::ContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::ContextFormat1_4<OT::Layout::MediumTypes> >(OT::ContextFormat1_4<OT::Layout::MediumTypes> const&) const Line | Count | Source | 637 | 12 | { return start_embed (std::addressof (obj)); } |
OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> >* hb_serialize_context_t::start_embed<OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> > >(OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> > const&) const Line | Count | Source | 637 | 12 | { return start_embed (std::addressof (obj)); } |
OT::ChainContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat1_4<OT::Layout::SmallTypes> >(OT::ChainContextFormat1_4<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 1.48k | { return start_embed (std::addressof (obj)); } |
OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> >* hb_serialize_context_t::start_embed<OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> > >(OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> > const&) const Line | Count | Source | 637 | 2.91k | { return start_embed (std::addressof (obj)); } |
OT::ChainContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::ChainContextFormat2_5<OT::Layout::SmallTypes> >(OT::ChainContextFormat2_5<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 719 | { return start_embed (std::addressof (obj)); } |
OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 5.62k | { return start_embed (std::addressof (obj)); } |
OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 32.8k | { return start_embed (std::addressof (obj)); } |
OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes> const&) const Line | Count | Source | 637 | 30 | { return start_embed (std::addressof (obj)); } |
OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes> const&) const Line | Count | Source | 637 | 8 | { return start_embed (std::addressof (obj)); } |
OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 2.71k | { return start_embed (std::addressof (obj)); } |
OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 15.9k | { return start_embed (std::addressof (obj)); } |
OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes> const&) const Line | Count | Source | 637 | 4 | { return start_embed (std::addressof (obj)); } |
OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 8.08k | { return start_embed (std::addressof (obj)); } |
OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 21.7k | { return start_embed (std::addressof (obj)); } |
OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>* hb_serialize_context_t::start_embed<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> const&) const Line | Count | Source | 637 | 31.2M | { return start_embed (std::addressof (obj)); } |
OT::MinMax* hb_serialize_context_t::start_embed<OT::MinMax>(OT::MinMax const&) const Line | Count | Source | 637 | 1.35k | { return start_embed (std::addressof (obj)); } |
OT::BaseValues* hb_serialize_context_t::start_embed<OT::BaseValues>(OT::BaseValues const&) const Line | Count | Source | 637 | 2.68k | { return start_embed (std::addressof (obj)); } |
OT::BaseScript* hb_serialize_context_t::start_embed<OT::BaseScript>(OT::BaseScript const&) const Line | Count | Source | 637 | 3.12k | { return start_embed (std::addressof (obj)); } |
OT::BaseScriptList* hb_serialize_context_t::start_embed<OT::BaseScriptList>(OT::BaseScriptList const&) const Line | Count | Source | 637 | 1.01k | { return start_embed (std::addressof (obj)); } |
OT::BASE* hb_serialize_context_t::start_embed<OT::BASE>(OT::BASE const&) const Line | Count | Source | 637 | 735 | { return start_embed (std::addressof (obj)); } |
OT::MathItalicsCorrectionInfo* hb_serialize_context_t::start_embed<OT::MathItalicsCorrectionInfo>(OT::MathItalicsCorrectionInfo const&) const Line | Count | Source | 637 | 533 | { return start_embed (std::addressof (obj)); } |
OT::MathTopAccentAttachment* hb_serialize_context_t::start_embed<OT::MathTopAccentAttachment>(OT::MathTopAccentAttachment const&) const Line | Count | Source | 637 | 774 | { return start_embed (std::addressof (obj)); } |
OT::MathKernInfo* hb_serialize_context_t::start_embed<OT::MathKernInfo>(OT::MathKernInfo const&) const Line | Count | Source | 637 | 687 | { return start_embed (std::addressof (obj)); } |
OT::MathGlyphConstruction* hb_serialize_context_t::start_embed<OT::MathGlyphConstruction>(OT::MathGlyphConstruction const&) const Line | Count | Source | 637 | 1.43k | { return start_embed (std::addressof (obj)); } |
OT::MathVariants* hb_serialize_context_t::start_embed<OT::MathVariants>(OT::MathVariants const&) const Line | Count | Source | 637 | 988 | { return start_embed (std::addressof (obj)); } |
|
638 | | |
639 | | bool err (hb_serialize_error_t err_type) |
640 | 6.40M | { |
641 | 6.40M | return !bool ((errors = (errors | err_type))); |
642 | 6.40M | } |
643 | | |
644 | | bool start_zerocopy (size_t size) |
645 | 64.3k | { |
646 | 64.3k | if (unlikely (in_error ())) return false; |
647 | | |
648 | 64.3k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) |
649 | 94 | { |
650 | 94 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); |
651 | 94 | return false; |
652 | 94 | } |
653 | | |
654 | 64.3k | assert (!this->zerocopy); |
655 | 64.2k | this->zerocopy = this->head; |
656 | | |
657 | 64.2k | assert (this->current->head == this->head); |
658 | 64.2k | this->current->head = this->current->tail = this->head = this->tail - size; |
659 | 64.2k | return true; |
660 | 64.2k | } |
661 | | |
662 | | template <typename Type> |
663 | | HB_NODISCARD |
664 | | Type *allocate_size (size_t size, bool clear = true) |
665 | 1.29G | { |
666 | 1.29G | if (unlikely (in_error ())) return nullptr; |
667 | | |
668 | 1.28G | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) |
669 | 9.45k | { |
670 | 9.45k | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); |
671 | 9.45k | return nullptr; |
672 | 9.45k | } |
673 | 1.28G | if (clear) |
674 | 1.17G | hb_memset (this->head, 0, size); |
675 | 1.28G | char *ret = this->head; |
676 | 1.28G | this->head += size; |
677 | 1.28G | return reinterpret_cast<Type *> (ret); |
678 | 1.28G | } void* hb_serialize_context_t::allocate_size<void>(unsigned long, bool) Line | Count | Source | 665 | 123k | { | 666 | 123k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 123k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 123k | if (clear) | 674 | 25.5k | hb_memset (this->head, 0, size); | 675 | 123k | char *ret = this->head; | 676 | 123k | this->head += size; | 677 | 123k | return reinterpret_cast<Type *> (ret); | 678 | 123k | } |
Unexecuted instantiation: char* hb_serialize_context_t::allocate_size<char>(unsigned long, bool) Unexecuted instantiation: unsigned char* hb_serialize_context_t::allocate_size<unsigned char>(unsigned long, bool) OT::Layout::Common::Coverage* hb_serialize_context_t::allocate_size<OT::Layout::Common::Coverage>(unsigned long, bool) Line | Count | Source | 665 | 146k | { | 666 | 146k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 146k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 4 | { | 670 | 4 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 4 | return nullptr; | 672 | 4 | } | 673 | 146k | if (clear) | 674 | 146k | hb_memset (this->head, 0, size); | 675 | 146k | char *ret = this->head; | 676 | 146k | this->head += size; | 677 | 146k | return reinterpret_cast<Type *> (ret); | 678 | 146k | } |
OT::ArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 367k | { | 666 | 367k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 367k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 364 | { | 670 | 364 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 364 | return nullptr; | 672 | 364 | } | 673 | 367k | if (clear) | 674 | 183k | hb_memset (this->head, 0, size); | 675 | 367k | char *ret = this->head; | 676 | 367k | this->head += size; | 677 | 367k | return reinterpret_cast<Type *> (ret); | 678 | 367k | } |
OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 21.8k | { | 666 | 21.8k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 21.8k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 21.8k | if (clear) | 674 | 21.8k | hb_memset (this->head, 0, size); | 675 | 21.8k | char *ret = this->head; | 676 | 21.8k | this->head += size; | 677 | 21.8k | return reinterpret_cast<Type *> (ret); | 678 | 21.8k | } |
OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 43.6k | { | 666 | 43.6k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 43.6k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1.35k | { | 670 | 1.35k | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1.35k | return nullptr; | 672 | 1.35k | } | 673 | 42.2k | if (clear) | 674 | 42.2k | hb_memset (this->head, 0, size); | 675 | 42.2k | char *ret = this->head; | 676 | 42.2k | this->head += size; | 677 | 42.2k | return reinterpret_cast<Type *> (ret); | 678 | 43.6k | } |
Unexecuted instantiation: OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::FeatureParamsSize* hb_serialize_context_t::allocate_size<OT::FeatureParamsSize>(unsigned long, bool) Unexecuted instantiation: OT::FeatureParamsStylisticSet* hb_serialize_context_t::allocate_size<OT::FeatureParamsStylisticSet>(unsigned long, bool) Unexecuted instantiation: OT::FeatureParamsCharacterVariants* hb_serialize_context_t::allocate_size<OT::FeatureParamsCharacterVariants>(unsigned long, bool) Unexecuted instantiation: OT::Feature* hb_serialize_context_t::allocate_size<OT::Feature>(unsigned long, bool) Unexecuted instantiation: OT::IndexArray* hb_serialize_context_t::allocate_size<OT::IndexArray>(unsigned long, bool) Unexecuted instantiation: OT::Index* hb_serialize_context_t::allocate_size<OT::Index>(unsigned long, bool) Unexecuted instantiation: OT::RecordListOfFeature* hb_serialize_context_t::allocate_size<OT::RecordListOfFeature>(unsigned long, bool) Unexecuted instantiation: OT::Record<OT::Feature>* hb_serialize_context_t::allocate_size<OT::Record<OT::Feature> >(unsigned long, bool) Unexecuted instantiation: OT::LangSys* hb_serialize_context_t::allocate_size<OT::LangSys>(unsigned long, bool) Unexecuted instantiation: OT::Script* hb_serialize_context_t::allocate_size<OT::Script>(unsigned long, bool) Unexecuted instantiation: OT::Record<OT::LangSys>* hb_serialize_context_t::allocate_size<OT::Record<OT::LangSys> >(unsigned long, bool) Unexecuted instantiation: OT::RecordListOfScript* hb_serialize_context_t::allocate_size<OT::RecordListOfScript>(unsigned long, bool) Unexecuted instantiation: OT::Record<OT::Script>* hb_serialize_context_t::allocate_size<OT::Record<OT::Script> >(unsigned long, bool) OT::Lookup* hb_serialize_context_t::allocate_size<OT::Lookup>(unsigned long, bool) Line | Count | Source | 665 | 63.7k | { | 666 | 63.7k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 63.7k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 4 | { | 670 | 4 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 4 | return nullptr; | 672 | 4 | } | 673 | 63.7k | if (clear) | 674 | 63.7k | hb_memset (this->head, 0, size); | 675 | 63.7k | char *ret = this->head; | 676 | 63.7k | this->head += size; | 677 | 63.7k | return reinterpret_cast<Type *> (ret); | 678 | 63.7k | } |
OT::ArrayOf<OT::Offset<OT::NumType<true, unsigned short, 2u>, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::Offset<OT::NumType<true, unsigned short, 2u>, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 4.74k | { | 666 | 4.74k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 4.74k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 4.74k | if (clear) | 674 | 4.74k | hb_memset (this->head, 0, size); | 675 | 4.74k | char *ret = this->head; | 676 | 4.74k | this->head += size; | 677 | 4.74k | return reinterpret_cast<Type *> (ret); | 678 | 4.74k | } |
Unexecuted instantiation: OT::ClassDef* hb_serialize_context_t::allocate_size<OT::ClassDef>(unsigned long, bool) Unexecuted instantiation: OT::ClassDefFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ClassDefFormat1_3<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ClassDefFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ClassDefFormat2_4<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ClassDefFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ClassDefFormat1_3<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::NumType<true, unsigned int, 3u>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::NumType<true, unsigned int, 3u>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::ClassDefFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ClassDefFormat2_4<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::VarRegionAxis* hb_serialize_context_t::allocate_size<OT::VarRegionAxis>(unsigned long, bool) Unexecuted instantiation: OT::SparseVarRegionAxis* hb_serialize_context_t::allocate_size<OT::SparseVarRegionAxis>(unsigned long, bool) Unexecuted instantiation: OT::VarRegionList* hb_serialize_context_t::allocate_size<OT::VarRegionList>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::SparseVarRegionAxis, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::SparseVarRegionAxis, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::SparseVarRegionList* hb_serialize_context_t::allocate_size<OT::SparseVarRegionList>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::SparseVariationRegion, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::SparseVariationRegion, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Unexecuted instantiation: OT::VarData* hb_serialize_context_t::allocate_size<OT::VarData>(unsigned long, bool) Unexecuted instantiation: OT::MultiVarData* hb_serialize_context_t::allocate_size<OT::MultiVarData>(unsigned long, bool) Unexecuted instantiation: OT::CFFIndex<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::CFFIndex<OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Unexecuted instantiation: OT::NumType<true, unsigned char, 1u>* hb_serialize_context_t::allocate_size<OT::NumType<true, unsigned char, 1u> >(unsigned long, bool) Unexecuted instantiation: OT::ItemVariationStore* hb_serialize_context_t::allocate_size<OT::ItemVariationStore>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::MultiItemVariationStore* hb_serialize_context_t::allocate_size<OT::MultiItemVariationStore>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::MultiVarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::MultiVarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Unexecuted instantiation: OT::ConditionAxisRange* hb_serialize_context_t::allocate_size<OT::ConditionAxisRange>(unsigned long, bool) Unexecuted instantiation: OT::ConditionValue* hb_serialize_context_t::allocate_size<OT::ConditionValue>(unsigned long, bool) Unexecuted instantiation: OT::ConditionAnd* hb_serialize_context_t::allocate_size<OT::ConditionAnd>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned char, 1u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned char, 1u> > >(unsigned long, bool) Unexecuted instantiation: OT::ConditionOr* hb_serialize_context_t::allocate_size<OT::ConditionOr>(unsigned long, bool) Unexecuted instantiation: OT::ConditionNegate* hb_serialize_context_t::allocate_size<OT::ConditionNegate>(unsigned long, bool) Unexecuted instantiation: OT::ConditionList* hb_serialize_context_t::allocate_size<OT::ConditionList>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Unexecuted instantiation: OT::ConditionSet* hb_serialize_context_t::allocate_size<OT::ConditionSet>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::FeatureTableSubstitutionRecord* hb_serialize_context_t::allocate_size<OT::FeatureTableSubstitutionRecord>(unsigned long, bool) Unexecuted instantiation: OT::FeatureTableSubstitution* hb_serialize_context_t::allocate_size<OT::FeatureTableSubstitution>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::FeatureTableSubstitutionRecord, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::FeatureTableSubstitutionRecord, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::FeatureVariationRecord* hb_serialize_context_t::allocate_size<OT::FeatureVariationRecord>(unsigned long, bool) Unexecuted instantiation: OT::LookupIndexList* hb_serialize_context_t::allocate_size<OT::LookupIndexList>(unsigned long, bool) Unexecuted instantiation: OT::LookupConditionRecord* hb_serialize_context_t::allocate_size<OT::LookupConditionRecord>(unsigned long, bool) Unexecuted instantiation: OT::FeatureLookupsTable* hb_serialize_context_t::allocate_size<OT::FeatureLookupsTable>(unsigned long, bool) Unexecuted instantiation: OT::LookupVariationRecord* hb_serialize_context_t::allocate_size<OT::LookupVariationRecord>(unsigned long, bool) Unexecuted instantiation: OT::FeatureVariations* hb_serialize_context_t::allocate_size<OT::FeatureVariations>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::LookupVariationRecord, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::LookupVariationRecord, OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Unexecuted instantiation: OT::HintingDevice* hb_serialize_context_t::allocate_size<OT::HintingDevice>(unsigned long, bool) Unexecuted instantiation: OT::VariationDevice* hb_serialize_context_t::allocate_size<OT::VariationDevice>(unsigned long, bool) Unexecuted instantiation: OT::AttachList* hb_serialize_context_t::allocate_size<OT::AttachList>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::CaretValueFormat1* hb_serialize_context_t::allocate_size<OT::CaretValueFormat1>(unsigned long, bool) Unexecuted instantiation: OT::CaretValueFormat2* hb_serialize_context_t::allocate_size<OT::CaretValueFormat2>(unsigned long, bool) OT::NumType<true, unsigned short, 2u>* hb_serialize_context_t::allocate_size<OT::NumType<true, unsigned short, 2u> >(unsigned long, bool) Line | Count | Source | 665 | 410M | { | 666 | 410M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 410M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 456 | { | 670 | 456 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 456 | return nullptr; | 672 | 456 | } | 673 | 410M | if (clear) | 674 | 409M | hb_memset (this->head, 0, size); | 675 | 410M | char *ret = this->head; | 676 | 410M | this->head += size; | 677 | 410M | return reinterpret_cast<Type *> (ret); | 678 | 410M | } |
Unexecuted instantiation: OT::NumType<true, short, 2u>* hb_serialize_context_t::allocate_size<OT::NumType<true, short, 2u> >(unsigned long, bool) Unexecuted instantiation: OT::OffsetTo<OT::Device, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Device, OT::NumType<true, unsigned short, 2u>, void, true> >(unsigned long, bool) Unexecuted instantiation: OT::LigGlyph* hb_serialize_context_t::allocate_size<OT::LigGlyph>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::MarkGlyphSetsFormat1* hb_serialize_context_t::allocate_size<OT::MarkGlyphSetsFormat1>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned short, 2u>, void, true> >(unsigned long, bool) Unexecuted instantiation: OT::OffsetTo<OT::ItemVariationStore, OT::NumType<true, unsigned int, 4u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::ItemVariationStore, OT::NumType<true, unsigned int, 4u>, void, true> >(unsigned long, bool) Unexecuted instantiation: OT::GDEF* hb_serialize_context_t::allocate_size<OT::GDEF>(unsigned long, bool) Unexecuted instantiation: OT::LigCaretList<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::LigCaretList<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::LigCaretList<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::LigCaretList<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::LookupRecord* hb_serialize_context_t::allocate_size<OT::LookupRecord>(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorFormat1* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::AnchorFormat1>(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorFormat2* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::AnchorFormat2>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkRecord<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, true> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkRecord<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::LigatureArray<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat1_4<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> >* hb_serialize_context_t::allocate_size<OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> > >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::Rule<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Rule<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat2_5<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ContextFormat3_6<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat3_6<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true> >(unsigned long, bool) Unexecuted instantiation: OT::ContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat1_4<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> >* hb_serialize_context_t::allocate_size<OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> > >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::Rule<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Rule<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::NumType<true, unsigned int, 3u>* hb_serialize_context_t::allocate_size<OT::NumType<true, unsigned int, 3u> >(unsigned long, bool) Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat2_5<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> >* hb_serialize_context_t::allocate_size<OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> > >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ContextFormat3_6<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat3_6<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true> >(unsigned long, bool) Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ChainContextFormat1_4<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> >* hb_serialize_context_t::allocate_size<OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> > >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ChainContextFormat2_5<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ChainContextFormat1_4<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> >* hb_serialize_context_t::allocate_size<OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> > >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ChainContextFormat2_5<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> >* hb_serialize_context_t::allocate_size<OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> > >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos>* hb_serialize_context_t::allocate_size<OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos> >(unsigned long, bool) Unexecuted instantiation: OT::GSUBGPOS* hb_serialize_context_t::allocate_size<OT::GSUBGPOS>(unsigned long, bool) Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::OffsetTo<OT::FeatureVariations, OT::NumType<true, unsigned int, 4u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::FeatureVariations, OT::NumType<true, unsigned int, 4u>, void, true> >(unsigned long, bool) Unexecuted instantiation: OT::AxisValueFormat1* hb_serialize_context_t::allocate_size<OT::AxisValueFormat1>(unsigned long, bool) Unexecuted instantiation: OT::AxisValueFormat2* hb_serialize_context_t::allocate_size<OT::AxisValueFormat2>(unsigned long, bool) Unexecuted instantiation: OT::AxisValueFormat3* hb_serialize_context_t::allocate_size<OT::AxisValueFormat3>(unsigned long, bool) Unexecuted instantiation: OT::AxisValueFormat4* hb_serialize_context_t::allocate_size<OT::AxisValueFormat4>(unsigned long, bool) Unexecuted instantiation: OT::OffsetTo<OT::AxisValue, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::AxisValue, OT::NumType<true, unsigned short, 2u>, void, true> >(unsigned long, bool) Unexecuted instantiation: OT::STAT* hb_serialize_context_t::allocate_size<OT::STAT>(unsigned long, bool) Unexecuted instantiation: OT::StatAxisRecord* hb_serialize_context_t::allocate_size<OT::StatAxisRecord>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 8.71k | { | 666 | 8.71k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 8.71k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 8.71k | if (clear) | 674 | 8.71k | hb_memset (this->head, 0, size); | 675 | 8.71k | char *ret = this->head; | 676 | 8.71k | this->head += size; | 677 | 8.71k | return reinterpret_cast<Type *> (ret); | 678 | 8.71k | } |
OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 9.23k | { | 666 | 9.23k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 9.23k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 4 | { | 670 | 4 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 4 | return nullptr; | 672 | 4 | } | 673 | 9.23k | if (clear) | 674 | 9.23k | hb_memset (this->head, 0, size); | 675 | 9.23k | char *ret = this->head; | 676 | 9.23k | this->head += size; | 677 | 9.23k | return reinterpret_cast<Type *> (ret); | 678 | 9.23k | } |
OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 12 | { | 666 | 12 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 12 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 12 | if (clear) | 674 | 12 | hb_memset (this->head, 0, size); | 675 | 12 | char *ret = this->head; | 676 | 12 | this->head += size; | 677 | 12 | return reinterpret_cast<Type *> (ret); | 678 | 12 | } |
Unexecuted instantiation: OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 9.44k | { | 666 | 9.44k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 9.44k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 9.43k | if (clear) | 674 | 9.43k | hb_memset (this->head, 0, size); | 675 | 9.43k | char *ret = this->head; | 676 | 9.43k | this->head += size; | 677 | 9.43k | return reinterpret_cast<Type *> (ret); | 678 | 9.44k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 28.5k | { | 666 | 28.5k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 28.5k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 28.5k | if (clear) | 674 | 28.5k | hb_memset (this->head, 0, size); | 675 | 28.5k | char *ret = this->head; | 676 | 28.5k | this->head += size; | 677 | 28.5k | return reinterpret_cast<Type *> (ret); | 678 | 28.5k | } |
OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 30.0k | { | 666 | 30.0k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 30.0k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 30.0k | if (clear) | 674 | 30.0k | hb_memset (this->head, 0, size); | 675 | 30.0k | char *ret = this->head; | 676 | 30.0k | this->head += size; | 677 | 30.0k | return reinterpret_cast<Type *> (ret); | 678 | 30.0k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 108M | { | 666 | 108M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 108M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 108M | if (clear) | 674 | 108M | hb_memset (this->head, 0, size); | 675 | 108M | char *ret = this->head; | 676 | 108M | this->head += size; | 677 | 108M | return reinterpret_cast<Type *> (ret); | 678 | 108M | } |
OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 31.3M | { | 666 | 31.3M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 31.3M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 31.3M | if (clear) | 674 | 31.3M | hb_memset (this->head, 0, size); | 675 | 31.3M | char *ret = this->head; | 676 | 31.3M | this->head += size; | 677 | 31.3M | return reinterpret_cast<Type *> (ret); | 678 | 31.3M | } |
OT::HeadlessArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::HeadlessArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 62.6M | { | 666 | 62.6M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 62.6M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 62.6M | if (clear) | 674 | 31.3M | hb_memset (this->head, 0, size); | 675 | 62.6M | char *ret = this->head; | 676 | 62.6M | this->head += size; | 677 | 62.6M | return reinterpret_cast<Type *> (ret); | 678 | 62.6M | } |
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::HeadlessArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::HeadlessArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>* hb_serialize_context_t::allocate_size<OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst> >(unsigned long, bool) Unexecuted instantiation: OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::VariationValueRecord* hb_serialize_context_t::allocate_size<OT::VariationValueRecord>(unsigned long, bool) Unexecuted instantiation: OT::MVAR* hb_serialize_context_t::allocate_size<OT::MVAR>(unsigned long, bool) Unexecuted instantiation: OT::OS2* hb_serialize_context_t::allocate_size<OT::OS2>(unsigned long, bool) Unexecuted instantiation: OT::NumType<true, unsigned int, 4u>* hb_serialize_context_t::allocate_size<OT::NumType<true, unsigned int, 4u> >(unsigned long, bool) Unexecuted instantiation: OT::UnicodeValueRange* hb_serialize_context_t::allocate_size<OT::UnicodeValueRange>(unsigned long, bool) Unexecuted instantiation: OT::cmap* hb_serialize_context_t::allocate_size<OT::cmap>(unsigned long, bool) Unexecuted instantiation: OT::EncodingRecord* hb_serialize_context_t::allocate_size<OT::EncodingRecord>(unsigned long, bool) Unexecuted instantiation: OT::CmapSubtableFormat4* hb_serialize_context_t::allocate_size<OT::CmapSubtableFormat4>(unsigned long, bool) Unexecuted instantiation: OT::CmapSubtableFormat12* hb_serialize_context_t::allocate_size<OT::CmapSubtableFormat12>(unsigned long, bool) Unexecuted instantiation: OT::CmapSubtableLongGroup* hb_serialize_context_t::allocate_size<OT::CmapSubtableLongGroup>(unsigned long, bool) Unexecuted instantiation: OT::CmapSubtableFormat14_15<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::CmapSubtableFormat14_15<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::VariationSelectorRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::VariationSelectorRecord<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::UVSMapping<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::UVSMapping<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::CmapSubtableFormat14_15<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::CmapSubtableFormat14_15<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::VariationSelectorRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::VariationSelectorRecord<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::UVSMapping<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::UVSMapping<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::CPALV1Tail* hb_serialize_context_t::allocate_size<OT::CPALV1Tail>(unsigned long, bool) Unexecuted instantiation: OT::CPAL* hb_serialize_context_t::allocate_size<OT::CPAL>(unsigned long, bool) Unexecuted instantiation: OT::ColorStop* hb_serialize_context_t::allocate_size<OT::ColorStop>(unsigned long, bool) Unexecuted instantiation: OT::Affine2x3* hb_serialize_context_t::allocate_size<OT::Affine2x3>(unsigned long, bool) Unexecuted instantiation: OT::PaintColrLayers* hb_serialize_context_t::allocate_size<OT::PaintColrLayers>(unsigned long, bool) Unexecuted instantiation: OT::PaintSolid* hb_serialize_context_t::allocate_size<OT::PaintSolid>(unsigned long, bool) Unexecuted instantiation: OT::PaintColrGlyph* hb_serialize_context_t::allocate_size<OT::PaintColrGlyph>(unsigned long, bool) Unexecuted instantiation: OT::PaintTranslate* hb_serialize_context_t::allocate_size<OT::PaintTranslate>(unsigned long, bool) Unexecuted instantiation: OT::VarIdx* hb_serialize_context_t::allocate_size<OT::VarIdx>(unsigned long, bool) Unexecuted instantiation: OT::PaintLinearGradient<OT::NoVariable>* hb_serialize_context_t::allocate_size<OT::PaintLinearGradient<OT::NoVariable> >(unsigned long, bool) Unexecuted instantiation: OT::ColorLine<OT::NoVariable>* hb_serialize_context_t::allocate_size<OT::ColorLine<OT::NoVariable> >(unsigned long, bool) Unexecuted instantiation: OT::PaintLinearGradient<OT::Variable>* hb_serialize_context_t::allocate_size<OT::PaintLinearGradient<OT::Variable> >(unsigned long, bool) Unexecuted instantiation: OT::ColorLine<OT::Variable>* hb_serialize_context_t::allocate_size<OT::ColorLine<OT::Variable> >(unsigned long, bool) Unexecuted instantiation: OT::PaintRadialGradient<OT::NoVariable>* hb_serialize_context_t::allocate_size<OT::PaintRadialGradient<OT::NoVariable> >(unsigned long, bool) Unexecuted instantiation: OT::PaintRadialGradient<OT::Variable>* hb_serialize_context_t::allocate_size<OT::PaintRadialGradient<OT::Variable> >(unsigned long, bool) Unexecuted instantiation: OT::PaintSweepGradient<OT::NoVariable>* hb_serialize_context_t::allocate_size<OT::PaintSweepGradient<OT::NoVariable> >(unsigned long, bool) Unexecuted instantiation: OT::PaintSweepGradient<OT::Variable>* hb_serialize_context_t::allocate_size<OT::PaintSweepGradient<OT::Variable> >(unsigned long, bool) Unexecuted instantiation: OT::PaintGlyph<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::PaintGlyph<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::PaintTransform<OT::NoVariable>* hb_serialize_context_t::allocate_size<OT::PaintTransform<OT::NoVariable> >(unsigned long, bool) Unexecuted instantiation: OT::PaintTransform<OT::Variable>* hb_serialize_context_t::allocate_size<OT::PaintTransform<OT::Variable> >(unsigned long, bool) Unexecuted instantiation: OT::PaintGlyph<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::PaintGlyph<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::PaintScale* hb_serialize_context_t::allocate_size<OT::PaintScale>(unsigned long, bool) Unexecuted instantiation: OT::PaintScaleAroundCenter* hb_serialize_context_t::allocate_size<OT::PaintScaleAroundCenter>(unsigned long, bool) Unexecuted instantiation: OT::PaintScaleUniform* hb_serialize_context_t::allocate_size<OT::PaintScaleUniform>(unsigned long, bool) Unexecuted instantiation: OT::PaintScaleUniformAroundCenter* hb_serialize_context_t::allocate_size<OT::PaintScaleUniformAroundCenter>(unsigned long, bool) Unexecuted instantiation: OT::PaintRotate* hb_serialize_context_t::allocate_size<OT::PaintRotate>(unsigned long, bool) Unexecuted instantiation: OT::PaintRotateAroundCenter* hb_serialize_context_t::allocate_size<OT::PaintRotateAroundCenter>(unsigned long, bool) Unexecuted instantiation: OT::PaintSkew* hb_serialize_context_t::allocate_size<OT::PaintSkew>(unsigned long, bool) Unexecuted instantiation: OT::PaintSkewAroundCenter* hb_serialize_context_t::allocate_size<OT::PaintSkewAroundCenter>(unsigned long, bool) Unexecuted instantiation: OT::PaintComposite* hb_serialize_context_t::allocate_size<OT::PaintComposite>(unsigned long, bool) Unexecuted instantiation: OT::ClipBoxFormat1* hb_serialize_context_t::allocate_size<OT::ClipBoxFormat1>(unsigned long, bool) Unexecuted instantiation: OT::ClipRecord* hb_serialize_context_t::allocate_size<OT::ClipRecord>(unsigned long, bool) Unexecuted instantiation: OT::ClipList* hb_serialize_context_t::allocate_size<OT::ClipList>(unsigned long, bool) Unexecuted instantiation: OT::BaseGlyphPaintRecord* hb_serialize_context_t::allocate_size<OT::BaseGlyphPaintRecord>(unsigned long, bool) Unexecuted instantiation: OT::BaseGlyphList* hb_serialize_context_t::allocate_size<OT::BaseGlyphList>(unsigned long, bool) Unexecuted instantiation: OT::LayerList* hb_serialize_context_t::allocate_size<OT::LayerList>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Unexecuted instantiation: OT::COLR* hb_serialize_context_t::allocate_size<OT::COLR>(unsigned long, bool) Unexecuted instantiation: OT::BaseGlyphRecord* hb_serialize_context_t::allocate_size<OT::BaseGlyphRecord>(unsigned long, bool) Unexecuted instantiation: OT::LayerRecord* hb_serialize_context_t::allocate_size<OT::LayerRecord>(unsigned long, bool) Unexecuted instantiation: OT::head* hb_serialize_context_t::allocate_size<OT::head>(unsigned long, bool) Unexecuted instantiation: OT::HVAR* hb_serialize_context_t::allocate_size<OT::HVAR>(unsigned long, bool) Unexecuted instantiation: OT::VVAR* hb_serialize_context_t::allocate_size<OT::VVAR>(unsigned long, bool) OT::OpenTypeFontFile* hb_serialize_context_t::allocate_size<OT::OpenTypeFontFile>(unsigned long, bool) Line | Count | Source | 665 | 13.1k | { | 666 | 13.1k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 13.1k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 13.1k | if (clear) | 674 | 13.1k | hb_memset (this->head, 0, size); | 675 | 13.1k | char *ret = this->head; | 676 | 13.1k | this->head += size; | 677 | 13.1k | return reinterpret_cast<Type *> (ret); | 678 | 13.1k | } |
OT::OpenTypeOffsetTable* hb_serialize_context_t::allocate_size<OT::OpenTypeOffsetTable>(unsigned long, bool) Line | Count | Source | 665 | 13.1k | { | 666 | 13.1k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 13.1k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 13.1k | if (clear) | 674 | 13.1k | hb_memset (this->head, 0, size); | 675 | 13.1k | char *ret = this->head; | 676 | 13.1k | this->head += size; | 677 | 13.1k | return reinterpret_cast<Type *> (ret); | 678 | 13.1k | } |
OT::ArrayOf<OT::TableRecord, OT::BinSearchHeader<OT::NumType<true, unsigned short, 2u> > >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::TableRecord, OT::BinSearchHeader<OT::NumType<true, unsigned short, 2u> > > >(unsigned long, bool) Line | Count | Source | 665 | 26.2k | { | 666 | 26.2k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 26.2k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 26.2k | if (clear) | 674 | 26.2k | hb_memset (this->head, 0, size); | 675 | 26.2k | char *ret = this->head; | 676 | 26.2k | this->head += size; | 677 | 26.2k | return reinterpret_cast<Type *> (ret); | 678 | 26.2k | } |
Unexecuted instantiation: OT::HBFixed<OT::NumType<true, int, 4u>, 16u>* hb_serialize_context_t::allocate_size<OT::HBFixed<OT::NumType<true, int, 4u>, 16u> >(unsigned long, bool) Unexecuted instantiation: OT::AxisRecord* hb_serialize_context_t::allocate_size<OT::AxisRecord>(unsigned long, bool) Unexecuted instantiation: OT::fvar* hb_serialize_context_t::allocate_size<OT::fvar>(unsigned long, bool) Unexecuted instantiation: OT::AxisValueMap* hb_serialize_context_t::allocate_size<OT::AxisValueMap>(unsigned long, bool) Unexecuted instantiation: OT::SegmentMaps* hb_serialize_context_t::allocate_size<OT::SegmentMaps>(unsigned long, bool) Unexecuted instantiation: OT::avar* hb_serialize_context_t::allocate_size<OT::avar>(unsigned long, bool) Unexecuted instantiation: OT::avarV2Tail* hb_serialize_context_t::allocate_size<OT::avarV2Tail>(unsigned long, bool) Unexecuted instantiation: OT::Offset<OT::NumType<true, unsigned int, 4u>, true>* hb_serialize_context_t::allocate_size<OT::Offset<OT::NumType<true, unsigned int, 4u>, true> >(unsigned long, bool) Unexecuted instantiation: OT::Offset<OT::NumType<true, unsigned short, 2u>, true>* hb_serialize_context_t::allocate_size<OT::Offset<OT::NumType<true, unsigned short, 2u>, true> >(unsigned long, bool) Unexecuted instantiation: OT::IndexSubtable* hb_serialize_context_t::allocate_size<OT::IndexSubtable>(unsigned long, bool) Unexecuted instantiation: OT::IndexSubtableRecord* hb_serialize_context_t::allocate_size<OT::IndexSubtableRecord>(unsigned long, bool) Unexecuted instantiation: OT::BitmapSizeTable* hb_serialize_context_t::allocate_size<OT::BitmapSizeTable>(unsigned long, bool) Unexecuted instantiation: OT::CBLC* hb_serialize_context_t::allocate_size<OT::CBLC>(unsigned long, bool) Unexecuted instantiation: OT::SBIXGlyph* hb_serialize_context_t::allocate_size<OT::SBIXGlyph>(unsigned long, bool) Unexecuted instantiation: OT::SBIXStrike* hb_serialize_context_t::allocate_size<OT::SBIXStrike>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Unexecuted instantiation: OT::NumType<true, int, 4u>* hb_serialize_context_t::allocate_size<OT::NumType<true, int, 4u> >(unsigned long, bool) Unexecuted instantiation: CFF::FDSelect* hb_serialize_context_t::allocate_size<CFF::FDSelect>(unsigned long, bool) Unexecuted instantiation: CFF::Encoding* hb_serialize_context_t::allocate_size<CFF::Encoding>(unsigned long, bool) Unexecuted instantiation: CFF::Encoding0* hb_serialize_context_t::allocate_size<CFF::Encoding0>(unsigned long, bool) Unexecuted instantiation: CFF::Encoding1* hb_serialize_context_t::allocate_size<CFF::Encoding1>(unsigned long, bool) Unexecuted instantiation: CFF::CFF1SuppEncData* hb_serialize_context_t::allocate_size<CFF::CFF1SuppEncData>(unsigned long, bool) Unexecuted instantiation: CFF::Charset* hb_serialize_context_t::allocate_size<CFF::Charset>(unsigned long, bool) Unexecuted instantiation: CFF::Charset0* hb_serialize_context_t::allocate_size<CFF::Charset0>(unsigned long, bool) Unexecuted instantiation: CFF::Charset1_2<OT::NumType<true, unsigned char, 1u> >* hb_serialize_context_t::allocate_size<CFF::Charset1_2<OT::NumType<true, unsigned char, 1u> > >(unsigned long, bool) Unexecuted instantiation: CFF::Charset1_2<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<CFF::Charset1_2<OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::CFFIndex<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::CFFIndex<OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: CFF::CFF2FDSelect* hb_serialize_context_t::allocate_size<CFF::CFF2FDSelect>(unsigned long, bool) Unexecuted instantiation: CFF::CFF2ItemVariationStore* hb_serialize_context_t::allocate_size<CFF::CFF2ItemVariationStore>(unsigned long, bool) Unexecuted instantiation: OT::NameRecord* hb_serialize_context_t::allocate_size<OT::NameRecord>(unsigned long, bool) Unexecuted instantiation: OT::name* hb_serialize_context_t::allocate_size<OT::name>(unsigned long, bool) Unexecuted instantiation: OT::post* hb_serialize_context_t::allocate_size<OT::post>(unsigned long, bool) Unexecuted instantiation: OT::VORGFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::VORGFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::VertOriginMetric<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::VertOriginMetric<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::VORGFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::VORGFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::VertOriginMetric<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::VertOriginMetric<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::BaseCoordFormat1* hb_serialize_context_t::allocate_size<OT::BaseCoordFormat1>(unsigned long, bool) Unexecuted instantiation: OT::BaseCoordFormat3* hb_serialize_context_t::allocate_size<OT::BaseCoordFormat3>(unsigned long, bool) Unexecuted instantiation: OT::FeatMinMaxRecord* hb_serialize_context_t::allocate_size<OT::FeatMinMaxRecord>(unsigned long, bool) Unexecuted instantiation: OT::BaseCoordFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::BaseCoordFormat2_4<OT::Layout::SmallTypes> >(unsigned long, bool) Unexecuted instantiation: OT::BaseCoordFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::BaseCoordFormat2_4<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::MinMax* hb_serialize_context_t::allocate_size<OT::MinMax>(unsigned long, bool) Unexecuted instantiation: OT::BaseValues* hb_serialize_context_t::allocate_size<OT::BaseValues>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::BaseCoord, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::BaseCoord, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::BaseLangSysRecord* hb_serialize_context_t::allocate_size<OT::BaseLangSysRecord>(unsigned long, bool) Unexecuted instantiation: OT::BaseScript* hb_serialize_context_t::allocate_size<OT::BaseScript>(unsigned long, bool) Unexecuted instantiation: OT::BaseScriptRecord* hb_serialize_context_t::allocate_size<OT::BaseScriptRecord>(unsigned long, bool) Unexecuted instantiation: OT::BaseScriptList* hb_serialize_context_t::allocate_size<OT::BaseScriptList>(unsigned long, bool) Unexecuted instantiation: OT::Axis* hb_serialize_context_t::allocate_size<OT::Axis>(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::Tag* hb_serialize_context_t::allocate_size<OT::Tag>(unsigned long, bool) Unexecuted instantiation: OT::BASE* hb_serialize_context_t::allocate_size<OT::BASE>(unsigned long, bool) Unexecuted instantiation: OT::MathValueRecord* hb_serialize_context_t::allocate_size<OT::MathValueRecord>(unsigned long, bool) Unexecuted instantiation: OT::MathItalicsCorrectionInfo* hb_serialize_context_t::allocate_size<OT::MathItalicsCorrectionInfo>(unsigned long, bool) Unexecuted instantiation: OT::MathTopAccentAttachment* hb_serialize_context_t::allocate_size<OT::MathTopAccentAttachment>(unsigned long, bool) Unexecuted instantiation: OT::MathKernInfoRecord* hb_serialize_context_t::allocate_size<OT::MathKernInfoRecord>(unsigned long, bool) Unexecuted instantiation: OT::MathKernInfo* hb_serialize_context_t::allocate_size<OT::MathKernInfo>(unsigned long, bool) Unexecuted instantiation: OT::MathGlyphInfo* hb_serialize_context_t::allocate_size<OT::MathGlyphInfo>(unsigned long, bool) Unexecuted instantiation: OT::MathGlyphVariantRecord* hb_serialize_context_t::allocate_size<OT::MathGlyphVariantRecord>(unsigned long, bool) Unexecuted instantiation: OT::MathGlyphPartRecord* hb_serialize_context_t::allocate_size<OT::MathGlyphPartRecord>(unsigned long, bool) Unexecuted instantiation: OT::MathGlyphConstruction* hb_serialize_context_t::allocate_size<OT::MathGlyphConstruction>(unsigned long, bool) Unexecuted instantiation: OT::MathVariants* hb_serialize_context_t::allocate_size<OT::MathVariants>(unsigned long, bool) Unexecuted instantiation: OT::OffsetTo<OT::MathGlyphConstruction, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::MathGlyphConstruction, OT::NumType<true, unsigned short, 2u>, void, true> >(unsigned long, bool) Unexecuted instantiation: OT::MATH* hb_serialize_context_t::allocate_size<OT::MATH>(unsigned long, bool) char* hb_serialize_context_t::allocate_size<char>(unsigned long, bool) Line | Count | Source | 665 | 12.5M | { | 666 | 12.5M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 12.5M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 602 | { | 670 | 602 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 602 | return nullptr; | 672 | 602 | } | 673 | 12.5M | if (clear) | 674 | 155k | hb_memset (this->head, 0, size); | 675 | 12.5M | char *ret = this->head; | 676 | 12.5M | this->head += size; | 677 | 12.5M | return reinterpret_cast<Type *> (ret); | 678 | 12.5M | } |
OT::ClassDef* hb_serialize_context_t::allocate_size<OT::ClassDef>(unsigned long, bool) Line | Count | Source | 665 | 13.6k | { | 666 | 13.6k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 13.6k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 13.6k | if (clear) | 674 | 13.6k | hb_memset (this->head, 0, size); | 675 | 13.6k | char *ret = this->head; | 676 | 13.6k | this->head += size; | 677 | 13.6k | return reinterpret_cast<Type *> (ret); | 678 | 13.6k | } |
OT::ClassDefFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ClassDefFormat1_3<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 4.95k | { | 666 | 4.95k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 4.95k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 4.95k | if (clear) | 674 | 4.95k | hb_memset (this->head, 0, size); | 675 | 4.95k | char *ret = this->head; | 676 | 4.95k | this->head += size; | 677 | 4.95k | return reinterpret_cast<Type *> (ret); | 678 | 4.95k | } |
OT::ArrayOf<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 85.9k | { | 666 | 85.9k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 85.9k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 290 | { | 670 | 290 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 290 | return nullptr; | 672 | 290 | } | 673 | 85.6k | if (clear) | 674 | 47.9k | hb_memset (this->head, 0, size); | 675 | 85.6k | char *ret = this->head; | 676 | 85.6k | this->head += size; | 677 | 85.6k | return reinterpret_cast<Type *> (ret); | 678 | 85.9k | } |
OT::ClassDefFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ClassDefFormat2_4<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 8.66k | { | 666 | 8.66k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 8.66k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 8.66k | if (clear) | 674 | 8.66k | hb_memset (this->head, 0, size); | 675 | 8.66k | char *ret = this->head; | 676 | 8.66k | this->head += size; | 677 | 8.66k | return reinterpret_cast<Type *> (ret); | 678 | 8.66k | } |
OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 37.5k | { | 666 | 37.5k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 37.5k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 37.5k | if (clear) | 674 | 37.5k | hb_memset (this->head, 0, size); | 675 | 37.5k | char *ret = this->head; | 676 | 37.5k | this->head += size; | 677 | 37.5k | return reinterpret_cast<Type *> (ret); | 678 | 37.5k | } |
OT::ClassDefFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ClassDefFormat1_3<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 2 | { | 666 | 2 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 2 | if (clear) | 674 | 2 | hb_memset (this->head, 0, size); | 675 | 2 | char *ret = this->head; | 676 | 2 | this->head += size; | 677 | 2 | return reinterpret_cast<Type *> (ret); | 678 | 2 | } |
OT::ArrayOf<OT::NumType<true, unsigned int, 3u>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::NumType<true, unsigned int, 3u>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Line | Count | Source | 665 | 4 | { | 666 | 4 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 4 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 4 | if (clear) | 674 | 4 | hb_memset (this->head, 0, size); | 675 | 4 | char *ret = this->head; | 676 | 4 | this->head += size; | 677 | 4 | return reinterpret_cast<Type *> (ret); | 678 | 4 | } |
Unexecuted instantiation: OT::ClassDefFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ClassDefFormat2_4<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) unsigned char* hb_serialize_context_t::allocate_size<unsigned char>(unsigned long, bool) Line | Count | Source | 665 | 137k | { | 666 | 137k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 137k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 19 | { | 670 | 19 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 19 | return nullptr; | 672 | 19 | } | 673 | 137k | if (clear) | 674 | 117k | hb_memset (this->head, 0, size); | 675 | 137k | char *ret = this->head; | 676 | 137k | this->head += size; | 677 | 137k | return reinterpret_cast<Type *> (ret); | 678 | 137k | } |
Unexecuted instantiation: OT::FeatureParamsSize* hb_serialize_context_t::allocate_size<OT::FeatureParamsSize>(unsigned long, bool) OT::FeatureParamsStylisticSet* hb_serialize_context_t::allocate_size<OT::FeatureParamsStylisticSet>(unsigned long, bool) Line | Count | Source | 665 | 5 | { | 666 | 5 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 5 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 5 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 5 | char *ret = this->head; | 676 | 5 | this->head += size; | 677 | 5 | return reinterpret_cast<Type *> (ret); | 678 | 5 | } |
Unexecuted instantiation: OT::FeatureParamsCharacterVariants* hb_serialize_context_t::allocate_size<OT::FeatureParamsCharacterVariants>(unsigned long, bool) OT::Feature* hb_serialize_context_t::allocate_size<OT::Feature>(unsigned long, bool) Line | Count | Source | 665 | 23.7k | { | 666 | 23.7k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 23.7k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 23.7k | if (clear) | 674 | 23.7k | hb_memset (this->head, 0, size); | 675 | 23.7k | char *ret = this->head; | 676 | 23.7k | this->head += size; | 677 | 23.7k | return reinterpret_cast<Type *> (ret); | 678 | 23.7k | } |
OT::IndexArray* hb_serialize_context_t::allocate_size<OT::IndexArray>(unsigned long, bool) Line | Count | Source | 665 | 60.8k | { | 666 | 60.8k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 60.8k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 60.8k | if (clear) | 674 | 60.8k | hb_memset (this->head, 0, size); | 675 | 60.8k | char *ret = this->head; | 676 | 60.8k | this->head += size; | 677 | 60.8k | return reinterpret_cast<Type *> (ret); | 678 | 60.8k | } |
OT::RecordListOfFeature* hb_serialize_context_t::allocate_size<OT::RecordListOfFeature>(unsigned long, bool) Line | Count | Source | 665 | 16.4k | { | 666 | 16.4k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 16.4k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 16.4k | if (clear) | 674 | 16.4k | hb_memset (this->head, 0, size); | 675 | 16.4k | char *ret = this->head; | 676 | 16.4k | this->head += size; | 677 | 16.4k | return reinterpret_cast<Type *> (ret); | 678 | 16.4k | } |
OT::Record<OT::Feature>* hb_serialize_context_t::allocate_size<OT::Record<OT::Feature> >(unsigned long, bool) Line | Count | Source | 665 | 22.7k | { | 666 | 22.7k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 22.7k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 4 | { | 670 | 4 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 4 | return nullptr; | 672 | 4 | } | 673 | 22.7k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 22.7k | char *ret = this->head; | 676 | 22.7k | this->head += size; | 677 | 22.7k | return reinterpret_cast<Type *> (ret); | 678 | 22.7k | } |
OT::LangSys* hb_serialize_context_t::allocate_size<OT::LangSys>(unsigned long, bool) Line | Count | Source | 665 | 78.4k | { | 666 | 78.4k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 78.4k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 14 | { | 670 | 14 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 14 | return nullptr; | 672 | 14 | } | 673 | 78.4k | if (clear) | 674 | 78.4k | hb_memset (this->head, 0, size); | 675 | 78.4k | char *ret = this->head; | 676 | 78.4k | this->head += size; | 677 | 78.4k | return reinterpret_cast<Type *> (ret); | 678 | 78.4k | } |
OT::Script* hb_serialize_context_t::allocate_size<OT::Script>(unsigned long, bool) Line | Count | Source | 665 | 58.5k | { | 666 | 58.5k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 58.5k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 58.5k | if (clear) | 674 | 58.5k | hb_memset (this->head, 0, size); | 675 | 58.5k | char *ret = this->head; | 676 | 58.5k | this->head += size; | 677 | 58.5k | return reinterpret_cast<Type *> (ret); | 678 | 58.5k | } |
OT::Record<OT::LangSys>* hb_serialize_context_t::allocate_size<OT::Record<OT::LangSys> >(unsigned long, bool) Line | Count | Source | 665 | 197k | { | 666 | 197k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 196k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 8 | { | 670 | 8 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 8 | return nullptr; | 672 | 8 | } | 673 | 196k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 196k | char *ret = this->head; | 676 | 196k | this->head += size; | 677 | 196k | return reinterpret_cast<Type *> (ret); | 678 | 196k | } |
OT::RecordListOfScript* hb_serialize_context_t::allocate_size<OT::RecordListOfScript>(unsigned long, bool) Line | Count | Source | 665 | 16.4k | { | 666 | 16.4k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 16.4k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 16.4k | if (clear) | 674 | 16.4k | hb_memset (this->head, 0, size); | 675 | 16.4k | char *ret = this->head; | 676 | 16.4k | this->head += size; | 677 | 16.4k | return reinterpret_cast<Type *> (ret); | 678 | 16.4k | } |
OT::Record<OT::Script>* hb_serialize_context_t::allocate_size<OT::Record<OT::Script> >(unsigned long, bool) Line | Count | Source | 665 | 1.20M | { | 666 | 1.20M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.20M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 1.20M | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.20M | char *ret = this->head; | 676 | 1.20M | this->head += size; | 677 | 1.20M | return reinterpret_cast<Type *> (ret); | 678 | 1.20M | } |
OT::VarRegionAxis* hb_serialize_context_t::allocate_size<OT::VarRegionAxis>(unsigned long, bool) Line | Count | Source | 665 | 8.03k | { | 666 | 8.03k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 8.03k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 8.03k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 8.03k | char *ret = this->head; | 676 | 8.03k | this->head += size; | 677 | 8.03k | return reinterpret_cast<Type *> (ret); | 678 | 8.03k | } |
OT::SparseVarRegionAxis* hb_serialize_context_t::allocate_size<OT::SparseVarRegionAxis>(unsigned long, bool) Line | Count | Source | 665 | 80 | { | 666 | 80 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 80 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 80 | if (clear) | 674 | 80 | hb_memset (this->head, 0, size); | 675 | 80 | char *ret = this->head; | 676 | 80 | this->head += size; | 677 | 80 | return reinterpret_cast<Type *> (ret); | 678 | 80 | } |
OT::VarRegionList* hb_serialize_context_t::allocate_size<OT::VarRegionList>(unsigned long, bool) Line | Count | Source | 665 | 15.4k | { | 666 | 15.4k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 15.4k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 215 | { | 670 | 215 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 215 | return nullptr; | 672 | 215 | } | 673 | 15.2k | if (clear) | 674 | 15.2k | hb_memset (this->head, 0, size); | 675 | 15.2k | char *ret = this->head; | 676 | 15.2k | this->head += size; | 677 | 15.2k | return reinterpret_cast<Type *> (ret); | 678 | 15.4k | } |
OT::ArrayOf<OT::OffsetTo<OT::SparseVarRegionAxis, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::SparseVarRegionAxis, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 184 | { | 666 | 184 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 184 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 184 | if (clear) | 674 | 184 | hb_memset (this->head, 0, size); | 675 | 184 | char *ret = this->head; | 676 | 184 | this->head += size; | 677 | 184 | return reinterpret_cast<Type *> (ret); | 678 | 184 | } |
OT::SparseVarRegionList* hb_serialize_context_t::allocate_size<OT::SparseVarRegionList>(unsigned long, bool) Line | Count | Source | 665 | 62 | { | 666 | 62 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 62 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 62 | if (clear) | 674 | 62 | hb_memset (this->head, 0, size); | 675 | 62 | char *ret = this->head; | 676 | 62 | this->head += size; | 677 | 62 | return reinterpret_cast<Type *> (ret); | 678 | 62 | } |
OT::ArrayOf<OT::OffsetTo<OT::SparseVariationRegion, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::SparseVariationRegion, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Line | Count | Source | 665 | 62 | { | 666 | 62 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 62 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 62 | if (clear) | 674 | 62 | hb_memset (this->head, 0, size); | 675 | 62 | char *ret = this->head; | 676 | 62 | this->head += size; | 677 | 62 | return reinterpret_cast<Type *> (ret); | 678 | 62 | } |
OT::VarData* hb_serialize_context_t::allocate_size<OT::VarData>(unsigned long, bool) Line | Count | Source | 665 | 46.2k | { | 666 | 46.2k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 46.2k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 196 | { | 670 | 196 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 196 | return nullptr; | 672 | 196 | } | 673 | 46.0k | if (clear) | 674 | 46.0k | hb_memset (this->head, 0, size); | 675 | 46.0k | char *ret = this->head; | 676 | 46.0k | this->head += size; | 677 | 46.0k | return reinterpret_cast<Type *> (ret); | 678 | 46.2k | } |
OT::MultiVarData* hb_serialize_context_t::allocate_size<OT::MultiVarData>(unsigned long, bool) Line | Count | Source | 665 | 57 | { | 666 | 57 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 57 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 57 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 57 | char *ret = this->head; | 676 | 57 | this->head += size; | 677 | 57 | return reinterpret_cast<Type *> (ret); | 678 | 57 | } |
OT::CFFIndex<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::CFFIndex<OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Line | Count | Source | 665 | 6.70k | { | 666 | 6.70k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 6.70k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 6.70k | if (clear) | 674 | 6.70k | hb_memset (this->head, 0, size); | 675 | 6.70k | char *ret = this->head; | 676 | 6.70k | this->head += size; | 677 | 6.70k | return reinterpret_cast<Type *> (ret); | 678 | 6.70k | } |
OT::NumType<true, unsigned char, 1u>* hb_serialize_context_t::allocate_size<OT::NumType<true, unsigned char, 1u> >(unsigned long, bool) Line | Count | Source | 665 | 169k | { | 666 | 169k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 169k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 158 | { | 670 | 158 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 158 | return nullptr; | 672 | 158 | } | 673 | 168k | if (clear) | 674 | 42.3k | hb_memset (this->head, 0, size); | 675 | 168k | char *ret = this->head; | 676 | 168k | this->head += size; | 677 | 168k | return reinterpret_cast<Type *> (ret); | 678 | 169k | } |
OT::ItemVariationStore* hb_serialize_context_t::allocate_size<OT::ItemVariationStore>(unsigned long, bool) Line | Count | Source | 665 | 9.11k | { | 666 | 9.11k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 9.11k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 9.11k | if (clear) | 674 | 9.11k | hb_memset (this->head, 0, size); | 675 | 9.11k | char *ret = this->head; | 676 | 9.11k | this->head += size; | 677 | 9.11k | return reinterpret_cast<Type *> (ret); | 678 | 9.11k | } |
OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 7.77k | { | 666 | 7.77k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 7.77k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 15 | { | 670 | 15 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 15 | return nullptr; | 672 | 15 | } | 673 | 7.76k | if (clear) | 674 | 7.76k | hb_memset (this->head, 0, size); | 675 | 7.76k | char *ret = this->head; | 676 | 7.76k | this->head += size; | 677 | 7.76k | return reinterpret_cast<Type *> (ret); | 678 | 7.77k | } |
OT::MultiItemVariationStore* hb_serialize_context_t::allocate_size<OT::MultiItemVariationStore>(unsigned long, bool) Line | Count | Source | 665 | 62 | { | 666 | 62 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 62 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 62 | if (clear) | 674 | 62 | hb_memset (this->head, 0, size); | 675 | 62 | char *ret = this->head; | 676 | 62 | this->head += size; | 677 | 62 | return reinterpret_cast<Type *> (ret); | 678 | 62 | } |
OT::ArrayOf<OT::OffsetTo<OT::MultiVarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::MultiVarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 57 | { | 666 | 57 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 57 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 57 | if (clear) | 674 | 57 | hb_memset (this->head, 0, size); | 675 | 57 | char *ret = this->head; | 676 | 57 | this->head += size; | 677 | 57 | return reinterpret_cast<Type *> (ret); | 678 | 57 | } |
OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 2.24k | { | 666 | 2.24k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.24k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 2.24k | if (clear) | 674 | 2.24k | hb_memset (this->head, 0, size); | 675 | 2.24k | char *ret = this->head; | 676 | 2.24k | this->head += size; | 677 | 2.24k | return reinterpret_cast<Type *> (ret); | 678 | 2.24k | } |
Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) OT::ConditionAxisRange* hb_serialize_context_t::allocate_size<OT::ConditionAxisRange>(unsigned long, bool) Line | Count | Source | 665 | 814 | { | 666 | 814 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 814 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 814 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 814 | char *ret = this->head; | 676 | 814 | this->head += size; | 677 | 814 | return reinterpret_cast<Type *> (ret); | 678 | 814 | } |
OT::ConditionValue* hb_serialize_context_t::allocate_size<OT::ConditionValue>(unsigned long, bool) Line | Count | Source | 665 | 796 | { | 666 | 796 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 796 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 796 | if (clear) | 674 | 245 | hb_memset (this->head, 0, size); | 675 | 796 | char *ret = this->head; | 676 | 796 | this->head += size; | 677 | 796 | return reinterpret_cast<Type *> (ret); | 678 | 796 | } |
OT::ConditionAnd* hb_serialize_context_t::allocate_size<OT::ConditionAnd>(unsigned long, bool) Line | Count | Source | 665 | 169 | { | 666 | 169 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 169 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 169 | if (clear) | 674 | 169 | hb_memset (this->head, 0, size); | 675 | 169 | char *ret = this->head; | 676 | 169 | this->head += size; | 677 | 169 | return reinterpret_cast<Type *> (ret); | 678 | 169 | } |
OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned char, 1u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned char, 1u> > >(unsigned long, bool) Line | Count | Source | 665 | 1.01k | { | 666 | 1.01k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.01k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.01k | if (clear) | 674 | 1.01k | hb_memset (this->head, 0, size); | 675 | 1.01k | char *ret = this->head; | 676 | 1.01k | this->head += size; | 677 | 1.01k | return reinterpret_cast<Type *> (ret); | 678 | 1.01k | } |
OT::ConditionOr* hb_serialize_context_t::allocate_size<OT::ConditionOr>(unsigned long, bool) Line | Count | Source | 665 | 165 | { | 666 | 165 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 165 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 165 | if (clear) | 674 | 165 | hb_memset (this->head, 0, size); | 675 | 165 | char *ret = this->head; | 676 | 165 | this->head += size; | 677 | 165 | return reinterpret_cast<Type *> (ret); | 678 | 165 | } |
OT::ConditionNegate* hb_serialize_context_t::allocate_size<OT::ConditionNegate>(unsigned long, bool) Line | Count | Source | 665 | 132 | { | 666 | 132 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 132 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 132 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 132 | char *ret = this->head; | 676 | 132 | this->head += size; | 677 | 132 | return reinterpret_cast<Type *> (ret); | 678 | 132 | } |
OT::ConditionList* hb_serialize_context_t::allocate_size<OT::ConditionList>(unsigned long, bool) Line | Count | Source | 665 | 45 | { | 666 | 45 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 45 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 45 | if (clear) | 674 | 45 | hb_memset (this->head, 0, size); | 675 | 45 | char *ret = this->head; | 676 | 45 | this->head += size; | 677 | 45 | return reinterpret_cast<Type *> (ret); | 678 | 45 | } |
OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Line | Count | Source | 665 | 45 | { | 666 | 45 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 45 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 45 | if (clear) | 674 | 45 | hb_memset (this->head, 0, size); | 675 | 45 | char *ret = this->head; | 676 | 45 | this->head += size; | 677 | 45 | return reinterpret_cast<Type *> (ret); | 678 | 45 | } |
OT::ConditionSet* hb_serialize_context_t::allocate_size<OT::ConditionSet>(unsigned long, bool) Line | Count | Source | 665 | 906 | { | 666 | 906 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 906 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 906 | if (clear) | 674 | 906 | hb_memset (this->head, 0, size); | 675 | 906 | char *ret = this->head; | 676 | 906 | this->head += size; | 677 | 906 | return reinterpret_cast<Type *> (ret); | 678 | 906 | } |
OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 884 | { | 666 | 884 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 884 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 884 | if (clear) | 674 | 884 | hb_memset (this->head, 0, size); | 675 | 884 | char *ret = this->head; | 676 | 884 | this->head += size; | 677 | 884 | return reinterpret_cast<Type *> (ret); | 678 | 884 | } |
OT::FeatureTableSubstitutionRecord* hb_serialize_context_t::allocate_size<OT::FeatureTableSubstitutionRecord>(unsigned long, bool) Line | Count | Source | 665 | 1.13k | { | 666 | 1.13k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.13k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.13k | if (clear) | 674 | 66 | hb_memset (this->head, 0, size); | 675 | 1.13k | char *ret = this->head; | 676 | 1.13k | this->head += size; | 677 | 1.13k | return reinterpret_cast<Type *> (ret); | 678 | 1.13k | } |
OT::FeatureTableSubstitution* hb_serialize_context_t::allocate_size<OT::FeatureTableSubstitution>(unsigned long, bool) Line | Count | Source | 665 | 933 | { | 666 | 933 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 933 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 933 | if (clear) | 674 | 933 | hb_memset (this->head, 0, size); | 675 | 933 | char *ret = this->head; | 676 | 933 | this->head += size; | 677 | 933 | return reinterpret_cast<Type *> (ret); | 678 | 933 | } |
OT::ArrayOf<OT::FeatureTableSubstitutionRecord, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::FeatureTableSubstitutionRecord, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 66 | { | 666 | 66 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 66 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 66 | if (clear) | 674 | 66 | hb_memset (this->head, 0, size); | 675 | 66 | char *ret = this->head; | 676 | 66 | this->head += size; | 677 | 66 | return reinterpret_cast<Type *> (ret); | 678 | 66 | } |
OT::FeatureVariationRecord* hb_serialize_context_t::allocate_size<OT::FeatureVariationRecord>(unsigned long, bool) Line | Count | Source | 665 | 947 | { | 666 | 947 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 947 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 947 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 947 | char *ret = this->head; | 676 | 947 | this->head += size; | 677 | 947 | return reinterpret_cast<Type *> (ret); | 678 | 947 | } |
OT::LookupIndexList* hb_serialize_context_t::allocate_size<OT::LookupIndexList>(unsigned long, bool) Line | Count | Source | 665 | 175 | { | 666 | 175 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 175 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 175 | if (clear) | 674 | 175 | hb_memset (this->head, 0, size); | 675 | 175 | char *ret = this->head; | 676 | 175 | this->head += size; | 677 | 175 | return reinterpret_cast<Type *> (ret); | 678 | 175 | } |
OT::LookupConditionRecord* hb_serialize_context_t::allocate_size<OT::LookupConditionRecord>(unsigned long, bool) Line | Count | Source | 665 | 196 | { | 666 | 196 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 196 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 196 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 196 | char *ret = this->head; | 676 | 196 | this->head += size; | 677 | 196 | return reinterpret_cast<Type *> (ret); | 678 | 196 | } |
OT::FeatureLookupsTable* hb_serialize_context_t::allocate_size<OT::FeatureLookupsTable>(unsigned long, bool) Line | Count | Source | 665 | 131 | { | 666 | 131 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 131 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 131 | if (clear) | 674 | 131 | hb_memset (this->head, 0, size); | 675 | 131 | char *ret = this->head; | 676 | 131 | this->head += size; | 677 | 131 | return reinterpret_cast<Type *> (ret); | 678 | 131 | } |
OT::LookupVariationRecord* hb_serialize_context_t::allocate_size<OT::LookupVariationRecord>(unsigned long, bool) Line | Count | Source | 665 | 134 | { | 666 | 134 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 134 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 134 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 134 | char *ret = this->head; | 676 | 134 | this->head += size; | 677 | 134 | return reinterpret_cast<Type *> (ret); | 678 | 134 | } |
OT::FeatureVariations* hb_serialize_context_t::allocate_size<OT::FeatureVariations>(unsigned long, bool) Line | Count | Source | 665 | 1.22k | { | 666 | 1.22k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.22k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.22k | if (clear) | 674 | 1.22k | hb_memset (this->head, 0, size); | 675 | 1.22k | char *ret = this->head; | 676 | 1.22k | this->head += size; | 677 | 1.22k | return reinterpret_cast<Type *> (ret); | 678 | 1.22k | } |
OT::ArrayOf<OT::LookupVariationRecord, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::LookupVariationRecord, OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Line | Count | Source | 665 | 254 | { | 666 | 254 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 254 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 254 | if (clear) | 674 | 254 | hb_memset (this->head, 0, size); | 675 | 254 | char *ret = this->head; | 676 | 254 | this->head += size; | 677 | 254 | return reinterpret_cast<Type *> (ret); | 678 | 254 | } |
OT::HintingDevice* hb_serialize_context_t::allocate_size<OT::HintingDevice>(unsigned long, bool) Line | Count | Source | 665 | 175k | { | 666 | 175k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 175k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 294 | { | 670 | 294 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 294 | return nullptr; | 672 | 294 | } | 673 | 174k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 174k | char *ret = this->head; | 676 | 174k | this->head += size; | 677 | 174k | return reinterpret_cast<Type *> (ret); | 678 | 175k | } |
OT::VariationDevice* hb_serialize_context_t::allocate_size<OT::VariationDevice>(unsigned long, bool) Line | Count | Source | 665 | 57.3k | { | 666 | 57.3k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 57.3k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 57.3k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 57.3k | char *ret = this->head; | 676 | 57.3k | this->head += size; | 677 | 57.3k | return reinterpret_cast<Type *> (ret); | 678 | 57.3k | } |
OT::AttachList* hb_serialize_context_t::allocate_size<OT::AttachList>(unsigned long, bool) Line | Count | Source | 665 | 1.33k | { | 666 | 1.33k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.33k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.33k | if (clear) | 674 | 1.33k | hb_memset (this->head, 0, size); | 675 | 1.33k | char *ret = this->head; | 676 | 1.33k | this->head += size; | 677 | 1.33k | return reinterpret_cast<Type *> (ret); | 678 | 1.33k | } |
OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 48.7k | { | 666 | 48.7k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 48.7k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 48.7k | if (clear) | 674 | 48.7k | hb_memset (this->head, 0, size); | 675 | 48.7k | char *ret = this->head; | 676 | 48.7k | this->head += size; | 677 | 48.7k | return reinterpret_cast<Type *> (ret); | 678 | 48.7k | } |
OT::CaretValueFormat1* hb_serialize_context_t::allocate_size<OT::CaretValueFormat1>(unsigned long, bool) Line | Count | Source | 665 | 4.56M | { | 666 | 4.56M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 4.56M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 20 | { | 670 | 20 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 20 | return nullptr; | 672 | 20 | } | 673 | 4.56M | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 4.56M | char *ret = this->head; | 676 | 4.56M | this->head += size; | 677 | 4.56M | return reinterpret_cast<Type *> (ret); | 678 | 4.56M | } |
OT::CaretValueFormat2* hb_serialize_context_t::allocate_size<OT::CaretValueFormat2>(unsigned long, bool) Line | Count | Source | 665 | 2.84M | { | 666 | 2.84M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.84M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 27 | { | 670 | 27 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 27 | return nullptr; | 672 | 27 | } | 673 | 2.84M | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 2.84M | char *ret = this->head; | 676 | 2.84M | this->head += size; | 677 | 2.84M | return reinterpret_cast<Type *> (ret); | 678 | 2.84M | } |
OT::NumType<true, short, 2u>* hb_serialize_context_t::allocate_size<OT::NumType<true, short, 2u> >(unsigned long, bool) Line | Count | Source | 665 | 1.31M | { | 666 | 1.31M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.31M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 764 | { | 670 | 764 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 764 | return nullptr; | 672 | 764 | } | 673 | 1.31M | if (clear) | 674 | 15.7k | hb_memset (this->head, 0, size); | 675 | 1.31M | char *ret = this->head; | 676 | 1.31M | this->head += size; | 677 | 1.31M | return reinterpret_cast<Type *> (ret); | 678 | 1.31M | } |
OT::OffsetTo<OT::Device, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Device, OT::NumType<true, unsigned short, 2u>, void, true> >(unsigned long, bool) Line | Count | Source | 665 | 1.29M | { | 666 | 1.29M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.29M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 5 | { | 670 | 5 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 5 | return nullptr; | 672 | 5 | } | 673 | 1.29M | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.29M | char *ret = this->head; | 676 | 1.29M | this->head += size; | 677 | 1.29M | return reinterpret_cast<Type *> (ret); | 678 | 1.29M | } |
OT::LigGlyph* hb_serialize_context_t::allocate_size<OT::LigGlyph>(unsigned long, bool) Line | Count | Source | 665 | 47.6k | { | 666 | 47.6k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 47.6k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 47.6k | if (clear) | 674 | 47.6k | hb_memset (this->head, 0, size); | 675 | 47.6k | char *ret = this->head; | 676 | 47.6k | this->head += size; | 677 | 47.6k | return reinterpret_cast<Type *> (ret); | 678 | 47.6k | } |
OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 163M | { | 666 | 163M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 163M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 236 | { | 670 | 236 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 236 | return nullptr; | 672 | 236 | } | 673 | 163M | if (clear) | 674 | 163M | hb_memset (this->head, 0, size); | 675 | 163M | char *ret = this->head; | 676 | 163M | this->head += size; | 677 | 163M | return reinterpret_cast<Type *> (ret); | 678 | 163M | } |
OT::MarkGlyphSetsFormat1* hb_serialize_context_t::allocate_size<OT::MarkGlyphSetsFormat1>(unsigned long, bool) Line | Count | Source | 665 | 3.99k | { | 666 | 3.99k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 3.99k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 3.99k | if (clear) | 674 | 3.99k | hb_memset (this->head, 0, size); | 675 | 3.99k | char *ret = this->head; | 676 | 3.99k | this->head += size; | 677 | 3.99k | return reinterpret_cast<Type *> (ret); | 678 | 3.99k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 16.0k | { | 666 | 16.0k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 16.0k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 16.0k | if (clear) | 674 | 16.0k | hb_memset (this->head, 0, size); | 675 | 16.0k | char *ret = this->head; | 676 | 16.0k | this->head += size; | 677 | 16.0k | return reinterpret_cast<Type *> (ret); | 678 | 16.0k | } |
OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned short, 2u>, void, true> >(unsigned long, bool) Line | Count | Source | 665 | 6.85k | { | 666 | 6.85k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 6.85k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 6.85k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 6.85k | char *ret = this->head; | 676 | 6.85k | this->head += size; | 677 | 6.85k | return reinterpret_cast<Type *> (ret); | 678 | 6.85k | } |
OT::OffsetTo<OT::ItemVariationStore, OT::NumType<true, unsigned int, 4u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::ItemVariationStore, OT::NumType<true, unsigned int, 4u>, void, true> >(unsigned long, bool) Line | Count | Source | 665 | 5.47k | { | 666 | 5.47k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 5.47k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 5.47k | if (clear) | 674 | 166 | hb_memset (this->head, 0, size); | 675 | 5.47k | char *ret = this->head; | 676 | 5.47k | this->head += size; | 677 | 5.47k | return reinterpret_cast<Type *> (ret); | 678 | 5.47k | } |
OT::GDEF* hb_serialize_context_t::allocate_size<OT::GDEF>(unsigned long, bool) Line | Count | Source | 665 | 8.89k | { | 666 | 8.89k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 8.89k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 8.89k | if (clear) | 674 | 8.89k | hb_memset (this->head, 0, size); | 675 | 8.89k | char *ret = this->head; | 676 | 8.89k | this->head += size; | 677 | 8.89k | return reinterpret_cast<Type *> (ret); | 678 | 8.89k | } |
OT::LigCaretList<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::LigCaretList<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 36 | { | 666 | 36 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 36 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 36 | if (clear) | 674 | 36 | hb_memset (this->head, 0, size); | 675 | 36 | char *ret = this->head; | 676 | 36 | this->head += size; | 677 | 36 | return reinterpret_cast<Type *> (ret); | 678 | 36 | } |
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) OT::LigCaretList<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::LigCaretList<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 2.38k | { | 666 | 2.38k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.38k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 2.38k | if (clear) | 674 | 2.38k | hb_memset (this->head, 0, size); | 675 | 2.38k | char *ret = this->head; | 676 | 2.38k | this->head += size; | 677 | 2.38k | return reinterpret_cast<Type *> (ret); | 678 | 2.38k | } |
OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 57.2k | { | 666 | 57.2k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 57.2k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 57.2k | if (clear) | 674 | 57.2k | hb_memset (this->head, 0, size); | 675 | 57.2k | char *ret = this->head; | 676 | 57.2k | this->head += size; | 677 | 57.2k | return reinterpret_cast<Type *> (ret); | 678 | 57.2k | } |
OT::VariationValueRecord* hb_serialize_context_t::allocate_size<OT::VariationValueRecord>(unsigned long, bool) Line | Count | Source | 665 | 2.89k | { | 666 | 2.89k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.89k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 2.89k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 2.89k | char *ret = this->head; | 676 | 2.89k | this->head += size; | 677 | 2.89k | return reinterpret_cast<Type *> (ret); | 678 | 2.89k | } |
OT::MVAR* hb_serialize_context_t::allocate_size<OT::MVAR>(unsigned long, bool) Line | Count | Source | 665 | 284 | { | 666 | 284 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 284 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 284 | if (clear) | 674 | 284 | hb_memset (this->head, 0, size); | 675 | 284 | char *ret = this->head; | 676 | 284 | this->head += size; | 677 | 284 | return reinterpret_cast<Type *> (ret); | 678 | 284 | } |
OT::OS2* hb_serialize_context_t::allocate_size<OT::OS2>(unsigned long, bool) Line | Count | Source | 665 | 5.36k | { | 666 | 5.36k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 5.36k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 5.36k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 5.36k | char *ret = this->head; | 676 | 5.36k | this->head += size; | 677 | 5.36k | return reinterpret_cast<Type *> (ret); | 678 | 5.36k | } |
OT::NumType<true, unsigned int, 4u>* hb_serialize_context_t::allocate_size<OT::NumType<true, unsigned int, 4u> >(unsigned long, bool) Line | Count | Source | 665 | 758k | { | 666 | 758k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 758k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 52 | { | 670 | 52 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 52 | return nullptr; | 672 | 52 | } | 673 | 758k | if (clear) | 674 | 757k | hb_memset (this->head, 0, size); | 675 | 758k | char *ret = this->head; | 676 | 758k | this->head += size; | 677 | 758k | return reinterpret_cast<Type *> (ret); | 678 | 758k | } |
OT::UnicodeValueRange* hb_serialize_context_t::allocate_size<OT::UnicodeValueRange>(unsigned long, bool) Line | Count | Source | 665 | 1.75k | { | 666 | 1.75k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.75k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 1.75k | if (clear) | 674 | 1.75k | hb_memset (this->head, 0, size); | 675 | 1.75k | char *ret = this->head; | 676 | 1.75k | this->head += size; | 677 | 1.75k | return reinterpret_cast<Type *> (ret); | 678 | 1.75k | } |
OT::cmap* hb_serialize_context_t::allocate_size<OT::cmap>(unsigned long, bool) Line | Count | Source | 665 | 6.29k | { | 666 | 6.29k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 6.29k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 6.29k | if (clear) | 674 | 6.29k | hb_memset (this->head, 0, size); | 675 | 6.29k | char *ret = this->head; | 676 | 6.29k | this->head += size; | 677 | 6.29k | return reinterpret_cast<Type *> (ret); | 678 | 6.29k | } |
OT::EncodingRecord* hb_serialize_context_t::allocate_size<OT::EncodingRecord>(unsigned long, bool) Line | Count | Source | 665 | 10.7k | { | 666 | 10.7k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 10.7k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 10.7k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 10.7k | char *ret = this->head; | 676 | 10.7k | this->head += size; | 677 | 10.7k | return reinterpret_cast<Type *> (ret); | 678 | 10.7k | } |
OT::CmapSubtableFormat4* hb_serialize_context_t::allocate_size<OT::CmapSubtableFormat4>(unsigned long, bool) Line | Count | Source | 665 | 1.79k | { | 666 | 1.79k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.79k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.79k | if (clear) | 674 | 1.79k | hb_memset (this->head, 0, size); | 675 | 1.79k | char *ret = this->head; | 676 | 1.79k | this->head += size; | 677 | 1.79k | return reinterpret_cast<Type *> (ret); | 678 | 1.79k | } |
OT::CmapSubtableFormat12* hb_serialize_context_t::allocate_size<OT::CmapSubtableFormat12>(unsigned long, bool) Line | Count | Source | 665 | 243 | { | 666 | 243 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 243 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 243 | if (clear) | 674 | 243 | hb_memset (this->head, 0, size); | 675 | 243 | char *ret = this->head; | 676 | 243 | this->head += size; | 677 | 243 | return reinterpret_cast<Type *> (ret); | 678 | 243 | } |
OT::CmapSubtableLongGroup* hb_serialize_context_t::allocate_size<OT::CmapSubtableLongGroup>(unsigned long, bool) Line | Count | Source | 665 | 941 | { | 666 | 941 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 941 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 941 | if (clear) | 674 | 941 | hb_memset (this->head, 0, size); | 675 | 941 | char *ret = this->head; | 676 | 941 | this->head += size; | 677 | 941 | return reinterpret_cast<Type *> (ret); | 678 | 941 | } |
OT::CmapSubtableFormat14_15<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::CmapSubtableFormat14_15<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 430 | { | 666 | 430 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 430 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 430 | if (clear) | 674 | 430 | hb_memset (this->head, 0, size); | 675 | 430 | char *ret = this->head; | 676 | 430 | this->head += size; | 677 | 430 | return reinterpret_cast<Type *> (ret); | 678 | 430 | } |
OT::VariationSelectorRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::VariationSelectorRecord<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 684 | { | 666 | 684 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 671 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 670 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 670 | char *ret = this->head; | 676 | 670 | this->head += size; | 677 | 670 | return reinterpret_cast<Type *> (ret); | 678 | 671 | } |
OT::UVSMapping<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::UVSMapping<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 399k | { | 666 | 399k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 311k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 36 | { | 670 | 36 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 36 | return nullptr; | 672 | 36 | } | 673 | 311k | if (clear) | 674 | 311k | hb_memset (this->head, 0, size); | 675 | 311k | char *ret = this->head; | 676 | 311k | this->head += size; | 677 | 311k | return reinterpret_cast<Type *> (ret); | 678 | 311k | } |
OT::CmapSubtableFormat14_15<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::CmapSubtableFormat14_15<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 214 | { | 666 | 214 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 214 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 214 | if (clear) | 674 | 214 | hb_memset (this->head, 0, size); | 675 | 214 | char *ret = this->head; | 676 | 214 | this->head += size; | 677 | 214 | return reinterpret_cast<Type *> (ret); | 678 | 214 | } |
OT::VariationSelectorRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::VariationSelectorRecord<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 320 | { | 666 | 320 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 318 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 318 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 318 | char *ret = this->head; | 676 | 318 | this->head += size; | 677 | 318 | return reinterpret_cast<Type *> (ret); | 678 | 318 | } |
OT::UVSMapping<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::UVSMapping<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 9.20k | { | 666 | 9.20k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 9.17k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 9.17k | if (clear) | 674 | 9.17k | hb_memset (this->head, 0, size); | 675 | 9.17k | char *ret = this->head; | 676 | 9.17k | this->head += size; | 677 | 9.17k | return reinterpret_cast<Type *> (ret); | 678 | 9.17k | } |
OT::CPALV1Tail* hb_serialize_context_t::allocate_size<OT::CPALV1Tail>(unsigned long, bool) Line | Count | Source | 665 | 1.04k | { | 666 | 1.04k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.04k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.04k | if (clear) | 674 | 1.04k | hb_memset (this->head, 0, size); | 675 | 1.04k | char *ret = this->head; | 676 | 1.04k | this->head += size; | 677 | 1.04k | return reinterpret_cast<Type *> (ret); | 678 | 1.04k | } |
OT::Index* hb_serialize_context_t::allocate_size<OT::Index>(unsigned long, bool) Line | Count | Source | 665 | 26.9M | { | 666 | 26.9M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 26.5M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 70 | { | 670 | 70 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 70 | return nullptr; | 672 | 70 | } | 673 | 26.5M | if (clear) | 674 | 26.5M | hb_memset (this->head, 0, size); | 675 | 26.5M | char *ret = this->head; | 676 | 26.5M | this->head += size; | 677 | 26.5M | return reinterpret_cast<Type *> (ret); | 678 | 26.5M | } |
OT::CPAL* hb_serialize_context_t::allocate_size<OT::CPAL>(unsigned long, bool) Line | Count | Source | 665 | 1.32k | { | 666 | 1.32k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.32k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.32k | if (clear) | 674 | 1.32k | hb_memset (this->head, 0, size); | 675 | 1.32k | char *ret = this->head; | 676 | 1.32k | this->head += size; | 677 | 1.32k | return reinterpret_cast<Type *> (ret); | 678 | 1.32k | } |
OT::ColorStop* hb_serialize_context_t::allocate_size<OT::ColorStop>(unsigned long, bool) Line | Count | Source | 665 | 1.16M | { | 666 | 1.16M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.16M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 113 | { | 670 | 113 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 113 | return nullptr; | 672 | 113 | } | 673 | 1.16M | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.16M | char *ret = this->head; | 676 | 1.16M | this->head += size; | 677 | 1.16M | return reinterpret_cast<Type *> (ret); | 678 | 1.16M | } |
OT::Affine2x3* hb_serialize_context_t::allocate_size<OT::Affine2x3>(unsigned long, bool) Line | Count | Source | 665 | 3.35k | { | 666 | 3.35k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 3.35k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 3.35k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 3.35k | char *ret = this->head; | 676 | 3.35k | this->head += size; | 677 | 3.35k | return reinterpret_cast<Type *> (ret); | 678 | 3.35k | } |
OT::PaintColrLayers* hb_serialize_context_t::allocate_size<OT::PaintColrLayers>(unsigned long, bool) Line | Count | Source | 665 | 10.5k | { | 666 | 10.5k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 10.5k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 10.5k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 10.5k | char *ret = this->head; | 676 | 10.5k | this->head += size; | 677 | 10.5k | return reinterpret_cast<Type *> (ret); | 678 | 10.5k | } |
OT::PaintSolid* hb_serialize_context_t::allocate_size<OT::PaintSolid>(unsigned long, bool) Line | Count | Source | 665 | 20.9k | { | 666 | 20.9k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 20.9k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 5 | { | 670 | 5 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 5 | return nullptr; | 672 | 5 | } | 673 | 20.9k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 20.9k | char *ret = this->head; | 676 | 20.9k | this->head += size; | 677 | 20.9k | return reinterpret_cast<Type *> (ret); | 678 | 20.9k | } |
OT::PaintColrGlyph* hb_serialize_context_t::allocate_size<OT::PaintColrGlyph>(unsigned long, bool) Line | Count | Source | 665 | 3.33k | { | 666 | 3.33k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 3.31k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 3.31k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 3.31k | char *ret = this->head; | 676 | 3.31k | this->head += size; | 677 | 3.31k | return reinterpret_cast<Type *> (ret); | 678 | 3.31k | } |
OT::PaintTranslate* hb_serialize_context_t::allocate_size<OT::PaintTranslate>(unsigned long, bool) Line | Count | Source | 665 | 14.5k | { | 666 | 14.5k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 14.5k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 8 | { | 670 | 8 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 8 | return nullptr; | 672 | 8 | } | 673 | 14.4k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 14.4k | char *ret = this->head; | 676 | 14.4k | this->head += size; | 677 | 14.4k | return reinterpret_cast<Type *> (ret); | 678 | 14.5k | } |
OT::VarIdx* hb_serialize_context_t::allocate_size<OT::VarIdx>(unsigned long, bool) Line | Count | Source | 665 | 278k | { | 666 | 278k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 278k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 41 | { | 670 | 41 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 41 | return nullptr; | 672 | 41 | } | 673 | 278k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 278k | char *ret = this->head; | 676 | 278k | this->head += size; | 677 | 278k | return reinterpret_cast<Type *> (ret); | 678 | 278k | } |
OT::PaintLinearGradient<OT::NoVariable>* hb_serialize_context_t::allocate_size<OT::PaintLinearGradient<OT::NoVariable> >(unsigned long, bool) Line | Count | Source | 665 | 2.54k | { | 666 | 2.54k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.51k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 2.51k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 2.51k | char *ret = this->head; | 676 | 2.51k | this->head += size; | 677 | 2.51k | return reinterpret_cast<Type *> (ret); | 678 | 2.51k | } |
OT::ColorLine<OT::NoVariable>* hb_serialize_context_t::allocate_size<OT::ColorLine<OT::NoVariable> >(unsigned long, bool) Line | Count | Source | 665 | 4.51k | { | 666 | 4.51k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 4.51k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 4.51k | if (clear) | 674 | 4.51k | hb_memset (this->head, 0, size); | 675 | 4.51k | char *ret = this->head; | 676 | 4.51k | this->head += size; | 677 | 4.51k | return reinterpret_cast<Type *> (ret); | 678 | 4.51k | } |
OT::PaintLinearGradient<OT::Variable>* hb_serialize_context_t::allocate_size<OT::PaintLinearGradient<OT::Variable> >(unsigned long, bool) Line | Count | Source | 665 | 2.68k | { | 666 | 2.68k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.67k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 2.67k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 2.67k | char *ret = this->head; | 676 | 2.67k | this->head += size; | 677 | 2.67k | return reinterpret_cast<Type *> (ret); | 678 | 2.67k | } |
OT::ColorLine<OT::Variable>* hb_serialize_context_t::allocate_size<OT::ColorLine<OT::Variable> >(unsigned long, bool) Line | Count | Source | 665 | 12.3k | { | 666 | 12.3k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 12.3k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 12.3k | if (clear) | 674 | 12.3k | hb_memset (this->head, 0, size); | 675 | 12.3k | char *ret = this->head; | 676 | 12.3k | this->head += size; | 677 | 12.3k | return reinterpret_cast<Type *> (ret); | 678 | 12.3k | } |
OT::PaintRadialGradient<OT::NoVariable>* hb_serialize_context_t::allocate_size<OT::PaintRadialGradient<OT::NoVariable> >(unsigned long, bool) Line | Count | Source | 665 | 1.76k | { | 666 | 1.76k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.75k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 1.75k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.75k | char *ret = this->head; | 676 | 1.75k | this->head += size; | 677 | 1.75k | return reinterpret_cast<Type *> (ret); | 678 | 1.75k | } |
OT::PaintRadialGradient<OT::Variable>* hb_serialize_context_t::allocate_size<OT::PaintRadialGradient<OT::Variable> >(unsigned long, bool) Line | Count | Source | 665 | 2.30k | { | 666 | 2.30k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.27k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 2.27k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 2.27k | char *ret = this->head; | 676 | 2.27k | this->head += size; | 677 | 2.27k | return reinterpret_cast<Type *> (ret); | 678 | 2.27k | } |
OT::PaintSweepGradient<OT::NoVariable>* hb_serialize_context_t::allocate_size<OT::PaintSweepGradient<OT::NoVariable> >(unsigned long, bool) Line | Count | Source | 665 | 1.06k | { | 666 | 1.06k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.05k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.05k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.05k | char *ret = this->head; | 676 | 1.05k | this->head += size; | 677 | 1.05k | return reinterpret_cast<Type *> (ret); | 678 | 1.05k | } |
OT::PaintSweepGradient<OT::Variable>* hb_serialize_context_t::allocate_size<OT::PaintSweepGradient<OT::Variable> >(unsigned long, bool) Line | Count | Source | 665 | 8.27k | { | 666 | 8.27k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 8.26k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 8.26k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 8.26k | char *ret = this->head; | 676 | 8.26k | this->head += size; | 677 | 8.26k | return reinterpret_cast<Type *> (ret); | 678 | 8.26k | } |
OT::PaintGlyph<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::PaintGlyph<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 13.5k | { | 666 | 13.5k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 13.4k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 9 | { | 670 | 9 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 9 | return nullptr; | 672 | 9 | } | 673 | 13.4k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 13.4k | char *ret = this->head; | 676 | 13.4k | this->head += size; | 677 | 13.4k | return reinterpret_cast<Type *> (ret); | 678 | 13.4k | } |
OT::PaintTransform<OT::NoVariable>* hb_serialize_context_t::allocate_size<OT::PaintTransform<OT::NoVariable> >(unsigned long, bool) Line | Count | Source | 665 | 2.91k | { | 666 | 2.91k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.91k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 2.91k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 2.91k | char *ret = this->head; | 676 | 2.91k | this->head += size; | 677 | 2.91k | return reinterpret_cast<Type *> (ret); | 678 | 2.91k | } |
OT::PaintTransform<OT::Variable>* hb_serialize_context_t::allocate_size<OT::PaintTransform<OT::Variable> >(unsigned long, bool) Line | Count | Source | 665 | 1.06k | { | 666 | 1.06k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.04k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.04k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.04k | char *ret = this->head; | 676 | 1.04k | this->head += size; | 677 | 1.04k | return reinterpret_cast<Type *> (ret); | 678 | 1.04k | } |
OT::PaintGlyph<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::PaintGlyph<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 162 | { | 666 | 162 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 155 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 155 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 155 | char *ret = this->head; | 676 | 155 | this->head += size; | 677 | 155 | return reinterpret_cast<Type *> (ret); | 678 | 155 | } |
OT::PaintScale* hb_serialize_context_t::allocate_size<OT::PaintScale>(unsigned long, bool) Line | Count | Source | 665 | 19.8k | { | 666 | 19.8k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 19.7k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 19.7k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 19.7k | char *ret = this->head; | 676 | 19.7k | this->head += size; | 677 | 19.7k | return reinterpret_cast<Type *> (ret); | 678 | 19.7k | } |
OT::PaintScaleAroundCenter* hb_serialize_context_t::allocate_size<OT::PaintScaleAroundCenter>(unsigned long, bool) Line | Count | Source | 665 | 134k | { | 666 | 134k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 134k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 134k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 134k | char *ret = this->head; | 676 | 134k | this->head += size; | 677 | 134k | return reinterpret_cast<Type *> (ret); | 678 | 134k | } |
OT::PaintScaleUniform* hb_serialize_context_t::allocate_size<OT::PaintScaleUniform>(unsigned long, bool) Line | Count | Source | 665 | 28.1k | { | 666 | 28.1k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 28.0k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 28.0k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 28.0k | char *ret = this->head; | 676 | 28.0k | this->head += size; | 677 | 28.0k | return reinterpret_cast<Type *> (ret); | 678 | 28.0k | } |
OT::PaintScaleUniformAroundCenter* hb_serialize_context_t::allocate_size<OT::PaintScaleUniformAroundCenter>(unsigned long, bool) Line | Count | Source | 665 | 26.2k | { | 666 | 26.2k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 26.1k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 26.1k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 26.1k | char *ret = this->head; | 676 | 26.1k | this->head += size; | 677 | 26.1k | return reinterpret_cast<Type *> (ret); | 678 | 26.1k | } |
OT::PaintRotate* hb_serialize_context_t::allocate_size<OT::PaintRotate>(unsigned long, bool) Line | Count | Source | 665 | 19.1k | { | 666 | 19.1k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 19.1k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 19.1k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 19.1k | char *ret = this->head; | 676 | 19.1k | this->head += size; | 677 | 19.1k | return reinterpret_cast<Type *> (ret); | 678 | 19.1k | } |
OT::PaintRotateAroundCenter* hb_serialize_context_t::allocate_size<OT::PaintRotateAroundCenter>(unsigned long, bool) Line | Count | Source | 665 | 16.1k | { | 666 | 16.1k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 16.0k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 11 | { | 670 | 11 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 11 | return nullptr; | 672 | 11 | } | 673 | 16.0k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 16.0k | char *ret = this->head; | 676 | 16.0k | this->head += size; | 677 | 16.0k | return reinterpret_cast<Type *> (ret); | 678 | 16.0k | } |
OT::PaintSkew* hb_serialize_context_t::allocate_size<OT::PaintSkew>(unsigned long, bool) Line | Count | Source | 665 | 5.44k | { | 666 | 5.44k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 5.37k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 5.37k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 5.37k | char *ret = this->head; | 676 | 5.37k | this->head += size; | 677 | 5.37k | return reinterpret_cast<Type *> (ret); | 678 | 5.37k | } |
OT::PaintSkewAroundCenter* hb_serialize_context_t::allocate_size<OT::PaintSkewAroundCenter>(unsigned long, bool) Line | Count | Source | 665 | 15.8k | { | 666 | 15.8k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 15.7k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 26 | { | 670 | 26 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 26 | return nullptr; | 672 | 26 | } | 673 | 15.7k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 15.7k | char *ret = this->head; | 676 | 15.7k | this->head += size; | 677 | 15.7k | return reinterpret_cast<Type *> (ret); | 678 | 15.7k | } |
OT::PaintComposite* hb_serialize_context_t::allocate_size<OT::PaintComposite>(unsigned long, bool) Line | Count | Source | 665 | 170k | { | 666 | 170k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 170k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 170k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 170k | char *ret = this->head; | 676 | 170k | this->head += size; | 677 | 170k | return reinterpret_cast<Type *> (ret); | 678 | 170k | } |
OT::ClipBoxFormat1* hb_serialize_context_t::allocate_size<OT::ClipBoxFormat1>(unsigned long, bool) Line | Count | Source | 665 | 1.09k | { | 666 | 1.09k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.09k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 10 | { | 670 | 10 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 10 | return nullptr; | 672 | 10 | } | 673 | 1.08k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.08k | char *ret = this->head; | 676 | 1.08k | this->head += size; | 677 | 1.08k | return reinterpret_cast<Type *> (ret); | 678 | 1.09k | } |
OT::ClipRecord* hb_serialize_context_t::allocate_size<OT::ClipRecord>(unsigned long, bool) Line | Count | Source | 665 | 1.20k | { | 666 | 1.20k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.20k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 1.19k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.19k | char *ret = this->head; | 676 | 1.19k | this->head += size; | 677 | 1.19k | return reinterpret_cast<Type *> (ret); | 678 | 1.20k | } |
OT::ClipList* hb_serialize_context_t::allocate_size<OT::ClipList>(unsigned long, bool) Line | Count | Source | 665 | 792 | { | 666 | 792 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 792 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 791 | if (clear) | 674 | 791 | hb_memset (this->head, 0, size); | 675 | 791 | char *ret = this->head; | 676 | 791 | this->head += size; | 677 | 791 | return reinterpret_cast<Type *> (ret); | 678 | 792 | } |
OT::BaseGlyphPaintRecord* hb_serialize_context_t::allocate_size<OT::BaseGlyphPaintRecord>(unsigned long, bool) Line | Count | Source | 665 | 9.64k | { | 666 | 9.64k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 9.64k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 20 | { | 670 | 20 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 20 | return nullptr; | 672 | 20 | } | 673 | 9.62k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 9.62k | char *ret = this->head; | 676 | 9.62k | this->head += size; | 677 | 9.62k | return reinterpret_cast<Type *> (ret); | 678 | 9.64k | } |
OT::BaseGlyphList* hb_serialize_context_t::allocate_size<OT::BaseGlyphList>(unsigned long, bool) Line | Count | Source | 665 | 3.41k | { | 666 | 3.41k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 3.41k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 3.41k | if (clear) | 674 | 3.41k | hb_memset (this->head, 0, size); | 675 | 3.41k | char *ret = this->head; | 676 | 3.41k | this->head += size; | 677 | 3.41k | return reinterpret_cast<Type *> (ret); | 678 | 3.41k | } |
OT::LayerList* hb_serialize_context_t::allocate_size<OT::LayerList>(unsigned long, bool) Line | Count | Source | 665 | 938 | { | 666 | 938 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 938 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 935 | if (clear) | 674 | 935 | hb_memset (this->head, 0, size); | 675 | 935 | char *ret = this->head; | 676 | 935 | this->head += size; | 677 | 935 | return reinterpret_cast<Type *> (ret); | 678 | 938 | } |
OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Line | Count | Source | 665 | 17.7k | { | 666 | 17.7k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 17.7k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 10 | { | 670 | 10 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 10 | return nullptr; | 672 | 10 | } | 673 | 17.7k | if (clear) | 674 | 17.7k | hb_memset (this->head, 0, size); | 675 | 17.7k | char *ret = this->head; | 676 | 17.7k | this->head += size; | 677 | 17.7k | return reinterpret_cast<Type *> (ret); | 678 | 17.7k | } |
OT::COLR* hb_serialize_context_t::allocate_size<OT::COLR>(unsigned long, bool) Line | Count | Source | 665 | 5.42k | { | 666 | 5.42k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 5.42k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 5.42k | if (clear) | 674 | 5.42k | hb_memset (this->head, 0, size); | 675 | 5.42k | char *ret = this->head; | 676 | 5.42k | this->head += size; | 677 | 5.42k | return reinterpret_cast<Type *> (ret); | 678 | 5.42k | } |
OT::BaseGlyphRecord* hb_serialize_context_t::allocate_size<OT::BaseGlyphRecord>(unsigned long, bool) Line | Count | Source | 665 | 793 | { | 666 | 793 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 793 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 793 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 793 | char *ret = this->head; | 676 | 793 | this->head += size; | 677 | 793 | return reinterpret_cast<Type *> (ret); | 678 | 793 | } |
OT::LayerRecord* hb_serialize_context_t::allocate_size<OT::LayerRecord>(unsigned long, bool) Line | Count | Source | 665 | 782 | { | 666 | 782 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 782 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 782 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 782 | char *ret = this->head; | 676 | 782 | this->head += size; | 677 | 782 | return reinterpret_cast<Type *> (ret); | 678 | 782 | } |
OT::head* hb_serialize_context_t::allocate_size<OT::head>(unsigned long, bool) Line | Count | Source | 665 | 1.38k | { | 666 | 1.38k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.38k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.38k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.38k | char *ret = this->head; | 676 | 1.38k | this->head += size; | 677 | 1.38k | return reinterpret_cast<Type *> (ret); | 678 | 1.38k | } |
OT::HVAR* hb_serialize_context_t::allocate_size<OT::HVAR>(unsigned long, bool) Line | Count | Source | 665 | 2.37k | { | 666 | 2.37k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.37k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 2.37k | if (clear) | 674 | 2.37k | hb_memset (this->head, 0, size); | 675 | 2.37k | char *ret = this->head; | 676 | 2.37k | this->head += size; | 677 | 2.37k | return reinterpret_cast<Type *> (ret); | 678 | 2.37k | } |
OT::VVAR* hb_serialize_context_t::allocate_size<OT::VVAR>(unsigned long, bool) Line | Count | Source | 665 | 184 | { | 666 | 184 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 184 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 184 | if (clear) | 674 | 184 | hb_memset (this->head, 0, size); | 675 | 184 | char *ret = this->head; | 676 | 184 | this->head += size; | 677 | 184 | return reinterpret_cast<Type *> (ret); | 678 | 184 | } |
OT::NumType<true, int, 4u>* hb_serialize_context_t::allocate_size<OT::NumType<true, int, 4u> >(unsigned long, bool) Line | Count | Source | 665 | 12.0k | { | 666 | 12.0k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 12.0k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 12.0k | if (clear) | 674 | 12.0k | hb_memset (this->head, 0, size); | 675 | 12.0k | char *ret = this->head; | 676 | 12.0k | this->head += size; | 677 | 12.0k | return reinterpret_cast<Type *> (ret); | 678 | 12.0k | } |
CFF::FDSelect* hb_serialize_context_t::allocate_size<CFF::FDSelect>(unsigned long, bool) Line | Count | Source | 665 | 441 | { | 666 | 441 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 441 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 441 | if (clear) | 674 | 441 | hb_memset (this->head, 0, size); | 675 | 441 | char *ret = this->head; | 676 | 441 | this->head += size; | 677 | 441 | return reinterpret_cast<Type *> (ret); | 678 | 441 | } |
CFF::Encoding* hb_serialize_context_t::allocate_size<CFF::Encoding>(unsigned long, bool) Line | Count | Source | 665 | 1.85k | { | 666 | 1.85k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.85k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.85k | if (clear) | 674 | 1.85k | hb_memset (this->head, 0, size); | 675 | 1.85k | char *ret = this->head; | 676 | 1.85k | this->head += size; | 677 | 1.85k | return reinterpret_cast<Type *> (ret); | 678 | 1.85k | } |
CFF::Encoding0* hb_serialize_context_t::allocate_size<CFF::Encoding0>(unsigned long, bool) Line | Count | Source | 665 | 471 | { | 666 | 471 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 471 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 471 | if (clear) | 674 | 471 | hb_memset (this->head, 0, size); | 675 | 471 | char *ret = this->head; | 676 | 471 | this->head += size; | 677 | 471 | return reinterpret_cast<Type *> (ret); | 678 | 471 | } |
CFF::Encoding1* hb_serialize_context_t::allocate_size<CFF::Encoding1>(unsigned long, bool) Line | Count | Source | 665 | 1.38k | { | 666 | 1.38k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.38k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.38k | if (clear) | 674 | 1.38k | hb_memset (this->head, 0, size); | 675 | 1.38k | char *ret = this->head; | 676 | 1.38k | this->head += size; | 677 | 1.38k | return reinterpret_cast<Type *> (ret); | 678 | 1.38k | } |
CFF::CFF1SuppEncData* hb_serialize_context_t::allocate_size<CFF::CFF1SuppEncData>(unsigned long, bool) Line | Count | Source | 665 | 247 | { | 666 | 247 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 247 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 247 | if (clear) | 674 | 247 | hb_memset (this->head, 0, size); | 675 | 247 | char *ret = this->head; | 676 | 247 | this->head += size; | 677 | 247 | return reinterpret_cast<Type *> (ret); | 678 | 247 | } |
CFF::Charset* hb_serialize_context_t::allocate_size<CFF::Charset>(unsigned long, bool) Line | Count | Source | 665 | 2.96k | { | 666 | 2.96k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.96k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 2.96k | if (clear) | 674 | 2.96k | hb_memset (this->head, 0, size); | 675 | 2.96k | char *ret = this->head; | 676 | 2.96k | this->head += size; | 677 | 2.96k | return reinterpret_cast<Type *> (ret); | 678 | 2.96k | } |
CFF::Charset0* hb_serialize_context_t::allocate_size<CFF::Charset0>(unsigned long, bool) Line | Count | Source | 665 | 1.08k | { | 666 | 1.08k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.08k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.08k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.08k | char *ret = this->head; | 676 | 1.08k | this->head += size; | 677 | 1.08k | return reinterpret_cast<Type *> (ret); | 678 | 1.08k | } |
CFF::Charset1_2<OT::NumType<true, unsigned char, 1u> >* hb_serialize_context_t::allocate_size<CFF::Charset1_2<OT::NumType<true, unsigned char, 1u> > >(unsigned long, bool) Line | Count | Source | 665 | 1.64k | { | 666 | 1.64k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.64k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.64k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.64k | char *ret = this->head; | 676 | 1.64k | this->head += size; | 677 | 1.64k | return reinterpret_cast<Type *> (ret); | 678 | 1.64k | } |
CFF::Charset1_2<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<CFF::Charset1_2<OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 241 | { | 666 | 241 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 241 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 241 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 241 | char *ret = this->head; | 676 | 241 | this->head += size; | 677 | 241 | return reinterpret_cast<Type *> (ret); | 678 | 241 | } |
OT::CFFIndex<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::CFFIndex<OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 20.0k | { | 666 | 20.0k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 20.0k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2.99k | { | 670 | 2.99k | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2.99k | return nullptr; | 672 | 2.99k | } | 673 | 17.0k | if (clear) | 674 | 15.7k | hb_memset (this->head, 0, size); | 675 | 17.0k | char *ret = this->head; | 676 | 17.0k | this->head += size; | 677 | 17.0k | return reinterpret_cast<Type *> (ret); | 678 | 20.0k | } |
CFF::CFF2ItemVariationStore* hb_serialize_context_t::allocate_size<CFF::CFF2ItemVariationStore>(unsigned long, bool) Line | Count | Source | 665 | 625 | { | 666 | 625 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 625 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 625 | if (clear) | 674 | 625 | hb_memset (this->head, 0, size); | 675 | 625 | char *ret = this->head; | 676 | 625 | this->head += size; | 677 | 625 | return reinterpret_cast<Type *> (ret); | 678 | 625 | } |
OT::LookupRecord* hb_serialize_context_t::allocate_size<OT::LookupRecord>(unsigned long, bool) Line | Count | Source | 665 | 6.37M | { | 666 | 6.37M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 6.37M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 64 | { | 670 | 64 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 64 | return nullptr; | 672 | 64 | } | 673 | 6.37M | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 6.37M | char *ret = this->head; | 676 | 6.37M | this->head += size; | 677 | 6.37M | return reinterpret_cast<Type *> (ret); | 678 | 6.37M | } |
OT::Layout::GPOS_impl::AnchorFormat1* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::AnchorFormat1>(unsigned long, bool) Line | Count | Source | 665 | 208k | { | 666 | 208k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 208k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 208k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 208k | char *ret = this->head; | 676 | 208k | this->head += size; | 677 | 208k | return reinterpret_cast<Type *> (ret); | 678 | 208k | } |
OT::Layout::GPOS_impl::AnchorFormat2* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::AnchorFormat2>(unsigned long, bool) Line | Count | Source | 665 | 2.26k | { | 666 | 2.26k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.26k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 2.26k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 2.26k | char *ret = this->head; | 676 | 2.26k | this->head += size; | 677 | 2.26k | return reinterpret_cast<Type *> (ret); | 678 | 2.26k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 29.4k | { | 666 | 29.4k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 29.4k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 29.4k | if (clear) | 674 | 29.4k | hb_memset (this->head, 0, size); | 675 | 29.4k | char *ret = this->head; | 676 | 29.4k | this->head += size; | 677 | 29.4k | return reinterpret_cast<Type *> (ret); | 678 | 29.4k | } |
OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 5.35k | { | 666 | 5.35k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 5.35k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 5.35k | if (clear) | 674 | 5.35k | hb_memset (this->head, 0, size); | 675 | 5.35k | char *ret = this->head; | 676 | 5.35k | this->head += size; | 677 | 5.35k | return reinterpret_cast<Type *> (ret); | 678 | 5.35k | } |
OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 1.16k | { | 666 | 1.16k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.16k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.16k | if (clear) | 674 | 1.16k | hb_memset (this->head, 0, size); | 675 | 1.16k | char *ret = this->head; | 676 | 1.16k | this->head += size; | 677 | 1.16k | return reinterpret_cast<Type *> (ret); | 678 | 1.16k | } |
Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::MediumTypes> >(unsigned long, bool) OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 5.57k | { | 666 | 5.57k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 5.57k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 5.56k | if (clear) | 674 | 5.56k | hb_memset (this->head, 0, size); | 675 | 5.56k | char *ret = this->head; | 676 | 5.56k | this->head += size; | 677 | 5.56k | return reinterpret_cast<Type *> (ret); | 678 | 5.57k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 162k | { | 666 | 162k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 162k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 162k | if (clear) | 674 | 162k | hb_memset (this->head, 0, size); | 675 | 162k | char *ret = this->head; | 676 | 162k | this->head += size; | 677 | 162k | return reinterpret_cast<Type *> (ret); | 678 | 162k | } |
OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 145k | { | 666 | 145k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 145k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 145k | if (clear) | 674 | 145k | hb_memset (this->head, 0, size); | 675 | 145k | char *ret = this->head; | 676 | 145k | this->head += size; | 677 | 145k | return reinterpret_cast<Type *> (ret); | 678 | 145k | } |
OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 400M | { | 666 | 400M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 400M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 344 | { | 670 | 344 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 344 | return nullptr; | 672 | 344 | } | 673 | 400M | if (clear) | 674 | 400M | hb_memset (this->head, 0, size); | 675 | 400M | char *ret = this->head; | 676 | 400M | this->head += size; | 677 | 400M | return reinterpret_cast<Type *> (ret); | 678 | 400M | } |
OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 2.40k | { | 666 | 2.40k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.40k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 2.40k | if (clear) | 674 | 2.40k | hb_memset (this->head, 0, size); | 675 | 2.40k | char *ret = this->head; | 676 | 2.40k | this->head += size; | 677 | 2.40k | return reinterpret_cast<Type *> (ret); | 678 | 2.40k | } |
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> >(unsigned long, bool) OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 1.46k | { | 666 | 1.46k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.46k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.46k | if (clear) | 674 | 1.46k | hb_memset (this->head, 0, size); | 675 | 1.46k | char *ret = this->head; | 676 | 1.46k | this->head += size; | 677 | 1.46k | return reinterpret_cast<Type *> (ret); | 678 | 1.46k | } |
OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 58.8k | { | 666 | 58.8k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 58.8k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 58.8k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 58.8k | char *ret = this->head; | 676 | 58.8k | this->head += size; | 677 | 58.8k | return reinterpret_cast<Type *> (ret); | 678 | 58.8k | } |
OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 6 | { | 666 | 6 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 6 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 6 | if (clear) | 674 | 6 | hb_memset (this->head, 0, size); | 675 | 6 | char *ret = this->head; | 676 | 6 | this->head += size; | 677 | 6 | return reinterpret_cast<Type *> (ret); | 678 | 6 | } |
Unexecuted instantiation: OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::MediumTypes> >(unsigned long, bool) OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 2.44k | { | 666 | 2.44k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.44k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 2.44k | if (clear) | 674 | 2.44k | hb_memset (this->head, 0, size); | 675 | 2.44k | char *ret = this->head; | 676 | 2.44k | this->head += size; | 677 | 2.44k | return reinterpret_cast<Type *> (ret); | 678 | 2.44k | } |
OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 4.24k | { | 666 | 4.24k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 4.24k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 4.24k | if (clear) | 674 | 4.24k | hb_memset (this->head, 0, size); | 675 | 4.24k | char *ret = this->head; | 676 | 4.24k | this->head += size; | 677 | 4.24k | return reinterpret_cast<Type *> (ret); | 678 | 4.24k | } |
OT::Layout::GPOS_impl::MarkRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkRecord<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 31.9k | { | 666 | 31.9k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 31.9k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 31.9k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 31.9k | char *ret = this->head; | 676 | 31.9k | this->head += size; | 677 | 31.9k | return reinterpret_cast<Type *> (ret); | 678 | 31.9k | } |
OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 7.20k | { | 666 | 7.20k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 7.20k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 7.20k | if (clear) | 674 | 7.20k | hb_memset (this->head, 0, size); | 675 | 7.20k | char *ret = this->head; | 676 | 7.20k | this->head += size; | 677 | 7.20k | return reinterpret_cast<Type *> (ret); | 678 | 7.20k | } |
OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, true> >(unsigned long, bool) Line | Count | Source | 665 | 155k | { | 666 | 155k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 155k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 155k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 155k | char *ret = this->head; | 676 | 155k | this->head += size; | 677 | 155k | return reinterpret_cast<Type *> (ret); | 678 | 155k | } |
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkRecord<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true> >(unsigned long, bool) OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 1.61k | { | 666 | 1.61k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.61k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.61k | if (clear) | 674 | 1.61k | hb_memset (this->head, 0, size); | 675 | 1.61k | char *ret = this->head; | 676 | 1.61k | this->head += size; | 677 | 1.61k | return reinterpret_cast<Type *> (ret); | 678 | 1.61k | } |
OT::Layout::GPOS_impl::LigatureArray<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 1.44k | { | 666 | 1.44k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.44k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.44k | if (clear) | 674 | 1.44k | hb_memset (this->head, 0, size); | 675 | 1.44k | char *ret = this->head; | 676 | 1.44k | this->head += size; | 677 | 1.44k | return reinterpret_cast<Type *> (ret); | 678 | 1.44k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 5.55k | { | 666 | 5.55k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 5.55k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 5.55k | if (clear) | 674 | 5.55k | hb_memset (this->head, 0, size); | 675 | 5.55k | char *ret = this->head; | 676 | 5.55k | this->head += size; | 677 | 5.55k | return reinterpret_cast<Type *> (ret); | 678 | 5.55k | } |
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true> >(unsigned long, bool) OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 490 | { | 666 | 490 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 490 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 490 | if (clear) | 674 | 490 | hb_memset (this->head, 0, size); | 675 | 490 | char *ret = this->head; | 676 | 490 | this->head += size; | 677 | 490 | return reinterpret_cast<Type *> (ret); | 678 | 490 | } |
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) OT::ContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat1_4<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 4.28k | { | 666 | 4.28k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 4.28k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 4.28k | if (clear) | 674 | 4.28k | hb_memset (this->head, 0, size); | 675 | 4.28k | char *ret = this->head; | 676 | 4.28k | this->head += size; | 677 | 4.28k | return reinterpret_cast<Type *> (ret); | 678 | 4.28k | } |
OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 6.34k | { | 666 | 6.34k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 6.34k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 6.34k | if (clear) | 674 | 6.34k | hb_memset (this->head, 0, size); | 675 | 6.34k | char *ret = this->head; | 676 | 6.34k | this->head += size; | 677 | 6.34k | return reinterpret_cast<Type *> (ret); | 678 | 6.34k | } |
OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> >* hb_serialize_context_t::allocate_size<OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> > >(unsigned long, bool) Line | Count | Source | 665 | 6.76k | { | 666 | 6.76k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 6.76k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 6.76k | if (clear) | 674 | 6.76k | hb_memset (this->head, 0, size); | 675 | 6.76k | char *ret = this->head; | 676 | 6.76k | this->head += size; | 677 | 6.76k | return reinterpret_cast<Type *> (ret); | 678 | 6.76k | } |
OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 33.0k | { | 666 | 33.0k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 33.0k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 33.0k | if (clear) | 674 | 33.0k | hb_memset (this->head, 0, size); | 675 | 33.0k | char *ret = this->head; | 676 | 33.0k | this->head += size; | 677 | 33.0k | return reinterpret_cast<Type *> (ret); | 678 | 33.0k | } |
OT::Rule<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Rule<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 7.37k | { | 666 | 7.37k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 7.37k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 4 | { | 670 | 4 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 4 | return nullptr; | 672 | 4 | } | 673 | 7.36k | if (clear) | 674 | 7.36k | hb_memset (this->head, 0, size); | 675 | 7.36k | char *ret = this->head; | 676 | 7.36k | this->head += size; | 677 | 7.36k | return reinterpret_cast<Type *> (ret); | 678 | 7.37k | } |
OT::ContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat2_5<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 538 | { | 666 | 538 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 538 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 538 | if (clear) | 674 | 538 | hb_memset (this->head, 0, size); | 675 | 538 | char *ret = this->head; | 676 | 538 | this->head += size; | 677 | 538 | return reinterpret_cast<Type *> (ret); | 678 | 538 | } |
OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 611 | { | 666 | 611 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 611 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 611 | if (clear) | 674 | 611 | hb_memset (this->head, 0, size); | 675 | 611 | char *ret = this->head; | 676 | 611 | this->head += size; | 677 | 611 | return reinterpret_cast<Type *> (ret); | 678 | 611 | } |
OT::ContextFormat3_6<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat3_6<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 1.10k | { | 666 | 1.10k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.10k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.10k | if (clear) | 674 | 1.10k | hb_memset (this->head, 0, size); | 675 | 1.10k | char *ret = this->head; | 676 | 1.10k | this->head += size; | 677 | 1.10k | return reinterpret_cast<Type *> (ret); | 678 | 1.10k | } |
OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true> >(unsigned long, bool) Line | Count | Source | 665 | 3.14k | { | 666 | 3.14k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 3.14k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 3.14k | if (clear) | 674 | 1.83k | hb_memset (this->head, 0, size); | 675 | 3.14k | char *ret = this->head; | 676 | 3.14k | this->head += size; | 677 | 3.14k | return reinterpret_cast<Type *> (ret); | 678 | 3.14k | } |
OT::ContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat1_4<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 12 | { | 666 | 12 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 12 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 12 | if (clear) | 674 | 12 | hb_memset (this->head, 0, size); | 675 | 12 | char *ret = this->head; | 676 | 12 | this->head += size; | 677 | 12 | return reinterpret_cast<Type *> (ret); | 678 | 12 | } |
OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Line | Count | Source | 665 | 12 | { | 666 | 12 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 12 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 12 | if (clear) | 674 | 12 | hb_memset (this->head, 0, size); | 675 | 12 | char *ret = this->head; | 676 | 12 | this->head += size; | 677 | 12 | return reinterpret_cast<Type *> (ret); | 678 | 12 | } |
OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> >* hb_serialize_context_t::allocate_size<OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> > >(unsigned long, bool) Line | Count | Source | 665 | 12 | { | 666 | 12 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 12 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 12 | if (clear) | 674 | 12 | hb_memset (this->head, 0, size); | 675 | 12 | char *ret = this->head; | 676 | 12 | this->head += size; | 677 | 12 | return reinterpret_cast<Type *> (ret); | 678 | 12 | } |
OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 10 | { | 666 | 10 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 10 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 10 | if (clear) | 674 | 10 | hb_memset (this->head, 0, size); | 675 | 10 | char *ret = this->head; | 676 | 10 | this->head += size; | 677 | 10 | return reinterpret_cast<Type *> (ret); | 678 | 10 | } |
Unexecuted instantiation: OT::Rule<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Rule<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::NumType<true, unsigned int, 3u>* hb_serialize_context_t::allocate_size<OT::NumType<true, unsigned int, 3u> >(unsigned long, bool) Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat2_5<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> >* hb_serialize_context_t::allocate_size<OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> > >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) OT::ContextFormat3_6<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ContextFormat3_6<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 167 | { | 666 | 167 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 167 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 167 | if (clear) | 674 | 167 | hb_memset (this->head, 0, size); | 675 | 167 | char *ret = this->head; | 676 | 167 | this->head += size; | 677 | 167 | return reinterpret_cast<Type *> (ret); | 678 | 167 | } |
OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true> >(unsigned long, bool) Line | Count | Source | 665 | 167 | { | 666 | 167 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 167 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 167 | if (clear) | 674 | 167 | hb_memset (this->head, 0, size); | 675 | 167 | char *ret = this->head; | 676 | 167 | this->head += size; | 677 | 167 | return reinterpret_cast<Type *> (ret); | 678 | 167 | } |
OT::ChainContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ChainContextFormat1_4<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 1.48k | { | 666 | 1.48k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.48k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 1.48k | if (clear) | 674 | 1.48k | hb_memset (this->head, 0, size); | 675 | 1.48k | char *ret = this->head; | 676 | 1.48k | this->head += size; | 677 | 1.48k | return reinterpret_cast<Type *> (ret); | 678 | 1.48k | } |
OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 2.19k | { | 666 | 2.19k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.19k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 2.19k | if (clear) | 674 | 2.19k | hb_memset (this->head, 0, size); | 675 | 2.19k | char *ret = this->head; | 676 | 2.19k | this->head += size; | 677 | 2.19k | return reinterpret_cast<Type *> (ret); | 678 | 2.19k | } |
OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> >* hb_serialize_context_t::allocate_size<OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> > >(unsigned long, bool) Line | Count | Source | 665 | 2.91k | { | 666 | 2.91k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.91k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 2.91k | if (clear) | 674 | 2.91k | hb_memset (this->head, 0, size); | 675 | 2.91k | char *ret = this->head; | 676 | 2.91k | this->head += size; | 677 | 2.91k | return reinterpret_cast<Type *> (ret); | 678 | 2.91k | } |
OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 115k | { | 666 | 115k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 115k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 115k | if (clear) | 674 | 115k | hb_memset (this->head, 0, size); | 675 | 115k | char *ret = this->head; | 676 | 115k | this->head += size; | 677 | 115k | return reinterpret_cast<Type *> (ret); | 678 | 115k | } |
OT::ChainContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::ChainContextFormat2_5<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 719 | { | 666 | 719 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 719 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 719 | if (clear) | 674 | 719 | hb_memset (this->head, 0, size); | 675 | 719 | char *ret = this->head; | 676 | 719 | this->head += size; | 677 | 719 | return reinterpret_cast<Type *> (ret); | 678 | 719 | } |
OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 1.42k | { | 666 | 1.42k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.42k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.42k | if (clear) | 674 | 1.42k | hb_memset (this->head, 0, size); | 675 | 1.42k | char *ret = this->head; | 676 | 1.42k | this->head += size; | 677 | 1.42k | return reinterpret_cast<Type *> (ret); | 678 | 1.42k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 166k | { | 666 | 166k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 166k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 166k | if (clear) | 674 | 166k | hb_memset (this->head, 0, size); | 675 | 166k | char *ret = this->head; | 676 | 166k | this->head += size; | 677 | 166k | return reinterpret_cast<Type *> (ret); | 678 | 166k | } |
Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ChainContextFormat1_4<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> >* hb_serialize_context_t::allocate_size<OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> > >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::ChainContextFormat2_5<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> >* hb_serialize_context_t::allocate_size<OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> > >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos>* hb_serialize_context_t::allocate_size<OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos> >(unsigned long, bool) Line | Count | Source | 665 | 678 | { | 666 | 678 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 678 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 678 | if (clear) | 674 | 678 | hb_memset (this->head, 0, size); | 675 | 678 | char *ret = this->head; | 676 | 678 | this->head += size; | 677 | 678 | return reinterpret_cast<Type *> (ret); | 678 | 678 | } |
OT::GSUBGPOS* hb_serialize_context_t::allocate_size<OT::GSUBGPOS>(unsigned long, bool) Line | Count | Source | 665 | 19.4k | { | 666 | 19.4k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 19.4k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 19.4k | if (clear) | 674 | 19.4k | hb_memset (this->head, 0, size); | 675 | 19.4k | char *ret = this->head; | 676 | 19.4k | this->head += size; | 677 | 19.4k | return reinterpret_cast<Type *> (ret); | 678 | 19.4k | } |
OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Line | Count | Source | 665 | 15 | { | 666 | 15 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 15 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 15 | if (clear) | 674 | 15 | hb_memset (this->head, 0, size); | 675 | 15 | char *ret = this->head; | 676 | 15 | this->head += size; | 677 | 15 | return reinterpret_cast<Type *> (ret); | 678 | 15 | } |
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 8.22k | { | 666 | 8.22k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 8.22k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 8.22k | if (clear) | 674 | 8.22k | hb_memset (this->head, 0, size); | 675 | 8.22k | char *ret = this->head; | 676 | 8.22k | this->head += size; | 677 | 8.22k | return reinterpret_cast<Type *> (ret); | 678 | 8.22k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 16.3k | { | 666 | 16.3k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 16.3k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 16.3k | if (clear) | 674 | 16.3k | hb_memset (this->head, 0, size); | 675 | 16.3k | char *ret = this->head; | 676 | 16.3k | this->head += size; | 677 | 16.3k | return reinterpret_cast<Type *> (ret); | 678 | 16.3k | } |
OT::OffsetTo<OT::FeatureVariations, OT::NumType<true, unsigned int, 4u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::FeatureVariations, OT::NumType<true, unsigned int, 4u>, void, true> >(unsigned long, bool) Line | Count | Source | 665 | 1.26k | { | 666 | 1.26k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.26k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.26k | if (clear) | 674 | 1.26k | hb_memset (this->head, 0, size); | 675 | 1.26k | char *ret = this->head; | 676 | 1.26k | this->head += size; | 677 | 1.26k | return reinterpret_cast<Type *> (ret); | 678 | 1.26k | } |
OT::NameRecord* hb_serialize_context_t::allocate_size<OT::NameRecord>(unsigned long, bool) Line | Count | Source | 665 | 40.3k | { | 666 | 40.3k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 40.2k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 40.2k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 40.2k | char *ret = this->head; | 676 | 40.2k | this->head += size; | 677 | 40.2k | return reinterpret_cast<Type *> (ret); | 678 | 40.2k | } |
OT::name* hb_serialize_context_t::allocate_size<OT::name>(unsigned long, bool) Line | Count | Source | 665 | 3.47k | { | 666 | 3.47k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 3.47k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 3.47k | if (clear) | 674 | 3.47k | hb_memset (this->head, 0, size); | 675 | 3.47k | char *ret = this->head; | 676 | 3.47k | this->head += size; | 677 | 3.47k | return reinterpret_cast<Type *> (ret); | 678 | 3.47k | } |
OT::post* hb_serialize_context_t::allocate_size<OT::post>(unsigned long, bool) Line | Count | Source | 665 | 3.41k | { | 666 | 3.41k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 3.41k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 3.41k | if (clear) | 674 | 3.41k | hb_memset (this->head, 0, size); | 675 | 3.41k | char *ret = this->head; | 676 | 3.41k | this->head += size; | 677 | 3.41k | return reinterpret_cast<Type *> (ret); | 678 | 3.41k | } |
OT::Offset<OT::NumType<true, unsigned int, 4u>, true>* hb_serialize_context_t::allocate_size<OT::Offset<OT::NumType<true, unsigned int, 4u>, true> >(unsigned long, bool) Line | Count | Source | 665 | 71 | { | 666 | 71 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 71 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 71 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 71 | char *ret = this->head; | 676 | 71 | this->head += size; | 677 | 71 | return reinterpret_cast<Type *> (ret); | 678 | 71 | } |
OT::Offset<OT::NumType<true, unsigned short, 2u>, true>* hb_serialize_context_t::allocate_size<OT::Offset<OT::NumType<true, unsigned short, 2u>, true> >(unsigned long, bool) Line | Count | Source | 665 | 1.02k | { | 666 | 1.02k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.02k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.02k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.02k | char *ret = this->head; | 676 | 1.02k | this->head += size; | 677 | 1.02k | return reinterpret_cast<Type *> (ret); | 678 | 1.02k | } |
OT::IndexSubtable* hb_serialize_context_t::allocate_size<OT::IndexSubtable>(unsigned long, bool) Line | Count | Source | 665 | 174 | { | 666 | 174 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 174 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 174 | if (clear) | 674 | 174 | hb_memset (this->head, 0, size); | 675 | 174 | char *ret = this->head; | 676 | 174 | this->head += size; | 677 | 174 | return reinterpret_cast<Type *> (ret); | 678 | 174 | } |
OT::IndexSubtableRecord* hb_serialize_context_t::allocate_size<OT::IndexSubtableRecord>(unsigned long, bool) Line | Count | Source | 665 | 64 | { | 666 | 64 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 64 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 64 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 64 | char *ret = this->head; | 676 | 64 | this->head += size; | 677 | 64 | return reinterpret_cast<Type *> (ret); | 678 | 64 | } |
OT::BitmapSizeTable* hb_serialize_context_t::allocate_size<OT::BitmapSizeTable>(unsigned long, bool) Line | Count | Source | 665 | 185 | { | 666 | 185 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 185 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 185 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 185 | char *ret = this->head; | 676 | 185 | this->head += size; | 677 | 185 | return reinterpret_cast<Type *> (ret); | 678 | 185 | } |
OT::CBLC* hb_serialize_context_t::allocate_size<OT::CBLC>(unsigned long, bool) Line | Count | Source | 665 | 180 | { | 666 | 180 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 180 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 180 | if (clear) | 674 | 180 | hb_memset (this->head, 0, size); | 675 | 180 | char *ret = this->head; | 676 | 180 | this->head += size; | 677 | 180 | return reinterpret_cast<Type *> (ret); | 678 | 180 | } |
OT::SBIXGlyph* hb_serialize_context_t::allocate_size<OT::SBIXGlyph>(unsigned long, bool) Line | Count | Source | 665 | 408 | { | 666 | 408 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 408 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 408 | if (clear) | 674 | 408 | hb_memset (this->head, 0, size); | 675 | 408 | char *ret = this->head; | 676 | 408 | this->head += size; | 677 | 408 | return reinterpret_cast<Type *> (ret); | 678 | 408 | } |
OT::SBIXStrike* hb_serialize_context_t::allocate_size<OT::SBIXStrike>(unsigned long, bool) Line | Count | Source | 665 | 944 | { | 666 | 944 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 944 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 944 | if (clear) | 674 | 944 | hb_memset (this->head, 0, size); | 675 | 944 | char *ret = this->head; | 676 | 944 | this->head += size; | 677 | 944 | return reinterpret_cast<Type *> (ret); | 678 | 944 | } |
OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Line | Count | Source | 665 | 1.25k | { | 666 | 1.25k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.25k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.25k | if (clear) | 674 | 1.25k | hb_memset (this->head, 0, size); | 675 | 1.25k | char *ret = this->head; | 676 | 1.25k | this->head += size; | 677 | 1.25k | return reinterpret_cast<Type *> (ret); | 678 | 1.25k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 53.4k | { | 666 | 53.4k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 53.4k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 53.4k | if (clear) | 674 | 53.4k | hb_memset (this->head, 0, size); | 675 | 53.4k | char *ret = this->head; | 676 | 53.4k | this->head += size; | 677 | 53.4k | return reinterpret_cast<Type *> (ret); | 678 | 53.4k | } |
OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 5.62k | { | 666 | 5.62k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 5.62k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 5.62k | if (clear) | 674 | 5.62k | hb_memset (this->head, 0, size); | 675 | 5.62k | char *ret = this->head; | 676 | 5.62k | this->head += size; | 677 | 5.62k | return reinterpret_cast<Type *> (ret); | 678 | 5.62k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 55.8k | { | 666 | 55.8k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 55.8k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 55.8k | if (clear) | 674 | 55.8k | hb_memset (this->head, 0, size); | 675 | 55.8k | char *ret = this->head; | 676 | 55.8k | this->head += size; | 677 | 55.8k | return reinterpret_cast<Type *> (ret); | 678 | 55.8k | } |
OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 30 | { | 666 | 30 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 30 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 30 | if (clear) | 674 | 30 | hb_memset (this->head, 0, size); | 675 | 30 | char *ret = this->head; | 676 | 30 | this->head += size; | 677 | 30 | return reinterpret_cast<Type *> (ret); | 678 | 30 | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Line | Count | Source | 665 | 16 | { | 666 | 16 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 16 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 16 | if (clear) | 674 | 16 | hb_memset (this->head, 0, size); | 675 | 16 | char *ret = this->head; | 676 | 16 | this->head += size; | 677 | 16 | return reinterpret_cast<Type *> (ret); | 678 | 16 | } |
OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 16 | { | 666 | 16 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 16 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 16 | if (clear) | 674 | 8 | hb_memset (this->head, 0, size); | 675 | 16 | char *ret = this->head; | 676 | 16 | this->head += size; | 677 | 16 | return reinterpret_cast<Type *> (ret); | 678 | 16 | } |
OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 2.71k | { | 666 | 2.71k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.71k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 2.71k | if (clear) | 674 | 2.71k | hb_memset (this->head, 0, size); | 675 | 2.71k | char *ret = this->head; | 676 | 2.71k | this->head += size; | 677 | 2.71k | return reinterpret_cast<Type *> (ret); | 678 | 2.71k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 17.3k | { | 666 | 17.3k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 17.3k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 17.3k | if (clear) | 674 | 17.3k | hb_memset (this->head, 0, size); | 675 | 17.3k | char *ret = this->head; | 676 | 17.3k | this->head += size; | 677 | 17.3k | return reinterpret_cast<Type *> (ret); | 678 | 17.3k | } |
OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 4 | { | 666 | 4 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 4 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 4 | if (clear) | 674 | 4 | hb_memset (this->head, 0, size); | 675 | 4 | char *ret = this->head; | 676 | 4 | this->head += size; | 677 | 4 | return reinterpret_cast<Type *> (ret); | 678 | 4 | } |
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Unexecuted instantiation: OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> >(unsigned long, bool) Unexecuted instantiation: OT::HeadlessArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::HeadlessArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>* hb_serialize_context_t::allocate_size<OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst> >(unsigned long, bool) Line | Count | Source | 665 | 83 | { | 666 | 83 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 83 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 83 | if (clear) | 674 | 83 | hb_memset (this->head, 0, size); | 675 | 83 | char *ret = this->head; | 676 | 83 | this->head += size; | 677 | 83 | return reinterpret_cast<Type *> (ret); | 678 | 83 | } |
Unexecuted instantiation: OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true> >(unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::allocate_size<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u> > >(unsigned long, bool) Line | Count | Source | 665 | 6 | { | 666 | 6 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 6 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 6 | if (clear) | 674 | 6 | hb_memset (this->head, 0, size); | 675 | 6 | char *ret = this->head; | 676 | 6 | this->head += size; | 677 | 6 | return reinterpret_cast<Type *> (ret); | 678 | 6 | } |
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 10.9k | { | 666 | 10.9k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 10.9k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 10.9k | if (clear) | 674 | 10.9k | hb_memset (this->head, 0, size); | 675 | 10.9k | char *ret = this->head; | 676 | 10.9k | this->head += size; | 677 | 10.9k | return reinterpret_cast<Type *> (ret); | 678 | 10.9k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 38.7k | { | 666 | 38.7k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 38.7k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 3 | { | 670 | 3 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 3 | return nullptr; | 672 | 3 | } | 673 | 38.7k | if (clear) | 674 | 38.7k | hb_memset (this->head, 0, size); | 675 | 38.7k | char *ret = this->head; | 676 | 38.7k | this->head += size; | 677 | 38.7k | return reinterpret_cast<Type *> (ret); | 678 | 38.7k | } |
OT::AxisValueFormat1* hb_serialize_context_t::allocate_size<OT::AxisValueFormat1>(unsigned long, bool) Line | Count | Source | 665 | 19 | { | 666 | 19 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 19 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 19 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 19 | char *ret = this->head; | 676 | 19 | this->head += size; | 677 | 19 | return reinterpret_cast<Type *> (ret); | 678 | 19 | } |
OT::AxisValueFormat2* hb_serialize_context_t::allocate_size<OT::AxisValueFormat2>(unsigned long, bool) Line | Count | Source | 665 | 978 | { | 666 | 978 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 978 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 978 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 978 | char *ret = this->head; | 676 | 978 | this->head += size; | 677 | 978 | return reinterpret_cast<Type *> (ret); | 678 | 978 | } |
OT::AxisValueFormat3* hb_serialize_context_t::allocate_size<OT::AxisValueFormat3>(unsigned long, bool) Line | Count | Source | 665 | 4 | { | 666 | 4 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 4 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 4 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 4 | char *ret = this->head; | 676 | 4 | this->head += size; | 677 | 4 | return reinterpret_cast<Type *> (ret); | 678 | 4 | } |
OT::AxisValueFormat4* hb_serialize_context_t::allocate_size<OT::AxisValueFormat4>(unsigned long, bool) Line | Count | Source | 665 | 10 | { | 666 | 10 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 10 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 10 | if (clear) | 674 | 10 | hb_memset (this->head, 0, size); | 675 | 10 | char *ret = this->head; | 676 | 10 | this->head += size; | 677 | 10 | return reinterpret_cast<Type *> (ret); | 678 | 10 | } |
OT::OffsetTo<OT::AxisValue, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::AxisValue, OT::NumType<true, unsigned short, 2u>, void, true> >(unsigned long, bool) Line | Count | Source | 665 | 2.73k | { | 666 | 2.73k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.73k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 2.73k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 2.73k | char *ret = this->head; | 676 | 2.73k | this->head += size; | 677 | 2.73k | return reinterpret_cast<Type *> (ret); | 678 | 2.73k | } |
OT::STAT* hb_serialize_context_t::allocate_size<OT::STAT>(unsigned long, bool) Line | Count | Source | 665 | 371 | { | 666 | 371 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 371 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 371 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 371 | char *ret = this->head; | 676 | 371 | this->head += size; | 677 | 371 | return reinterpret_cast<Type *> (ret); | 678 | 371 | } |
OT::StatAxisRecord* hb_serialize_context_t::allocate_size<OT::StatAxisRecord>(unsigned long, bool) Line | Count | Source | 665 | 887 | { | 666 | 887 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 887 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 887 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 887 | char *ret = this->head; | 676 | 887 | this->head += size; | 677 | 887 | return reinterpret_cast<Type *> (ret); | 678 | 887 | } |
OT::HBFixed<OT::NumType<true, int, 4u>, 16u>* hb_serialize_context_t::allocate_size<OT::HBFixed<OT::NumType<true, int, 4u>, 16u> >(unsigned long, bool) Line | Count | Source | 665 | 4.65k | { | 666 | 4.65k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 4.65k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 4.65k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 4.65k | char *ret = this->head; | 676 | 4.65k | this->head += size; | 677 | 4.65k | return reinterpret_cast<Type *> (ret); | 678 | 4.65k | } |
OT::AxisRecord* hb_serialize_context_t::allocate_size<OT::AxisRecord>(unsigned long, bool) Line | Count | Source | 665 | 20.9k | { | 666 | 20.9k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 20.9k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 20.9k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 20.9k | char *ret = this->head; | 676 | 20.9k | this->head += size; | 677 | 20.9k | return reinterpret_cast<Type *> (ret); | 678 | 20.9k | } |
OT::fvar* hb_serialize_context_t::allocate_size<OT::fvar>(unsigned long, bool) Line | Count | Source | 665 | 1.16k | { | 666 | 1.16k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.16k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.16k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.16k | char *ret = this->head; | 676 | 1.16k | this->head += size; | 677 | 1.16k | return reinterpret_cast<Type *> (ret); | 678 | 1.16k | } |
OT::AxisValueMap* hb_serialize_context_t::allocate_size<OT::AxisValueMap>(unsigned long, bool) Line | Count | Source | 665 | 1.51k | { | 666 | 1.51k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.51k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.51k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.51k | char *ret = this->head; | 676 | 1.51k | this->head += size; | 677 | 1.51k | return reinterpret_cast<Type *> (ret); | 678 | 1.51k | } |
OT::SegmentMaps* hb_serialize_context_t::allocate_size<OT::SegmentMaps>(unsigned long, bool) Line | Count | Source | 665 | 292 | { | 666 | 292 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 292 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 292 | if (clear) | 674 | 292 | hb_memset (this->head, 0, size); | 675 | 292 | char *ret = this->head; | 676 | 292 | this->head += size; | 677 | 292 | return reinterpret_cast<Type *> (ret); | 678 | 292 | } |
OT::avar* hb_serialize_context_t::allocate_size<OT::avar>(unsigned long, bool) Line | Count | Source | 665 | 203 | { | 666 | 203 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 203 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 203 | if (clear) | 674 | 203 | hb_memset (this->head, 0, size); | 675 | 203 | char *ret = this->head; | 676 | 203 | this->head += size; | 677 | 203 | return reinterpret_cast<Type *> (ret); | 678 | 203 | } |
Unexecuted instantiation: OT::avarV2Tail* hb_serialize_context_t::allocate_size<OT::avarV2Tail>(unsigned long, bool) OT::VORGFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::VORGFormat1_2<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 125 | { | 666 | 125 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 125 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 125 | if (clear) | 674 | 125 | hb_memset (this->head, 0, size); | 675 | 125 | char *ret = this->head; | 676 | 125 | this->head += size; | 677 | 125 | return reinterpret_cast<Type *> (ret); | 678 | 125 | } |
OT::VertOriginMetric<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::VertOriginMetric<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 88 | { | 666 | 88 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 88 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 88 | if (clear) | 674 | 88 | hb_memset (this->head, 0, size); | 675 | 88 | char *ret = this->head; | 676 | 88 | this->head += size; | 677 | 88 | return reinterpret_cast<Type *> (ret); | 678 | 88 | } |
OT::VORGFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::VORGFormat1_2<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 39 | { | 666 | 39 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 39 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 39 | if (clear) | 674 | 39 | hb_memset (this->head, 0, size); | 675 | 39 | char *ret = this->head; | 676 | 39 | this->head += size; | 677 | 39 | return reinterpret_cast<Type *> (ret); | 678 | 39 | } |
OT::VertOriginMetric<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::VertOriginMetric<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 394 | { | 666 | 394 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 394 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 394 | if (clear) | 674 | 394 | hb_memset (this->head, 0, size); | 675 | 394 | char *ret = this->head; | 676 | 394 | this->head += size; | 677 | 394 | return reinterpret_cast<Type *> (ret); | 678 | 394 | } |
OT::BaseCoordFormat1* hb_serialize_context_t::allocate_size<OT::BaseCoordFormat1>(unsigned long, bool) Line | Count | Source | 665 | 4.11k | { | 666 | 4.11k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 4.11k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 4.11k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 4.11k | char *ret = this->head; | 676 | 4.11k | this->head += size; | 677 | 4.11k | return reinterpret_cast<Type *> (ret); | 678 | 4.11k | } |
OT::BaseCoordFormat3* hb_serialize_context_t::allocate_size<OT::BaseCoordFormat3>(unsigned long, bool) Line | Count | Source | 665 | 2.43k | { | 666 | 2.43k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.43k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 2.43k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 2.43k | char *ret = this->head; | 676 | 2.43k | this->head += size; | 677 | 2.43k | return reinterpret_cast<Type *> (ret); | 678 | 2.43k | } |
OT::FeatMinMaxRecord* hb_serialize_context_t::allocate_size<OT::FeatMinMaxRecord>(unsigned long, bool) Line | Count | Source | 665 | 224 | { | 666 | 224 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 224 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 224 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 224 | char *ret = this->head; | 676 | 224 | this->head += size; | 677 | 224 | return reinterpret_cast<Type *> (ret); | 678 | 224 | } |
OT::BaseCoordFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::BaseCoordFormat2_4<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 3.45k | { | 666 | 3.45k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 3.45k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 3.45k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 3.45k | char *ret = this->head; | 676 | 3.45k | this->head += size; | 677 | 3.45k | return reinterpret_cast<Type *> (ret); | 678 | 3.45k | } |
OT::BaseCoordFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::BaseCoordFormat2_4<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 90 | { | 666 | 90 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 90 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 90 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 90 | char *ret = this->head; | 676 | 90 | this->head += size; | 677 | 90 | return reinterpret_cast<Type *> (ret); | 678 | 90 | } |
OT::MinMax* hb_serialize_context_t::allocate_size<OT::MinMax>(unsigned long, bool) Line | Count | Source | 665 | 1.35k | { | 666 | 1.35k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.35k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.35k | if (clear) | 674 | 1.35k | hb_memset (this->head, 0, size); | 675 | 1.35k | char *ret = this->head; | 676 | 1.35k | this->head += size; | 677 | 1.35k | return reinterpret_cast<Type *> (ret); | 678 | 1.35k | } |
OT::BaseValues* hb_serialize_context_t::allocate_size<OT::BaseValues>(unsigned long, bool) Line | Count | Source | 665 | 2.68k | { | 666 | 2.68k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.68k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 2.68k | if (clear) | 674 | 2.68k | hb_memset (this->head, 0, size); | 675 | 2.68k | char *ret = this->head; | 676 | 2.68k | this->head += size; | 677 | 2.68k | return reinterpret_cast<Type *> (ret); | 678 | 2.68k | } |
OT::ArrayOf<OT::OffsetTo<OT::BaseCoord, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::OffsetTo<OT::BaseCoord, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 7.67k | { | 666 | 7.67k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 7.67k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 7.67k | if (clear) | 674 | 7.67k | hb_memset (this->head, 0, size); | 675 | 7.67k | char *ret = this->head; | 676 | 7.67k | this->head += size; | 677 | 7.67k | return reinterpret_cast<Type *> (ret); | 678 | 7.67k | } |
OT::BaseLangSysRecord* hb_serialize_context_t::allocate_size<OT::BaseLangSysRecord>(unsigned long, bool) Line | Count | Source | 665 | 1.77k | { | 666 | 1.77k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.77k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.77k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.77k | char *ret = this->head; | 676 | 1.77k | this->head += size; | 677 | 1.77k | return reinterpret_cast<Type *> (ret); | 678 | 1.77k | } |
OT::BaseScript* hb_serialize_context_t::allocate_size<OT::BaseScript>(unsigned long, bool) Line | Count | Source | 665 | 3.12k | { | 666 | 3.12k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 3.12k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 3.12k | if (clear) | 674 | 3.12k | hb_memset (this->head, 0, size); | 675 | 3.12k | char *ret = this->head; | 676 | 3.12k | this->head += size; | 677 | 3.12k | return reinterpret_cast<Type *> (ret); | 678 | 3.12k | } |
OT::BaseScriptRecord* hb_serialize_context_t::allocate_size<OT::BaseScriptRecord>(unsigned long, bool) Line | Count | Source | 665 | 3.51k | { | 666 | 3.51k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 3.46k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 3.46k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 3.46k | char *ret = this->head; | 676 | 3.46k | this->head += size; | 677 | 3.46k | return reinterpret_cast<Type *> (ret); | 678 | 3.46k | } |
OT::BaseScriptList* hb_serialize_context_t::allocate_size<OT::BaseScriptList>(unsigned long, bool) Line | Count | Source | 665 | 937 | { | 666 | 937 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 937 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 937 | if (clear) | 674 | 937 | hb_memset (this->head, 0, size); | 675 | 937 | char *ret = this->head; | 676 | 937 | this->head += size; | 677 | 937 | return reinterpret_cast<Type *> (ret); | 678 | 937 | } |
OT::Axis* hb_serialize_context_t::allocate_size<OT::Axis>(unsigned long, bool) Line | Count | Source | 665 | 1.13k | { | 666 | 1.13k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.08k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.08k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.08k | char *ret = this->head; | 676 | 1.08k | this->head += size; | 677 | 1.08k | return reinterpret_cast<Type *> (ret); | 678 | 1.08k | } |
OT::ArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::ArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 928 | { | 666 | 928 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 928 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 928 | if (clear) | 674 | 928 | hb_memset (this->head, 0, size); | 675 | 928 | char *ret = this->head; | 676 | 928 | this->head += size; | 677 | 928 | return reinterpret_cast<Type *> (ret); | 678 | 928 | } |
OT::Tag* hb_serialize_context_t::allocate_size<OT::Tag>(unsigned long, bool) Line | Count | Source | 665 | 928 | { | 666 | 928 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 928 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 72 | { | 670 | 72 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 72 | return nullptr; | 672 | 72 | } | 673 | 856 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 856 | char *ret = this->head; | 676 | 856 | this->head += size; | 677 | 856 | return reinterpret_cast<Type *> (ret); | 678 | 928 | } |
OT::BASE* hb_serialize_context_t::allocate_size<OT::BASE>(unsigned long, bool) Line | Count | Source | 665 | 735 | { | 666 | 735 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 735 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 735 | if (clear) | 674 | 735 | hb_memset (this->head, 0, size); | 675 | 735 | char *ret = this->head; | 676 | 735 | this->head += size; | 677 | 735 | return reinterpret_cast<Type *> (ret); | 678 | 735 | } |
OT::FixedVersion<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::FixedVersion<OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 148 | { | 666 | 148 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 148 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 148 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 148 | char *ret = this->head; | 676 | 148 | this->head += size; | 677 | 148 | return reinterpret_cast<Type *> (ret); | 678 | 148 | } |
OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) Line | Count | Source | 665 | 148 | { | 666 | 148 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 148 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 148 | if (clear) | 674 | 148 | hb_memset (this->head, 0, size); | 675 | 148 | char *ret = this->head; | 676 | 148 | this->head += size; | 677 | 148 | return reinterpret_cast<Type *> (ret); | 678 | 148 | } |
OT::MathValueRecord* hb_serialize_context_t::allocate_size<OT::MathValueRecord>(unsigned long, bool) Line | Count | Source | 665 | 44.1M | { | 666 | 44.1M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 44.0M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 104 | { | 670 | 104 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 104 | return nullptr; | 672 | 104 | } | 673 | 44.0M | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 44.0M | char *ret = this->head; | 676 | 44.0M | this->head += size; | 677 | 44.0M | return reinterpret_cast<Type *> (ret); | 678 | 44.0M | } |
OT::MathItalicsCorrectionInfo* hb_serialize_context_t::allocate_size<OT::MathItalicsCorrectionInfo>(unsigned long, bool) Line | Count | Source | 665 | 533 | { | 666 | 533 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 533 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 533 | if (clear) | 674 | 533 | hb_memset (this->head, 0, size); | 675 | 533 | char *ret = this->head; | 676 | 533 | this->head += size; | 677 | 533 | return reinterpret_cast<Type *> (ret); | 678 | 533 | } |
OT::MathTopAccentAttachment* hb_serialize_context_t::allocate_size<OT::MathTopAccentAttachment>(unsigned long, bool) Line | Count | Source | 665 | 772 | { | 666 | 772 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 772 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 770 | if (clear) | 674 | 770 | hb_memset (this->head, 0, size); | 675 | 770 | char *ret = this->head; | 676 | 770 | this->head += size; | 677 | 770 | return reinterpret_cast<Type *> (ret); | 678 | 772 | } |
OT::MathKernInfoRecord* hb_serialize_context_t::allocate_size<OT::MathKernInfoRecord>(unsigned long, bool) Line | Count | Source | 665 | 3.73M | { | 666 | 3.73M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 2.69M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 6 | { | 670 | 6 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 6 | return nullptr; | 672 | 6 | } | 673 | 2.69M | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 2.69M | char *ret = this->head; | 676 | 2.69M | this->head += size; | 677 | 2.69M | return reinterpret_cast<Type *> (ret); | 678 | 2.69M | } |
OT::MathKernInfo* hb_serialize_context_t::allocate_size<OT::MathKernInfo>(unsigned long, bool) Line | Count | Source | 665 | 619 | { | 666 | 619 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 619 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 617 | if (clear) | 674 | 617 | hb_memset (this->head, 0, size); | 675 | 617 | char *ret = this->head; | 676 | 617 | this->head += size; | 677 | 617 | return reinterpret_cast<Type *> (ret); | 678 | 619 | } |
OT::MathGlyphInfo* hb_serialize_context_t::allocate_size<OT::MathGlyphInfo>(unsigned long, bool) Line | Count | Source | 665 | 1.02k | { | 666 | 1.02k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 975 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 973 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 973 | char *ret = this->head; | 676 | 973 | this->head += size; | 677 | 973 | return reinterpret_cast<Type *> (ret); | 678 | 975 | } |
OT::MathGlyphVariantRecord* hb_serialize_context_t::allocate_size<OT::MathGlyphVariantRecord>(unsigned long, bool) Line | Count | Source | 665 | 3.19k | { | 666 | 3.19k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 3.12k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 4 | { | 670 | 4 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 4 | return nullptr; | 672 | 4 | } | 673 | 3.11k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 3.11k | char *ret = this->head; | 676 | 3.11k | this->head += size; | 677 | 3.11k | return reinterpret_cast<Type *> (ret); | 678 | 3.12k | } |
OT::MathGlyphPartRecord* hb_serialize_context_t::allocate_size<OT::MathGlyphPartRecord>(unsigned long, bool) Line | Count | Source | 665 | 1.74k | { | 666 | 1.74k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.74k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.74k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.74k | char *ret = this->head; | 676 | 1.74k | this->head += size; | 677 | 1.74k | return reinterpret_cast<Type *> (ret); | 678 | 1.74k | } |
OT::MathGlyphConstruction* hb_serialize_context_t::allocate_size<OT::MathGlyphConstruction>(unsigned long, bool) Line | Count | Source | 665 | 1.43k | { | 666 | 1.43k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.43k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.43k | if (clear) | 674 | 1.43k | hb_memset (this->head, 0, size); | 675 | 1.43k | char *ret = this->head; | 676 | 1.43k | this->head += size; | 677 | 1.43k | return reinterpret_cast<Type *> (ret); | 678 | 1.43k | } |
OT::MathVariants* hb_serialize_context_t::allocate_size<OT::MathVariants>(unsigned long, bool) Line | Count | Source | 665 | 715 | { | 666 | 715 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 715 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 713 | if (clear) | 674 | 713 | hb_memset (this->head, 0, size); | 675 | 713 | char *ret = this->head; | 676 | 713 | this->head += size; | 677 | 713 | return reinterpret_cast<Type *> (ret); | 678 | 715 | } |
OT::OffsetTo<OT::MathGlyphConstruction, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::allocate_size<OT::OffsetTo<OT::MathGlyphConstruction, OT::NumType<true, unsigned short, 2u>, void, true> >(unsigned long, bool) Line | Count | Source | 665 | 1.84M | { | 666 | 1.84M | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.84M | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 12 | { | 670 | 12 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 12 | return nullptr; | 672 | 12 | } | 673 | 1.84M | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.84M | char *ret = this->head; | 676 | 1.84M | this->head += size; | 677 | 1.84M | return reinterpret_cast<Type *> (ret); | 678 | 1.84M | } |
OT::MATH* hb_serialize_context_t::allocate_size<OT::MATH>(unsigned long, bool) Line | Count | Source | 665 | 1.04k | { | 666 | 1.04k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.04k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 1.04k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 1.04k | char *ret = this->head; | 676 | 1.04k | this->head += size; | 677 | 1.04k | return reinterpret_cast<Type *> (ret); | 678 | 1.04k | } |
OT::VARC* hb_serialize_context_t::allocate_size<OT::VARC>(unsigned long, bool) Line | Count | Source | 665 | 91 | { | 666 | 91 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 91 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 91 | if (clear) | 674 | 91 | hb_memset (this->head, 0, size); | 675 | 91 | char *ret = this->head; | 676 | 91 | this->head += size; | 677 | 91 | return reinterpret_cast<Type *> (ret); | 678 | 91 | } |
OT::gvar_GVAR<OT::gvar, OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::gvar_GVAR<OT::gvar, OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 646 | { | 666 | 646 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 646 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 646 | if (clear) | 674 | 646 | hb_memset (this->head, 0, size); | 675 | 646 | char *ret = this->head; | 676 | 646 | this->head += size; | 677 | 646 | return reinterpret_cast<Type *> (ret); | 678 | 646 | } |
OT::HBFixed<OT::NumType<true, short, 2u>, 14u>* hb_serialize_context_t::allocate_size<OT::HBFixed<OT::NumType<true, short, 2u>, 14u> >(unsigned long, bool) Line | Count | Source | 665 | 558 | { | 666 | 558 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 558 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 2 | { | 670 | 2 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 2 | return nullptr; | 672 | 2 | } | 673 | 556 | if (clear) | 674 | 556 | hb_memset (this->head, 0, size); | 675 | 556 | char *ret = this->head; | 676 | 556 | this->head += size; | 677 | 556 | return reinterpret_cast<Type *> (ret); | 678 | 558 | } |
Unexecuted instantiation: OT::TupleVariationData<OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::allocate_size<OT::TupleVariationData<OT::NumType<true, unsigned int, 3u> > >(unsigned long, bool) OT::gvar_GVAR<OT::GVAR, OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::gvar_GVAR<OT::GVAR, OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 137 | { | 666 | 137 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 137 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 137 | if (clear) | 674 | 137 | hb_memset (this->head, 0, size); | 675 | 137 | char *ret = this->head; | 676 | 137 | this->head += size; | 677 | 137 | return reinterpret_cast<Type *> (ret); | 678 | 137 | } |
OT::hdmx* hb_serialize_context_t::allocate_size<OT::hdmx>(unsigned long, bool) Line | Count | Source | 665 | 140 | { | 666 | 140 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 140 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 140 | if (clear) | 674 | 140 | hb_memset (this->head, 0, size); | 675 | 140 | char *ret = this->head; | 676 | 140 | this->head += size; | 677 | 140 | return reinterpret_cast<Type *> (ret); | 678 | 140 | } |
OT::DeviceRecord* hb_serialize_context_t::allocate_size<OT::DeviceRecord>(unsigned long, bool) Line | Count | Source | 665 | 3.05k | { | 666 | 3.05k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 3.05k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 73 | { | 670 | 73 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 73 | return nullptr; | 672 | 73 | } | 673 | 2.97k | if (clear) | 674 | 2.97k | hb_memset (this->head, 0, size); | 675 | 2.97k | char *ret = this->head; | 676 | 2.97k | this->head += size; | 677 | 2.97k | return reinterpret_cast<Type *> (ret); | 678 | 3.05k | } |
OT::LongMetric* hb_serialize_context_t::allocate_size<OT::LongMetric>(unsigned long, bool) Line | Count | Source | 665 | 6.61k | { | 666 | 6.61k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 6.61k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 205 | { | 670 | 205 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 205 | return nullptr; | 672 | 205 | } | 673 | 6.40k | if (clear) | 674 | 6.40k | hb_memset (this->head, 0, size); | 675 | 6.40k | char *ret = this->head; | 676 | 6.40k | this->head += size; | 677 | 6.40k | return reinterpret_cast<Type *> (ret); | 678 | 6.61k | } |
OT::maxp_MAXP<OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_size<OT::maxp_MAXP<OT::Layout::SmallTypes> >(unsigned long, bool) Line | Count | Source | 665 | 15.1k | { | 666 | 15.1k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 15.1k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 15.1k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 15.1k | char *ret = this->head; | 676 | 15.1k | this->head += size; | 677 | 15.1k | return reinterpret_cast<Type *> (ret); | 678 | 15.1k | } |
OT::maxpV1Tail* hb_serialize_context_t::allocate_size<OT::maxpV1Tail>(unsigned long, bool) Line | Count | Source | 665 | 12.5k | { | 666 | 12.5k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 12.5k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 12.5k | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 12.5k | char *ret = this->head; | 676 | 12.5k | this->head += size; | 677 | 12.5k | return reinterpret_cast<Type *> (ret); | 678 | 12.5k | } |
OT::maxp_MAXP<OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_size<OT::maxp_MAXP<OT::Layout::MediumTypes> >(unsigned long, bool) Line | Count | Source | 665 | 33 | { | 666 | 33 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 33 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 33 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 33 | char *ret = this->head; | 676 | 33 | this->head += size; | 677 | 33 | return reinterpret_cast<Type *> (ret); | 678 | 33 | } |
OT::cff1* hb_serialize_context_t::allocate_size<OT::cff1>(unsigned long, bool) Line | Count | Source | 665 | 4.57k | { | 666 | 4.57k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 4.57k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 4.57k | if (clear) | 674 | 4.57k | hb_memset (this->head, 0, size); | 675 | 4.57k | char *ret = this->head; | 676 | 4.57k | this->head += size; | 677 | 4.57k | return reinterpret_cast<Type *> (ret); | 678 | 4.57k | } |
CFF::FDSelect3_4_Range<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned char, 1u> >* hb_serialize_context_t::allocate_size<CFF::FDSelect3_4_Range<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned char, 1u> > >(unsigned long, bool) Line | Count | Source | 665 | 233 | { | 666 | 233 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 233 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 233 | if (clear) | 674 | 0 | hb_memset (this->head, 0, size); | 675 | 233 | char *ret = this->head; | 676 | 233 | this->head += size; | 677 | 233 | return reinterpret_cast<Type *> (ret); | 678 | 233 | } |
OT::cff2* hb_serialize_context_t::allocate_size<OT::cff2>(unsigned long, bool) Line | Count | Source | 665 | 1.98k | { | 666 | 1.98k | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 1.98k | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 1 | { | 670 | 1 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 1 | return nullptr; | 672 | 1 | } | 673 | 1.98k | if (clear) | 674 | 1.98k | hb_memset (this->head, 0, size); | 675 | 1.98k | char *ret = this->head; | 676 | 1.98k | this->head += size; | 677 | 1.98k | return reinterpret_cast<Type *> (ret); | 678 | 1.98k | } |
CFF::FDSelect3_4<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned char, 1u> >* hb_serialize_context_t::allocate_size<CFF::FDSelect3_4<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned char, 1u> > >(unsigned long, bool) Line | Count | Source | 665 | 441 | { | 666 | 441 | if (unlikely (in_error ())) return nullptr; | 667 | | | 668 | 441 | if (unlikely (size > INT_MAX || this->tail - this->head < ptrdiff_t (size))) | 669 | 0 | { | 670 | 0 | err (HB_SERIALIZE_ERROR_OUT_OF_ROOM); | 671 | 0 | return nullptr; | 672 | 0 | } | 673 | 441 | if (clear) | 674 | 441 | hb_memset (this->head, 0, size); | 675 | 441 | char *ret = this->head; | 676 | 441 | this->head += size; | 677 | 441 | return reinterpret_cast<Type *> (ret); | 678 | 441 | } |
Unexecuted instantiation: CFF::FDSelect3_4<OT::NumType<true, unsigned int, 4u>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::allocate_size<CFF::FDSelect3_4<OT::NumType<true, unsigned int, 4u>, OT::NumType<true, unsigned short, 2u> > >(unsigned long, bool) |
679 | | |
680 | | template <typename Type> |
681 | | Type *allocate_min () |
682 | 13.9k | { return this->allocate_size<Type> (Type::min_size); }OT::HVAR* hb_serialize_context_t::allocate_min<OT::HVAR>() Line | Count | Source | 682 | 2.37k | { return this->allocate_size<Type> (Type::min_size); } |
OT::VVAR* hb_serialize_context_t::allocate_min<OT::VVAR>() Line | Count | Source | 682 | 184 | { return this->allocate_size<Type> (Type::min_size); } |
OT::post* hb_serialize_context_t::allocate_min<OT::post>() Line | Count | Source | 682 | 3.41k | { return this->allocate_size<Type> (Type::min_size); } |
OT::avar* hb_serialize_context_t::allocate_min<OT::avar>() Line | Count | Source | 682 | 203 | { return this->allocate_size<Type> (Type::min_size); } |
OT::gvar_GVAR<OT::gvar, OT::Layout::SmallTypes>* hb_serialize_context_t::allocate_min<OT::gvar_GVAR<OT::gvar, OT::Layout::SmallTypes> >() Line | Count | Source | 682 | 646 | { return this->allocate_size<Type> (Type::min_size); } |
OT::gvar_GVAR<OT::GVAR, OT::Layout::MediumTypes>* hb_serialize_context_t::allocate_min<OT::gvar_GVAR<OT::GVAR, OT::Layout::MediumTypes> >() Line | Count | Source | 682 | 137 | { return this->allocate_size<Type> (Type::min_size); } |
OT::cff1* hb_serialize_context_t::allocate_min<OT::cff1>() Line | Count | Source | 682 | 4.57k | { return this->allocate_size<Type> (Type::min_size); } |
OT::cff2* hb_serialize_context_t::allocate_min<OT::cff2>() Line | Count | Source | 682 | 1.98k | { return this->allocate_size<Type> (Type::min_size); } |
CFF::FDSelect* hb_serialize_context_t::allocate_min<CFF::FDSelect>() Line | Count | Source | 682 | 441 | { return this->allocate_size<Type> (Type::min_size); } |
|
683 | | |
684 | | template <typename Type> |
685 | | HB_NODISCARD |
686 | | Type *embed (const Type *obj) |
687 | 71.8M | { |
688 | 71.8M | size_t size = obj->get_size (); |
689 | 71.8M | Type *ret = this->allocate_size<Type> (size, false); |
690 | 71.8M | if (unlikely (!ret)) return nullptr; |
691 | 70.7M | hb_memcpy (ret, obj, size); |
692 | 70.7M | return ret; |
693 | 71.8M | } Unexecuted instantiation: OT::FeatureParamsSize* hb_serialize_context_t::embed<OT::FeatureParamsSize>(OT::FeatureParamsSize const*) Unexecuted instantiation: OT::FeatureParamsCharacterVariants* hb_serialize_context_t::embed<OT::FeatureParamsCharacterVariants>(OT::FeatureParamsCharacterVariants const*) Unexecuted instantiation: OT::LangSys* hb_serialize_context_t::embed<OT::LangSys>(OT::LangSys const*) Unexecuted instantiation: OT::SparseVarRegionAxis* hb_serialize_context_t::embed<OT::SparseVarRegionAxis>(OT::SparseVarRegionAxis const*) Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::embed<OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned short, 2u> > >(OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned short, 2u> > const*) Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::embed<OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> > >(OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> > const*) Unexecuted instantiation: OT::FeatureVariations* hb_serialize_context_t::embed<OT::FeatureVariations>(OT::FeatureVariations const*) Unexecuted instantiation: OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::embed<OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::MediumTypes> const*) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::embed<OT::Layout::GPOS_impl::MarkRecord<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkRecord<OT::Layout::MediumTypes> const*) Unexecuted instantiation: OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true> const*) Unexecuted instantiation: OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true> const*) Unexecuted instantiation: OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true> const*) Unexecuted instantiation: OT::SegmentMaps* hb_serialize_context_t::embed<OT::SegmentMaps>(OT::SegmentMaps const*) Unexecuted instantiation: CFF::Encoding* hb_serialize_context_t::embed<CFF::Encoding>(CFF::Encoding const*) Unexecuted instantiation: OT::FeatureParamsSize* hb_serialize_context_t::embed<OT::FeatureParamsSize>(OT::FeatureParamsSize const*) OT::FeatureParamsStylisticSet* hb_serialize_context_t::embed<OT::FeatureParamsStylisticSet>(OT::FeatureParamsStylisticSet const*) Line | Count | Source | 687 | 5 | { | 688 | 5 | size_t size = obj->get_size (); | 689 | 5 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 5 | if (unlikely (!ret)) return nullptr; | 691 | 5 | hb_memcpy (ret, obj, size); | 692 | 5 | return ret; | 693 | 5 | } |
Unexecuted instantiation: OT::FeatureParamsCharacterVariants* hb_serialize_context_t::embed<OT::FeatureParamsCharacterVariants>(OT::FeatureParamsCharacterVariants const*) OT::Record<OT::Feature>* hb_serialize_context_t::embed<OT::Record<OT::Feature> >(OT::Record<OT::Feature> const*) Line | Count | Source | 687 | 22.7k | { | 688 | 22.7k | size_t size = obj->get_size (); | 689 | 22.7k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 22.7k | if (unlikely (!ret)) return nullptr; | 691 | 22.7k | hb_memcpy (ret, obj, size); | 692 | 22.7k | return ret; | 693 | 22.7k | } |
OT::Record<OT::LangSys>* hb_serialize_context_t::embed<OT::Record<OT::LangSys> >(OT::Record<OT::LangSys> const*) Line | Count | Source | 687 | 197k | { | 688 | 197k | size_t size = obj->get_size (); | 689 | 197k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 197k | if (unlikely (!ret)) return nullptr; | 691 | 196k | hb_memcpy (ret, obj, size); | 692 | 196k | return ret; | 693 | 197k | } |
OT::Record<OT::Script>* hb_serialize_context_t::embed<OT::Record<OT::Script> >(OT::Record<OT::Script> const*) Line | Count | Source | 687 | 1.20M | { | 688 | 1.20M | size_t size = obj->get_size (); | 689 | 1.20M | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.20M | if (unlikely (!ret)) return nullptr; | 691 | 1.20M | hb_memcpy (ret, obj, size); | 692 | 1.20M | return ret; | 693 | 1.20M | } |
OT::VarRegionAxis* hb_serialize_context_t::embed<OT::VarRegionAxis>(OT::VarRegionAxis const*) Line | Count | Source | 687 | 8.03k | { | 688 | 8.03k | size_t size = obj->get_size (); | 689 | 8.03k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 8.03k | if (unlikely (!ret)) return nullptr; | 691 | 8.03k | hb_memcpy (ret, obj, size); | 692 | 8.03k | return ret; | 693 | 8.03k | } |
OT::ConditionAxisRange* hb_serialize_context_t::embed<OT::ConditionAxisRange>(OT::ConditionAxisRange const*) Line | Count | Source | 687 | 814 | { | 688 | 814 | size_t size = obj->get_size (); | 689 | 814 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 814 | if (unlikely (!ret)) return nullptr; | 691 | 814 | hb_memcpy (ret, obj, size); | 692 | 814 | return ret; | 693 | 814 | } |
OT::ConditionValue* hb_serialize_context_t::embed<OT::ConditionValue>(OT::ConditionValue const*) Line | Count | Source | 687 | 551 | { | 688 | 551 | size_t size = obj->get_size (); | 689 | 551 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 551 | if (unlikely (!ret)) return nullptr; | 691 | 551 | hb_memcpy (ret, obj, size); | 692 | 551 | return ret; | 693 | 551 | } |
OT::ConditionNegate* hb_serialize_context_t::embed<OT::ConditionNegate>(OT::ConditionNegate const*) Line | Count | Source | 687 | 132 | { | 688 | 132 | size_t size = obj->get_size (); | 689 | 132 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 132 | if (unlikely (!ret)) return nullptr; | 691 | 132 | hb_memcpy (ret, obj, size); | 692 | 132 | return ret; | 693 | 132 | } |
OT::FeatureTableSubstitutionRecord* hb_serialize_context_t::embed<OT::FeatureTableSubstitutionRecord>(OT::FeatureTableSubstitutionRecord const*) Line | Count | Source | 687 | 1.06k | { | 688 | 1.06k | size_t size = obj->get_size (); | 689 | 1.06k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.06k | if (unlikely (!ret)) return nullptr; | 691 | 1.06k | hb_memcpy (ret, obj, size); | 692 | 1.06k | return ret; | 693 | 1.06k | } |
OT::FeatureVariationRecord* hb_serialize_context_t::embed<OT::FeatureVariationRecord>(OT::FeatureVariationRecord const*) Line | Count | Source | 687 | 947 | { | 688 | 947 | size_t size = obj->get_size (); | 689 | 947 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 947 | if (unlikely (!ret)) return nullptr; | 691 | 947 | hb_memcpy (ret, obj, size); | 692 | 947 | return ret; | 693 | 947 | } |
OT::LookupConditionRecord* hb_serialize_context_t::embed<OT::LookupConditionRecord>(OT::LookupConditionRecord const*) Line | Count | Source | 687 | 196 | { | 688 | 196 | size_t size = obj->get_size (); | 689 | 196 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 196 | if (unlikely (!ret)) return nullptr; | 691 | 196 | hb_memcpy (ret, obj, size); | 692 | 196 | return ret; | 693 | 196 | } |
OT::LookupVariationRecord* hb_serialize_context_t::embed<OT::LookupVariationRecord>(OT::LookupVariationRecord const*) Line | Count | Source | 687 | 134 | { | 688 | 134 | size_t size = obj->get_size (); | 689 | 134 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 134 | if (unlikely (!ret)) return nullptr; | 691 | 134 | hb_memcpy (ret, obj, size); | 692 | 134 | return ret; | 693 | 134 | } |
OT::HintingDevice* hb_serialize_context_t::embed<OT::HintingDevice>(OT::HintingDevice const*) Line | Count | Source | 687 | 175k | { | 688 | 175k | size_t size = obj->get_size (); | 689 | 175k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 175k | if (unlikely (!ret)) return nullptr; | 691 | 174k | hb_memcpy (ret, obj, size); | 692 | 174k | return ret; | 693 | 175k | } |
OT::VariationDevice* hb_serialize_context_t::embed<OT::VariationDevice>(OT::VariationDevice const*) Line | Count | Source | 687 | 57.3k | { | 688 | 57.3k | size_t size = obj->get_size (); | 689 | 57.3k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 57.3k | if (unlikely (!ret)) return nullptr; | 691 | 57.3k | hb_memcpy (ret, obj, size); | 692 | 57.3k | return ret; | 693 | 57.3k | } |
OT::CaretValueFormat1* hb_serialize_context_t::embed<OT::CaretValueFormat1>(OT::CaretValueFormat1 const*) Line | Count | Source | 687 | 4.56M | { | 688 | 4.56M | size_t size = obj->get_size (); | 689 | 4.56M | Type *ret = this->allocate_size<Type> (size, false); | 690 | 4.56M | if (unlikely (!ret)) return nullptr; | 691 | 4.56M | hb_memcpy (ret, obj, size); | 692 | 4.56M | return ret; | 693 | 4.56M | } |
OT::CaretValueFormat2* hb_serialize_context_t::embed<OT::CaretValueFormat2>(OT::CaretValueFormat2 const*) Line | Count | Source | 687 | 2.84M | { | 688 | 2.84M | size_t size = obj->get_size (); | 689 | 2.84M | Type *ret = this->allocate_size<Type> (size, false); | 690 | 2.84M | if (unlikely (!ret)) return nullptr; | 691 | 2.84M | hb_memcpy (ret, obj, size); | 692 | 2.84M | return ret; | 693 | 2.84M | } |
OT::NumType<true, unsigned short, 2u>* hb_serialize_context_t::embed<OT::NumType<true, unsigned short, 2u> >(OT::NumType<true, unsigned short, 2u> const*) Line | Count | Source | 687 | 1.44M | { | 688 | 1.44M | size_t size = obj->get_size (); | 689 | 1.44M | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.44M | if (unlikely (!ret)) return nullptr; | 691 | 1.43M | hb_memcpy (ret, obj, size); | 692 | 1.43M | return ret; | 693 | 1.44M | } |
OT::NumType<true, short, 2u>* hb_serialize_context_t::embed<OT::NumType<true, short, 2u> >(OT::NumType<true, short, 2u> const*) Line | Count | Source | 687 | 1.29M | { | 688 | 1.29M | size_t size = obj->get_size (); | 689 | 1.29M | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.29M | if (unlikely (!ret)) return nullptr; | 691 | 1.29M | hb_memcpy (ret, obj, size); | 692 | 1.29M | return ret; | 693 | 1.29M | } |
OT::OffsetTo<OT::Device, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Device, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Device, OT::NumType<true, unsigned short, 2u>, void, true> const*) Line | Count | Source | 687 | 1.29M | { | 688 | 1.29M | size_t size = obj->get_size (); | 689 | 1.29M | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.29M | if (unlikely (!ret)) return nullptr; | 691 | 1.29M | hb_memcpy (ret, obj, size); | 692 | 1.29M | return ret; | 693 | 1.29M | } |
OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned short, 2u>, void, true> const*) Line | Count | Source | 687 | 6.85k | { | 688 | 6.85k | size_t size = obj->get_size (); | 689 | 6.85k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 6.85k | if (unlikely (!ret)) return nullptr; | 691 | 6.85k | hb_memcpy (ret, obj, size); | 692 | 6.85k | return ret; | 693 | 6.85k | } |
OT::OffsetTo<OT::ItemVariationStore, OT::NumType<true, unsigned int, 4u>, void, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::ItemVariationStore, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::ItemVariationStore, OT::NumType<true, unsigned int, 4u>, void, true> const*) Line | Count | Source | 687 | 5.30k | { | 688 | 5.30k | size_t size = obj->get_size (); | 689 | 5.30k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 5.30k | if (unlikely (!ret)) return nullptr; | 691 | 5.30k | hb_memcpy (ret, obj, size); | 692 | 5.30k | return ret; | 693 | 5.30k | } |
OT::VariationValueRecord* hb_serialize_context_t::embed<OT::VariationValueRecord>(OT::VariationValueRecord const*) Line | Count | Source | 687 | 2.89k | { | 688 | 2.89k | size_t size = obj->get_size (); | 689 | 2.89k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 2.89k | if (unlikely (!ret)) return nullptr; | 691 | 2.89k | hb_memcpy (ret, obj, size); | 692 | 2.89k | return ret; | 693 | 2.89k | } |
OT::OS2* hb_serialize_context_t::embed<OT::OS2>(OT::OS2 const*) Line | Count | Source | 687 | 5.36k | { | 688 | 5.36k | size_t size = obj->get_size (); | 689 | 5.36k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 5.36k | if (unlikely (!ret)) return nullptr; | 691 | 5.36k | hb_memcpy (ret, obj, size); | 692 | 5.36k | return ret; | 693 | 5.36k | } |
OT::EncodingRecord* hb_serialize_context_t::embed<OT::EncodingRecord>(OT::EncodingRecord const*) Line | Count | Source | 687 | 10.7k | { | 688 | 10.7k | size_t size = obj->get_size (); | 689 | 10.7k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 10.7k | if (unlikely (!ret)) return nullptr; | 691 | 10.7k | hb_memcpy (ret, obj, size); | 692 | 10.7k | return ret; | 693 | 10.7k | } |
OT::VariationSelectorRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::embed<OT::VariationSelectorRecord<OT::Layout::SmallTypes> >(OT::VariationSelectorRecord<OT::Layout::SmallTypes> const*) Line | Count | Source | 687 | 684 | { | 688 | 684 | size_t size = obj->get_size (); | 689 | 684 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 684 | if (unlikely (!ret)) return nullptr; | 691 | 670 | hb_memcpy (ret, obj, size); | 692 | 670 | return ret; | 693 | 684 | } |
OT::VariationSelectorRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::embed<OT::VariationSelectorRecord<OT::Layout::MediumTypes> >(OT::VariationSelectorRecord<OT::Layout::MediumTypes> const*) Line | Count | Source | 687 | 320 | { | 688 | 320 | size_t size = obj->get_size (); | 689 | 320 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 320 | if (unlikely (!ret)) return nullptr; | 691 | 318 | hb_memcpy (ret, obj, size); | 692 | 318 | return ret; | 693 | 320 | } |
OT::ColorStop* hb_serialize_context_t::embed<OT::ColorStop>(OT::ColorStop const*) Line | Count | Source | 687 | 1.16M | { | 688 | 1.16M | size_t size = obj->get_size (); | 689 | 1.16M | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.16M | if (unlikely (!ret)) return nullptr; | 691 | 1.16M | hb_memcpy (ret, obj, size); | 692 | 1.16M | return ret; | 693 | 1.16M | } |
OT::Affine2x3* hb_serialize_context_t::embed<OT::Affine2x3>(OT::Affine2x3 const*) Line | Count | Source | 687 | 3.35k | { | 688 | 3.35k | size_t size = obj->get_size (); | 689 | 3.35k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 3.35k | if (unlikely (!ret)) return nullptr; | 691 | 3.35k | hb_memcpy (ret, obj, size); | 692 | 3.35k | return ret; | 693 | 3.35k | } |
OT::PaintColrLayers* hb_serialize_context_t::embed<OT::PaintColrLayers>(OT::PaintColrLayers const*) Line | Count | Source | 687 | 10.5k | { | 688 | 10.5k | size_t size = obj->get_size (); | 689 | 10.5k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 10.5k | if (unlikely (!ret)) return nullptr; | 691 | 10.5k | hb_memcpy (ret, obj, size); | 692 | 10.5k | return ret; | 693 | 10.5k | } |
OT::PaintSolid* hb_serialize_context_t::embed<OT::PaintSolid>(OT::PaintSolid const*) Line | Count | Source | 687 | 20.9k | { | 688 | 20.9k | size_t size = obj->get_size (); | 689 | 20.9k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 20.9k | if (unlikely (!ret)) return nullptr; | 691 | 20.9k | hb_memcpy (ret, obj, size); | 692 | 20.9k | return ret; | 693 | 20.9k | } |
OT::PaintColrGlyph* hb_serialize_context_t::embed<OT::PaintColrGlyph>(OT::PaintColrGlyph const*) Line | Count | Source | 687 | 3.33k | { | 688 | 3.33k | size_t size = obj->get_size (); | 689 | 3.33k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 3.33k | if (unlikely (!ret)) return nullptr; | 691 | 3.31k | hb_memcpy (ret, obj, size); | 692 | 3.31k | return ret; | 693 | 3.33k | } |
OT::PaintTranslate* hb_serialize_context_t::embed<OT::PaintTranslate>(OT::PaintTranslate const*) Line | Count | Source | 687 | 14.5k | { | 688 | 14.5k | size_t size = obj->get_size (); | 689 | 14.5k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 14.5k | if (unlikely (!ret)) return nullptr; | 691 | 14.4k | hb_memcpy (ret, obj, size); | 692 | 14.4k | return ret; | 693 | 14.5k | } |
OT::VarIdx* hb_serialize_context_t::embed<OT::VarIdx>(OT::VarIdx const*) Line | Count | Source | 687 | 278k | { | 688 | 278k | size_t size = obj->get_size (); | 689 | 278k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 278k | if (unlikely (!ret)) return nullptr; | 691 | 278k | hb_memcpy (ret, obj, size); | 692 | 278k | return ret; | 693 | 278k | } |
OT::PaintLinearGradient<OT::NoVariable>* hb_serialize_context_t::embed<OT::PaintLinearGradient<OT::NoVariable> >(OT::PaintLinearGradient<OT::NoVariable> const*) Line | Count | Source | 687 | 2.54k | { | 688 | 2.54k | size_t size = obj->get_size (); | 689 | 2.54k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 2.54k | if (unlikely (!ret)) return nullptr; | 691 | 2.51k | hb_memcpy (ret, obj, size); | 692 | 2.51k | return ret; | 693 | 2.54k | } |
OT::PaintLinearGradient<OT::Variable>* hb_serialize_context_t::embed<OT::PaintLinearGradient<OT::Variable> >(OT::PaintLinearGradient<OT::Variable> const*) Line | Count | Source | 687 | 2.68k | { | 688 | 2.68k | size_t size = obj->get_size (); | 689 | 2.68k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 2.68k | if (unlikely (!ret)) return nullptr; | 691 | 2.67k | hb_memcpy (ret, obj, size); | 692 | 2.67k | return ret; | 693 | 2.68k | } |
OT::PaintRadialGradient<OT::NoVariable>* hb_serialize_context_t::embed<OT::PaintRadialGradient<OT::NoVariable> >(OT::PaintRadialGradient<OT::NoVariable> const*) Line | Count | Source | 687 | 1.76k | { | 688 | 1.76k | size_t size = obj->get_size (); | 689 | 1.76k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.76k | if (unlikely (!ret)) return nullptr; | 691 | 1.75k | hb_memcpy (ret, obj, size); | 692 | 1.75k | return ret; | 693 | 1.76k | } |
OT::PaintRadialGradient<OT::Variable>* hb_serialize_context_t::embed<OT::PaintRadialGradient<OT::Variable> >(OT::PaintRadialGradient<OT::Variable> const*) Line | Count | Source | 687 | 2.30k | { | 688 | 2.30k | size_t size = obj->get_size (); | 689 | 2.30k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 2.30k | if (unlikely (!ret)) return nullptr; | 691 | 2.27k | hb_memcpy (ret, obj, size); | 692 | 2.27k | return ret; | 693 | 2.30k | } |
OT::PaintSweepGradient<OT::NoVariable>* hb_serialize_context_t::embed<OT::PaintSweepGradient<OT::NoVariable> >(OT::PaintSweepGradient<OT::NoVariable> const*) Line | Count | Source | 687 | 1.06k | { | 688 | 1.06k | size_t size = obj->get_size (); | 689 | 1.06k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.06k | if (unlikely (!ret)) return nullptr; | 691 | 1.05k | hb_memcpy (ret, obj, size); | 692 | 1.05k | return ret; | 693 | 1.06k | } |
OT::PaintSweepGradient<OT::Variable>* hb_serialize_context_t::embed<OT::PaintSweepGradient<OT::Variable> >(OT::PaintSweepGradient<OT::Variable> const*) Line | Count | Source | 687 | 8.27k | { | 688 | 8.27k | size_t size = obj->get_size (); | 689 | 8.27k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 8.27k | if (unlikely (!ret)) return nullptr; | 691 | 8.26k | hb_memcpy (ret, obj, size); | 692 | 8.26k | return ret; | 693 | 8.27k | } |
OT::PaintGlyph<OT::Layout::SmallTypes>* hb_serialize_context_t::embed<OT::PaintGlyph<OT::Layout::SmallTypes> >(OT::PaintGlyph<OT::Layout::SmallTypes> const*) Line | Count | Source | 687 | 13.5k | { | 688 | 13.5k | size_t size = obj->get_size (); | 689 | 13.5k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 13.5k | if (unlikely (!ret)) return nullptr; | 691 | 13.4k | hb_memcpy (ret, obj, size); | 692 | 13.4k | return ret; | 693 | 13.5k | } |
OT::PaintTransform<OT::NoVariable>* hb_serialize_context_t::embed<OT::PaintTransform<OT::NoVariable> >(OT::PaintTransform<OT::NoVariable> const*) Line | Count | Source | 687 | 2.91k | { | 688 | 2.91k | size_t size = obj->get_size (); | 689 | 2.91k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 2.91k | if (unlikely (!ret)) return nullptr; | 691 | 2.91k | hb_memcpy (ret, obj, size); | 692 | 2.91k | return ret; | 693 | 2.91k | } |
OT::PaintTransform<OT::Variable>* hb_serialize_context_t::embed<OT::PaintTransform<OT::Variable> >(OT::PaintTransform<OT::Variable> const*) Line | Count | Source | 687 | 1.06k | { | 688 | 1.06k | size_t size = obj->get_size (); | 689 | 1.06k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.06k | if (unlikely (!ret)) return nullptr; | 691 | 1.04k | hb_memcpy (ret, obj, size); | 692 | 1.04k | return ret; | 693 | 1.06k | } |
OT::PaintGlyph<OT::Layout::MediumTypes>* hb_serialize_context_t::embed<OT::PaintGlyph<OT::Layout::MediumTypes> >(OT::PaintGlyph<OT::Layout::MediumTypes> const*) Line | Count | Source | 687 | 162 | { | 688 | 162 | size_t size = obj->get_size (); | 689 | 162 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 162 | if (unlikely (!ret)) return nullptr; | 691 | 155 | hb_memcpy (ret, obj, size); | 692 | 155 | return ret; | 693 | 162 | } |
OT::PaintScale* hb_serialize_context_t::embed<OT::PaintScale>(OT::PaintScale const*) Line | Count | Source | 687 | 19.8k | { | 688 | 19.8k | size_t size = obj->get_size (); | 689 | 19.8k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 19.8k | if (unlikely (!ret)) return nullptr; | 691 | 19.7k | hb_memcpy (ret, obj, size); | 692 | 19.7k | return ret; | 693 | 19.8k | } |
OT::PaintScaleAroundCenter* hb_serialize_context_t::embed<OT::PaintScaleAroundCenter>(OT::PaintScaleAroundCenter const*) Line | Count | Source | 687 | 134k | { | 688 | 134k | size_t size = obj->get_size (); | 689 | 134k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 134k | if (unlikely (!ret)) return nullptr; | 691 | 134k | hb_memcpy (ret, obj, size); | 692 | 134k | return ret; | 693 | 134k | } |
OT::PaintScaleUniform* hb_serialize_context_t::embed<OT::PaintScaleUniform>(OT::PaintScaleUniform const*) Line | Count | Source | 687 | 28.1k | { | 688 | 28.1k | size_t size = obj->get_size (); | 689 | 28.1k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 28.1k | if (unlikely (!ret)) return nullptr; | 691 | 28.0k | hb_memcpy (ret, obj, size); | 692 | 28.0k | return ret; | 693 | 28.1k | } |
OT::PaintScaleUniformAroundCenter* hb_serialize_context_t::embed<OT::PaintScaleUniformAroundCenter>(OT::PaintScaleUniformAroundCenter const*) Line | Count | Source | 687 | 26.2k | { | 688 | 26.2k | size_t size = obj->get_size (); | 689 | 26.2k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 26.2k | if (unlikely (!ret)) return nullptr; | 691 | 26.1k | hb_memcpy (ret, obj, size); | 692 | 26.1k | return ret; | 693 | 26.2k | } |
OT::PaintRotate* hb_serialize_context_t::embed<OT::PaintRotate>(OT::PaintRotate const*) Line | Count | Source | 687 | 19.1k | { | 688 | 19.1k | size_t size = obj->get_size (); | 689 | 19.1k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 19.1k | if (unlikely (!ret)) return nullptr; | 691 | 19.1k | hb_memcpy (ret, obj, size); | 692 | 19.1k | return ret; | 693 | 19.1k | } |
OT::PaintRotateAroundCenter* hb_serialize_context_t::embed<OT::PaintRotateAroundCenter>(OT::PaintRotateAroundCenter const*) Line | Count | Source | 687 | 16.1k | { | 688 | 16.1k | size_t size = obj->get_size (); | 689 | 16.1k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 16.1k | if (unlikely (!ret)) return nullptr; | 691 | 16.0k | hb_memcpy (ret, obj, size); | 692 | 16.0k | return ret; | 693 | 16.1k | } |
OT::PaintSkew* hb_serialize_context_t::embed<OT::PaintSkew>(OT::PaintSkew const*) Line | Count | Source | 687 | 5.44k | { | 688 | 5.44k | size_t size = obj->get_size (); | 689 | 5.44k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 5.44k | if (unlikely (!ret)) return nullptr; | 691 | 5.37k | hb_memcpy (ret, obj, size); | 692 | 5.37k | return ret; | 693 | 5.44k | } |
OT::PaintSkewAroundCenter* hb_serialize_context_t::embed<OT::PaintSkewAroundCenter>(OT::PaintSkewAroundCenter const*) Line | Count | Source | 687 | 15.8k | { | 688 | 15.8k | size_t size = obj->get_size (); | 689 | 15.8k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 15.8k | if (unlikely (!ret)) return nullptr; | 691 | 15.7k | hb_memcpy (ret, obj, size); | 692 | 15.7k | return ret; | 693 | 15.8k | } |
OT::PaintComposite* hb_serialize_context_t::embed<OT::PaintComposite>(OT::PaintComposite const*) Line | Count | Source | 687 | 170k | { | 688 | 170k | size_t size = obj->get_size (); | 689 | 170k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 170k | if (unlikely (!ret)) return nullptr; | 691 | 170k | hb_memcpy (ret, obj, size); | 692 | 170k | return ret; | 693 | 170k | } |
OT::ClipBoxFormat1* hb_serialize_context_t::embed<OT::ClipBoxFormat1>(OT::ClipBoxFormat1 const*) Line | Count | Source | 687 | 1.09k | { | 688 | 1.09k | size_t size = obj->get_size (); | 689 | 1.09k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.09k | if (unlikely (!ret)) return nullptr; | 691 | 1.08k | hb_memcpy (ret, obj, size); | 692 | 1.08k | return ret; | 693 | 1.09k | } |
OT::ClipRecord* hb_serialize_context_t::embed<OT::ClipRecord>(OT::ClipRecord const*) Line | Count | Source | 687 | 1.20k | { | 688 | 1.20k | size_t size = obj->get_size (); | 689 | 1.20k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.20k | if (unlikely (!ret)) return nullptr; | 691 | 1.19k | hb_memcpy (ret, obj, size); | 692 | 1.19k | return ret; | 693 | 1.20k | } |
OT::BaseGlyphPaintRecord* hb_serialize_context_t::embed<OT::BaseGlyphPaintRecord>(OT::BaseGlyphPaintRecord const*) Line | Count | Source | 687 | 9.64k | { | 688 | 9.64k | size_t size = obj->get_size (); | 689 | 9.64k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 9.64k | if (unlikely (!ret)) return nullptr; | 691 | 9.62k | hb_memcpy (ret, obj, size); | 692 | 9.62k | return ret; | 693 | 9.64k | } |
OT::BaseGlyphRecord* hb_serialize_context_t::embed<OT::BaseGlyphRecord>(OT::BaseGlyphRecord const*) Line | Count | Source | 687 | 793 | { | 688 | 793 | size_t size = obj->get_size (); | 689 | 793 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 793 | if (unlikely (!ret)) return nullptr; | 691 | 793 | hb_memcpy (ret, obj, size); | 692 | 793 | return ret; | 693 | 793 | } |
OT::head* hb_serialize_context_t::embed<OT::head>(OT::head const*) Line | Count | Source | 687 | 1.38k | { | 688 | 1.38k | size_t size = obj->get_size (); | 689 | 1.38k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.38k | if (unlikely (!ret)) return nullptr; | 691 | 1.38k | hb_memcpy (ret, obj, size); | 692 | 1.38k | return ret; | 693 | 1.38k | } |
OT::NumType<true, unsigned char, 1u>* hb_serialize_context_t::embed<OT::NumType<true, unsigned char, 1u> >(OT::NumType<true, unsigned char, 1u> const*) Line | Count | Source | 687 | 50.6k | { | 688 | 50.6k | size_t size = obj->get_size (); | 689 | 50.6k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 50.6k | if (unlikely (!ret)) return nullptr; | 691 | 50.6k | hb_memcpy (ret, obj, size); | 692 | 50.6k | return ret; | 693 | 50.6k | } |
OT::LookupRecord* hb_serialize_context_t::embed<OT::LookupRecord>(OT::LookupRecord const*) Line | Count | Source | 687 | 6.37M | { | 688 | 6.37M | size_t size = obj->get_size (); | 689 | 6.37M | Type *ret = this->allocate_size<Type> (size, false); | 690 | 6.37M | if (unlikely (!ret)) return nullptr; | 691 | 6.37M | hb_memcpy (ret, obj, size); | 692 | 6.37M | return ret; | 693 | 6.37M | } |
OT::Layout::GPOS_impl::AnchorFormat1* hb_serialize_context_t::embed<OT::Layout::GPOS_impl::AnchorFormat1>(OT::Layout::GPOS_impl::AnchorFormat1 const*) Line | Count | Source | 687 | 208k | { | 688 | 208k | size_t size = obj->get_size (); | 689 | 208k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 208k | if (unlikely (!ret)) return nullptr; | 691 | 208k | hb_memcpy (ret, obj, size); | 692 | 208k | return ret; | 693 | 208k | } |
OT::Layout::GPOS_impl::AnchorFormat2* hb_serialize_context_t::embed<OT::Layout::GPOS_impl::AnchorFormat2>(OT::Layout::GPOS_impl::AnchorFormat2 const*) Line | Count | Source | 687 | 2.26k | { | 688 | 2.26k | size_t size = obj->get_size (); | 689 | 2.26k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 2.26k | if (unlikely (!ret)) return nullptr; | 691 | 2.26k | hb_memcpy (ret, obj, size); | 692 | 2.26k | return ret; | 693 | 2.26k | } |
OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::embed<OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::SmallTypes> const*) Line | Count | Source | 687 | 58.8k | { | 688 | 58.8k | size_t size = obj->get_size (); | 689 | 58.8k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 58.8k | if (unlikely (!ret)) return nullptr; | 691 | 58.8k | hb_memcpy (ret, obj, size); | 692 | 58.8k | return ret; | 693 | 58.8k | } |
Unexecuted instantiation: OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::embed<OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::EntryExitRecord<OT::Layout::MediumTypes> const*) OT::Layout::GPOS_impl::MarkRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::embed<OT::Layout::GPOS_impl::MarkRecord<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkRecord<OT::Layout::SmallTypes> const*) Line | Count | Source | 687 | 31.9k | { | 688 | 31.9k | size_t size = obj->get_size (); | 689 | 31.9k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 31.9k | if (unlikely (!ret)) return nullptr; | 691 | 31.9k | hb_memcpy (ret, obj, size); | 692 | 31.9k | return ret; | 693 | 31.9k | } |
OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, true> const*) Line | Count | Source | 687 | 155k | { | 688 | 155k | size_t size = obj->get_size (); | 689 | 155k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 155k | if (unlikely (!ret)) return nullptr; | 691 | 155k | hb_memcpy (ret, obj, size); | 692 | 155k | return ret; | 693 | 155k | } |
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::embed<OT::Layout::GPOS_impl::MarkRecord<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkRecord<OT::Layout::MediumTypes> const*) Unexecuted instantiation: OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true> const*) Unexecuted instantiation: OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true> const*) OT::NameRecord* hb_serialize_context_t::embed<OT::NameRecord>(OT::NameRecord const*) Line | Count | Source | 687 | 40.3k | { | 688 | 40.3k | size_t size = obj->get_size (); | 689 | 40.3k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 40.3k | if (unlikely (!ret)) return nullptr; | 691 | 40.2k | hb_memcpy (ret, obj, size); | 692 | 40.2k | return ret; | 693 | 40.3k | } |
OT::Offset<OT::NumType<true, unsigned int, 4u>, true>* hb_serialize_context_t::embed<OT::Offset<OT::NumType<true, unsigned int, 4u>, true> >(OT::Offset<OT::NumType<true, unsigned int, 4u>, true> const*) Line | Count | Source | 687 | 71 | { | 688 | 71 | size_t size = obj->get_size (); | 689 | 71 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 71 | if (unlikely (!ret)) return nullptr; | 691 | 71 | hb_memcpy (ret, obj, size); | 692 | 71 | return ret; | 693 | 71 | } |
OT::Offset<OT::NumType<true, unsigned short, 2u>, true>* hb_serialize_context_t::embed<OT::Offset<OT::NumType<true, unsigned short, 2u>, true> >(OT::Offset<OT::NumType<true, unsigned short, 2u>, true> const*) Line | Count | Source | 687 | 1.02k | { | 688 | 1.02k | size_t size = obj->get_size (); | 689 | 1.02k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.02k | if (unlikely (!ret)) return nullptr; | 691 | 1.02k | hb_memcpy (ret, obj, size); | 692 | 1.02k | return ret; | 693 | 1.02k | } |
OT::IndexSubtableRecord* hb_serialize_context_t::embed<OT::IndexSubtableRecord>(OT::IndexSubtableRecord const*) Line | Count | Source | 687 | 64 | { | 688 | 64 | size_t size = obj->get_size (); | 689 | 64 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 64 | if (unlikely (!ret)) return nullptr; | 691 | 64 | hb_memcpy (ret, obj, size); | 692 | 64 | return ret; | 693 | 64 | } |
OT::BitmapSizeTable* hb_serialize_context_t::embed<OT::BitmapSizeTable>(OT::BitmapSizeTable const*) Line | Count | Source | 687 | 185 | { | 688 | 185 | size_t size = obj->get_size (); | 689 | 185 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 185 | if (unlikely (!ret)) return nullptr; | 691 | 185 | hb_memcpy (ret, obj, size); | 692 | 185 | return ret; | 693 | 185 | } |
OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true> const*) Line | Count | Source | 687 | 1.31k | { | 688 | 1.31k | size_t size = obj->get_size (); | 689 | 1.31k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.31k | if (unlikely (!ret)) return nullptr; | 691 | 1.31k | hb_memcpy (ret, obj, size); | 692 | 1.31k | return ret; | 693 | 1.31k | } |
Unexecuted instantiation: OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true> const*) OT::AxisValueFormat1* hb_serialize_context_t::embed<OT::AxisValueFormat1>(OT::AxisValueFormat1 const*) Line | Count | Source | 687 | 19 | { | 688 | 19 | size_t size = obj->get_size (); | 689 | 19 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 19 | if (unlikely (!ret)) return nullptr; | 691 | 19 | hb_memcpy (ret, obj, size); | 692 | 19 | return ret; | 693 | 19 | } |
OT::AxisValueFormat2* hb_serialize_context_t::embed<OT::AxisValueFormat2>(OT::AxisValueFormat2 const*) Line | Count | Source | 687 | 978 | { | 688 | 978 | size_t size = obj->get_size (); | 689 | 978 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 978 | if (unlikely (!ret)) return nullptr; | 691 | 978 | hb_memcpy (ret, obj, size); | 692 | 978 | return ret; | 693 | 978 | } |
OT::AxisValueFormat3* hb_serialize_context_t::embed<OT::AxisValueFormat3>(OT::AxisValueFormat3 const*) Line | Count | Source | 687 | 4 | { | 688 | 4 | size_t size = obj->get_size (); | 689 | 4 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 4 | if (unlikely (!ret)) return nullptr; | 691 | 4 | hb_memcpy (ret, obj, size); | 692 | 4 | return ret; | 693 | 4 | } |
OT::OffsetTo<OT::AxisValue, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::AxisValue, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::AxisValue, OT::NumType<true, unsigned short, 2u>, void, true> const*) Line | Count | Source | 687 | 2.73k | { | 688 | 2.73k | size_t size = obj->get_size (); | 689 | 2.73k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 2.73k | if (unlikely (!ret)) return nullptr; | 691 | 2.73k | hb_memcpy (ret, obj, size); | 692 | 2.73k | return ret; | 693 | 2.73k | } |
OT::STAT* hb_serialize_context_t::embed<OT::STAT>(OT::STAT const*) Line | Count | Source | 687 | 371 | { | 688 | 371 | size_t size = obj->get_size (); | 689 | 371 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 371 | if (unlikely (!ret)) return nullptr; | 691 | 371 | hb_memcpy (ret, obj, size); | 692 | 371 | return ret; | 693 | 371 | } |
OT::StatAxisRecord* hb_serialize_context_t::embed<OT::StatAxisRecord>(OT::StatAxisRecord const*) Line | Count | Source | 687 | 887 | { | 688 | 887 | size_t size = obj->get_size (); | 689 | 887 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 887 | if (unlikely (!ret)) return nullptr; | 691 | 887 | hb_memcpy (ret, obj, size); | 692 | 887 | return ret; | 693 | 887 | } |
OT::Index* hb_serialize_context_t::embed<OT::Index>(OT::Index const*) Line | Count | Source | 687 | 7.36k | { | 688 | 7.36k | size_t size = obj->get_size (); | 689 | 7.36k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 7.36k | if (unlikely (!ret)) return nullptr; | 691 | 7.36k | hb_memcpy (ret, obj, size); | 692 | 7.36k | return ret; | 693 | 7.36k | } |
OT::HBFixed<OT::NumType<true, int, 4u>, 16u>* hb_serialize_context_t::embed<OT::HBFixed<OT::NumType<true, int, 4u>, 16u> >(OT::HBFixed<OT::NumType<true, int, 4u>, 16u> const*) Line | Count | Source | 687 | 4.65k | { | 688 | 4.65k | size_t size = obj->get_size (); | 689 | 4.65k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 4.65k | if (unlikely (!ret)) return nullptr; | 691 | 4.65k | hb_memcpy (ret, obj, size); | 692 | 4.65k | return ret; | 693 | 4.65k | } |
OT::AxisRecord* hb_serialize_context_t::embed<OT::AxisRecord>(OT::AxisRecord const*) Line | Count | Source | 687 | 20.9k | { | 688 | 20.9k | size_t size = obj->get_size (); | 689 | 20.9k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 20.9k | if (unlikely (!ret)) return nullptr; | 691 | 20.9k | hb_memcpy (ret, obj, size); | 692 | 20.9k | return ret; | 693 | 20.9k | } |
OT::fvar* hb_serialize_context_t::embed<OT::fvar>(OT::fvar const*) Line | Count | Source | 687 | 1.16k | { | 688 | 1.16k | size_t size = obj->get_size (); | 689 | 1.16k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.16k | if (unlikely (!ret)) return nullptr; | 691 | 1.16k | hb_memcpy (ret, obj, size); | 692 | 1.16k | return ret; | 693 | 1.16k | } |
OT::AxisValueMap* hb_serialize_context_t::embed<OT::AxisValueMap>(OT::AxisValueMap const*) Line | Count | Source | 687 | 1.51k | { | 688 | 1.51k | size_t size = obj->get_size (); | 689 | 1.51k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.51k | if (unlikely (!ret)) return nullptr; | 691 | 1.51k | hb_memcpy (ret, obj, size); | 692 | 1.51k | return ret; | 693 | 1.51k | } |
Unexecuted instantiation: OT::SegmentMaps* hb_serialize_context_t::embed<OT::SegmentMaps>(OT::SegmentMaps const*) OT::BaseCoordFormat1* hb_serialize_context_t::embed<OT::BaseCoordFormat1>(OT::BaseCoordFormat1 const*) Line | Count | Source | 687 | 4.11k | { | 688 | 4.11k | size_t size = obj->get_size (); | 689 | 4.11k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 4.11k | if (unlikely (!ret)) return nullptr; | 691 | 4.11k | hb_memcpy (ret, obj, size); | 692 | 4.11k | return ret; | 693 | 4.11k | } |
OT::BaseCoordFormat3* hb_serialize_context_t::embed<OT::BaseCoordFormat3>(OT::BaseCoordFormat3 const*) Line | Count | Source | 687 | 2.43k | { | 688 | 2.43k | size_t size = obj->get_size (); | 689 | 2.43k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 2.43k | if (unlikely (!ret)) return nullptr; | 691 | 2.43k | hb_memcpy (ret, obj, size); | 692 | 2.43k | return ret; | 693 | 2.43k | } |
OT::FeatMinMaxRecord* hb_serialize_context_t::embed<OT::FeatMinMaxRecord>(OT::FeatMinMaxRecord const*) Line | Count | Source | 687 | 224 | { | 688 | 224 | size_t size = obj->get_size (); | 689 | 224 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 224 | if (unlikely (!ret)) return nullptr; | 691 | 224 | hb_memcpy (ret, obj, size); | 692 | 224 | return ret; | 693 | 224 | } |
OT::BaseCoordFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::embed<OT::BaseCoordFormat2_4<OT::Layout::SmallTypes> >(OT::BaseCoordFormat2_4<OT::Layout::SmallTypes> const*) Line | Count | Source | 687 | 3.45k | { | 688 | 3.45k | size_t size = obj->get_size (); | 689 | 3.45k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 3.45k | if (unlikely (!ret)) return nullptr; | 691 | 3.45k | hb_memcpy (ret, obj, size); | 692 | 3.45k | return ret; | 693 | 3.45k | } |
OT::BaseCoordFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::embed<OT::BaseCoordFormat2_4<OT::Layout::MediumTypes> >(OT::BaseCoordFormat2_4<OT::Layout::MediumTypes> const*) Line | Count | Source | 687 | 90 | { | 688 | 90 | size_t size = obj->get_size (); | 689 | 90 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 90 | if (unlikely (!ret)) return nullptr; | 691 | 90 | hb_memcpy (ret, obj, size); | 692 | 90 | return ret; | 693 | 90 | } |
OT::BaseLangSysRecord* hb_serialize_context_t::embed<OT::BaseLangSysRecord>(OT::BaseLangSysRecord const*) Line | Count | Source | 687 | 1.77k | { | 688 | 1.77k | size_t size = obj->get_size (); | 689 | 1.77k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.77k | if (unlikely (!ret)) return nullptr; | 691 | 1.77k | hb_memcpy (ret, obj, size); | 692 | 1.77k | return ret; | 693 | 1.77k | } |
OT::BaseScriptRecord* hb_serialize_context_t::embed<OT::BaseScriptRecord>(OT::BaseScriptRecord const*) Line | Count | Source | 687 | 3.51k | { | 688 | 3.51k | size_t size = obj->get_size (); | 689 | 3.51k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 3.51k | if (unlikely (!ret)) return nullptr; | 691 | 3.46k | hb_memcpy (ret, obj, size); | 692 | 3.46k | return ret; | 693 | 3.51k | } |
OT::Axis* hb_serialize_context_t::embed<OT::Axis>(OT::Axis const*) Line | Count | Source | 687 | 1.13k | { | 688 | 1.13k | size_t size = obj->get_size (); | 689 | 1.13k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.13k | if (unlikely (!ret)) return nullptr; | 691 | 1.08k | hb_memcpy (ret, obj, size); | 692 | 1.08k | return ret; | 693 | 1.13k | } |
OT::FixedVersion<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::embed<OT::FixedVersion<OT::NumType<true, unsigned short, 2u> > >(OT::FixedVersion<OT::NumType<true, unsigned short, 2u> > const*) Line | Count | Source | 687 | 148 | { | 688 | 148 | size_t size = obj->get_size (); | 689 | 148 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 148 | if (unlikely (!ret)) return nullptr; | 691 | 148 | hb_memcpy (ret, obj, size); | 692 | 148 | return ret; | 693 | 148 | } |
OT::MathValueRecord* hb_serialize_context_t::embed<OT::MathValueRecord>(OT::MathValueRecord const*) Line | Count | Source | 687 | 44.1M | { | 688 | 44.1M | size_t size = obj->get_size (); | 689 | 44.1M | Type *ret = this->allocate_size<Type> (size, false); | 690 | 44.1M | if (unlikely (!ret)) return nullptr; | 691 | 44.0M | hb_memcpy (ret, obj, size); | 692 | 44.0M | return ret; | 693 | 44.1M | } |
OT::MathKernInfoRecord* hb_serialize_context_t::embed<OT::MathKernInfoRecord>(OT::MathKernInfoRecord const*) Line | Count | Source | 687 | 3.73M | { | 688 | 3.73M | size_t size = obj->get_size (); | 689 | 3.73M | Type *ret = this->allocate_size<Type> (size, false); | 690 | 3.73M | if (unlikely (!ret)) return nullptr; | 691 | 2.69M | hb_memcpy (ret, obj, size); | 692 | 2.69M | return ret; | 693 | 3.73M | } |
OT::MathGlyphInfo* hb_serialize_context_t::embed<OT::MathGlyphInfo>(OT::MathGlyphInfo const*) Line | Count | Source | 687 | 1.02k | { | 688 | 1.02k | size_t size = obj->get_size (); | 689 | 1.02k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.02k | if (unlikely (!ret)) return nullptr; | 691 | 973 | hb_memcpy (ret, obj, size); | 692 | 973 | return ret; | 693 | 1.02k | } |
OT::MathGlyphVariantRecord* hb_serialize_context_t::embed<OT::MathGlyphVariantRecord>(OT::MathGlyphVariantRecord const*) Line | Count | Source | 687 | 3.19k | { | 688 | 3.19k | size_t size = obj->get_size (); | 689 | 3.19k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 3.19k | if (unlikely (!ret)) return nullptr; | 691 | 3.11k | hb_memcpy (ret, obj, size); | 692 | 3.11k | return ret; | 693 | 3.19k | } |
OT::MathGlyphPartRecord* hb_serialize_context_t::embed<OT::MathGlyphPartRecord>(OT::MathGlyphPartRecord const*) Line | Count | Source | 687 | 1.74k | { | 688 | 1.74k | size_t size = obj->get_size (); | 689 | 1.74k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.74k | if (unlikely (!ret)) return nullptr; | 691 | 1.74k | hb_memcpy (ret, obj, size); | 692 | 1.74k | return ret; | 693 | 1.74k | } |
OT::OffsetTo<OT::MathGlyphConstruction, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::MathGlyphConstruction, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::MathGlyphConstruction, OT::NumType<true, unsigned short, 2u>, void, true> const*) Line | Count | Source | 687 | 1.84M | { | 688 | 1.84M | size_t size = obj->get_size (); | 689 | 1.84M | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.84M | if (unlikely (!ret)) return nullptr; | 691 | 1.84M | hb_memcpy (ret, obj, size); | 692 | 1.84M | return ret; | 693 | 1.84M | } |
OT::MATH* hb_serialize_context_t::embed<OT::MATH>(OT::MATH const*) Line | Count | Source | 687 | 1.04k | { | 688 | 1.04k | size_t size = obj->get_size (); | 689 | 1.04k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 1.04k | if (unlikely (!ret)) return nullptr; | 691 | 1.04k | hb_memcpy (ret, obj, size); | 692 | 1.04k | return ret; | 693 | 1.04k | } |
OT::maxp_MAXP<OT::Layout::SmallTypes>* hb_serialize_context_t::embed<OT::maxp_MAXP<OT::Layout::SmallTypes> >(OT::maxp_MAXP<OT::Layout::SmallTypes> const*) Line | Count | Source | 687 | 15.1k | { | 688 | 15.1k | size_t size = obj->get_size (); | 689 | 15.1k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 15.1k | if (unlikely (!ret)) return nullptr; | 691 | 15.1k | hb_memcpy (ret, obj, size); | 692 | 15.1k | return ret; | 693 | 15.1k | } |
OT::maxpV1Tail* hb_serialize_context_t::embed<OT::maxpV1Tail>(OT::maxpV1Tail const*) Line | Count | Source | 687 | 12.5k | { | 688 | 12.5k | size_t size = obj->get_size (); | 689 | 12.5k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 12.5k | if (unlikely (!ret)) return nullptr; | 691 | 12.5k | hb_memcpy (ret, obj, size); | 692 | 12.5k | return ret; | 693 | 12.5k | } |
OT::maxp_MAXP<OT::Layout::MediumTypes>* hb_serialize_context_t::embed<OT::maxp_MAXP<OT::Layout::MediumTypes> >(OT::maxp_MAXP<OT::Layout::MediumTypes> const*) Line | Count | Source | 687 | 33 | { | 688 | 33 | size_t size = obj->get_size (); | 689 | 33 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 33 | if (unlikely (!ret)) return nullptr; | 691 | 33 | hb_memcpy (ret, obj, size); | 692 | 33 | return ret; | 693 | 33 | } |
OT::CFFIndex<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::embed<OT::CFFIndex<OT::NumType<true, unsigned short, 2u> > >(OT::CFFIndex<OT::NumType<true, unsigned short, 2u> > const*) Line | Count | Source | 687 | 4.33k | { | 688 | 4.33k | size_t size = obj->get_size (); | 689 | 4.33k | Type *ret = this->allocate_size<Type> (size, false); | 690 | 4.33k | if (unlikely (!ret)) return nullptr; | 691 | 1.34k | hb_memcpy (ret, obj, size); | 692 | 1.34k | return ret; | 693 | 4.33k | } |
CFF::FDSelect3_4_Range<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned char, 1u> >* hb_serialize_context_t::embed<CFF::FDSelect3_4_Range<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned char, 1u> > >(CFF::FDSelect3_4_Range<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned char, 1u> > const*) Line | Count | Source | 687 | 233 | { | 688 | 233 | size_t size = obj->get_size (); | 689 | 233 | Type *ret = this->allocate_size<Type> (size, false); | 690 | 233 | if (unlikely (!ret)) return nullptr; | 691 | 233 | hb_memcpy (ret, obj, size); | 692 | 233 | return ret; | 693 | 233 | } |
|
694 | | template <typename Type> |
695 | | HB_NODISCARD |
696 | | Type *embed (const Type &obj) |
697 | 13.8M | { return embed (std::addressof (obj)); }Unexecuted instantiation: OT::FeatureParamsSize* hb_serialize_context_t::embed<OT::FeatureParamsSize>(OT::FeatureParamsSize const&) Unexecuted instantiation: OT::FeatureParamsCharacterVariants* hb_serialize_context_t::embed<OT::FeatureParamsCharacterVariants>(OT::FeatureParamsCharacterVariants const&) Unexecuted instantiation: OT::LangSys* hb_serialize_context_t::embed<OT::LangSys>(OT::LangSys const&) Unexecuted instantiation: OT::FeatureVariations* hb_serialize_context_t::embed<OT::FeatureVariations>(OT::FeatureVariations const&) Unexecuted instantiation: OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, true> const&) Unexecuted instantiation: OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned int, 3u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, true> const&) Unexecuted instantiation: OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true> const&) Unexecuted instantiation: OT::SegmentMaps* hb_serialize_context_t::embed<OT::SegmentMaps>(OT::SegmentMaps const&) Unexecuted instantiation: CFF::Encoding* hb_serialize_context_t::embed<CFF::Encoding>(CFF::Encoding const&) OT::FeatureParamsStylisticSet* hb_serialize_context_t::embed<OT::FeatureParamsStylisticSet>(OT::FeatureParamsStylisticSet const&) Line | Count | Source | 697 | 5 | { return embed (std::addressof (obj)); } |
OT::NumType<true, unsigned short, 2u>* hb_serialize_context_t::embed<OT::NumType<true, unsigned short, 2u> >(OT::NumType<true, unsigned short, 2u> const&) Line | Count | Source | 697 | 1.34M | { return embed (std::addressof (obj)); } |
OT::NumType<true, short, 2u>* hb_serialize_context_t::embed<OT::NumType<true, short, 2u> >(OT::NumType<true, short, 2u> const&) Line | Count | Source | 697 | 1.29M | { return embed (std::addressof (obj)); } |
OT::OffsetTo<OT::Device, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Device, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Device, OT::NumType<true, unsigned short, 2u>, void, true> const&) Line | Count | Source | 697 | 1.29M | { return embed (std::addressof (obj)); } |
OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::MarkGlyphSets, OT::NumType<true, unsigned short, 2u>, void, true> const&) Line | Count | Source | 697 | 6.85k | { return embed (std::addressof (obj)); } |
OT::OffsetTo<OT::ItemVariationStore, OT::NumType<true, unsigned int, 4u>, void, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::ItemVariationStore, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::ItemVariationStore, OT::NumType<true, unsigned int, 4u>, void, true> const&) Line | Count | Source | 697 | 5.30k | { return embed (std::addressof (obj)); } |
OT::VariationValueRecord* hb_serialize_context_t::embed<OT::VariationValueRecord>(OT::VariationValueRecord const&) Line | Count | Source | 697 | 2.89k | { return embed (std::addressof (obj)); } |
OT::VariationSelectorRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::embed<OT::VariationSelectorRecord<OT::Layout::SmallTypes> >(OT::VariationSelectorRecord<OT::Layout::SmallTypes> const&) Line | Count | Source | 697 | 684 | { return embed (std::addressof (obj)); } |
OT::VariationSelectorRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::embed<OT::VariationSelectorRecord<OT::Layout::MediumTypes> >(OT::VariationSelectorRecord<OT::Layout::MediumTypes> const&) Line | Count | Source | 697 | 320 | { return embed (std::addressof (obj)); } |
OT::ColorStop* hb_serialize_context_t::embed<OT::ColorStop>(OT::ColorStop const&) Line | Count | Source | 697 | 1.16M | { return embed (std::addressof (obj)); } |
OT::Affine2x3* hb_serialize_context_t::embed<OT::Affine2x3>(OT::Affine2x3 const&) Line | Count | Source | 697 | 3.35k | { return embed (std::addressof (obj)); } |
OT::PaintSolid* hb_serialize_context_t::embed<OT::PaintSolid>(OT::PaintSolid const&) Line | Count | Source | 697 | 20.9k | { return embed (std::addressof (obj)); } |
OT::VarIdx* hb_serialize_context_t::embed<OT::VarIdx>(OT::VarIdx const&) Line | Count | Source | 697 | 278k | { return embed (std::addressof (obj)); } |
OT::ClipBoxFormat1* hb_serialize_context_t::embed<OT::ClipBoxFormat1>(OT::ClipBoxFormat1 const&) Line | Count | Source | 697 | 1.09k | { return embed (std::addressof (obj)); } |
OT::ClipRecord* hb_serialize_context_t::embed<OT::ClipRecord>(OT::ClipRecord const&) Line | Count | Source | 697 | 1.20k | { return embed (std::addressof (obj)); } |
OT::BaseGlyphRecord* hb_serialize_context_t::embed<OT::BaseGlyphRecord>(OT::BaseGlyphRecord const&) Line | Count | Source | 697 | 793 | { return embed (std::addressof (obj)); } |
OT::NumType<true, unsigned char, 1u>* hb_serialize_context_t::embed<OT::NumType<true, unsigned char, 1u> >(OT::NumType<true, unsigned char, 1u> const&) Line | Count | Source | 697 | 50.6k | { return embed (std::addressof (obj)); } |
OT::LookupRecord* hb_serialize_context_t::embed<OT::LookupRecord>(OT::LookupRecord const&) Line | Count | Source | 697 | 6.37M | { return embed (std::addressof (obj)); } |
OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, true> >(OT::OffsetTo<OT::Layout::GPOS_impl::Anchor, OT::NumType<true, unsigned short, 2u>, OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, true> const&) Line | Count | Source | 697 | 155k | { return embed (std::addressof (obj)); } |
OT::Offset<OT::NumType<true, unsigned int, 4u>, true>* hb_serialize_context_t::embed<OT::Offset<OT::NumType<true, unsigned int, 4u>, true> >(OT::Offset<OT::NumType<true, unsigned int, 4u>, true> const&) Line | Count | Source | 697 | 71 | { return embed (std::addressof (obj)); } |
OT::Offset<OT::NumType<true, unsigned short, 2u>, true>* hb_serialize_context_t::embed<OT::Offset<OT::NumType<true, unsigned short, 2u>, true> >(OT::Offset<OT::NumType<true, unsigned short, 2u>, true> const&) Line | Count | Source | 697 | 1.02k | { return embed (std::addressof (obj)); } |
OT::IndexSubtableRecord* hb_serialize_context_t::embed<OT::IndexSubtableRecord>(OT::IndexSubtableRecord const&) Line | Count | Source | 697 | 64 | { return embed (std::addressof (obj)); } |
OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true> const&) Line | Count | Source | 697 | 1.31k | { return embed (std::addressof (obj)); } |
OT::OffsetTo<OT::AxisValue, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::AxisValue, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::AxisValue, OT::NumType<true, unsigned short, 2u>, void, true> const&) Line | Count | Source | 697 | 2.73k | { return embed (std::addressof (obj)); } |
OT::StatAxisRecord* hb_serialize_context_t::embed<OT::StatAxisRecord>(OT::StatAxisRecord const&) Line | Count | Source | 697 | 887 | { return embed (std::addressof (obj)); } |
OT::Index* hb_serialize_context_t::embed<OT::Index>(OT::Index const&) Line | Count | Source | 697 | 7.36k | { return embed (std::addressof (obj)); } |
OT::HBFixed<OT::NumType<true, int, 4u>, 16u>* hb_serialize_context_t::embed<OT::HBFixed<OT::NumType<true, int, 4u>, 16u> >(OT::HBFixed<OT::NumType<true, int, 4u>, 16u> const&) Line | Count | Source | 697 | 4.65k | { return embed (std::addressof (obj)); } |
OT::BaseCoordFormat1* hb_serialize_context_t::embed<OT::BaseCoordFormat1>(OT::BaseCoordFormat1 const&) Line | Count | Source | 697 | 4.11k | { return embed (std::addressof (obj)); } |
OT::BaseCoordFormat3* hb_serialize_context_t::embed<OT::BaseCoordFormat3>(OT::BaseCoordFormat3 const&) Line | Count | Source | 697 | 2.43k | { return embed (std::addressof (obj)); } |
OT::FeatMinMaxRecord* hb_serialize_context_t::embed<OT::FeatMinMaxRecord>(OT::FeatMinMaxRecord const&) Line | Count | Source | 697 | 224 | { return embed (std::addressof (obj)); } |
OT::BaseCoordFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::embed<OT::BaseCoordFormat2_4<OT::Layout::SmallTypes> >(OT::BaseCoordFormat2_4<OT::Layout::SmallTypes> const&) Line | Count | Source | 697 | 3.45k | { return embed (std::addressof (obj)); } |
OT::BaseCoordFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::embed<OT::BaseCoordFormat2_4<OT::Layout::MediumTypes> >(OT::BaseCoordFormat2_4<OT::Layout::MediumTypes> const&) Line | Count | Source | 697 | 90 | { return embed (std::addressof (obj)); } |
OT::BaseLangSysRecord* hb_serialize_context_t::embed<OT::BaseLangSysRecord>(OT::BaseLangSysRecord const&) Line | Count | Source | 697 | 1.77k | { return embed (std::addressof (obj)); } |
OT::BaseScriptRecord* hb_serialize_context_t::embed<OT::BaseScriptRecord>(OT::BaseScriptRecord const&) Line | Count | Source | 697 | 3.51k | { return embed (std::addressof (obj)); } |
OT::Axis* hb_serialize_context_t::embed<OT::Axis>(OT::Axis const&) Line | Count | Source | 697 | 1.13k | { return embed (std::addressof (obj)); } |
OT::FixedVersion<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::embed<OT::FixedVersion<OT::NumType<true, unsigned short, 2u> > >(OT::FixedVersion<OT::NumType<true, unsigned short, 2u> > const&) Line | Count | Source | 697 | 148 | { return embed (std::addressof (obj)); } |
OT::MathGlyphInfo* hb_serialize_context_t::embed<OT::MathGlyphInfo>(OT::MathGlyphInfo const&) Line | Count | Source | 697 | 1.02k | { return embed (std::addressof (obj)); } |
OT::OffsetTo<OT::MathGlyphConstruction, OT::NumType<true, unsigned short, 2u>, void, true>* hb_serialize_context_t::embed<OT::OffsetTo<OT::MathGlyphConstruction, OT::NumType<true, unsigned short, 2u>, void, true> >(OT::OffsetTo<OT::MathGlyphConstruction, OT::NumType<true, unsigned short, 2u>, void, true> const&) Line | Count | Source | 697 | 1.84M | { return embed (std::addressof (obj)); } |
OT::MATH* hb_serialize_context_t::embed<OT::MATH>(OT::MATH const&) Line | Count | Source | 697 | 1.04k | { return embed (std::addressof (obj)); } |
OT::CFFIndex<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::embed<OT::CFFIndex<OT::NumType<true, unsigned short, 2u> > >(OT::CFFIndex<OT::NumType<true, unsigned short, 2u> > const&) Line | Count | Source | 697 | 4.33k | { return embed (std::addressof (obj)); } |
CFF::FDSelect3_4_Range<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned char, 1u> >* hb_serialize_context_t::embed<CFF::FDSelect3_4_Range<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned char, 1u> > >(CFF::FDSelect3_4_Range<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned char, 1u> > const&) Line | Count | Source | 697 | 233 | { return embed (std::addressof (obj)); } |
|
698 | | char *embed (const char *obj, unsigned size) |
699 | 9.92k | { |
700 | 9.92k | char *ret = this->allocate_size<char> (size, false); |
701 | 9.92k | if (unlikely (!ret)) return nullptr; |
702 | 9.92k | hb_memcpy (ret, obj, size); |
703 | 9.92k | return ret; |
704 | 9.92k | } |
705 | | |
706 | | template <typename Type, typename ...Ts> auto |
707 | | _copy (const Type &src, hb_priority<1>, Ts&&... ds) HB_RETURN |
708 | | (Type *, src.copy (this, std::forward<Ts> (ds)...)) |
709 | | |
710 | | template <typename Type> auto |
711 | | _copy (const Type &src, hb_priority<0>) -> decltype (&(hb_declval<Type> () = src)) |
712 | 437M | { |
713 | 437M | Type *ret = this->allocate_size<Type> (sizeof (Type)); |
714 | 437M | if (unlikely (!ret)) return nullptr; |
715 | 436M | *ret = src; |
716 | 436M | return ret; |
717 | 437M | } Unexecuted instantiation: decltype (&(((hb_declval<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > >)())={parm#1})) hb_serialize_context_t::_copy<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > >(OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > const&, hb_priority<0u>)Unexecuted instantiation: decltype (&(((hb_declval<OT::NumType<true, unsigned int, 3u> >)())={parm#1})) hb_serialize_context_t::_copy<OT::NumType<true, unsigned int, 3u> >(OT::NumType<true, unsigned int, 3u> const&, hb_priority<0u>)decltype (&(((hb_declval<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> > >)())={parm#1})) hb_serialize_context_t::_copy<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> > >(OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> > const&, hb_priority<0u>)Line | Count | Source | 712 | 37.5k | { | 713 | 37.5k | Type *ret = this->allocate_size<Type> (sizeof (Type)); | 714 | 37.5k | if (unlikely (!ret)) return nullptr; | 715 | 37.5k | *ret = src; | 716 | 37.5k | return ret; | 717 | 37.5k | } |
Unexecuted instantiation: decltype (&(((hb_declval<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > >)())={parm#1})) hb_serialize_context_t::_copy<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > >(OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > const&, hb_priority<0u>)decltype (&(((hb_declval<OT::SparseVarRegionAxis>)())={parm#1})) hb_serialize_context_t::_copy<OT::SparseVarRegionAxis>(OT::SparseVarRegionAxis const&, hb_priority<0u>)Line | Count | Source | 712 | 80 | { | 713 | 80 | Type *ret = this->allocate_size<Type> (sizeof (Type)); | 714 | 80 | if (unlikely (!ret)) return nullptr; | 715 | 80 | *ret = src; | 716 | 80 | return ret; | 717 | 80 | } |
decltype (&(((hb_declval<OT::NumType<true, unsigned int, 4u> >)())={parm#1})) hb_serialize_context_t::_copy<OT::NumType<true, unsigned int, 4u> >(OT::NumType<true, unsigned int, 4u> const&, hb_priority<0u>)Line | Count | Source | 712 | 757k | { | 713 | 757k | Type *ret = this->allocate_size<Type> (sizeof (Type)); | 714 | 757k | if (unlikely (!ret)) return nullptr; | 715 | 757k | *ret = src; | 716 | 757k | return ret; | 717 | 757k | } |
decltype (&(((hb_declval<OT::UnicodeValueRange>)())={parm#1})) hb_serialize_context_t::_copy<OT::UnicodeValueRange>(OT::UnicodeValueRange const&, hb_priority<0u>)Line | Count | Source | 712 | 1.75k | { | 713 | 1.75k | Type *ret = this->allocate_size<Type> (sizeof (Type)); | 714 | 1.75k | if (unlikely (!ret)) return nullptr; | 715 | 1.75k | *ret = src; | 716 | 1.75k | return ret; | 717 | 1.75k | } |
decltype (&(((hb_declval<OT::CmapSubtableLongGroup>)())={parm#1})) hb_serialize_context_t::_copy<OT::CmapSubtableLongGroup>(OT::CmapSubtableLongGroup const&, hb_priority<0u>)Line | Count | Source | 712 | 941 | { | 713 | 941 | Type *ret = this->allocate_size<Type> (sizeof (Type)); | 714 | 941 | if (unlikely (!ret)) return nullptr; | 715 | 941 | *ret = src; | 716 | 941 | return ret; | 717 | 941 | } |
decltype (&(((hb_declval<OT::UVSMapping<OT::Layout::SmallTypes> >)())={parm#1})) hb_serialize_context_t::_copy<OT::UVSMapping<OT::Layout::SmallTypes> >(OT::UVSMapping<OT::Layout::SmallTypes> const&, hb_priority<0u>)Line | Count | Source | 712 | 399k | { | 713 | 399k | Type *ret = this->allocate_size<Type> (sizeof (Type)); | 714 | 399k | if (unlikely (!ret)) return nullptr; | 715 | 311k | *ret = src; | 716 | 311k | return ret; | 717 | 399k | } |
decltype (&(((hb_declval<OT::UVSMapping<OT::Layout::MediumTypes> >)())={parm#1})) hb_serialize_context_t::_copy<OT::UVSMapping<OT::Layout::MediumTypes> >(OT::UVSMapping<OT::Layout::MediumTypes> const&, hb_priority<0u>)Line | Count | Source | 712 | 9.20k | { | 713 | 9.20k | Type *ret = this->allocate_size<Type> (sizeof (Type)); | 714 | 9.20k | if (unlikely (!ret)) return nullptr; | 715 | 9.17k | *ret = src; | 716 | 9.17k | return ret; | 717 | 9.20k | } |
decltype (&(((hb_declval<OT::Index>)())={parm#1})) hb_serialize_context_t::_copy<OT::Index>(OT::Index const&, hb_priority<0u>)Line | Count | Source | 712 | 26.9M | { | 713 | 26.9M | Type *ret = this->allocate_size<Type> (sizeof (Type)); | 714 | 26.9M | if (unlikely (!ret)) return nullptr; | 715 | 26.5M | *ret = src; | 716 | 26.5M | return ret; | 717 | 26.9M | } |
decltype (&(((hb_declval<OT::NumType<true, unsigned short, 2u> >)())={parm#1})) hb_serialize_context_t::_copy<OT::NumType<true, unsigned short, 2u> >(OT::NumType<true, unsigned short, 2u> const&, hb_priority<0u>)Line | Count | Source | 712 | 409M | { | 713 | 409M | Type *ret = this->allocate_size<Type> (sizeof (Type)); | 714 | 409M | if (unlikely (!ret)) return nullptr; | 715 | 409M | *ret = src; | 716 | 409M | return ret; | 717 | 409M | } |
decltype (&(((hb_declval<OT::NumType<true, unsigned char, 1u> >)())={parm#1})) hb_serialize_context_t::_copy<OT::NumType<true, unsigned char, 1u> >(OT::NumType<true, unsigned char, 1u> const&, hb_priority<0u>)Line | Count | Source | 712 | 1.79k | { | 713 | 1.79k | Type *ret = this->allocate_size<Type> (sizeof (Type)); | 714 | 1.79k | if (unlikely (!ret)) return nullptr; | 715 | 1.79k | *ret = src; | 716 | 1.79k | return ret; | 717 | 1.79k | } |
Unexecuted instantiation: decltype (&(((hb_declval<OT::NumType<true, unsigned int, 3u> >)())={parm#1})) hb_serialize_context_t::_copy<OT::NumType<true, unsigned int, 3u> >(OT::NumType<true, unsigned int, 3u> const&, hb_priority<0u>)decltype (&(((hb_declval<OT::VertOriginMetric<OT::Layout::SmallTypes> >)())={parm#1})) hb_serialize_context_t::_copy<OT::VertOriginMetric<OT::Layout::SmallTypes> >(OT::VertOriginMetric<OT::Layout::SmallTypes> const&, hb_priority<0u>)Line | Count | Source | 712 | 88 | { | 713 | 88 | Type *ret = this->allocate_size<Type> (sizeof (Type)); | 714 | 88 | if (unlikely (!ret)) return nullptr; | 715 | 88 | *ret = src; | 716 | 88 | return ret; | 717 | 88 | } |
decltype (&(((hb_declval<OT::VertOriginMetric<OT::Layout::MediumTypes> >)())={parm#1})) hb_serialize_context_t::_copy<OT::VertOriginMetric<OT::Layout::MediumTypes> >(OT::VertOriginMetric<OT::Layout::MediumTypes> const&, hb_priority<0u>)Line | Count | Source | 712 | 394 | { | 713 | 394 | Type *ret = this->allocate_size<Type> (sizeof (Type)); | 714 | 394 | if (unlikely (!ret)) return nullptr; | 715 | 394 | *ret = src; | 716 | 394 | return ret; | 717 | 394 | } |
|
718 | | |
719 | | /* Like embed, but active: calls obj.operator=() or obj.copy() to transfer data |
720 | | * instead of hb_memcpy(). */ |
721 | | template <typename Type, typename ...Ts> |
722 | | Type *copy (const Type &src, Ts&&... ds) |
723 | 487M | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); }Unexecuted instantiation: OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::copy<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >>(OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > const&) Unexecuted instantiation: OT::NumType<true, unsigned int, 3u>* hb_serialize_context_t::copy<OT::NumType<true, unsigned int, 3u>>(OT::NumType<true, unsigned int, 3u> const&) Unexecuted instantiation: hb-common.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, hb_set_t const&, $_7 const&, ($_17 const&)0>, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, hb_set_t const&, $_7 const&, ($_17 const&)0>&&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)Unexecuted instantiation: hb-common.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>&, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)Unexecuted instantiation: hb-face.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, hb_set_t const&, $_7 const&, ($_17 const&)0>, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, hb_set_t const&, $_7 const&, ($_17 const&)0>&&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)Unexecuted instantiation: hb-face.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>&, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)Unexecuted instantiation: hb-ot-face.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, hb_set_t const&, $_7 const&, ($_17 const&)0>, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, hb_set_t const&, $_7 const&, ($_17 const&)0>&&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)Unexecuted instantiation: hb-ot-face.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>&, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)Unexecuted instantiation: hb-ot-font.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, hb_set_t const&, $_7 const&, ($_17 const&)0>, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, hb_set_t const&, $_7 const&, ($_17 const&)0>&&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)Unexecuted instantiation: hb-ot-font.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>&, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::copy<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >>(OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> > const&) Line | Count | Source | 723 | 37.5k | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
Unexecuted instantiation: OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::copy<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >>(OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > const&) OT::SparseVarRegionAxis* hb_serialize_context_t::copy<OT::SparseVarRegionAxis>(OT::SparseVarRegionAxis const&) Line | Count | Source | 723 | 80 | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::Device* hb_serialize_context_t::copy<OT::Device, hb_hashmap_t<unsigned int, hb_pair_t<unsigned int, int>, false>*>(OT::Device const&, hb_hashmap_t<unsigned int, hb_pair_t<unsigned int, int>, false>*&&) Line | Count | Source | 723 | 1.05M | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::NumType<true, unsigned int, 4u>* hb_serialize_context_t::copy<OT::NumType<true, unsigned int, 4u>>(OT::NumType<true, unsigned int, 4u> const&) Line | Count | Source | 723 | 757k | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::UnicodeValueRange* hb_serialize_context_t::copy<OT::UnicodeValueRange>(OT::UnicodeValueRange const&) Line | Count | Source | 723 | 1.75k | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::CmapSubtableLongGroup* hb_serialize_context_t::copy<OT::CmapSubtableLongGroup>(OT::CmapSubtableLongGroup const&) Line | Count | Source | 723 | 941 | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::NonDefaultUVS<OT::Layout::SmallTypes>* hb_serialize_context_t::copy<OT::NonDefaultUVS<OT::Layout::SmallTypes>, hb_set_t const*&, hb_set_t const*&, hb_map_t const*&>(OT::NonDefaultUVS<OT::Layout::SmallTypes> const&, hb_set_t const*&, hb_set_t const*&, hb_map_t const*&) Line | Count | Source | 723 | 356 | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::UVSMapping<OT::Layout::SmallTypes>* hb_serialize_context_t::copy<OT::UVSMapping<OT::Layout::SmallTypes>>(OT::UVSMapping<OT::Layout::SmallTypes> const&) Line | Count | Source | 723 | 399k | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::DefaultUVS* hb_serialize_context_t::copy<OT::DefaultUVS, hb_set_t const*&>(OT::DefaultUVS const&, hb_set_t const*&) Line | Count | Source | 723 | 353 | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::NonDefaultUVS<OT::Layout::MediumTypes>* hb_serialize_context_t::copy<OT::NonDefaultUVS<OT::Layout::MediumTypes>, hb_set_t const*&, hb_set_t const*&, hb_map_t const*&>(OT::NonDefaultUVS<OT::Layout::MediumTypes> const&, hb_set_t const*&, hb_set_t const*&, hb_map_t const*&) Line | Count | Source | 723 | 88 | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::UVSMapping<OT::Layout::MediumTypes>* hb_serialize_context_t::copy<OT::UVSMapping<OT::Layout::MediumTypes>>(OT::UVSMapping<OT::Layout::MediumTypes> const&) Line | Count | Source | 723 | 9.20k | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::UnsizedArrayOf<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::copy<OT::UnsizedArrayOf<OT::NumType<true, unsigned int, 4u> >, unsigned int&>(OT::UnsizedArrayOf<OT::NumType<true, unsigned int, 4u> > const&, unsigned int&) Line | Count | Source | 723 | 844 | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::UnsizedArrayOf<OT::Index>* hb_serialize_context_t::copy<OT::UnsizedArrayOf<OT::Index>, unsigned int&>(OT::UnsizedArrayOf<OT::Index> const&, unsigned int&) Line | Count | Source | 723 | 118 | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::Index* hb_serialize_context_t::copy<OT::Index>(OT::Index const&) Line | Count | Source | 723 | 26.9M | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::NumType<true, unsigned short, 2u>* hb_serialize_context_t::copy<OT::NumType<true, unsigned short, 2u>>(OT::NumType<true, unsigned short, 2u> const&) Line | Count | Source | 723 | 409M | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::NumType<true, unsigned char, 1u>* hb_serialize_context_t::copy<OT::NumType<true, unsigned char, 1u>>(OT::NumType<true, unsigned char, 1u> const&) Line | Count | Source | 723 | 1.79k | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
Unexecuted instantiation: OT::NumType<true, unsigned int, 3u>* hb_serialize_context_t::copy<OT::NumType<true, unsigned int, 3u>>(OT::NumType<true, unsigned int, 3u> const&) OT::UnsizedArrayOf<OT::NumType<true, unsigned char, 1u> >* hb_serialize_context_t::copy<OT::UnsizedArrayOf<OT::NumType<true, unsigned char, 1u> >, OT::NumType<true, unsigned short, 2u> const&>(OT::UnsizedArrayOf<OT::NumType<true, unsigned char, 1u> > const&, OT::NumType<true, unsigned short, 2u> const&) Line | Count | Source | 723 | 40.2k | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::NameRecord* hb_serialize_context_t::copy<OT::NameRecord, void const*&, hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> const*&>(OT::NameRecord const&, void const*&, hb_hashmap_t<hb_ot_name_record_ids_t, hb_array_t<char const>, false> const*&) Line | Count | Source | 723 | 40.3k | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::VertOriginMetric<OT::Layout::SmallTypes>* hb_serialize_context_t::copy<OT::VertOriginMetric<OT::Layout::SmallTypes>>(OT::VertOriginMetric<OT::Layout::SmallTypes> const&) Line | Count | Source | 723 | 88 | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::VertOriginMetric<OT::Layout::MediumTypes>* hb_serialize_context_t::copy<OT::VertOriginMetric<OT::Layout::MediumTypes>>(OT::VertOriginMetric<OT::Layout::MediumTypes> const&) Line | Count | Source | 723 | 394 | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::SortedArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::copy<OT::SortedArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> >>(OT::SortedArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> > const&) Line | Count | Source | 723 | 928 | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
Unexecuted instantiation: hb-subset.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_20 const&, (void*)0>, hb_set_t const&, $_7 const&, ($_20 const&)0>, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_20 const&, (void*)0>, hb_set_t const&, $_7 const&, ($_20 const&)0>&&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)Unexecuted instantiation: hb-subset.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_20 const&, (void*)0>&, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_20 const&, (void*)0>&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)Unexecuted instantiation: hb-subset-plan.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_9 const&, (void*)0>, hb_set_t const&, $_7 const&, ($_9 const&)0>, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_9 const&, (void*)0>, hb_set_t const&, $_7 const&, ($_9 const&)0>&&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)Unexecuted instantiation: hb-subset-plan.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_9 const&, (void*)0>&, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_9 const&, (void*)0>&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)OT::Device* hb_serialize_context_t::copy<OT::Device>(OT::Device const&) Line | Count | Source | 723 | 1.48M | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::MathValueRecord* hb_serialize_context_t::copy<OT::MathValueRecord, OT::MathConstants const*>(OT::MathValueRecord const&, OT::MathConstants const*&&) Line | Count | Source | 723 | 22.5k | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::MathValueRecord* hb_serialize_context_t::copy<OT::MathValueRecord, void const*&>(OT::MathValueRecord const&, void const*&) Line | Count | Source | 723 | 208k | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::MathValueRecord* hb_serialize_context_t::copy<OT::MathValueRecord, OT::MathKern const*>(OT::MathValueRecord const&, OT::MathKern const*&&) Line | Count | Source | 723 | 43.8M | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::MathKern* hb_serialize_context_t::copy<OT::MathKern>(OT::MathKern const&) Line | Count | Source | 723 | 25.3k | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::MathKernInfoRecord* hb_serialize_context_t::copy<OT::MathKernInfoRecord, void const*&>(OT::MathKernInfoRecord const&, void const*&) Line | Count | Source | 723 | 3.73M | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::MathValueRecord* hb_serialize_context_t::copy<OT::MathValueRecord, OT::MathGlyphAssembly const*>(OT::MathValueRecord const&, OT::MathGlyphAssembly const*&&) Line | Count | Source | 723 | 491 | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
OT::MathConstants* hb_serialize_context_t::copy<OT::MathConstants>(OT::MathConstants const&) Line | Count | Source | 723 | 457 | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
hb-subset-table-other.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, hb_set_t const&, $_7 const&, ($_17 const&)0>, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, hb_set_t const&, $_7 const&, ($_17 const&)0>&&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)Line | Count | Source | 723 | 10.0k | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
hb-subset-table-other.cc:OT::EncodingRecord* hb_serialize_context_t::copy<OT::EncodingRecord, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>&, unsigned int, void const*&, hb_subset_plan_t*&, unsigned int*>(unsigned int* const&, hb_filter_iter_t<hb_sorted_array_t<hb_pair_t<unsigned int, unsigned int> const>, OT::cmap::subset(hb_subset_context_t*, bool) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>&, unsigned int&&, void const*&, hb_subset_plan_t*&, unsigned int*&&)Line | Count | Source | 723 | 661 | { return _copy (src, hb_prioritize, std::forward<Ts> (ds)...); } |
|
724 | | template <typename Type, typename ...Ts> |
725 | | Type *copy (const Type *src, Ts&&... ds) |
726 | | { return copy (*src, std::forward<Ts> (ds)...); } |
727 | | |
728 | | template<typename Iterator, |
729 | | hb_requires (hb_is_iterator (Iterator)), |
730 | | typename ...Ts> |
731 | | void copy_all (Iterator it, Ts&&... ds) |
732 | 40.7k | { for (decltype (*it) _ : it) copy (_, ds...); }_ZN22hb_serialize_context_t8copy_allI10hb_array_tIN2OT10NameRecordEETnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NS6_6item_tEEE5valueEvE4typeELPv0EJRPKvRPK12hb_hashmap_tI23hb_ot_name_record_ids_tS1_IKcELb0EEEEEvS6_DpOT1_ Line | Count | Source | 732 | 40.3k | { for (decltype (*it) _ : it) copy (_, ds...); } |
_ZN22hb_serialize_context_t8copy_allI13hb_map_iter_tI16hb_filter_iter_tI17hb_sorted_array_tIKN2OT16VertOriginMetricINS4_6Layout10SmallTypesEEEEPK8hb_set_tMS8_NS4_11HBGlyphID16ELPv0EEZNKS4_13VORGFormat1_2IS7_E6subsetEP19hb_subset_context_tEUlRS9_E_L24hb_function_sortedness_t0ELSG_0EETnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NSR_6item_tEEE5valueEvE4typeELSG_0EJEEEvSR_DpOT1_ Line | Count | Source | 732 | 125 | { for (decltype (*it) _ : it) copy (_, ds...); } |
_ZN22hb_serialize_context_t8copy_allI13hb_map_iter_tI16hb_filter_iter_tI17hb_sorted_array_tIKN2OT16VertOriginMetricINS4_6Layout11MediumTypesEEEEPK8hb_set_tMS8_NS4_11HBGlyphID24ELPv0EEZNKS4_13VORGFormat1_2IS7_E6subsetEP19hb_subset_context_tEUlRS9_E_L24hb_function_sortedness_t0ELSG_0EETnPN12hb_enable_ifIXsr17hb_is_iterator_ofIT_NSR_6item_tEEE5valueEvE4typeELSG_0EJEEEvSR_DpOT1_ Line | Count | Source | 732 | 394 | { for (decltype (*it) _ : it) copy (_, ds...); } |
|
733 | | |
734 | | template <typename Type> |
735 | | hb_serialize_context_t& operator << (const Type &obj) & { embed (obj); return *this; } |
736 | | |
737 | | template <typename Type> |
738 | | Type *extend_size (Type *obj, size_t size, bool clear = true) |
739 | 798M | { |
740 | 798M | if (unlikely (in_error ())) return nullptr; |
741 | 781M | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } |
742 | | |
743 | 781M | assert (this->start <= (char *) obj); |
744 | 781M | assert ((char *) obj <= this->head); |
745 | 781M | assert ((size_t) (this->head - (char *) obj) <= size); |
746 | 781M | if (unlikely (((char *) obj + size < (char *) obj) || |
747 | 781M | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; |
748 | 781M | return reinterpret_cast<Type *> (obj); |
749 | 781M | } OT::Layout::Common::Coverage* hb_serialize_context_t::extend_size<OT::Layout::Common::Coverage>(OT::Layout::Common::Coverage*, unsigned long, bool) Line | Count | Source | 739 | 148k | { | 740 | 148k | if (unlikely (in_error ())) return nullptr; | 741 | 146k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 146k | assert (this->start <= (char *) obj); | 744 | 146k | assert ((char *) obj <= this->head); | 745 | 146k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 146k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 146k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 146k | return reinterpret_cast<Type *> (obj); | 749 | 146k | } |
OT::ArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 367k | { | 740 | 367k | if (unlikely (in_error ())) return nullptr; | 741 | 367k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 367k | assert (this->start <= (char *) obj); | 744 | 367k | assert ((char *) obj <= this->head); | 745 | 367k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 367k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 367k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 367k | return reinterpret_cast<Type *> (obj); | 749 | 367k | } |
OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 21.8k | { | 740 | 21.8k | if (unlikely (in_error ())) return nullptr; | 741 | 21.8k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 21.8k | assert (this->start <= (char *) obj); | 744 | 21.8k | assert ((char *) obj <= this->head); | 745 | 21.8k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 21.8k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 21.8k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 21.8k | return reinterpret_cast<Type *> (obj); | 749 | 21.8k | } |
OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 43.6k | { | 740 | 43.6k | if (unlikely (in_error ())) return nullptr; | 741 | 43.6k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 43.6k | assert (this->start <= (char *) obj); | 744 | 43.6k | assert ((char *) obj <= this->head); | 745 | 43.6k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 43.6k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 43.6k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 42.2k | return reinterpret_cast<Type *> (obj); | 749 | 43.6k | } |
Unexecuted instantiation: OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Unexecuted instantiation: OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) OT::Lookup* hb_serialize_context_t::extend_size<OT::Lookup>(OT::Lookup*, unsigned long, bool) Line | Count | Source | 739 | 63.8k | { | 740 | 63.8k | if (unlikely (in_error ())) return nullptr; | 741 | 63.7k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 63.7k | assert (this->start <= (char *) obj); | 744 | 63.7k | assert ((char *) obj <= this->head); | 745 | 63.7k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 63.7k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 63.7k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 63.7k | return reinterpret_cast<Type *> (obj); | 749 | 63.7k | } |
OT::ArrayOf<OT::Offset<OT::NumType<true, unsigned short, 2u>, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::Offset<OT::NumType<true, unsigned short, 2u>, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::Offset<OT::NumType<true, unsigned short, 2u>, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 4.74k | { | 740 | 4.74k | if (unlikely (in_error ())) return nullptr; | 741 | 4.74k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 4.74k | assert (this->start <= (char *) obj); | 744 | 4.74k | assert ((char *) obj <= this->head); | 745 | 4.74k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 4.74k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 4.74k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 4.74k | return reinterpret_cast<Type *> (obj); | 749 | 4.74k | } |
Unexecuted instantiation: OT::ClassDefFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ClassDefFormat2_4<OT::Layout::MediumTypes> >(OT::ClassDefFormat2_4<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) OT::NumType<true, unsigned short, 2u>* hb_serialize_context_t::extend_size<OT::NumType<true, unsigned short, 2u> >(OT::NumType<true, unsigned short, 2u>*, unsigned long, bool) Line | Count | Source | 739 | 26.9k | { | 740 | 26.9k | if (unlikely (in_error ())) return nullptr; | 741 | 26.9k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 26.9k | assert (this->start <= (char *) obj); | 744 | 26.9k | assert ((char *) obj <= this->head); | 745 | 26.9k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 26.9k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 26.9k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 26.9k | return reinterpret_cast<Type *> (obj); | 749 | 26.9k | } |
Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> > >(OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > >(OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::Rule<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Rule<OT::Layout::MediumTypes> >(OT::Rule<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ContextFormat2_5<OT::Layout::MediumTypes> >(OT::ContextFormat2_5<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Unexecuted instantiation: OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> >* hb_serialize_context_t::extend_size<OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> > >(OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> >*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ChainContextFormat1_4<OT::Layout::MediumTypes> >(OT::ChainContextFormat1_4<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Unexecuted instantiation: OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> >* hb_serialize_context_t::extend_size<OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> > >(OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> >*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ChainContextFormat2_5<OT::Layout::MediumTypes> >(OT::ChainContextFormat2_5<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Unexecuted instantiation: OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> >* hb_serialize_context_t::extend_size<OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> > >(OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> >*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 8.71k | { | 740 | 8.71k | if (unlikely (in_error ())) return nullptr; | 741 | 8.71k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 8.71k | assert (this->start <= (char *) obj); | 744 | 8.71k | assert ((char *) obj <= this->head); | 745 | 8.71k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 8.71k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 8.71k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 8.71k | return reinterpret_cast<Type *> (obj); | 749 | 8.71k | } |
OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 9.23k | { | 740 | 9.23k | if (unlikely (in_error ())) return nullptr; | 741 | 9.23k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 9.23k | assert (this->start <= (char *) obj); | 744 | 9.23k | assert ((char *) obj <= this->head); | 745 | 9.23k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 9.23k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 9.23k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 9.23k | return reinterpret_cast<Type *> (obj); | 749 | 9.23k | } |
OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes>*, unsigned long, bool) Line | Count | Source | 739 | 12 | { | 740 | 12 | if (unlikely (in_error ())) return nullptr; | 741 | 12 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 12 | assert (this->start <= (char *) obj); | 744 | 12 | assert ((char *) obj <= this->head); | 745 | 12 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 12 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 12 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 12 | return reinterpret_cast<Type *> (obj); | 749 | 12 | } |
Unexecuted instantiation: OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 9.44k | { | 740 | 9.44k | if (unlikely (in_error ())) return nullptr; | 741 | 9.44k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 9.44k | assert (this->start <= (char *) obj); | 744 | 9.44k | assert ((char *) obj <= this->head); | 745 | 9.44k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 9.44k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 9.44k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 9.43k | return reinterpret_cast<Type *> (obj); | 749 | 9.44k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 28.5k | { | 740 | 28.5k | if (unlikely (in_error ())) return nullptr; | 741 | 28.5k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 28.5k | assert (this->start <= (char *) obj); | 744 | 28.5k | assert ((char *) obj <= this->head); | 745 | 28.5k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 28.5k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 28.5k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 28.5k | return reinterpret_cast<Type *> (obj); | 749 | 28.5k | } |
OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 30.0k | { | 740 | 30.0k | if (unlikely (in_error ())) return nullptr; | 741 | 30.0k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 30.0k | assert (this->start <= (char *) obj); | 744 | 30.0k | assert ((char *) obj <= this->head); | 745 | 30.0k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 30.0k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 30.0k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 30.0k | return reinterpret_cast<Type *> (obj); | 749 | 30.0k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 108M | { | 740 | 108M | if (unlikely (in_error ())) return nullptr; | 741 | 108M | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 108M | assert (this->start <= (char *) obj); | 744 | 108M | assert ((char *) obj <= this->head); | 745 | 108M | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 108M | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 108M | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 108M | return reinterpret_cast<Type *> (obj); | 749 | 108M | } |
OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 31.3M | { | 740 | 31.3M | if (unlikely (in_error ())) return nullptr; | 741 | 31.3M | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 31.3M | assert (this->start <= (char *) obj); | 744 | 31.3M | assert ((char *) obj <= this->head); | 745 | 31.3M | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 31.3M | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 31.3M | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 31.3M | return reinterpret_cast<Type *> (obj); | 749 | 31.3M | } |
OT::HeadlessArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::HeadlessArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> > >(OT::HeadlessArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 62.6M | { | 740 | 62.6M | if (unlikely (in_error ())) return nullptr; | 741 | 62.6M | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 62.6M | assert (this->start <= (char *) obj); | 744 | 62.6M | assert ((char *) obj <= this->head); | 745 | 62.6M | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 62.6M | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 62.6M | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 62.6M | return reinterpret_cast<Type *> (obj); | 749 | 62.6M | } |
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::HeadlessArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::HeadlessArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> > >(OT::HeadlessArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_size<OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> > >(OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> >*, unsigned long, bool) OT::OpenTypeFontFile* hb_serialize_context_t::extend_size<OT::OpenTypeFontFile>(OT::OpenTypeFontFile*, unsigned long, bool) Line | Count | Source | 739 | 13.1k | { | 740 | 13.1k | if (unlikely (in_error ())) return nullptr; | 741 | 13.1k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 13.1k | assert (this->start <= (char *) obj); | 744 | 13.1k | assert ((char *) obj <= this->head); | 745 | 13.1k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 13.1k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 13.1k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 13.1k | return reinterpret_cast<Type *> (obj); | 749 | 13.1k | } |
OT::OpenTypeOffsetTable* hb_serialize_context_t::extend_size<OT::OpenTypeOffsetTable>(OT::OpenTypeOffsetTable*, unsigned long, bool) Line | Count | Source | 739 | 13.1k | { | 740 | 13.1k | if (unlikely (in_error ())) return nullptr; | 741 | 13.1k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 13.1k | assert (this->start <= (char *) obj); | 744 | 13.1k | assert ((char *) obj <= this->head); | 745 | 13.1k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 13.1k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 13.1k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 13.1k | return reinterpret_cast<Type *> (obj); | 749 | 13.1k | } |
OT::ArrayOf<OT::TableRecord, OT::BinSearchHeader<OT::NumType<true, unsigned short, 2u> > >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::TableRecord, OT::BinSearchHeader<OT::NumType<true, unsigned short, 2u> > > >(OT::ArrayOf<OT::TableRecord, OT::BinSearchHeader<OT::NumType<true, unsigned short, 2u> > >*, unsigned long, bool) Line | Count | Source | 739 | 26.2k | { | 740 | 26.2k | if (unlikely (in_error ())) return nullptr; | 741 | 26.2k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 26.2k | assert (this->start <= (char *) obj); | 744 | 26.2k | assert ((char *) obj <= this->head); | 745 | 26.2k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 26.2k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 26.2k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 26.2k | return reinterpret_cast<Type *> (obj); | 749 | 26.2k | } |
OT::ClassDef* hb_serialize_context_t::extend_size<OT::ClassDef>(OT::ClassDef*, unsigned long, bool) Line | Count | Source | 739 | 13.6k | { | 740 | 13.6k | if (unlikely (in_error ())) return nullptr; | 741 | 13.6k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 13.6k | assert (this->start <= (char *) obj); | 744 | 13.6k | assert ((char *) obj <= this->head); | 745 | 13.6k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 13.6k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 13.6k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 13.6k | return reinterpret_cast<Type *> (obj); | 749 | 13.6k | } |
OT::ClassDefFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::ClassDefFormat1_3<OT::Layout::SmallTypes> >(OT::ClassDefFormat1_3<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 4.95k | { | 740 | 4.95k | if (unlikely (in_error ())) return nullptr; | 741 | 4.95k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 4.95k | assert (this->start <= (char *) obj); | 744 | 4.95k | assert ((char *) obj <= this->head); | 745 | 4.95k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 4.95k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 4.95k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 4.95k | return reinterpret_cast<Type *> (obj); | 749 | 4.95k | } |
OT::ArrayOf<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 85.9k | { | 740 | 85.9k | if (unlikely (in_error ())) return nullptr; | 741 | 85.9k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 85.9k | assert (this->start <= (char *) obj); | 744 | 85.9k | assert ((char *) obj <= this->head); | 745 | 85.9k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 85.9k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 85.9k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 85.6k | return reinterpret_cast<Type *> (obj); | 749 | 85.9k | } |
OT::ClassDefFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::ClassDefFormat2_4<OT::Layout::SmallTypes> >(OT::ClassDefFormat2_4<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 8.66k | { | 740 | 8.66k | if (unlikely (in_error ())) return nullptr; | 741 | 8.66k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 8.66k | assert (this->start <= (char *) obj); | 744 | 8.66k | assert ((char *) obj <= this->head); | 745 | 8.66k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 8.66k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 8.66k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 8.66k | return reinterpret_cast<Type *> (obj); | 749 | 8.66k | } |
OT::ClassDefFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ClassDefFormat1_3<OT::Layout::MediumTypes> >(OT::ClassDefFormat1_3<OT::Layout::MediumTypes>*, unsigned long, bool) Line | Count | Source | 739 | 2 | { | 740 | 2 | if (unlikely (in_error ())) return nullptr; | 741 | 2 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 2 | assert (this->start <= (char *) obj); | 744 | 2 | assert ((char *) obj <= this->head); | 745 | 2 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 2 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 2 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 2 | return reinterpret_cast<Type *> (obj); | 749 | 2 | } |
OT::ArrayOf<OT::NumType<true, unsigned int, 3u>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::NumType<true, unsigned int, 3u>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::NumType<true, unsigned int, 3u>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Line | Count | Source | 739 | 4 | { | 740 | 4 | if (unlikely (in_error ())) return nullptr; | 741 | 4 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 4 | assert (this->start <= (char *) obj); | 744 | 4 | assert ((char *) obj <= this->head); | 745 | 4 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 4 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 4 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 4 | return reinterpret_cast<Type *> (obj); | 749 | 4 | } |
Unexecuted instantiation: OT::ClassDefFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ClassDefFormat2_4<OT::Layout::MediumTypes> >(OT::ClassDefFormat2_4<OT::Layout::MediumTypes>*, unsigned long, bool) OT::Feature* hb_serialize_context_t::extend_size<OT::Feature>(OT::Feature*, unsigned long, bool) Line | Count | Source | 739 | 23.7k | { | 740 | 23.7k | if (unlikely (in_error ())) return nullptr; | 741 | 23.7k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 23.7k | assert (this->start <= (char *) obj); | 744 | 23.7k | assert ((char *) obj <= this->head); | 745 | 23.7k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 23.7k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 23.7k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 23.7k | return reinterpret_cast<Type *> (obj); | 749 | 23.7k | } |
OT::IndexArray* hb_serialize_context_t::extend_size<OT::IndexArray>(OT::IndexArray*, unsigned long, bool) Line | Count | Source | 739 | 60.8k | { | 740 | 60.8k | if (unlikely (in_error ())) return nullptr; | 741 | 60.8k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 60.8k | assert (this->start <= (char *) obj); | 744 | 60.8k | assert ((char *) obj <= this->head); | 745 | 60.8k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 60.8k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 60.8k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 60.8k | return reinterpret_cast<Type *> (obj); | 749 | 60.8k | } |
OT::RecordListOfFeature* hb_serialize_context_t::extend_size<OT::RecordListOfFeature>(OT::RecordListOfFeature*, unsigned long, bool) Line | Count | Source | 739 | 19.2k | { | 740 | 19.2k | if (unlikely (in_error ())) return nullptr; | 741 | 16.4k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 16.4k | assert (this->start <= (char *) obj); | 744 | 16.4k | assert ((char *) obj <= this->head); | 745 | 16.4k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 16.4k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 16.4k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 16.4k | return reinterpret_cast<Type *> (obj); | 749 | 16.4k | } |
OT::LangSys* hb_serialize_context_t::extend_size<OT::LangSys>(OT::LangSys*, unsigned long, bool) Line | Count | Source | 739 | 78.4k | { | 740 | 78.4k | if (unlikely (in_error ())) return nullptr; | 741 | 78.4k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 78.4k | assert (this->start <= (char *) obj); | 744 | 78.4k | assert ((char *) obj <= this->head); | 745 | 78.4k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 78.4k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 78.4k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 78.4k | return reinterpret_cast<Type *> (obj); | 749 | 78.4k | } |
OT::Script* hb_serialize_context_t::extend_size<OT::Script>(OT::Script*, unsigned long, bool) Line | Count | Source | 739 | 58.5k | { | 740 | 58.5k | if (unlikely (in_error ())) return nullptr; | 741 | 58.5k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 58.5k | assert (this->start <= (char *) obj); | 744 | 58.5k | assert ((char *) obj <= this->head); | 745 | 58.5k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 58.5k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 58.5k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 58.5k | return reinterpret_cast<Type *> (obj); | 749 | 58.5k | } |
OT::RecordListOfScript* hb_serialize_context_t::extend_size<OT::RecordListOfScript>(OT::RecordListOfScript*, unsigned long, bool) Line | Count | Source | 739 | 19.2k | { | 740 | 19.2k | if (unlikely (in_error ())) return nullptr; | 741 | 16.4k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 16.4k | assert (this->start <= (char *) obj); | 744 | 16.4k | assert ((char *) obj <= this->head); | 745 | 16.4k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 16.4k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 16.4k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 16.4k | return reinterpret_cast<Type *> (obj); | 749 | 16.4k | } |
OT::VarRegionList* hb_serialize_context_t::extend_size<OT::VarRegionList>(OT::VarRegionList*, unsigned long, bool) Line | Count | Source | 739 | 15.4k | { | 740 | 15.4k | if (unlikely (in_error ())) return nullptr; | 741 | 15.4k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 15.4k | assert (this->start <= (char *) obj); | 744 | 15.4k | assert ((char *) obj <= this->head); | 745 | 15.4k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 15.4k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 15.4k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 15.2k | return reinterpret_cast<Type *> (obj); | 749 | 15.4k | } |
OT::ArrayOf<OT::OffsetTo<OT::SparseVarRegionAxis, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::SparseVarRegionAxis, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::SparseVarRegionAxis, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 184 | { | 740 | 184 | if (unlikely (in_error ())) return nullptr; | 741 | 184 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 184 | assert (this->start <= (char *) obj); | 744 | 184 | assert ((char *) obj <= this->head); | 745 | 184 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 184 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 184 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 184 | return reinterpret_cast<Type *> (obj); | 749 | 184 | } |
OT::SparseVarRegionList* hb_serialize_context_t::extend_size<OT::SparseVarRegionList>(OT::SparseVarRegionList*, unsigned long, bool) Line | Count | Source | 739 | 62 | { | 740 | 62 | if (unlikely (in_error ())) return nullptr; | 741 | 62 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 62 | assert (this->start <= (char *) obj); | 744 | 62 | assert ((char *) obj <= this->head); | 745 | 62 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 62 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 62 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 62 | return reinterpret_cast<Type *> (obj); | 749 | 62 | } |
OT::ArrayOf<OT::OffsetTo<OT::SparseVariationRegion, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::SparseVariationRegion, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> > >(OT::ArrayOf<OT::OffsetTo<OT::SparseVariationRegion, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >*, unsigned long, bool) Line | Count | Source | 739 | 62 | { | 740 | 62 | if (unlikely (in_error ())) return nullptr; | 741 | 62 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 62 | assert (this->start <= (char *) obj); | 744 | 62 | assert ((char *) obj <= this->head); | 745 | 62 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 62 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 62 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 62 | return reinterpret_cast<Type *> (obj); | 749 | 62 | } |
OT::VarData* hb_serialize_context_t::extend_size<OT::VarData>(OT::VarData*, unsigned long, bool) Line | Count | Source | 739 | 46.2k | { | 740 | 46.2k | if (unlikely (in_error ())) return nullptr; | 741 | 46.2k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 46.2k | assert (this->start <= (char *) obj); | 744 | 46.2k | assert ((char *) obj <= this->head); | 745 | 46.2k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 46.2k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 46.2k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 46.0k | return reinterpret_cast<Type *> (obj); | 749 | 46.2k | } |
OT::MultiVarData* hb_serialize_context_t::extend_size<OT::MultiVarData>(OT::MultiVarData*, unsigned long, bool) Line | Count | Source | 739 | 57 | { | 740 | 57 | if (unlikely (in_error ())) return nullptr; | 741 | 57 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 57 | assert (this->start <= (char *) obj); | 744 | 57 | assert ((char *) obj <= this->head); | 745 | 57 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 57 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 57 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 57 | return reinterpret_cast<Type *> (obj); | 749 | 57 | } |
OT::CFFIndex<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_size<OT::CFFIndex<OT::NumType<true, unsigned int, 4u> > >(OT::CFFIndex<OT::NumType<true, unsigned int, 4u> >*, unsigned long, bool) Line | Count | Source | 739 | 6.71k | { | 740 | 6.71k | if (unlikely (in_error ())) return nullptr; | 741 | 6.70k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 6.70k | assert (this->start <= (char *) obj); | 744 | 6.70k | assert ((char *) obj <= this->head); | 745 | 6.70k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 6.70k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 6.70k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 6.70k | return reinterpret_cast<Type *> (obj); | 749 | 6.70k | } |
OT::NumType<true, unsigned char, 1u>* hb_serialize_context_t::extend_size<OT::NumType<true, unsigned char, 1u> >(OT::NumType<true, unsigned char, 1u>*, unsigned long, bool) Line | Count | Source | 739 | 57.1k | { | 740 | 57.1k | if (unlikely (in_error ())) return nullptr; | 741 | 57.1k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 57.1k | assert (this->start <= (char *) obj); | 744 | 57.1k | assert ((char *) obj <= this->head); | 745 | 57.1k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 57.1k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 57.1k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 57.1k | return reinterpret_cast<Type *> (obj); | 749 | 57.1k | } |
OT::ItemVariationStore* hb_serialize_context_t::extend_size<OT::ItemVariationStore>(OT::ItemVariationStore*, unsigned long, bool) Line | Count | Source | 739 | 9.11k | { | 740 | 9.11k | if (unlikely (in_error ())) return nullptr; | 741 | 9.11k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 9.11k | assert (this->start <= (char *) obj); | 744 | 9.11k | assert ((char *) obj <= this->head); | 745 | 9.11k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 9.11k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 9.11k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 9.11k | return reinterpret_cast<Type *> (obj); | 749 | 9.11k | } |
OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 7.79k | { | 740 | 7.79k | if (unlikely (in_error ())) return nullptr; | 741 | 7.77k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 7.77k | assert (this->start <= (char *) obj); | 744 | 7.77k | assert ((char *) obj <= this->head); | 745 | 7.77k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 7.77k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 7.77k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 7.76k | return reinterpret_cast<Type *> (obj); | 749 | 7.77k | } |
OT::MultiItemVariationStore* hb_serialize_context_t::extend_size<OT::MultiItemVariationStore>(OT::MultiItemVariationStore*, unsigned long, bool) Line | Count | Source | 739 | 62 | { | 740 | 62 | if (unlikely (in_error ())) return nullptr; | 741 | 62 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 62 | assert (this->start <= (char *) obj); | 744 | 62 | assert ((char *) obj <= this->head); | 745 | 62 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 62 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 62 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 62 | return reinterpret_cast<Type *> (obj); | 749 | 62 | } |
OT::ArrayOf<OT::OffsetTo<OT::MultiVarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::MultiVarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::MultiVarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 57 | { | 740 | 57 | if (unlikely (in_error ())) return nullptr; | 741 | 57 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 57 | assert (this->start <= (char *) obj); | 744 | 57 | assert ((char *) obj <= this->head); | 745 | 57 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 57 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 57 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 57 | return reinterpret_cast<Type *> (obj); | 749 | 57 | } |
OT::ConditionAnd* hb_serialize_context_t::extend_size<OT::ConditionAnd>(OT::ConditionAnd*, unsigned long, bool) Line | Count | Source | 739 | 169 | { | 740 | 169 | if (unlikely (in_error ())) return nullptr; | 741 | 169 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 169 | assert (this->start <= (char *) obj); | 744 | 169 | assert ((char *) obj <= this->head); | 745 | 169 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 169 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 169 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 169 | return reinterpret_cast<Type *> (obj); | 749 | 169 | } |
OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned char, 1u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned char, 1u> > >(OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned char, 1u> >*, unsigned long, bool) Line | Count | Source | 739 | 1.01k | { | 740 | 1.01k | if (unlikely (in_error ())) return nullptr; | 741 | 1.01k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.01k | assert (this->start <= (char *) obj); | 744 | 1.01k | assert ((char *) obj <= this->head); | 745 | 1.01k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.01k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.01k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.01k | return reinterpret_cast<Type *> (obj); | 749 | 1.01k | } |
OT::ConditionOr* hb_serialize_context_t::extend_size<OT::ConditionOr>(OT::ConditionOr*, unsigned long, bool) Line | Count | Source | 739 | 165 | { | 740 | 165 | if (unlikely (in_error ())) return nullptr; | 741 | 165 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 165 | assert (this->start <= (char *) obj); | 744 | 165 | assert ((char *) obj <= this->head); | 745 | 165 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 165 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 165 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 165 | return reinterpret_cast<Type *> (obj); | 749 | 165 | } |
OT::ConditionValue* hb_serialize_context_t::extend_size<OT::ConditionValue>(OT::ConditionValue*, unsigned long, bool) Line | Count | Source | 739 | 246 | { | 740 | 246 | if (unlikely (in_error ())) return nullptr; | 741 | 245 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 245 | assert (this->start <= (char *) obj); | 744 | 245 | assert ((char *) obj <= this->head); | 745 | 245 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 245 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 245 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 245 | return reinterpret_cast<Type *> (obj); | 749 | 245 | } |
OT::ConditionList* hb_serialize_context_t::extend_size<OT::ConditionList>(OT::ConditionList*, unsigned long, bool) Line | Count | Source | 739 | 45 | { | 740 | 45 | if (unlikely (in_error ())) return nullptr; | 741 | 45 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 45 | assert (this->start <= (char *) obj); | 744 | 45 | assert ((char *) obj <= this->head); | 745 | 45 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 45 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 45 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 45 | return reinterpret_cast<Type *> (obj); | 749 | 45 | } |
OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> > >(OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >*, unsigned long, bool) Line | Count | Source | 739 | 45 | { | 740 | 45 | if (unlikely (in_error ())) return nullptr; | 741 | 45 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 45 | assert (this->start <= (char *) obj); | 744 | 45 | assert ((char *) obj <= this->head); | 745 | 45 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 45 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 45 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 45 | return reinterpret_cast<Type *> (obj); | 749 | 45 | } |
OT::ConditionSet* hb_serialize_context_t::extend_size<OT::ConditionSet>(OT::ConditionSet*, unsigned long, bool) Line | Count | Source | 739 | 906 | { | 740 | 906 | if (unlikely (in_error ())) return nullptr; | 741 | 906 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 906 | assert (this->start <= (char *) obj); | 744 | 906 | assert ((char *) obj <= this->head); | 745 | 906 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 906 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 906 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 906 | return reinterpret_cast<Type *> (obj); | 749 | 906 | } |
OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 884 | { | 740 | 884 | if (unlikely (in_error ())) return nullptr; | 741 | 884 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 884 | assert (this->start <= (char *) obj); | 744 | 884 | assert ((char *) obj <= this->head); | 745 | 884 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 884 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 884 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 884 | return reinterpret_cast<Type *> (obj); | 749 | 884 | } |
OT::FeatureTableSubstitutionRecord* hb_serialize_context_t::extend_size<OT::FeatureTableSubstitutionRecord>(OT::FeatureTableSubstitutionRecord*, unsigned long, bool) Line | Count | Source | 739 | 66 | { | 740 | 66 | if (unlikely (in_error ())) return nullptr; | 741 | 66 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 66 | assert (this->start <= (char *) obj); | 744 | 66 | assert ((char *) obj <= this->head); | 745 | 66 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 66 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 66 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 66 | return reinterpret_cast<Type *> (obj); | 749 | 66 | } |
OT::FeatureTableSubstitution* hb_serialize_context_t::extend_size<OT::FeatureTableSubstitution>(OT::FeatureTableSubstitution*, unsigned long, bool) Line | Count | Source | 739 | 937 | { | 740 | 937 | if (unlikely (in_error ())) return nullptr; | 741 | 933 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 933 | assert (this->start <= (char *) obj); | 744 | 933 | assert ((char *) obj <= this->head); | 745 | 933 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 933 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 933 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 933 | return reinterpret_cast<Type *> (obj); | 749 | 933 | } |
OT::ArrayOf<OT::FeatureTableSubstitutionRecord, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::FeatureTableSubstitutionRecord, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::FeatureTableSubstitutionRecord, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 66 | { | 740 | 66 | if (unlikely (in_error ())) return nullptr; | 741 | 66 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 66 | assert (this->start <= (char *) obj); | 744 | 66 | assert ((char *) obj <= this->head); | 745 | 66 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 66 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 66 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 66 | return reinterpret_cast<Type *> (obj); | 749 | 66 | } |
OT::LookupIndexList* hb_serialize_context_t::extend_size<OT::LookupIndexList>(OT::LookupIndexList*, unsigned long, bool) Line | Count | Source | 739 | 175 | { | 740 | 175 | if (unlikely (in_error ())) return nullptr; | 741 | 175 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 175 | assert (this->start <= (char *) obj); | 744 | 175 | assert ((char *) obj <= this->head); | 745 | 175 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 175 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 175 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 175 | return reinterpret_cast<Type *> (obj); | 749 | 175 | } |
OT::FeatureLookupsTable* hb_serialize_context_t::extend_size<OT::FeatureLookupsTable>(OT::FeatureLookupsTable*, unsigned long, bool) Line | Count | Source | 739 | 131 | { | 740 | 131 | if (unlikely (in_error ())) return nullptr; | 741 | 131 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 131 | assert (this->start <= (char *) obj); | 744 | 131 | assert ((char *) obj <= this->head); | 745 | 131 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 131 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 131 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 131 | return reinterpret_cast<Type *> (obj); | 749 | 131 | } |
OT::FeatureVariations* hb_serialize_context_t::extend_size<OT::FeatureVariations>(OT::FeatureVariations*, unsigned long, bool) Line | Count | Source | 739 | 1.22k | { | 740 | 1.22k | if (unlikely (in_error ())) return nullptr; | 741 | 1.22k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.22k | assert (this->start <= (char *) obj); | 744 | 1.22k | assert ((char *) obj <= this->head); | 745 | 1.22k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.22k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.22k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.22k | return reinterpret_cast<Type *> (obj); | 749 | 1.22k | } |
OT::ArrayOf<OT::LookupVariationRecord, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::LookupVariationRecord, OT::NumType<true, unsigned int, 4u> > >(OT::ArrayOf<OT::LookupVariationRecord, OT::NumType<true, unsigned int, 4u> >*, unsigned long, bool) Line | Count | Source | 739 | 254 | { | 740 | 254 | if (unlikely (in_error ())) return nullptr; | 741 | 254 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 254 | assert (this->start <= (char *) obj); | 744 | 254 | assert ((char *) obj <= this->head); | 745 | 254 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 254 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 254 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 254 | return reinterpret_cast<Type *> (obj); | 749 | 254 | } |
OT::AttachList* hb_serialize_context_t::extend_size<OT::AttachList>(OT::AttachList*, unsigned long, bool) Line | Count | Source | 739 | 1.33k | { | 740 | 1.33k | if (unlikely (in_error ())) return nullptr; | 741 | 1.33k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.33k | assert (this->start <= (char *) obj); | 744 | 1.33k | assert ((char *) obj <= this->head); | 745 | 1.33k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.33k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.33k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.33k | return reinterpret_cast<Type *> (obj); | 749 | 1.33k | } |
OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 57.8k | { | 740 | 57.8k | if (unlikely (in_error ())) return nullptr; | 741 | 48.7k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 48.7k | assert (this->start <= (char *) obj); | 744 | 48.7k | assert ((char *) obj <= this->head); | 745 | 48.7k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 48.7k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 48.7k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 48.7k | return reinterpret_cast<Type *> (obj); | 749 | 48.7k | } |
OT::LigGlyph* hb_serialize_context_t::extend_size<OT::LigGlyph>(OT::LigGlyph*, unsigned long, bool) Line | Count | Source | 739 | 47.6k | { | 740 | 47.6k | if (unlikely (in_error ())) return nullptr; | 741 | 47.6k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 47.6k | assert (this->start <= (char *) obj); | 744 | 47.6k | assert ((char *) obj <= this->head); | 745 | 47.6k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 47.6k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 47.6k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 47.6k | return reinterpret_cast<Type *> (obj); | 749 | 47.6k | } |
OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 169M | { | 740 | 169M | if (unlikely (in_error ())) return nullptr; | 741 | 163M | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 163M | assert (this->start <= (char *) obj); | 744 | 163M | assert ((char *) obj <= this->head); | 745 | 163M | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 163M | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 163M | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 163M | return reinterpret_cast<Type *> (obj); | 749 | 163M | } |
OT::MarkGlyphSetsFormat1* hb_serialize_context_t::extend_size<OT::MarkGlyphSetsFormat1>(OT::MarkGlyphSetsFormat1*, unsigned long, bool) Line | Count | Source | 739 | 3.99k | { | 740 | 3.99k | if (unlikely (in_error ())) return nullptr; | 741 | 3.99k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 3.99k | assert (this->start <= (char *) obj); | 744 | 3.99k | assert ((char *) obj <= this->head); | 745 | 3.99k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 3.99k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 3.99k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 3.99k | return reinterpret_cast<Type *> (obj); | 749 | 3.99k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 16.1k | { | 740 | 16.1k | if (unlikely (in_error ())) return nullptr; | 741 | 16.0k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 16.0k | assert (this->start <= (char *) obj); | 744 | 16.0k | assert ((char *) obj <= this->head); | 745 | 16.0k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 16.0k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 16.0k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 16.0k | return reinterpret_cast<Type *> (obj); | 749 | 16.0k | } |
OT::GDEF* hb_serialize_context_t::extend_size<OT::GDEF>(OT::GDEF*, unsigned long, bool) Line | Count | Source | 739 | 8.89k | { | 740 | 8.89k | if (unlikely (in_error ())) return nullptr; | 741 | 8.89k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 8.89k | assert (this->start <= (char *) obj); | 744 | 8.89k | assert ((char *) obj <= this->head); | 745 | 8.89k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 8.89k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 8.89k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 8.89k | return reinterpret_cast<Type *> (obj); | 749 | 8.89k | } |
OT::LigCaretList<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::LigCaretList<OT::Layout::MediumTypes> >(OT::LigCaretList<OT::Layout::MediumTypes>*, unsigned long, bool) Line | Count | Source | 739 | 36 | { | 740 | 36 | if (unlikely (in_error ())) return nullptr; | 741 | 36 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 36 | assert (this->start <= (char *) obj); | 744 | 36 | assert ((char *) obj <= this->head); | 745 | 36 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 36 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 36 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 36 | return reinterpret_cast<Type *> (obj); | 749 | 36 | } |
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) OT::LigCaretList<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::LigCaretList<OT::Layout::SmallTypes> >(OT::LigCaretList<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 2.56k | { | 740 | 2.56k | if (unlikely (in_error ())) return nullptr; | 741 | 2.38k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 2.38k | assert (this->start <= (char *) obj); | 744 | 2.38k | assert ((char *) obj <= this->head); | 745 | 2.38k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 2.38k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 2.38k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 2.38k | return reinterpret_cast<Type *> (obj); | 749 | 2.38k | } |
OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 72.2k | { | 740 | 72.2k | if (unlikely (in_error ())) return nullptr; | 741 | 57.2k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 57.2k | assert (this->start <= (char *) obj); | 744 | 57.2k | assert ((char *) obj <= this->head); | 745 | 57.2k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 57.2k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 57.2k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 57.2k | return reinterpret_cast<Type *> (obj); | 749 | 57.2k | } |
OT::MVAR* hb_serialize_context_t::extend_size<OT::MVAR>(OT::MVAR*, unsigned long, bool) Line | Count | Source | 739 | 284 | { | 740 | 284 | if (unlikely (in_error ())) return nullptr; | 741 | 284 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 284 | assert (this->start <= (char *) obj); | 744 | 284 | assert ((char *) obj <= this->head); | 745 | 284 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 284 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 284 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 284 | return reinterpret_cast<Type *> (obj); | 749 | 284 | } |
OT::cmap* hb_serialize_context_t::extend_size<OT::cmap>(OT::cmap*, unsigned long, bool) Line | Count | Source | 739 | 6.29k | { | 740 | 6.29k | if (unlikely (in_error ())) return nullptr; | 741 | 6.29k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 6.29k | assert (this->start <= (char *) obj); | 744 | 6.29k | assert ((char *) obj <= this->head); | 745 | 6.29k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 6.29k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 6.29k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 6.29k | return reinterpret_cast<Type *> (obj); | 749 | 6.29k | } |
OT::CmapSubtableFormat4* hb_serialize_context_t::extend_size<OT::CmapSubtableFormat4>(OT::CmapSubtableFormat4*, unsigned long, bool) Line | Count | Source | 739 | 1.79k | { | 740 | 1.79k | if (unlikely (in_error ())) return nullptr; | 741 | 1.79k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.79k | assert (this->start <= (char *) obj); | 744 | 1.79k | assert ((char *) obj <= this->head); | 745 | 1.79k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.79k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.79k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.79k | return reinterpret_cast<Type *> (obj); | 749 | 1.79k | } |
OT::CmapSubtableFormat12* hb_serialize_context_t::extend_size<OT::CmapSubtableFormat12>(OT::CmapSubtableFormat12*, unsigned long, bool) Line | Count | Source | 739 | 243 | { | 740 | 243 | if (unlikely (in_error ())) return nullptr; | 741 | 243 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 243 | assert (this->start <= (char *) obj); | 744 | 243 | assert ((char *) obj <= this->head); | 745 | 243 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 243 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 243 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 243 | return reinterpret_cast<Type *> (obj); | 749 | 243 | } |
OT::CmapSubtableFormat14_15<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::CmapSubtableFormat14_15<OT::Layout::SmallTypes> >(OT::CmapSubtableFormat14_15<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 430 | { | 740 | 430 | if (unlikely (in_error ())) return nullptr; | 741 | 430 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 430 | assert (this->start <= (char *) obj); | 744 | 430 | assert ((char *) obj <= this->head); | 745 | 430 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 430 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 430 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 430 | return reinterpret_cast<Type *> (obj); | 749 | 430 | } |
OT::CmapSubtableFormat14_15<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::CmapSubtableFormat14_15<OT::Layout::MediumTypes> >(OT::CmapSubtableFormat14_15<OT::Layout::MediumTypes>*, unsigned long, bool) Line | Count | Source | 739 | 214 | { | 740 | 214 | if (unlikely (in_error ())) return nullptr; | 741 | 214 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 214 | assert (this->start <= (char *) obj); | 744 | 214 | assert ((char *) obj <= this->head); | 745 | 214 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 214 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 214 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 214 | return reinterpret_cast<Type *> (obj); | 749 | 214 | } |
OT::NumType<true, unsigned int, 4u>* hb_serialize_context_t::extend_size<OT::NumType<true, unsigned int, 4u> >(OT::NumType<true, unsigned int, 4u>*, unsigned long, bool) Line | Count | Source | 739 | 844 | { | 740 | 844 | if (unlikely (in_error ())) return nullptr; | 741 | 844 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 844 | assert (this->start <= (char *) obj); | 744 | 844 | assert ((char *) obj <= this->head); | 745 | 844 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 844 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 844 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 834 | return reinterpret_cast<Type *> (obj); | 749 | 844 | } |
OT::Index* hb_serialize_context_t::extend_size<OT::Index>(OT::Index*, unsigned long, bool) Line | Count | Source | 739 | 118 | { | 740 | 118 | if (unlikely (in_error ())) return nullptr; | 741 | 112 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 112 | assert (this->start <= (char *) obj); | 744 | 112 | assert ((char *) obj <= this->head); | 745 | 112 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 112 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 112 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 106 | return reinterpret_cast<Type *> (obj); | 749 | 112 | } |
OT::CPAL* hb_serialize_context_t::extend_size<OT::CPAL>(OT::CPAL*, unsigned long, bool) Line | Count | Source | 739 | 1.32k | { | 740 | 1.32k | if (unlikely (in_error ())) return nullptr; | 741 | 1.32k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.32k | assert (this->start <= (char *) obj); | 744 | 1.32k | assert ((char *) obj <= this->head); | 745 | 1.32k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.32k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.32k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.32k | return reinterpret_cast<Type *> (obj); | 749 | 1.32k | } |
OT::ColorLine<OT::NoVariable>* hb_serialize_context_t::extend_size<OT::ColorLine<OT::NoVariable> >(OT::ColorLine<OT::NoVariable>*, unsigned long, bool) Line | Count | Source | 739 | 4.51k | { | 740 | 4.51k | if (unlikely (in_error ())) return nullptr; | 741 | 4.51k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 4.51k | assert (this->start <= (char *) obj); | 744 | 4.51k | assert ((char *) obj <= this->head); | 745 | 4.51k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 4.51k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 4.51k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 4.51k | return reinterpret_cast<Type *> (obj); | 749 | 4.51k | } |
OT::ColorLine<OT::Variable>* hb_serialize_context_t::extend_size<OT::ColorLine<OT::Variable> >(OT::ColorLine<OT::Variable>*, unsigned long, bool) Line | Count | Source | 739 | 12.3k | { | 740 | 12.3k | if (unlikely (in_error ())) return nullptr; | 741 | 12.3k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 12.3k | assert (this->start <= (char *) obj); | 744 | 12.3k | assert ((char *) obj <= this->head); | 745 | 12.3k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 12.3k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 12.3k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 12.3k | return reinterpret_cast<Type *> (obj); | 749 | 12.3k | } |
OT::ClipList* hb_serialize_context_t::extend_size<OT::ClipList>(OT::ClipList*, unsigned long, bool) Line | Count | Source | 739 | 985 | { | 740 | 985 | if (unlikely (in_error ())) return nullptr; | 741 | 792 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 792 | assert (this->start <= (char *) obj); | 744 | 792 | assert ((char *) obj <= this->head); | 745 | 792 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 792 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 792 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 791 | return reinterpret_cast<Type *> (obj); | 749 | 792 | } |
OT::BaseGlyphList* hb_serialize_context_t::extend_size<OT::BaseGlyphList>(OT::BaseGlyphList*, unsigned long, bool) Line | Count | Source | 739 | 3.41k | { | 740 | 3.41k | if (unlikely (in_error ())) return nullptr; | 741 | 3.41k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 3.41k | assert (this->start <= (char *) obj); | 744 | 3.41k | assert ((char *) obj <= this->head); | 745 | 3.41k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 3.41k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 3.41k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 3.41k | return reinterpret_cast<Type *> (obj); | 749 | 3.41k | } |
OT::LayerList* hb_serialize_context_t::extend_size<OT::LayerList>(OT::LayerList*, unsigned long, bool) Line | Count | Source | 739 | 952 | { | 740 | 952 | if (unlikely (in_error ())) return nullptr; | 741 | 938 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 938 | assert (this->start <= (char *) obj); | 744 | 938 | assert ((char *) obj <= this->head); | 745 | 938 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 938 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 938 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 935 | return reinterpret_cast<Type *> (obj); | 749 | 938 | } |
OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> > >(OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >*, unsigned long, bool) Line | Count | Source | 739 | 17.8k | { | 740 | 17.8k | if (unlikely (in_error ())) return nullptr; | 741 | 17.7k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 17.7k | assert (this->start <= (char *) obj); | 744 | 17.7k | assert ((char *) obj <= this->head); | 745 | 17.7k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 17.7k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 17.7k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 17.7k | return reinterpret_cast<Type *> (obj); | 749 | 17.7k | } |
OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned short, 2u> > >(OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 2.44k | { | 740 | 2.44k | if (unlikely (in_error ())) return nullptr; | 741 | 2.24k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 2.24k | assert (this->start <= (char *) obj); | 744 | 2.24k | assert ((char *) obj <= this->head); | 745 | 2.24k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 2.24k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 2.24k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 2.24k | return reinterpret_cast<Type *> (obj); | 749 | 2.24k | } |
Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_size<OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> > >(OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> >*, unsigned long, bool) OT::COLR* hb_serialize_context_t::extend_size<OT::COLR>(OT::COLR*, unsigned long, bool) Line | Count | Source | 739 | 5.42k | { | 740 | 5.42k | if (unlikely (in_error ())) return nullptr; | 741 | 5.42k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 5.42k | assert (this->start <= (char *) obj); | 744 | 5.42k | assert ((char *) obj <= this->head); | 745 | 5.42k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 5.42k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 5.42k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 5.42k | return reinterpret_cast<Type *> (obj); | 749 | 5.42k | } |
OT::LayerRecord* hb_serialize_context_t::extend_size<OT::LayerRecord>(OT::LayerRecord*, unsigned long, bool) Line | Count | Source | 739 | 793 | { | 740 | 793 | if (unlikely (in_error ())) return nullptr; | 741 | 782 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 782 | assert (this->start <= (char *) obj); | 744 | 782 | assert ((char *) obj <= this->head); | 745 | 782 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 782 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 782 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 782 | return reinterpret_cast<Type *> (obj); | 749 | 782 | } |
char* hb_serialize_context_t::extend_size<char>(char*, unsigned long, bool) Line | Count | Source | 739 | 12.3M | { | 740 | 12.3M | if (unlikely (in_error ())) return nullptr; | 741 | 12.3M | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 12.3M | assert (this->start <= (char *) obj); | 744 | 12.3M | assert ((char *) obj <= this->head); | 745 | 12.3M | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 12.3M | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 12.3M | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 12.3M | return reinterpret_cast<Type *> (obj); | 749 | 12.3M | } |
CFF::Encoding* hb_serialize_context_t::extend_size<CFF::Encoding>(CFF::Encoding*, unsigned long, bool) Line | Count | Source | 739 | 1.85k | { | 740 | 1.85k | if (unlikely (in_error ())) return nullptr; | 741 | 1.85k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.85k | assert (this->start <= (char *) obj); | 744 | 1.85k | assert ((char *) obj <= this->head); | 745 | 1.85k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.85k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.85k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.85k | return reinterpret_cast<Type *> (obj); | 749 | 1.85k | } |
CFF::Charset* hb_serialize_context_t::extend_size<CFF::Charset>(CFF::Charset*, unsigned long, bool) Line | Count | Source | 739 | 2.96k | { | 740 | 2.96k | if (unlikely (in_error ())) return nullptr; | 741 | 2.96k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 2.96k | assert (this->start <= (char *) obj); | 744 | 2.96k | assert ((char *) obj <= this->head); | 745 | 2.96k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 2.96k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 2.96k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 2.96k | return reinterpret_cast<Type *> (obj); | 749 | 2.96k | } |
OT::CFFIndex<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::CFFIndex<OT::NumType<true, unsigned short, 2u> > >(OT::CFFIndex<OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 15.7k | { | 740 | 15.7k | if (unlikely (in_error ())) return nullptr; | 741 | 15.7k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 15.7k | assert (this->start <= (char *) obj); | 744 | 15.7k | assert ((char *) obj <= this->head); | 745 | 15.7k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 15.7k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 15.7k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 15.7k | return reinterpret_cast<Type *> (obj); | 749 | 15.7k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 30.6k | { | 740 | 30.6k | if (unlikely (in_error ())) return nullptr; | 741 | 29.4k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 29.4k | assert (this->start <= (char *) obj); | 744 | 29.4k | assert ((char *) obj <= this->head); | 745 | 29.4k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 29.4k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 29.4k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 29.4k | return reinterpret_cast<Type *> (obj); | 749 | 29.4k | } |
OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 5.35k | { | 740 | 5.35k | if (unlikely (in_error ())) return nullptr; | 741 | 5.35k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 5.35k | assert (this->start <= (char *) obj); | 744 | 5.35k | assert ((char *) obj <= this->head); | 745 | 5.35k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 5.35k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 5.35k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 5.35k | return reinterpret_cast<Type *> (obj); | 749 | 5.35k | } |
OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 1.16k | { | 740 | 1.16k | if (unlikely (in_error ())) return nullptr; | 741 | 1.16k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.16k | assert (this->start <= (char *) obj); | 744 | 1.16k | assert ((char *) obj <= this->head); | 745 | 1.16k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.16k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.16k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.16k | return reinterpret_cast<Type *> (obj); | 749 | 1.16k | } |
Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::MediumTypes>*, unsigned long, bool) OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 5.57k | { | 740 | 5.57k | if (unlikely (in_error ())) return nullptr; | 741 | 5.57k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 5.57k | assert (this->start <= (char *) obj); | 744 | 5.57k | assert ((char *) obj <= this->head); | 745 | 5.57k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 5.57k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 5.57k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 5.56k | return reinterpret_cast<Type *> (obj); | 749 | 5.57k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 195k | { | 740 | 195k | if (unlikely (in_error ())) return nullptr; | 741 | 162k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 162k | assert (this->start <= (char *) obj); | 744 | 162k | assert ((char *) obj <= this->head); | 745 | 162k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 162k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 162k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 162k | return reinterpret_cast<Type *> (obj); | 749 | 162k | } |
OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 145k | { | 740 | 145k | if (unlikely (in_error ())) return nullptr; | 741 | 145k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 145k | assert (this->start <= (char *) obj); | 744 | 145k | assert ((char *) obj <= this->head); | 745 | 145k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 145k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 145k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 145k | return reinterpret_cast<Type *> (obj); | 749 | 145k | } |
OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 411M | { | 740 | 411M | if (unlikely (in_error ())) return nullptr; | 741 | 400M | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 400M | assert (this->start <= (char *) obj); | 744 | 400M | assert ((char *) obj <= this->head); | 745 | 400M | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 400M | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 400M | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 400M | return reinterpret_cast<Type *> (obj); | 749 | 400M | } |
OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 2.40k | { | 740 | 2.40k | if (unlikely (in_error ())) return nullptr; | 741 | 2.40k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 2.40k | assert (this->start <= (char *) obj); | 744 | 2.40k | assert ((char *) obj <= this->head); | 745 | 2.40k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 2.40k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 2.40k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 2.40k | return reinterpret_cast<Type *> (obj); | 749 | 2.40k | } |
Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>*, unsigned long, bool) OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 1.46k | { | 740 | 1.46k | if (unlikely (in_error ())) return nullptr; | 741 | 1.46k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.46k | assert (this->start <= (char *) obj); | 744 | 1.46k | assert ((char *) obj <= this->head); | 745 | 1.46k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.46k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.46k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.46k | return reinterpret_cast<Type *> (obj); | 749 | 1.46k | } |
OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool) Line | Count | Source | 739 | 6 | { | 740 | 6 | if (unlikely (in_error ())) return nullptr; | 741 | 6 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 6 | assert (this->start <= (char *) obj); | 744 | 6 | assert ((char *) obj <= this->head); | 745 | 6 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 6 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 6 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 6 | return reinterpret_cast<Type *> (obj); | 749 | 6 | } |
OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 2.44k | { | 740 | 2.44k | if (unlikely (in_error ())) return nullptr; | 741 | 2.44k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 2.44k | assert (this->start <= (char *) obj); | 744 | 2.44k | assert ((char *) obj <= this->head); | 745 | 2.44k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 2.44k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 2.44k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 2.44k | return reinterpret_cast<Type *> (obj); | 749 | 2.44k | } |
OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 4.24k | { | 740 | 4.24k | if (unlikely (in_error ())) return nullptr; | 741 | 4.24k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 4.24k | assert (this->start <= (char *) obj); | 744 | 4.24k | assert ((char *) obj <= this->head); | 745 | 4.24k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 4.24k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 4.24k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 4.24k | return reinterpret_cast<Type *> (obj); | 749 | 4.24k | } |
OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> > >(OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 7.20k | { | 740 | 7.20k | if (unlikely (in_error ())) return nullptr; | 741 | 7.20k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 7.20k | assert (this->start <= (char *) obj); | 744 | 7.20k | assert ((char *) obj <= this->head); | 745 | 7.20k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 7.20k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 7.20k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 7.20k | return reinterpret_cast<Type *> (obj); | 749 | 7.20k | } |
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> > >(OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 1.61k | { | 740 | 1.61k | if (unlikely (in_error ())) return nullptr; | 741 | 1.61k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.61k | assert (this->start <= (char *) obj); | 744 | 1.61k | assert ((char *) obj <= this->head); | 745 | 1.61k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.61k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.61k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.61k | return reinterpret_cast<Type *> (obj); | 749 | 1.61k | } |
OT::Layout::GPOS_impl::LigatureArray<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::LigatureArray<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 1.44k | { | 740 | 1.44k | if (unlikely (in_error ())) return nullptr; | 741 | 1.44k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.44k | assert (this->start <= (char *) obj); | 744 | 1.44k | assert ((char *) obj <= this->head); | 745 | 1.44k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.44k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.44k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.44k | return reinterpret_cast<Type *> (obj); | 749 | 1.44k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 5.55k | { | 740 | 5.55k | if (unlikely (in_error ())) return nullptr; | 741 | 5.55k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 5.55k | assert (this->start <= (char *) obj); | 744 | 5.55k | assert ((char *) obj <= this->head); | 745 | 5.55k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 5.55k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 5.55k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 5.55k | return reinterpret_cast<Type *> (obj); | 749 | 5.55k | } |
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > >(OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 490 | { | 740 | 490 | if (unlikely (in_error ())) return nullptr; | 741 | 490 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 490 | assert (this->start <= (char *) obj); | 744 | 490 | assert ((char *) obj <= this->head); | 745 | 490 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 490 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 490 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 490 | return reinterpret_cast<Type *> (obj); | 749 | 490 | } |
Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool) OT::ContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::ContextFormat1_4<OT::Layout::SmallTypes> >(OT::ContextFormat1_4<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 4.28k | { | 740 | 4.28k | if (unlikely (in_error ())) return nullptr; | 741 | 4.28k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 4.28k | assert (this->start <= (char *) obj); | 744 | 4.28k | assert ((char *) obj <= this->head); | 745 | 4.28k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 4.28k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 4.28k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 4.28k | return reinterpret_cast<Type *> (obj); | 749 | 4.28k | } |
OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 6.45k | { | 740 | 6.45k | if (unlikely (in_error ())) return nullptr; | 741 | 6.34k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 6.34k | assert (this->start <= (char *) obj); | 744 | 6.34k | assert ((char *) obj <= this->head); | 745 | 6.34k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 6.34k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 6.34k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 6.34k | return reinterpret_cast<Type *> (obj); | 749 | 6.34k | } |
OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> >* hb_serialize_context_t::extend_size<OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> > >(OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> >*, unsigned long, bool) Line | Count | Source | 739 | 6.76k | { | 740 | 6.76k | if (unlikely (in_error ())) return nullptr; | 741 | 6.76k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 6.76k | assert (this->start <= (char *) obj); | 744 | 6.76k | assert ((char *) obj <= this->head); | 745 | 6.76k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 6.76k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 6.76k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 6.76k | return reinterpret_cast<Type *> (obj); | 749 | 6.76k | } |
OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 33.7k | { | 740 | 33.7k | if (unlikely (in_error ())) return nullptr; | 741 | 33.0k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 33.0k | assert (this->start <= (char *) obj); | 744 | 33.0k | assert ((char *) obj <= this->head); | 745 | 33.0k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 33.0k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 33.0k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 33.0k | return reinterpret_cast<Type *> (obj); | 749 | 33.0k | } |
OT::Rule<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Rule<OT::Layout::SmallTypes> >(OT::Rule<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 7.37k | { | 740 | 7.37k | if (unlikely (in_error ())) return nullptr; | 741 | 7.37k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 7.37k | assert (this->start <= (char *) obj); | 744 | 7.37k | assert ((char *) obj <= this->head); | 745 | 7.37k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 7.37k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 7.37k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 7.36k | return reinterpret_cast<Type *> (obj); | 749 | 7.37k | } |
OT::ContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::ContextFormat2_5<OT::Layout::SmallTypes> >(OT::ContextFormat2_5<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 538 | { | 740 | 538 | if (unlikely (in_error ())) return nullptr; | 741 | 538 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 538 | assert (this->start <= (char *) obj); | 744 | 538 | assert ((char *) obj <= this->head); | 745 | 538 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 538 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 538 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 538 | return reinterpret_cast<Type *> (obj); | 749 | 538 | } |
OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 611 | { | 740 | 611 | if (unlikely (in_error ())) return nullptr; | 741 | 611 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 611 | assert (this->start <= (char *) obj); | 744 | 611 | assert ((char *) obj <= this->head); | 745 | 611 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 611 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 611 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 611 | return reinterpret_cast<Type *> (obj); | 749 | 611 | } |
OT::ContextFormat3_6<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::ContextFormat3_6<OT::Layout::SmallTypes> >(OT::ContextFormat3_6<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 1.10k | { | 740 | 1.10k | if (unlikely (in_error ())) return nullptr; | 741 | 1.10k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.10k | assert (this->start <= (char *) obj); | 744 | 1.10k | assert ((char *) obj <= this->head); | 745 | 1.10k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.10k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.10k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.10k | return reinterpret_cast<Type *> (obj); | 749 | 1.10k | } |
OT::ContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ContextFormat1_4<OT::Layout::MediumTypes> >(OT::ContextFormat1_4<OT::Layout::MediumTypes>*, unsigned long, bool) Line | Count | Source | 739 | 12 | { | 740 | 12 | if (unlikely (in_error ())) return nullptr; | 741 | 12 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 12 | assert (this->start <= (char *) obj); | 744 | 12 | assert ((char *) obj <= this->head); | 745 | 12 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 12 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 12 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 12 | return reinterpret_cast<Type *> (obj); | 749 | 12 | } |
OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Line | Count | Source | 739 | 12 | { | 740 | 12 | if (unlikely (in_error ())) return nullptr; | 741 | 12 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 12 | assert (this->start <= (char *) obj); | 744 | 12 | assert ((char *) obj <= this->head); | 745 | 12 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 12 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 12 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 12 | return reinterpret_cast<Type *> (obj); | 749 | 12 | } |
OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> >* hb_serialize_context_t::extend_size<OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> > >(OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> >*, unsigned long, bool) Line | Count | Source | 739 | 12 | { | 740 | 12 | if (unlikely (in_error ())) return nullptr; | 741 | 12 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 12 | assert (this->start <= (char *) obj); | 744 | 12 | assert ((char *) obj <= this->head); | 745 | 12 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 12 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 12 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 12 | return reinterpret_cast<Type *> (obj); | 749 | 12 | } |
OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 10 | { | 740 | 10 | if (unlikely (in_error ())) return nullptr; | 741 | 10 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 10 | assert (this->start <= (char *) obj); | 744 | 10 | assert ((char *) obj <= this->head); | 745 | 10 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 10 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 10 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 10 | return reinterpret_cast<Type *> (obj); | 749 | 10 | } |
Unexecuted instantiation: OT::Rule<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Rule<OT::Layout::MediumTypes> >(OT::Rule<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ContextFormat2_5<OT::Layout::MediumTypes> >(OT::ContextFormat2_5<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Unexecuted instantiation: OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> >* hb_serialize_context_t::extend_size<OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> > >(OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> >*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) OT::ContextFormat3_6<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ContextFormat3_6<OT::Layout::MediumTypes> >(OT::ContextFormat3_6<OT::Layout::MediumTypes>*, unsigned long, bool) Line | Count | Source | 739 | 167 | { | 740 | 167 | if (unlikely (in_error ())) return nullptr; | 741 | 167 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 167 | assert (this->start <= (char *) obj); | 744 | 167 | assert ((char *) obj <= this->head); | 745 | 167 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 167 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 167 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 167 | return reinterpret_cast<Type *> (obj); | 749 | 167 | } |
OT::ChainContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::ChainContextFormat1_4<OT::Layout::SmallTypes> >(OT::ChainContextFormat1_4<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 1.48k | { | 740 | 1.48k | if (unlikely (in_error ())) return nullptr; | 741 | 1.48k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.48k | assert (this->start <= (char *) obj); | 744 | 1.48k | assert ((char *) obj <= this->head); | 745 | 1.48k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.48k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.48k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.48k | return reinterpret_cast<Type *> (obj); | 749 | 1.48k | } |
OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 2.20k | { | 740 | 2.20k | if (unlikely (in_error ())) return nullptr; | 741 | 2.19k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 2.19k | assert (this->start <= (char *) obj); | 744 | 2.19k | assert ((char *) obj <= this->head); | 745 | 2.19k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 2.19k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 2.19k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 2.19k | return reinterpret_cast<Type *> (obj); | 749 | 2.19k | } |
OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> >* hb_serialize_context_t::extend_size<OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> > >(OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> >*, unsigned long, bool) Line | Count | Source | 739 | 2.91k | { | 740 | 2.91k | if (unlikely (in_error ())) return nullptr; | 741 | 2.91k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 2.91k | assert (this->start <= (char *) obj); | 744 | 2.91k | assert ((char *) obj <= this->head); | 745 | 2.91k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 2.91k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 2.91k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 2.91k | return reinterpret_cast<Type *> (obj); | 749 | 2.91k | } |
OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 115k | { | 740 | 115k | if (unlikely (in_error ())) return nullptr; | 741 | 115k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 115k | assert (this->start <= (char *) obj); | 744 | 115k | assert ((char *) obj <= this->head); | 745 | 115k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 115k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 115k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 115k | return reinterpret_cast<Type *> (obj); | 749 | 115k | } |
OT::ChainContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::ChainContextFormat2_5<OT::Layout::SmallTypes> >(OT::ChainContextFormat2_5<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 719 | { | 740 | 719 | if (unlikely (in_error ())) return nullptr; | 741 | 719 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 719 | assert (this->start <= (char *) obj); | 744 | 719 | assert ((char *) obj <= this->head); | 745 | 719 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 719 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 719 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 719 | return reinterpret_cast<Type *> (obj); | 749 | 719 | } |
OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 1.42k | { | 740 | 1.42k | if (unlikely (in_error ())) return nullptr; | 741 | 1.42k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.42k | assert (this->start <= (char *) obj); | 744 | 1.42k | assert ((char *) obj <= this->head); | 745 | 1.42k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.42k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.42k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.42k | return reinterpret_cast<Type *> (obj); | 749 | 1.42k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 167k | { | 740 | 167k | if (unlikely (in_error ())) return nullptr; | 741 | 166k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 166k | assert (this->start <= (char *) obj); | 744 | 166k | assert ((char *) obj <= this->head); | 745 | 166k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 166k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 166k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 166k | return reinterpret_cast<Type *> (obj); | 749 | 166k | } |
Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ChainContextFormat1_4<OT::Layout::MediumTypes> >(OT::ChainContextFormat1_4<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Unexecuted instantiation: OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> >* hb_serialize_context_t::extend_size<OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> > >(OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> >*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::ChainContextFormat2_5<OT::Layout::MediumTypes> >(OT::ChainContextFormat2_5<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Unexecuted instantiation: OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> >* hb_serialize_context_t::extend_size<OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> > >(OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> >*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos>* hb_serialize_context_t::extend_size<OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos> >(OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos>*, unsigned long, bool) Line | Count | Source | 739 | 678 | { | 740 | 678 | if (unlikely (in_error ())) return nullptr; | 741 | 678 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 678 | assert (this->start <= (char *) obj); | 744 | 678 | assert ((char *) obj <= this->head); | 745 | 678 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 678 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 678 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 678 | return reinterpret_cast<Type *> (obj); | 749 | 678 | } |
OT::GSUBGPOS* hb_serialize_context_t::extend_size<OT::GSUBGPOS>(OT::GSUBGPOS*, unsigned long, bool) Line | Count | Source | 739 | 19.4k | { | 740 | 19.4k | if (unlikely (in_error ())) return nullptr; | 741 | 19.4k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 19.4k | assert (this->start <= (char *) obj); | 744 | 19.4k | assert ((char *) obj <= this->head); | 745 | 19.4k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 19.4k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 19.4k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 19.4k | return reinterpret_cast<Type *> (obj); | 749 | 19.4k | } |
OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_size<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u> > >(OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u> >*, unsigned long, bool) Line | Count | Source | 739 | 15 | { | 740 | 15 | if (unlikely (in_error ())) return nullptr; | 741 | 15 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 15 | assert (this->start <= (char *) obj); | 744 | 15 | assert ((char *) obj <= this->head); | 745 | 15 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 15 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 15 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 15 | return reinterpret_cast<Type *> (obj); | 749 | 15 | } |
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u> > >(OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 8.22k | { | 740 | 8.22k | if (unlikely (in_error ())) return nullptr; | 741 | 8.22k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 8.22k | assert (this->start <= (char *) obj); | 744 | 8.22k | assert ((char *) obj <= this->head); | 745 | 8.22k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 8.22k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 8.22k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 8.22k | return reinterpret_cast<Type *> (obj); | 749 | 8.22k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 16.3k | { | 740 | 16.3k | if (unlikely (in_error ())) return nullptr; | 741 | 16.3k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 16.3k | assert (this->start <= (char *) obj); | 744 | 16.3k | assert ((char *) obj <= this->head); | 745 | 16.3k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 16.3k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 16.3k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 16.3k | return reinterpret_cast<Type *> (obj); | 749 | 16.3k | } |
OT::OffsetTo<OT::FeatureVariations, OT::NumType<true, unsigned int, 4u>, void, true>* hb_serialize_context_t::extend_size<OT::OffsetTo<OT::FeatureVariations, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::FeatureVariations, OT::NumType<true, unsigned int, 4u>, void, true>*, unsigned long, bool) Line | Count | Source | 739 | 1.32k | { | 740 | 1.32k | if (unlikely (in_error ())) return nullptr; | 741 | 1.26k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.26k | assert (this->start <= (char *) obj); | 744 | 1.26k | assert ((char *) obj <= this->head); | 745 | 1.26k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.26k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.26k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.26k | return reinterpret_cast<Type *> (obj); | 749 | 1.26k | } |
OT::name* hb_serialize_context_t::extend_size<OT::name>(OT::name*, unsigned long, bool) Line | Count | Source | 739 | 3.47k | { | 740 | 3.47k | if (unlikely (in_error ())) return nullptr; | 741 | 3.47k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 3.47k | assert (this->start <= (char *) obj); | 744 | 3.47k | assert ((char *) obj <= this->head); | 745 | 3.47k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 3.47k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 3.47k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 3.47k | return reinterpret_cast<Type *> (obj); | 749 | 3.47k | } |
OT::IndexSubtable* hb_serialize_context_t::extend_size<OT::IndexSubtable>(OT::IndexSubtable*, unsigned long, bool) Line | Count | Source | 739 | 174 | { | 740 | 174 | if (unlikely (in_error ())) return nullptr; | 741 | 174 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 174 | assert (this->start <= (char *) obj); | 744 | 174 | assert ((char *) obj <= this->head); | 745 | 174 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 174 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 174 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 174 | return reinterpret_cast<Type *> (obj); | 749 | 174 | } |
OT::CBLC* hb_serialize_context_t::extend_size<OT::CBLC>(OT::CBLC*, unsigned long, bool) Line | Count | Source | 739 | 180 | { | 740 | 180 | if (unlikely (in_error ())) return nullptr; | 741 | 180 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 180 | assert (this->start <= (char *) obj); | 744 | 180 | assert ((char *) obj <= this->head); | 745 | 180 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 180 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 180 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 180 | return reinterpret_cast<Type *> (obj); | 749 | 180 | } |
OT::SBIXGlyph* hb_serialize_context_t::extend_size<OT::SBIXGlyph>(OT::SBIXGlyph*, unsigned long, bool) Line | Count | Source | 739 | 416 | { | 740 | 416 | if (unlikely (in_error ())) return nullptr; | 741 | 408 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 408 | assert (this->start <= (char *) obj); | 744 | 408 | assert ((char *) obj <= this->head); | 745 | 408 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 408 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 408 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 408 | return reinterpret_cast<Type *> (obj); | 749 | 408 | } |
OT::SBIXStrike* hb_serialize_context_t::extend_size<OT::SBIXStrike>(OT::SBIXStrike*, unsigned long, bool) Line | Count | Source | 739 | 944 | { | 740 | 944 | if (unlikely (in_error ())) return nullptr; | 741 | 944 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 944 | assert (this->start <= (char *) obj); | 744 | 944 | assert ((char *) obj <= this->head); | 745 | 944 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 944 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 944 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 944 | return reinterpret_cast<Type *> (obj); | 749 | 944 | } |
OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> > >(OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >*, unsigned long, bool) Line | Count | Source | 739 | 1.26k | { | 740 | 1.26k | if (unlikely (in_error ())) return nullptr; | 741 | 1.25k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.25k | assert (this->start <= (char *) obj); | 744 | 1.25k | assert ((char *) obj <= this->head); | 745 | 1.25k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.25k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.25k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.25k | return reinterpret_cast<Type *> (obj); | 749 | 1.25k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 53.9k | { | 740 | 53.9k | if (unlikely (in_error ())) return nullptr; | 741 | 53.4k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 53.4k | assert (this->start <= (char *) obj); | 744 | 53.4k | assert ((char *) obj <= this->head); | 745 | 53.4k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 53.4k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 53.4k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 53.4k | return reinterpret_cast<Type *> (obj); | 749 | 53.4k | } |
OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 5.62k | { | 740 | 5.62k | if (unlikely (in_error ())) return nullptr; | 741 | 5.62k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 5.62k | assert (this->start <= (char *) obj); | 744 | 5.62k | assert ((char *) obj <= this->head); | 745 | 5.62k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 5.62k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 5.62k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 5.62k | return reinterpret_cast<Type *> (obj); | 749 | 5.62k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 55.8k | { | 740 | 55.8k | if (unlikely (in_error ())) return nullptr; | 741 | 55.8k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 55.8k | assert (this->start <= (char *) obj); | 744 | 55.8k | assert ((char *) obj <= this->head); | 745 | 55.8k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 55.8k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 55.8k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 55.8k | return reinterpret_cast<Type *> (obj); | 749 | 55.8k | } |
OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool) Line | Count | Source | 739 | 30 | { | 740 | 30 | if (unlikely (in_error ())) return nullptr; | 741 | 30 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 30 | assert (this->start <= (char *) obj); | 744 | 30 | assert ((char *) obj <= this->head); | 745 | 30 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 30 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 30 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 30 | return reinterpret_cast<Type *> (obj); | 749 | 30 | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Line | Count | Source | 739 | 16 | { | 740 | 16 | if (unlikely (in_error ())) return nullptr; | 741 | 16 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 16 | assert (this->start <= (char *) obj); | 744 | 16 | assert ((char *) obj <= this->head); | 745 | 16 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 16 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 16 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 16 | return reinterpret_cast<Type *> (obj); | 749 | 16 | } |
OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 16 | { | 740 | 16 | if (unlikely (in_error ())) return nullptr; | 741 | 16 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 16 | assert (this->start <= (char *) obj); | 744 | 16 | assert ((char *) obj <= this->head); | 745 | 16 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 16 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 16 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 16 | return reinterpret_cast<Type *> (obj); | 749 | 16 | } |
OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 2.71k | { | 740 | 2.71k | if (unlikely (in_error ())) return nullptr; | 741 | 2.71k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 2.71k | assert (this->start <= (char *) obj); | 744 | 2.71k | assert ((char *) obj <= this->head); | 745 | 2.71k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 2.71k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 2.71k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 2.71k | return reinterpret_cast<Type *> (obj); | 749 | 2.71k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 18.1k | { | 740 | 18.1k | if (unlikely (in_error ())) return nullptr; | 741 | 17.3k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 17.3k | assert (this->start <= (char *) obj); | 744 | 17.3k | assert ((char *) obj <= this->head); | 745 | 17.3k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 17.3k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 17.3k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 17.3k | return reinterpret_cast<Type *> (obj); | 749 | 17.3k | } |
OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool) Line | Count | Source | 739 | 4 | { | 740 | 4 | if (unlikely (in_error ())) return nullptr; | 741 | 4 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 4 | assert (this->start <= (char *) obj); | 744 | 4 | assert ((char *) obj <= this->head); | 745 | 4 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 4 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 4 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 4 | return reinterpret_cast<Type *> (obj); | 749 | 4 | } |
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Unexecuted instantiation: OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>*, unsigned long, bool) Unexecuted instantiation: OT::HeadlessArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::HeadlessArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> > >(OT::HeadlessArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>* hb_serialize_context_t::extend_size<OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst> >(OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>*, unsigned long, bool) Line | Count | Source | 739 | 83 | { | 740 | 83 | if (unlikely (in_error ())) return nullptr; | 741 | 83 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 83 | assert (this->start <= (char *) obj); | 744 | 83 | assert ((char *) obj <= this->head); | 745 | 83 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 83 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 83 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 83 | return reinterpret_cast<Type *> (obj); | 749 | 83 | } |
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_size<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u> > >(OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u> >*, unsigned long, bool) Line | Count | Source | 739 | 6 | { | 740 | 6 | if (unlikely (in_error ())) return nullptr; | 741 | 6 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 6 | assert (this->start <= (char *) obj); | 744 | 6 | assert ((char *) obj <= this->head); | 745 | 6 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 6 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 6 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 6 | return reinterpret_cast<Type *> (obj); | 749 | 6 | } |
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u> > >(OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 10.9k | { | 740 | 10.9k | if (unlikely (in_error ())) return nullptr; | 741 | 10.9k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 10.9k | assert (this->start <= (char *) obj); | 744 | 10.9k | assert ((char *) obj <= this->head); | 745 | 10.9k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 10.9k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 10.9k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 10.9k | return reinterpret_cast<Type *> (obj); | 749 | 10.9k | } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 43.3k | { | 740 | 43.3k | if (unlikely (in_error ())) return nullptr; | 741 | 38.7k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 38.7k | assert (this->start <= (char *) obj); | 744 | 38.7k | assert ((char *) obj <= this->head); | 745 | 38.7k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 38.7k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 38.7k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 38.7k | return reinterpret_cast<Type *> (obj); | 749 | 38.7k | } |
OT::SegmentMaps* hb_serialize_context_t::extend_size<OT::SegmentMaps>(OT::SegmentMaps*, unsigned long, bool) Line | Count | Source | 739 | 292 | { | 740 | 292 | if (unlikely (in_error ())) return nullptr; | 741 | 292 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 292 | assert (this->start <= (char *) obj); | 744 | 292 | assert ((char *) obj <= this->head); | 745 | 292 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 292 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 292 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 292 | return reinterpret_cast<Type *> (obj); | 749 | 292 | } |
OT::VORGFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_size<OT::VORGFormat1_2<OT::Layout::SmallTypes> >(OT::VORGFormat1_2<OT::Layout::SmallTypes>*, unsigned long, bool) Line | Count | Source | 739 | 125 | { | 740 | 125 | if (unlikely (in_error ())) return nullptr; | 741 | 125 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 125 | assert (this->start <= (char *) obj); | 744 | 125 | assert ((char *) obj <= this->head); | 745 | 125 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 125 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 125 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 125 | return reinterpret_cast<Type *> (obj); | 749 | 125 | } |
OT::VORGFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_size<OT::VORGFormat1_2<OT::Layout::MediumTypes> >(OT::VORGFormat1_2<OT::Layout::MediumTypes>*, unsigned long, bool) Line | Count | Source | 739 | 39 | { | 740 | 39 | if (unlikely (in_error ())) return nullptr; | 741 | 39 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 39 | assert (this->start <= (char *) obj); | 744 | 39 | assert ((char *) obj <= this->head); | 745 | 39 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 39 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 39 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 39 | return reinterpret_cast<Type *> (obj); | 749 | 39 | } |
OT::MinMax* hb_serialize_context_t::extend_size<OT::MinMax>(OT::MinMax*, unsigned long, bool) Line | Count | Source | 739 | 1.35k | { | 740 | 1.35k | if (unlikely (in_error ())) return nullptr; | 741 | 1.35k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.35k | assert (this->start <= (char *) obj); | 744 | 1.35k | assert ((char *) obj <= this->head); | 745 | 1.35k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.35k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.35k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.35k | return reinterpret_cast<Type *> (obj); | 749 | 1.35k | } |
OT::BaseValues* hb_serialize_context_t::extend_size<OT::BaseValues>(OT::BaseValues*, unsigned long, bool) Line | Count | Source | 739 | 2.68k | { | 740 | 2.68k | if (unlikely (in_error ())) return nullptr; | 741 | 2.68k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 2.68k | assert (this->start <= (char *) obj); | 744 | 2.68k | assert ((char *) obj <= this->head); | 745 | 2.68k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 2.68k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 2.68k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 2.68k | return reinterpret_cast<Type *> (obj); | 749 | 2.68k | } |
OT::ArrayOf<OT::OffsetTo<OT::BaseCoord, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::OffsetTo<OT::BaseCoord, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::BaseCoord, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 7.68k | { | 740 | 7.68k | if (unlikely (in_error ())) return nullptr; | 741 | 7.67k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 7.67k | assert (this->start <= (char *) obj); | 744 | 7.67k | assert ((char *) obj <= this->head); | 745 | 7.67k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 7.67k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 7.67k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 7.67k | return reinterpret_cast<Type *> (obj); | 749 | 7.67k | } |
OT::BaseScript* hb_serialize_context_t::extend_size<OT::BaseScript>(OT::BaseScript*, unsigned long, bool) Line | Count | Source | 739 | 3.12k | { | 740 | 3.12k | if (unlikely (in_error ())) return nullptr; | 741 | 3.12k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 3.12k | assert (this->start <= (char *) obj); | 744 | 3.12k | assert ((char *) obj <= this->head); | 745 | 3.12k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 3.12k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 3.12k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 3.12k | return reinterpret_cast<Type *> (obj); | 749 | 3.12k | } |
OT::BaseScriptList* hb_serialize_context_t::extend_size<OT::BaseScriptList>(OT::BaseScriptList*, unsigned long, bool) Line | Count | Source | 739 | 1.01k | { | 740 | 1.01k | if (unlikely (in_error ())) return nullptr; | 741 | 937 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 937 | assert (this->start <= (char *) obj); | 744 | 937 | assert ((char *) obj <= this->head); | 745 | 937 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 937 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 937 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 937 | return reinterpret_cast<Type *> (obj); | 749 | 937 | } |
OT::ArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::ArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 928 | { | 740 | 928 | if (unlikely (in_error ())) return nullptr; | 741 | 928 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 928 | assert (this->start <= (char *) obj); | 744 | 928 | assert ((char *) obj <= this->head); | 745 | 928 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 928 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 928 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 928 | return reinterpret_cast<Type *> (obj); | 749 | 928 | } |
OT::Tag* hb_serialize_context_t::extend_size<OT::Tag>(OT::Tag*, unsigned long, bool) Line | Count | Source | 739 | 928 | { | 740 | 928 | if (unlikely (in_error ())) return nullptr; | 741 | 928 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 928 | assert (this->start <= (char *) obj); | 744 | 928 | assert ((char *) obj <= this->head); | 745 | 928 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 928 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 928 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 856 | return reinterpret_cast<Type *> (obj); | 749 | 928 | } |
OT::BASE* hb_serialize_context_t::extend_size<OT::BASE>(OT::BASE*, unsigned long, bool) Line | Count | Source | 739 | 735 | { | 740 | 735 | if (unlikely (in_error ())) return nullptr; | 741 | 735 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 735 | assert (this->start <= (char *) obj); | 744 | 735 | assert ((char *) obj <= this->head); | 745 | 735 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 735 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 735 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 735 | return reinterpret_cast<Type *> (obj); | 749 | 735 | } |
OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_size<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> > >(OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >*, unsigned long, bool) Line | Count | Source | 739 | 148 | { | 740 | 148 | if (unlikely (in_error ())) return nullptr; | 741 | 148 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 148 | assert (this->start <= (char *) obj); | 744 | 148 | assert ((char *) obj <= this->head); | 745 | 148 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 148 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 148 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 148 | return reinterpret_cast<Type *> (obj); | 749 | 148 | } |
unsigned char* hb_serialize_context_t::extend_size<unsigned char>(unsigned char*, unsigned long, bool) Line | Count | Source | 739 | 2.30k | { | 740 | 2.30k | if (unlikely (in_error ())) return nullptr; | 741 | 2.30k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 2.30k | assert (this->start <= (char *) obj); | 744 | 2.30k | assert ((char *) obj <= this->head); | 745 | 2.30k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 2.30k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 2.30k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 2.30k | return reinterpret_cast<Type *> (obj); | 749 | 2.30k | } |
OT::MathItalicsCorrectionInfo* hb_serialize_context_t::extend_size<OT::MathItalicsCorrectionInfo>(OT::MathItalicsCorrectionInfo*, unsigned long, bool) Line | Count | Source | 739 | 533 | { | 740 | 533 | if (unlikely (in_error ())) return nullptr; | 741 | 533 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 533 | assert (this->start <= (char *) obj); | 744 | 533 | assert ((char *) obj <= this->head); | 745 | 533 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 533 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 533 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 533 | return reinterpret_cast<Type *> (obj); | 749 | 533 | } |
OT::MathTopAccentAttachment* hb_serialize_context_t::extend_size<OT::MathTopAccentAttachment>(OT::MathTopAccentAttachment*, unsigned long, bool) Line | Count | Source | 739 | 774 | { | 740 | 774 | if (unlikely (in_error ())) return nullptr; | 741 | 772 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 772 | assert (this->start <= (char *) obj); | 744 | 772 | assert ((char *) obj <= this->head); | 745 | 772 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 772 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 772 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 770 | return reinterpret_cast<Type *> (obj); | 749 | 772 | } |
OT::MathKernInfo* hb_serialize_context_t::extend_size<OT::MathKernInfo>(OT::MathKernInfo*, unsigned long, bool) Line | Count | Source | 739 | 687 | { | 740 | 687 | if (unlikely (in_error ())) return nullptr; | 741 | 619 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 619 | assert (this->start <= (char *) obj); | 744 | 619 | assert ((char *) obj <= this->head); | 745 | 619 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 619 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 619 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 617 | return reinterpret_cast<Type *> (obj); | 749 | 619 | } |
OT::MathGlyphConstruction* hb_serialize_context_t::extend_size<OT::MathGlyphConstruction>(OT::MathGlyphConstruction*, unsigned long, bool) Line | Count | Source | 739 | 1.43k | { | 740 | 1.43k | if (unlikely (in_error ())) return nullptr; | 741 | 1.43k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 1.43k | assert (this->start <= (char *) obj); | 744 | 1.43k | assert ((char *) obj <= this->head); | 745 | 1.43k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 1.43k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 1.43k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 1.43k | return reinterpret_cast<Type *> (obj); | 749 | 1.43k | } |
OT::MathVariants* hb_serialize_context_t::extend_size<OT::MathVariants>(OT::MathVariants*, unsigned long, bool) Line | Count | Source | 739 | 988 | { | 740 | 988 | if (unlikely (in_error ())) return nullptr; | 741 | 715 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 715 | assert (this->start <= (char *) obj); | 744 | 715 | assert ((char *) obj <= this->head); | 745 | 715 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 715 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 715 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 713 | return reinterpret_cast<Type *> (obj); | 749 | 715 | } |
OT::VARC* hb_serialize_context_t::extend_size<OT::VARC>(OT::VARC*, unsigned long, bool) Line | Count | Source | 739 | 91 | { | 740 | 91 | if (unlikely (in_error ())) return nullptr; | 741 | 91 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 91 | assert (this->start <= (char *) obj); | 744 | 91 | assert ((char *) obj <= this->head); | 745 | 91 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 91 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 91 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 91 | return reinterpret_cast<Type *> (obj); | 749 | 91 | } |
Unexecuted instantiation: OT::HBFixed<OT::NumType<true, short, 2u>, 14u>* hb_serialize_context_t::extend_size<OT::HBFixed<OT::NumType<true, short, 2u>, 14u> >(OT::HBFixed<OT::NumType<true, short, 2u>, 14u>*, unsigned long, bool) Unexecuted instantiation: OT::TupleVariationData<OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_size<OT::TupleVariationData<OT::NumType<true, unsigned int, 3u> > >(OT::TupleVariationData<OT::NumType<true, unsigned int, 3u> >*, unsigned long, bool) OT::hdmx* hb_serialize_context_t::extend_size<OT::hdmx>(OT::hdmx*, unsigned long, bool) Line | Count | Source | 739 | 140 | { | 740 | 140 | if (unlikely (in_error ())) return nullptr; | 741 | 140 | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 140 | assert (this->start <= (char *) obj); | 744 | 140 | assert ((char *) obj <= this->head); | 745 | 140 | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 140 | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 140 | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 140 | return reinterpret_cast<Type *> (obj); | 749 | 140 | } |
OT::DeviceRecord* hb_serialize_context_t::extend_size<OT::DeviceRecord>(OT::DeviceRecord*, unsigned long, bool) Line | Count | Source | 739 | 6.18k | { | 740 | 6.18k | if (unlikely (in_error ())) return nullptr; | 741 | 3.05k | if (unlikely (size >= INT_MAX)) { err (HB_SERIALIZE_ERROR_OTHER); return nullptr; } | 742 | | | 743 | 3.05k | assert (this->start <= (char *) obj); | 744 | 3.05k | assert ((char *) obj <= this->head); | 745 | 3.05k | assert ((size_t) (this->head - (char *) obj) <= size); | 746 | 3.05k | if (unlikely (((char *) obj + size < (char *) obj) || | 747 | 3.05k | !this->allocate_size<Type> (((char *) obj) + size - this->head, clear))) return nullptr; | 748 | 2.97k | return reinterpret_cast<Type *> (obj); | 749 | 3.05k | } |
|
750 | | template <typename Type> |
751 | | Type *extend_size (Type &obj, size_t size, bool clear = true) |
752 | | { return extend_size (std::addressof (obj), size, clear); } |
753 | | |
754 | | template <typename Type> |
755 | 475M | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); }OT::Layout::Common::Coverage* hb_serialize_context_t::extend_min<OT::Layout::Common::Coverage>(OT::Layout::Common::Coverage*) Line | Count | Source | 755 | 148k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 183k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::Common::CoverageFormat2_4<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 21.8k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 21.8k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
Unexecuted instantiation: OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned int, 3u> >*) Unexecuted instantiation: OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::Common::CoverageFormat2_4<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::Layout::Common::RangeRecord<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >, OT::NumType<true, unsigned int, 3u> >*) OT::Lookup* hb_serialize_context_t::extend_min<OT::Lookup>(OT::Lookup*) Line | Count | Source | 755 | 57.6k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ArrayOf<OT::Offset<OT::NumType<true, unsigned short, 2u>, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::Offset<OT::NumType<true, unsigned short, 2u>, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::Offset<OT::NumType<true, unsigned short, 2u>, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 2.37k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
Unexecuted instantiation: OT::ClassDefFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::ClassDefFormat2_4<OT::Layout::MediumTypes> >(OT::ClassDefFormat2_4<OT::Layout::MediumTypes>*) OT::NumType<true, unsigned short, 2u>* hb_serialize_context_t::extend_min<OT::NumType<true, unsigned short, 2u> >(OT::NumType<true, unsigned short, 2u>*) Line | Count | Source | 755 | 26.9k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkArray<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> > >(OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned int, 3u> >*) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::LigatureArray<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> > >(OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >*) Unexecuted instantiation: OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::Rule<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Rule<OT::Layout::MediumTypes> >(OT::Rule<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::ContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::ContextFormat2_5<OT::Layout::MediumTypes> >(OT::ContextFormat2_5<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> >* hb_serialize_context_t::extend_min<OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> > >(OT::RuleSetOf<OT::Layout::MediumTypes, OT::Rule<OT::Layout::SmallTypes> >*) Unexecuted instantiation: OT::ChainContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::ChainContextFormat1_4<OT::Layout::MediumTypes> >(OT::ChainContextFormat1_4<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> >* hb_serialize_context_t::extend_min<OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> > >(OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::MediumTypes> >*) Unexecuted instantiation: OT::ChainContextFormat2_5<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::ChainContextFormat2_5<OT::Layout::MediumTypes> >(OT::ChainContextFormat2_5<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> >* hb_serialize_context_t::extend_min<OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> > >(OT::ChainRuleSetOf<OT::Layout::MediumTypes, OT::ChainRule<OT::Layout::SmallTypes> >*) OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 8.71k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 9.23k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat1_3<OT::Layout::MediumTypes>*) Line | Count | Source | 755 | 12 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
Unexecuted instantiation: OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::SingleSubstFormat2_4<OT::Layout::MediumTypes>*) OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 9.44k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 30.0k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 31.3M | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::HeadlessArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::HeadlessArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> > >(OT::HeadlessArrayOf<OT::HBGlyphID16, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 31.3M | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSubstFormat1_2<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>*) Unexecuted instantiation: OT::HeadlessArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::HeadlessArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> > >(OT::HeadlessArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> >*) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Unexecuted instantiation: OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_min<OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> > >(OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned int, 4u> >*) OT::OpenTypeFontFile* hb_serialize_context_t::extend_min<OT::OpenTypeFontFile>(OT::OpenTypeFontFile*) Line | Count | Source | 755 | 13.1k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::OpenTypeOffsetTable* hb_serialize_context_t::extend_min<OT::OpenTypeOffsetTable>(OT::OpenTypeOffsetTable*) Line | Count | Source | 755 | 13.1k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ArrayOf<OT::TableRecord, OT::BinSearchHeader<OT::NumType<true, unsigned short, 2u> > >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::TableRecord, OT::BinSearchHeader<OT::NumType<true, unsigned short, 2u> > > >(OT::ArrayOf<OT::TableRecord, OT::BinSearchHeader<OT::NumType<true, unsigned short, 2u> > >*) Line | Count | Source | 755 | 13.1k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 1.35k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 8.27k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ClassDef* hb_serialize_context_t::extend_min<OT::ClassDef>(OT::ClassDef*) Line | Count | Source | 755 | 13.6k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ClassDefFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::ClassDefFormat1_3<OT::Layout::SmallTypes> >(OT::ClassDefFormat1_3<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 4.95k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ArrayOf<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::NumType<true, unsigned short, 2u>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 42.9k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ClassDefFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::ClassDefFormat2_4<OT::Layout::SmallTypes> >(OT::ClassDefFormat2_4<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 8.66k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ClassDefFormat1_3<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::ClassDefFormat1_3<OT::Layout::MediumTypes> >(OT::ClassDefFormat1_3<OT::Layout::MediumTypes>*) Line | Count | Source | 755 | 2 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ArrayOf<OT::NumType<true, unsigned int, 3u>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::NumType<true, unsigned int, 3u>, OT::NumType<true, unsigned int, 3u> > >(OT::ArrayOf<OT::NumType<true, unsigned int, 3u>, OT::NumType<true, unsigned int, 3u> >*) Line | Count | Source | 755 | 2 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Feature* hb_serialize_context_t::extend_min<OT::Feature>(OT::Feature*) Line | Count | Source | 755 | 23.7k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::IndexArray* hb_serialize_context_t::extend_min<OT::IndexArray>(OT::IndexArray*) Line | Count | Source | 755 | 60.8k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::RecordListOfFeature* hb_serialize_context_t::extend_min<OT::RecordListOfFeature>(OT::RecordListOfFeature*) Line | Count | Source | 755 | 19.2k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::LangSys* hb_serialize_context_t::extend_min<OT::LangSys>(OT::LangSys*) Line | Count | Source | 755 | 78.4k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Script* hb_serialize_context_t::extend_min<OT::Script>(OT::Script*) Line | Count | Source | 755 | 58.5k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::RecordListOfScript* hb_serialize_context_t::extend_min<OT::RecordListOfScript>(OT::RecordListOfScript*) Line | Count | Source | 755 | 19.2k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::VarRegionList* hb_serialize_context_t::extend_min<OT::VarRegionList>(OT::VarRegionList*) Line | Count | Source | 755 | 8.03k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ArrayOf<OT::OffsetTo<OT::SparseVarRegionAxis, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::OffsetTo<OT::SparseVarRegionAxis, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::SparseVarRegionAxis, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 92 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::SparseVarRegionList* hb_serialize_context_t::extend_min<OT::SparseVarRegionList>(OT::SparseVarRegionList*) Line | Count | Source | 755 | 62 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::VarData* hb_serialize_context_t::extend_min<OT::VarData>(OT::VarData*) Line | Count | Source | 755 | 23.1k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::CFFIndex<OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_min<OT::CFFIndex<OT::NumType<true, unsigned int, 4u> > >(OT::CFFIndex<OT::NumType<true, unsigned int, 4u> >*) Line | Count | Source | 755 | 6.71k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ItemVariationStore* hb_serialize_context_t::extend_min<OT::ItemVariationStore>(OT::ItemVariationStore*) Line | Count | Source | 755 | 9.11k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::MultiItemVariationStore* hb_serialize_context_t::extend_min<OT::MultiItemVariationStore>(OT::MultiItemVariationStore*) Line | Count | Source | 755 | 62 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ConditionAnd* hb_serialize_context_t::extend_min<OT::ConditionAnd>(OT::ConditionAnd*) Line | Count | Source | 755 | 169 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ConditionOr* hb_serialize_context_t::extend_min<OT::ConditionOr>(OT::ConditionOr*) Line | Count | Source | 755 | 165 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ConditionValue* hb_serialize_context_t::extend_min<OT::ConditionValue>(OT::ConditionValue*) Line | Count | Source | 755 | 246 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ConditionList* hb_serialize_context_t::extend_min<OT::ConditionList>(OT::ConditionList*) Line | Count | Source | 755 | 45 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ConditionSet* hb_serialize_context_t::extend_min<OT::ConditionSet>(OT::ConditionSet*) Line | Count | Source | 755 | 906 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::FeatureTableSubstitutionRecord* hb_serialize_context_t::extend_min<OT::FeatureTableSubstitutionRecord>(OT::FeatureTableSubstitutionRecord*) Line | Count | Source | 755 | 66 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::FeatureTableSubstitution* hb_serialize_context_t::extend_min<OT::FeatureTableSubstitution>(OT::FeatureTableSubstitution*) Line | Count | Source | 755 | 937 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::LookupIndexList* hb_serialize_context_t::extend_min<OT::LookupIndexList>(OT::LookupIndexList*) Line | Count | Source | 755 | 175 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::FeatureLookupsTable* hb_serialize_context_t::extend_min<OT::FeatureLookupsTable>(OT::FeatureLookupsTable*) Line | Count | Source | 755 | 131 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::FeatureVariations* hb_serialize_context_t::extend_min<OT::FeatureVariations>(OT::FeatureVariations*) Line | Count | Source | 755 | 1.22k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ArrayOf<OT::LookupVariationRecord, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::LookupVariationRecord, OT::NumType<true, unsigned int, 4u> > >(OT::ArrayOf<OT::LookupVariationRecord, OT::NumType<true, unsigned int, 4u> >*) Line | Count | Source | 755 | 254 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::AttachList* hb_serialize_context_t::extend_min<OT::AttachList>(OT::AttachList*) Line | Count | Source | 755 | 1.33k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::LigGlyph* hb_serialize_context_t::extend_min<OT::LigGlyph>(OT::LigGlyph*) Line | Count | Source | 755 | 47.6k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::MarkGlyphSetsFormat1* hb_serialize_context_t::extend_min<OT::MarkGlyphSetsFormat1>(OT::MarkGlyphSetsFormat1*) Line | Count | Source | 755 | 3.99k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::GDEF* hb_serialize_context_t::extend_min<OT::GDEF>(OT::GDEF*) Line | Count | Source | 755 | 8.80k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::LigCaretList<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::LigCaretList<OT::Layout::MediumTypes> >(OT::LigCaretList<OT::Layout::MediumTypes>*) Line | Count | Source | 755 | 36 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::LigCaretList<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::LigCaretList<OT::Layout::SmallTypes> >(OT::LigCaretList<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 2.56k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::MVAR* hb_serialize_context_t::extend_min<OT::MVAR>(OT::MVAR*) Line | Count | Source | 755 | 284 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::cmap* hb_serialize_context_t::extend_min<OT::cmap>(OT::cmap*) Line | Count | Source | 755 | 6.29k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::CmapSubtableFormat4* hb_serialize_context_t::extend_min<OT::CmapSubtableFormat4>(OT::CmapSubtableFormat4*) Line | Count | Source | 755 | 1.79k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::CmapSubtableFormat12* hb_serialize_context_t::extend_min<OT::CmapSubtableFormat12>(OT::CmapSubtableFormat12*) Line | Count | Source | 755 | 243 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::CmapSubtableFormat14_15<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::CmapSubtableFormat14_15<OT::Layout::SmallTypes> >(OT::CmapSubtableFormat14_15<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 430 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::CmapSubtableFormat14_15<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::CmapSubtableFormat14_15<OT::Layout::MediumTypes> >(OT::CmapSubtableFormat14_15<OT::Layout::MediumTypes>*) Line | Count | Source | 755 | 214 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::CPAL* hb_serialize_context_t::extend_min<OT::CPAL>(OT::CPAL*) Line | Count | Source | 755 | 1.32k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ColorLine<OT::NoVariable>* hb_serialize_context_t::extend_min<OT::ColorLine<OT::NoVariable> >(OT::ColorLine<OT::NoVariable>*) Line | Count | Source | 755 | 4.51k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ColorLine<OT::Variable>* hb_serialize_context_t::extend_min<OT::ColorLine<OT::Variable> >(OT::ColorLine<OT::Variable>*) Line | Count | Source | 755 | 12.3k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ClipList* hb_serialize_context_t::extend_min<OT::ClipList>(OT::ClipList*) Line | Count | Source | 755 | 985 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::BaseGlyphList* hb_serialize_context_t::extend_min<OT::BaseGlyphList>(OT::BaseGlyphList*) Line | Count | Source | 755 | 3.41k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::LayerList* hb_serialize_context_t::extend_min<OT::LayerList>(OT::LayerList*) Line | Count | Source | 755 | 952 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned short, 2u> > >(OT::DeltaSetIndexMapFormat01<OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 2.44k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::COLR* hb_serialize_context_t::extend_min<OT::COLR>(OT::COLR*) Line | Count | Source | 755 | 5.42k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
CFF::Encoding* hb_serialize_context_t::extend_min<CFF::Encoding>(CFF::Encoding*) Line | Count | Source | 755 | 1.85k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
CFF::Charset* hb_serialize_context_t::extend_min<CFF::Charset>(CFF::Charset*) Line | Count | Source | 755 | 2.96k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::CFFIndex<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::CFFIndex<OT::NumType<true, unsigned short, 2u> > >(OT::CFFIndex<OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 15.7k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::SinglePosFormat1_3<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 5.35k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::SinglePosFormat2_4<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 1.16k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat1_3<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 5.57k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 145k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairValueRecord<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 411M | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::PairPosFormat2_4<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 2.40k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 1.46k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes>*) Line | Count | Source | 755 | 6 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkBasePosFormat1_2<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 2.44k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkArray<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 4.24k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> > >(OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 7.20k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkLigPosFormat1_2<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 1.61k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GPOS_impl::LigatureArray<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::LigatureArray<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::LigatureArray<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 1.44k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::MarkMarkPosFormat1_2<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 490 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::ContextFormat1_4<OT::Layout::SmallTypes> >(OT::ContextFormat1_4<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 4.28k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> >* hb_serialize_context_t::extend_min<OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> > >(OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::SmallTypes> >*) Line | Count | Source | 755 | 6.76k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Rule<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Rule<OT::Layout::SmallTypes> >(OT::Rule<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 7.37k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::ContextFormat2_5<OT::Layout::SmallTypes> >(OT::ContextFormat2_5<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 538 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ContextFormat3_6<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::ContextFormat3_6<OT::Layout::SmallTypes> >(OT::ContextFormat3_6<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 1.10k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ContextFormat1_4<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::ContextFormat1_4<OT::Layout::MediumTypes> >(OT::ContextFormat1_4<OT::Layout::MediumTypes>*) Line | Count | Source | 755 | 12 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> >* hb_serialize_context_t::extend_min<OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> > >(OT::RuleSetOf<OT::Layout::SmallTypes, OT::Rule<OT::Layout::MediumTypes> >*) Line | Count | Source | 755 | 12 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ContextFormat3_6<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::ContextFormat3_6<OT::Layout::MediumTypes> >(OT::ContextFormat3_6<OT::Layout::MediumTypes>*) Line | Count | Source | 755 | 167 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ChainContextFormat1_4<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::ChainContextFormat1_4<OT::Layout::SmallTypes> >(OT::ChainContextFormat1_4<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 1.48k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> >* hb_serialize_context_t::extend_min<OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> > >(OT::ChainRuleSetOf<OT::Layout::SmallTypes, OT::ChainRule<OT::Layout::SmallTypes> >*) Line | Count | Source | 755 | 2.91k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ChainContextFormat2_5<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::ChainContextFormat2_5<OT::Layout::SmallTypes> >(OT::ChainContextFormat2_5<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 719 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 60.3k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos>* hb_serialize_context_t::extend_min<OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos> >(OT::ExtensionFormat1<OT::Layout::GPOS_impl::ExtensionPos>*) Line | Count | Source | 755 | 678 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::GSUBGPOS* hb_serialize_context_t::extend_min<OT::GSUBGPOS>(OT::GSUBGPOS*) Line | Count | Source | 755 | 19.3k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_min<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u> > >(OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u> >*) Line | Count | Source | 755 | 15 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u> > >(OT::LookupOffsetList<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 8.22k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::OffsetTo<OT::FeatureVariations, OT::NumType<true, unsigned int, 4u>, void, true>* hb_serialize_context_t::extend_min<OT::OffsetTo<OT::FeatureVariations, OT::NumType<true, unsigned int, 4u>, void, true> >(OT::OffsetTo<OT::FeatureVariations, OT::NumType<true, unsigned int, 4u>, void, true>*) Line | Count | Source | 755 | 1.32k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::name* hb_serialize_context_t::extend_min<OT::name>(OT::name*) Line | Count | Source | 755 | 3.47k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::IndexSubtable* hb_serialize_context_t::extend_min<OT::IndexSubtable>(OT::IndexSubtable*) Line | Count | Source | 755 | 174 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::CBLC* hb_serialize_context_t::extend_min<OT::CBLC>(OT::CBLC*) Line | Count | Source | 755 | 180 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::SBIXGlyph* hb_serialize_context_t::extend_min<OT::SBIXGlyph>(OT::SBIXGlyph*) Line | Count | Source | 755 | 416 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> > >(OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >*) Line | Count | Source | 755 | 170 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 5.62k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::MultipleSubstFormat1_2<OT::Layout::MediumTypes>*) Line | Count | Source | 755 | 30 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::HBGlyphID24, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 8 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 2.71k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GSUB_impl::AlternateSubstFormat1_2<OT::Layout::MediumTypes>*) Line | Count | Source | 755 | 4 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>* hb_serialize_context_t::extend_min<OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst> >(OT::ExtensionFormat1<OT::Layout::GSUB_impl::ExtensionSubst>*) Line | Count | Source | 755 | 83 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend_min<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u> > >(OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u> >*) Line | Count | Source | 755 | 6 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u> > >(OT::LookupOffsetList<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 10.9k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::SegmentMaps* hb_serialize_context_t::extend_min<OT::SegmentMaps>(OT::SegmentMaps*) Line | Count | Source | 755 | 292 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::VORGFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::VORGFormat1_2<OT::Layout::SmallTypes> >(OT::VORGFormat1_2<OT::Layout::SmallTypes>*) Line | Count | Source | 755 | 125 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::VORGFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::VORGFormat1_2<OT::Layout::MediumTypes> >(OT::VORGFormat1_2<OT::Layout::MediumTypes>*) Line | Count | Source | 755 | 39 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::MinMax* hb_serialize_context_t::extend_min<OT::MinMax>(OT::MinMax*) Line | Count | Source | 755 | 1.35k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::BaseValues* hb_serialize_context_t::extend_min<OT::BaseValues>(OT::BaseValues*) Line | Count | Source | 755 | 2.68k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::BaseScript* hb_serialize_context_t::extend_min<OT::BaseScript>(OT::BaseScript*) Line | Count | Source | 755 | 3.12k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::BaseScriptList* hb_serialize_context_t::extend_min<OT::BaseScriptList>(OT::BaseScriptList*) Line | Count | Source | 755 | 1.01k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::ArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::ArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> > >(OT::ArrayOf<OT::Tag, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 928 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::BASE* hb_serialize_context_t::extend_min<OT::BASE>(OT::BASE*) Line | Count | Source | 755 | 735 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend_min<OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> > >(OT::TupleVariationData<OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 755 | 148 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::MathItalicsCorrectionInfo* hb_serialize_context_t::extend_min<OT::MathItalicsCorrectionInfo>(OT::MathItalicsCorrectionInfo*) Line | Count | Source | 755 | 533 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::MathTopAccentAttachment* hb_serialize_context_t::extend_min<OT::MathTopAccentAttachment>(OT::MathTopAccentAttachment*) Line | Count | Source | 755 | 774 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::MathKernInfo* hb_serialize_context_t::extend_min<OT::MathKernInfo>(OT::MathKernInfo*) Line | Count | Source | 755 | 687 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::MathGlyphConstruction* hb_serialize_context_t::extend_min<OT::MathGlyphConstruction>(OT::MathGlyphConstruction*) Line | Count | Source | 755 | 1.43k | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::MathVariants* hb_serialize_context_t::extend_min<OT::MathVariants>(OT::MathVariants*) Line | Count | Source | 755 | 988 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
OT::VARC* hb_serialize_context_t::extend_min<OT::VARC>(OT::VARC*) Line | Count | Source | 755 | 91 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
Unexecuted instantiation: OT::TupleVariationData<OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend_min<OT::TupleVariationData<OT::NumType<true, unsigned int, 3u> > >(OT::TupleVariationData<OT::NumType<true, unsigned int, 3u> >*) OT::hdmx* hb_serialize_context_t::extend_min<OT::hdmx>(OT::hdmx*) Line | Count | Source | 755 | 140 | Type *extend_min (Type *obj) { return extend_size (obj, obj->min_size); } |
|
756 | | template <typename Type> |
757 | 99.3k | Type *extend_min (Type &obj) { return extend_min (std::addressof (obj)); }OT::NumType<true, unsigned short, 2u>* hb_serialize_context_t::extend_min<OT::NumType<true, unsigned short, 2u> >(OT::NumType<true, unsigned short, 2u>&) Line | Count | Source | 757 | 26.9k | Type *extend_min (Type &obj) { return extend_min (std::addressof (obj)); } |
OT::IndexArray* hb_serialize_context_t::extend_min<OT::IndexArray>(OT::IndexArray&) Line | Count | Source | 757 | 60.8k | Type *extend_min (Type &obj) { return extend_min (std::addressof (obj)); } |
OT::cmap* hb_serialize_context_t::extend_min<OT::cmap>(OT::cmap&) Line | Count | Source | 757 | 6.29k | Type *extend_min (Type &obj) { return extend_min (std::addressof (obj)); } |
OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes> >(OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::SmallTypes>&) Line | Count | Source | 757 | 1.46k | Type *extend_min (Type &obj) { return extend_min (std::addressof (obj)); } |
OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes> >(OT::Layout::GPOS_impl::CursivePosFormat1_2<OT::Layout::MediumTypes>&) Line | Count | Source | 757 | 6 | Type *extend_min (Type &obj) { return extend_min (std::addressof (obj)); } |
OT::name* hb_serialize_context_t::extend_min<OT::name>(OT::name&) Line | Count | Source | 757 | 3.47k | Type *extend_min (Type &obj) { return extend_min (std::addressof (obj)); } |
OT::VORGFormat1_2<OT::Layout::SmallTypes>* hb_serialize_context_t::extend_min<OT::VORGFormat1_2<OT::Layout::SmallTypes> >(OT::VORGFormat1_2<OT::Layout::SmallTypes>&) Line | Count | Source | 757 | 125 | Type *extend_min (Type &obj) { return extend_min (std::addressof (obj)); } |
OT::VORGFormat1_2<OT::Layout::MediumTypes>* hb_serialize_context_t::extend_min<OT::VORGFormat1_2<OT::Layout::MediumTypes> >(OT::VORGFormat1_2<OT::Layout::MediumTypes>&) Line | Count | Source | 757 | 39 | Type *extend_min (Type &obj) { return extend_min (std::addressof (obj)); } |
OT::hdmx* hb_serialize_context_t::extend_min<OT::hdmx>(OT::hdmx&) Line | Count | Source | 757 | 140 | Type *extend_min (Type &obj) { return extend_min (std::addressof (obj)); } |
|
758 | | |
759 | | template <typename Type, typename ...Ts> |
760 | | Type *extend (Type *obj, Ts&&... ds) |
761 | 278M | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); }OT::Lookup* hb_serialize_context_t::extend<OT::Lookup>(OT::Lookup*) Line | Count | Source | 761 | 6.27k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >>(OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::MediumTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >>(OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >>(OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Unexecuted instantiation: OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) OT::VarRegionList* hb_serialize_context_t::extend<OT::VarRegionList>(OT::VarRegionList*) Line | Count | Source | 761 | 7.39k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::SparseVariationRegion, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::SparseVariationRegion, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >>(OT::ArrayOf<OT::OffsetTo<OT::SparseVariationRegion, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >*) Line | Count | Source | 761 | 62 | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::VarData* hb_serialize_context_t::extend<OT::VarData>(OT::VarData*) Line | Count | Source | 761 | 23.1k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::NumType<true, unsigned char, 1u>* hb_serialize_context_t::extend<OT::NumType<true, unsigned char, 1u>>(OT::NumType<true, unsigned char, 1u>*) Line | Count | Source | 761 | 16.4k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 7.79k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::MultiVarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::MultiVarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::MultiVarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 57 | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned char, 1u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned char, 1u> >>(OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned char, 1u> >*) Line | Count | Source | 761 | 1.01k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >>(OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >*) Line | Count | Source | 761 | 45 | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 884 | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::FeatureTableSubstitutionRecord, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::FeatureTableSubstitutionRecord, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::FeatureTableSubstitutionRecord, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 66 | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::AttachPoint, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 57.8k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::CaretValue, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 169M | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 16.1k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::LigGlyph, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 72.2k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >>(OT::ArrayOf<OT::OffsetTo<OT::Paint, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >*) Line | Count | Source | 761 | 17.8k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 30.6k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PairSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 195k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::AnchorMatrix<OT::Layout::SmallTypes, OT::NumType<true, unsigned short, 2u> >, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 5.55k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 6.45k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 33.7k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::ClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 611 | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >>(OT::ArrayOf<OT::OffsetTo<OT::RuleSet<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*) Line | Count | Source | 761 | 12 | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Rule<OT::Layout::MediumTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 10 | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::ChainRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 2.20k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::ChainRule<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 115k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::ChainClassRuleSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 1.42k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::Common::Coverage, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 48.3k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GPOS_impl::PosLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 16.3k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::SBIXStrike* hb_serialize_context_t::extend<OT::SBIXStrike, unsigned int>(OT::SBIXStrike*, unsigned int&&) Line | Count | Source | 761 | 944 | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >>(OT::ArrayOf<OT::OffsetTo<OT::SBIXStrike, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >*) Line | Count | Source | 761 | 1.09k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookupSubTable, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 53.9k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 55.8k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Sequence<OT::Layout::MediumTypes>, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned int, 3u> >*) Line | Count | Source | 761 | 16 | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::AlternateSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 18.1k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::LigatureSet<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 25.8k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::Ligature<OT::Layout::SmallTypes>, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 108M | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::Layout::GSUB_impl::SubstLookup, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 43.3k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::ArrayOf<OT::OffsetTo<OT::BaseCoord, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::BaseCoord, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::BaseCoord, OT::NumType<true, unsigned short, 2u>, void, true>, OT::NumType<true, unsigned short, 2u> >*) Line | Count | Source | 761 | 7.68k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
OT::DeviceRecord* hb_serialize_context_t::extend<OT::DeviceRecord, unsigned int&>(OT::DeviceRecord*, unsigned int&) Line | Count | Source | 761 | 6.18k | { return extend_size (obj, obj->get_size (std::forward<Ts> (ds)...)); } |
|
762 | | template <typename Type, typename ...Ts> |
763 | | Type *extend (Type &obj, Ts&&... ds) |
764 | 24.4k | { return extend (std::addressof (obj), std::forward<Ts> (ds)...); }OT::ArrayOf<OT::OffsetTo<OT::SparseVariationRegion, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::SparseVariationRegion, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >>(OT::ArrayOf<OT::OffsetTo<OT::SparseVariationRegion, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >&) Line | Count | Source | 764 | 62 | { return extend (std::addressof (obj), std::forward<Ts> (ds)...); } |
OT::NumType<true, unsigned char, 1u>* hb_serialize_context_t::extend<OT::NumType<true, unsigned char, 1u>>(OT::NumType<true, unsigned char, 1u>&) Line | Count | Source | 764 | 16.4k | { return extend (std::addressof (obj), std::forward<Ts> (ds)...); } |
OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::VarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >&) Line | Count | Source | 764 | 7.79k | { return extend (std::addressof (obj), std::forward<Ts> (ds)...); } |
OT::ArrayOf<OT::OffsetTo<OT::MultiVarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::MultiVarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >>(OT::ArrayOf<OT::OffsetTo<OT::MultiVarData, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned short, 2u> >&) Line | Count | Source | 764 | 57 | { return extend (std::addressof (obj), std::forward<Ts> (ds)...); } |
OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >>(OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 4u>, void, true>, OT::NumType<true, unsigned int, 4u> >&) Line | Count | Source | 764 | 45 | { return extend (std::addressof (obj), std::forward<Ts> (ds)...); } |
OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned char, 1u> >* hb_serialize_context_t::extend<OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned char, 1u> >>(OT::ArrayOf<OT::OffsetTo<OT::Condition, OT::NumType<true, unsigned int, 3u>, void, true>, OT::NumType<true, unsigned char, 1u> >&) Line | Count | Source | 764 | 5 | { return extend (std::addressof (obj), std::forward<Ts> (ds)...); } |
|
765 | | |
766 | | /* Output routines. */ |
767 | | hb_bytes_t copy_bytes () const |
768 | 87.4k | { |
769 | 87.4k | assert (successful ()); |
770 | | /* Copy both items from head side and tail side... */ |
771 | 87.4k | unsigned int len = (this->head - this->start) |
772 | 87.4k | + (this->end - this->tail); |
773 | | |
774 | | // If len is zero don't hb_malloc as the memory won't get properly |
775 | | // cleaned up later. |
776 | 87.4k | if (!len) return hb_bytes_t (); |
777 | | |
778 | 87.4k | char *p = (char *) hb_malloc (len); |
779 | 87.4k | if (unlikely (!p)) return hb_bytes_t (); |
780 | | |
781 | 87.3k | hb_memcpy (p, this->start, this->head - this->start); |
782 | 87.3k | hb_memcpy (p + (this->head - this->start), this->tail, this->end - this->tail); |
783 | 87.3k | return hb_bytes_t (p, len); |
784 | 87.4k | } |
785 | | template <typename Type> |
786 | | Type *copy () const |
787 | 2.11k | { return reinterpret_cast<Type *> ((char *) copy_bytes ().arrayZ); } |
788 | | hb_blob_t *copy_blob () const |
789 | 76.1k | { |
790 | 76.1k | hb_bytes_t b = copy_bytes (); |
791 | 76.1k | return hb_blob_create (b.arrayZ, b.length, |
792 | 76.1k | HB_MEMORY_MODE_WRITABLE, |
793 | 76.1k | (char *) b.arrayZ, hb_free); |
794 | 76.1k | } |
795 | | |
796 | | const hb_vector_t<object_t *>& object_graph() const |
797 | 2.25k | { return packed; } |
798 | | |
799 | | private: |
800 | | template <typename T, unsigned Size = sizeof (T)> |
801 | | void assign_offset (const object_t* parent, const object_t::link_t &link, unsigned offset) |
802 | 19.7M | { |
803 | | // XXX We should stop assuming big-endian! |
804 | 19.7M | auto &off = * ((HBInt<true, T, Size> *) (parent->head + link.position)); |
805 | 19.7M | assert (0 == off); |
806 | 19.7M | check_assign (off, offset, HB_SERIALIZE_ERROR_OFFSET_OVERFLOW); |
807 | 19.7M | } void hb_serialize_context_t::assign_offset<int, 4u>(hb_serialize_context_t::object_t const*, hb_serialize_context_t::object_t::link_t const&, unsigned int) Line | Count | Source | 802 | 11.5k | { | 803 | | // XXX We should stop assuming big-endian! | 804 | 11.5k | auto &off = * ((HBInt<true, T, Size> *) (parent->head + link.position)); | 805 | 11.5k | assert (0 == off); | 806 | 11.5k | check_assign (off, offset, HB_SERIALIZE_ERROR_OFFSET_OVERFLOW); | 807 | 11.5k | } |
void hb_serialize_context_t::assign_offset<short, 2u>(hb_serialize_context_t::object_t const*, hb_serialize_context_t::object_t::link_t const&, unsigned int) Line | Count | Source | 802 | 774 | { | 803 | | // XXX We should stop assuming big-endian! | 804 | 774 | auto &off = * ((HBInt<true, T, Size> *) (parent->head + link.position)); | 805 | 774 | assert (0 == off); | 806 | 774 | check_assign (off, offset, HB_SERIALIZE_ERROR_OFFSET_OVERFLOW); | 807 | 774 | } |
void hb_serialize_context_t::assign_offset<unsigned int, 4u>(hb_serialize_context_t::object_t const*, hb_serialize_context_t::object_t::link_t const&, unsigned int) Line | Count | Source | 802 | 75.6k | { | 803 | | // XXX We should stop assuming big-endian! | 804 | 75.6k | auto &off = * ((HBInt<true, T, Size> *) (parent->head + link.position)); | 805 | 75.6k | assert (0 == off); | 806 | 75.6k | check_assign (off, offset, HB_SERIALIZE_ERROR_OFFSET_OVERFLOW); | 807 | 75.6k | } |
void hb_serialize_context_t::assign_offset<unsigned int, 3u>(hb_serialize_context_t::object_t const*, hb_serialize_context_t::object_t::link_t const&, unsigned int) Line | Count | Source | 802 | 21.5k | { | 803 | | // XXX We should stop assuming big-endian! | 804 | 21.5k | auto &off = * ((HBInt<true, T, Size> *) (parent->head + link.position)); | 805 | 21.5k | assert (0 == off); | 806 | 21.5k | check_assign (off, offset, HB_SERIALIZE_ERROR_OFFSET_OVERFLOW); | 807 | 21.5k | } |
void hb_serialize_context_t::assign_offset<unsigned short, 2u>(hb_serialize_context_t::object_t const*, hb_serialize_context_t::object_t::link_t const&, unsigned int) Line | Count | Source | 802 | 19.5M | { | 803 | | // XXX We should stop assuming big-endian! | 804 | 19.5M | auto &off = * ((HBInt<true, T, Size> *) (parent->head + link.position)); | 805 | 19.5M | assert (0 == off); | 806 | 19.5M | check_assign (off, offset, HB_SERIALIZE_ERROR_OFFSET_OVERFLOW); | 807 | 19.5M | } |
|
808 | | |
809 | | public: |
810 | | char *start, *head, *tail, *end, *zerocopy; |
811 | | unsigned int debug_depth; |
812 | | hb_serialize_error_t errors; |
813 | | |
814 | | private: |
815 | | |
816 | 39.4M | void merge_virtual_links (const object_t* from, objidx_t to_idx) { |
817 | 39.4M | object_t* to = packed[to_idx]; |
818 | 39.4M | for (const auto& l : from->virtual_links) { |
819 | 31.2M | to->virtual_links.push (l); |
820 | 31.2M | } |
821 | 39.4M | } |
822 | | |
823 | | /* Object memory pool. */ |
824 | | hb_free_pool_t<object_t> object_pool; |
825 | | |
826 | | /* Stack of currently under construction objects. */ |
827 | | object_t *current; |
828 | | |
829 | | /* Stack of packed objects. Object 0 is always nil object. */ |
830 | | hb_vector_t<object_t *> packed; |
831 | | |
832 | | /* Map view of packed objects. */ |
833 | | hb_hashmap_t<const object_t *, objidx_t> packed_map; |
834 | | }; |
835 | | |
836 | | #endif /* HB_SERIALIZE_HH */ |