Coverage Report

Created: 2026-10-10 06:15

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/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 */