src/hb-machinery.hh     |   14 ++++----------
 src/hb-null.hh          |    2 +-
 src/hb-ot-hdmx-table.hh |   46 +++++++++++++++++++++++-----------------------
 3 files changed, 28 insertions(+), 34 deletions(-)

New commits:
commit 442a72d95ab1fb3a47b486d8d1eb68e909d0ffb8
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Sun Nov 11 15:51:23 2018 -0500

    Declare Null() constexpr

diff --git a/src/hb-null.hh b/src/hb-null.hh
index 25a24f05..5b9c7db7 100644
--- a/src/hb-null.hh
+++ b/src/hb-null.hh
@@ -43,7 +43,7 @@ hb_vector_size_impl_t const _hb_NullPool[(HB_NULL_POOL_SIZE + 
sizeof (hb_vector_
 
 /* Generic nul-content Null objects. */
 template <typename Type>
-static inline Type const & Null (void) {
+static inline constexpr Type const & Null (void) {
   static_assert (sizeof (Type) <= HB_NULL_POOL_SIZE, "Increase 
HB_NULL_POOL_SIZE.");
   return *reinterpret_cast<Type const *> (_hb_NullPool);
 }
commit eecccc919ce15f60ae7ef9da5cfb311b4aa05c63
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Sun Nov 11 15:48:47 2018 -0500

    Don't store to null object
    
    Ouch :).

diff --git a/src/hb-machinery.hh b/src/hb-machinery.hh
index c85c69d7..160e99a5 100644
--- a/src/hb-machinery.hh
+++ b/src/hb-machinery.hh
@@ -782,10 +782,6 @@ struct hb_lazy_loader_t : hb_data_wrapper_t<Data, 
WheresData>
 
   inline Stored * do_create (void) const
   {
-    Stored *p = this->template call_create<Stored, Funcs> ();
-    if (unlikely (!p))
-      p = const_cast<Stored *> (Funcs::get_null ());
-    return p;
   }
   static inline void do_destroy (Stored *p)
   {
@@ -803,7 +799,10 @@ struct hb_lazy_loader_t : hb_data_wrapper_t<Data, 
WheresData>
     Stored *p = this->instance.get ();
     if (unlikely (!p))
     {
-      p = do_create ();
+      p = this->template call_create<Stored, Funcs> ();
+      if (unlikely (!p))
+       return const_cast<Stored *> (Funcs::get_null ());
+
       if (unlikely (!this->instance.cmpexch (nullptr, p)))
       {
         do_destroy (p);
commit 903856ab505cbc6b756d7b904650df72e90f67a7
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Sun Nov 11 15:45:58 2018 -0500

    Remove unused function

diff --git a/src/hb-machinery.hh b/src/hb-machinery.hh
index d0e1271c..c85c69d7 100644
--- a/src/hb-machinery.hh
+++ b/src/hb-machinery.hh
@@ -797,11 +797,6 @@ struct hb_lazy_loader_t : hb_data_wrapper_t<Data, 
WheresData>
   inline const Returned & operator * (void) const { return *get (); }
   template <typename C> inline operator const C * (void) const { return get 
(); }
 
-  inline Data * get_data (void) const
-  {
-    return *(((Data **) this) - WheresData);
-  }
-
   inline Stored * get_stored (void) const
   {
   retry:
commit 0e0af11c62c6a55248a5d3c8868da91ef36384c5
Author: Behdad Esfahbod <beh...@behdad.org>
Date:   Sun Nov 11 12:54:16 2018 -0500

    [hdmx] Renames

diff --git a/src/hb-ot-hdmx-table.hh b/src/hb-ot-hdmx-table.hh
index 04511b5d..9a5f9453 100644
--- a/src/hb-ot-hdmx-table.hh
+++ b/src/hb-ot-hdmx-table.hh
@@ -44,15 +44,15 @@ struct DeviceRecord
   struct SubsetView
   {
     const DeviceRecord *source_device_record;
-    unsigned int size_device_record;
+    unsigned int sizeDeviceRecord;
     hb_subset_plan_t *subset_plan;
 
     inline void init(const DeviceRecord *source_device_record,
-                    unsigned int size_device_record,
+                    unsigned int sizeDeviceRecord,
                     hb_subset_plan_t   *subset_plan)
     {
       this->source_device_record = source_device_record;
-      this->size_device_record = size_device_record;
+      this->sizeDeviceRecord = sizeDeviceRecord;
       this->subset_plan = subset_plan;
     }
 
@@ -68,7 +68,7 @@ struct DeviceRecord
 
       const HBUINT8* width = &(this->source_device_record->widthsZ[gid]);
 
-      if (width < ((const HBUINT8 *) this->source_device_record) + 
size_device_record)
+      if (width < ((const HBUINT8 *) this->source_device_record) + 
sizeDeviceRecord)
        return width;
       else
        return nullptr;
@@ -92,8 +92,8 @@ struct DeviceRecord
       return_trace (false);
     }
 
-    this->pixel_size.set (subset_view.source_device_record->pixel_size);
-    this->max_width.set (subset_view.source_device_record->max_width);
+    this->pixelSize.set (subset_view.source_device_record->pixelSize);
+    this->maxWidth.set (subset_view.source_device_record->maxWidth);
 
     for (unsigned int i = 0; i < subset_view.len(); i++)
     {
@@ -109,16 +109,16 @@ struct DeviceRecord
     return_trace (true);
   }
 
-  inline bool sanitize (hb_sanitize_context_t *c, unsigned int 
size_device_record) const
+  inline bool sanitize (hb_sanitize_context_t *c, unsigned int 
sizeDeviceRecord) const
   {
     TRACE_SANITIZE (this);
     return_trace (likely (c->check_struct (this) &&
-                         c->check_range (this, size_device_record)));
+                         c->check_range (this, sizeDeviceRecord)));
   }
 
-  HBUINT8                      pixel_size;   /* Pixel size for following 
widths (as ppem). */
-  HBUINT8                      max_width;    /* Maximum width. */
-  UnsizedArrayOf<HBUINT8>      widthsZ;  /* Array of widths (numGlyphs is from 
the 'maxp' table). */
+  HBUINT8                      pixelSize;      /* Pixel size for following 
widths (as ppem). */
+  HBUINT8                      maxWidth;       /* Maximum width. */
+  UnsizedArrayOf<HBUINT8>      widthsZ;        /* Array of widths (numGlyphs 
is from the 'maxp' table). */
   public:
   DEFINE_SIZE_ARRAY (2, widthsZ);
 };
@@ -130,13 +130,13 @@ struct hdmx
 
   inline unsigned int get_size (void) const
   {
-    return min_size + num_records * size_device_record;
+    return min_size + numRecords * sizeDeviceRecord;
   }
 
   inline const DeviceRecord& operator [] (unsigned int i) const
   {
-    if (unlikely (i >= num_records)) return Null(DeviceRecord);
-    return StructAtOffset<DeviceRecord> (&this->dataZ, i * size_device_record);
+    if (unlikely (i >= numRecords)) return Null(DeviceRecord);
+    return StructAtOffset<DeviceRecord> (&this->dataZ, i * sizeDeviceRecord);
   }
 
   inline bool serialize (hb_serialize_context_t *c, const hdmx *source_hdmx, 
hb_subset_plan_t *plan)
@@ -146,13 +146,13 @@ struct hdmx
     if (unlikely (!c->extend_min ((*this))))  return_trace (false);
 
     this->version.set (source_hdmx->version);
-    this->num_records.set (source_hdmx->num_records);
-    this->size_device_record.set (DeviceRecord::get_size (plan->glyphs.len));
+    this->numRecords.set (source_hdmx->numRecords);
+    this->sizeDeviceRecord.set (DeviceRecord::get_size (plan->glyphs.len));
 
-    for (unsigned int i = 0; i < source_hdmx->num_records; i++)
+    for (unsigned int i = 0; i < source_hdmx->numRecords; i++)
     {
       DeviceRecord::SubsetView subset_view;
-      subset_view.init (&(*source_hdmx)[i], source_hdmx->size_device_record, 
plan);
+      subset_view.init (&(*source_hdmx)[i], source_hdmx->sizeDeviceRecord, 
plan);
 
       if (!c->start_embed<DeviceRecord> ()->serialize (c, subset_view))
        return_trace (false);
@@ -163,7 +163,7 @@ struct hdmx
 
   static inline size_t get_subsetted_size (const hdmx *source_hdmx, 
hb_subset_plan_t *plan)
   {
-    return min_size + source_hdmx->num_records * DeviceRecord::get_size 
(plan->glyphs.len);
+    return min_size + source_hdmx->numRecords * DeviceRecord::get_size 
(plan->glyphs.len);
   }
 
   inline bool subset (hb_subset_plan_t *plan) const
@@ -201,15 +201,15 @@ struct hdmx
   {
     TRACE_SANITIZE (this);
     return_trace (c->check_struct (this) && version == 0 &&
-                 !hb_unsigned_mul_overflows (num_records, size_device_record) 
&&
-                 size_device_record >= DeviceRecord::min_size &&
+                 !hb_unsigned_mul_overflows (numRecords, sizeDeviceRecord) &&
+                 sizeDeviceRecord >= DeviceRecord::min_size &&
                  c->check_range (this, get_size()));
   }
 
   protected:
   HBUINT16                     version;                /* Table version number 
(0) */
-  HBUINT16                     num_records;            /* Number of device 
records. */
-  HBUINT32                     size_device_record;     /* Size of a device 
record, 32-bit aligned. */
+  HBUINT16                     numRecords;             /* Number of device 
records. */
+  HBUINT32                     sizeDeviceRecord;       /* Size of a device 
record, 32-bit aligned. */
   UnsizedArrayOf<HBUINT8>      dataZ;                  /* Array of device 
records. */
   public:
   DEFINE_SIZE_ARRAY (8, dataZ);
_______________________________________________
HarfBuzz mailing list
HarfBuzz@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to