[HarfBuzz] harfbuzz: Branch 'master' - 2 commits

Behdad Esfahbod behdad at kemper.freedesktop.org
Wed Feb 14 23:47:54 UTC 2018


 src/Makefile.am       |    4 ++--
 src/hb-set-private.hh |    7 +++----
 2 files changed, 5 insertions(+), 6 deletions(-)

New commits:
commit 2903b2f357eb495c9badac1b2f74e65e1d1075bd
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Wed Feb 14 15:46:27 2018 -0800

    Another linker tweaking
    
    Trying to fix this warning:
    cc1: warning: command line option ‘-fno-threadsafe-statics’ is valid for C++/ObjC++ but not for C
    
    Let's see what the clang bots think of it.

diff --git a/src/Makefile.am b/src/Makefile.am
index 8288bd7f..e3915bc8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -37,8 +37,8 @@ HBNOLIBCXXCFLAGS =
 else
 # Make sure we don't link to libstdc++
 # No threadsafe statics in C++ as we do it ourselves
-HBCFLAGS += -fno-threadsafe-statics -fno-exceptions
-HBNOLIBCXXFLAGS = -fno-rtti
+HBCFLAGS += -fno-exceptions
+HBNOLIBCXXFLAGS = -fno-threadsafe-statics -fno-rtti
 endif
 
 if HAVE_OT
commit e1f1f96577a80846749782b6e199a661f4189ec0
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Wed Feb 14 15:44:48 2018 -0800

    [set] Tune size again
    
    Switch from a 128+64 hierarchy, to 32+32. New page size is 1024.
    This should make set iteration faster, without affecting other op
    performances much.

diff --git a/src/hb-set-private.hh b/src/hb-set-private.hh
index 7282b079..0c73d32d 100644
--- a/src/hb-set-private.hh
+++ b/src/hb-set-private.hh
@@ -177,11 +177,11 @@ struct hb_set_t
       return 0;
     }
 
-    static const unsigned int PAGE_BITS = 8192; /* Use to tune. */
+    typedef uint32_t elt_t;
+    static const unsigned int ELT_BITS = sizeof (elt_t) * 8;
+    static const unsigned int PAGE_BITS = ELT_BITS * ELT_BITS; /* 1024. Use to tune. */
     static_assert ((PAGE_BITS & ((PAGE_BITS) - 1)) == 0, "");
 
-    typedef uint64_t elt_t;
-
 #if 0 && HAVE_VECTOR_SIZE
     /* The vectorized version does not work with clang as non-const
      * elt() errs "non-const reference cannot bind to vector element". */
@@ -192,7 +192,6 @@ struct hb_set_t
 
     vector_t v;
 
-    static const unsigned int ELT_BITS = sizeof (elt_t) * 8;
     static const unsigned int ELT_MASK = ELT_BITS - 1;
     static const unsigned int BITS = sizeof (vector_t) * 8;
     static const unsigned int MASK = BITS - 1;


More information about the HarfBuzz mailing list