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

Behdad Esfahbod behdad at kemper.freedesktop.org
Tue Nov 27 22:40:48 UTC 2018


 .codecov.yml                                 |    7 +++++++
 src/hb-machinery.hh                          |    6 ++++++
 test/shaping/data/in-house/tests/macos.tests |    3 +--
 3 files changed, 14 insertions(+), 2 deletions(-)

New commits:
commit 987f4187722a05e3f360b85c66309a351fc5d6ad
Merge: 1042d9fb 4e2a03b6
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Tue Nov 27 17:40:32 2018 -0500

    Merge pull request #1398 from Adenilson/bigInt01
    
    Optimize harfbuzz big integer conversions

commit 4e2a03b6b6e0c0d1c4edea10dc1aae63eeb6c581
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Tue Nov 27 17:40:09 2018 -0500

    Comment

diff --git a/src/hb-machinery.hh b/src/hb-machinery.hh
index c3848415..0e75c824 100644
--- a/src/hb-machinery.hh
+++ b/src/hb-machinery.hh
@@ -692,8 +692,10 @@ struct BEInt<Type, 2>
   inline operator Type (void) const
   {
 #if defined(__GNUC__) || defined(__clang__)
+    /* Spoon-feed the compiler a big-endian integer with alignment 1.
+     * https://github.com/harfbuzz/harfbuzz/pull/1398 */
     struct __attribute__((packed)) packed_uint16_t { uint16_t v; };
-    return __builtin_bswap16(((packed_uint16_t *) this)->v);
+    return __builtin_bswap16 (((packed_uint16_t *) this)->v);
 #endif
     return (v[0] <<  8)
          + (v[1]      );
commit 4a719a7f4c997ea7e47588bc0288c97706dae015
Author: Adenilson Cavalcanti <adenilson.cavalcanti at arm.com>
Date:   Tue Nov 20 14:41:19 2018 -0800

    Optimize harfbuzz big integer conversions
    
    Profiling showed that type conversions were adding considerable cycles in time
    spent doing text shaping.
    
    The idea is to optimize it using native processor instructions to help Blink
    layout performance.
    
    Doing further investigation revelead that compilers may not use the
    proper instruction on ARM 32bits builds (i.e. REV16).
    
    One way to insure that the generated ASM was ideal for both gcc/clang
    was using __builtin_bswap16.
    
    Added bonus is that we no longer need to test for CPU architecture.

diff --git a/src/hb-machinery.hh b/src/hb-machinery.hh
index 3c11243f..c3848415 100644
--- a/src/hb-machinery.hh
+++ b/src/hb-machinery.hh
@@ -691,6 +691,10 @@ struct BEInt<Type, 2>
   }
   inline operator Type (void) const
   {
+#if defined(__GNUC__) || defined(__clang__)
+    struct __attribute__((packed)) packed_uint16_t { uint16_t v; };
+    return __builtin_bswap16(((packed_uint16_t *) this)->v);
+#endif
     return (v[0] <<  8)
          + (v[1]      );
   }
commit 1042d9fbc05aff9d51f15c2824a8521e963d0acd
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date:   Mon Nov 26 18:58:39 2018 +0330

    [ci] Add .codecov.yml
    
    Similar to https://github.com/GoogleChrome/lighthouse/blob/master/.codecov.yml
    
    No strong preference on commenting, feel free to enable it again

diff --git a/.codecov.yml b/.codecov.yml
new file mode 100644
index 00000000..e9b8ab48
--- /dev/null
+++ b/.codecov.yml
@@ -0,0 +1,7 @@
+comment: off
+
+coverage:
+  status:
+    project:
+      default:
+        threshold: 1%
commit 97eaedca5de76c74534bab41562aee130098558a
Author: Ebrahim Byagowi <ebrahim at gnu.org>
Date:   Mon Nov 26 16:58:58 2018 +0330

    [test][aat] Enable Tamil MN test (#1414)

diff --git a/test/shaping/data/in-house/tests/macos.tests b/test/shaping/data/in-house/tests/macos.tests
index 05dafd19..9f1f9fa1 100644
--- a/test/shaping/data/in-house/tests/macos.tests
+++ b/test/shaping/data/in-house/tests/macos.tests
@@ -18,8 +18,7 @@
 /System/Library/Fonts/LucidaGrande.ttc at 63ba1b1de4709bd832ca76bd62368dd99fc34269::U+006D,U+0300:[mgrave=0+1912]
 /System/Library/Fonts/Times.ttc at 896098b6979306ad84355025459f7c68b029139c::U+0066,U+0069:[fi=0+1139]
 /Library/Fonts/Khmer MN.ttc at 782ba6cf3fca0512ab348dfe08345a2d5dc5bf2c::U+17A2,U+1780,U+17D2,U+179F,U+179A,U+1781,U+17D2,U+1798,U+17C2,U+179A:[km_qa=0+1025|km_ka=1+1025|km_sa.sub=1+517|km_ro=4+593|km_vs_ae=5+605|km_kha=5+1025|km_mo.sub=5+0|km_ro=9+593]
-# The following is broken https://github.com/harfbuzz/harfbuzz/issues/1410
-#/Library/Fonts/Tamil MN.ttc at 3de37f3f8f3cb6015b093fbd6e9d323daaf6fb1d::U+0BA4,U+0BCA,U+0B95,U+0BC1,U+0B95,U+0BCD,U+0B95,U+0BAA,U+0BCD,U+0BAA,U+0B9F,U+0BCD,U+0B9F,U+0BC1:[tgm_e=0+1702|tgc_ta=0+1598|tgm_aa=0+1149|tgc_ku=2+1962|tgc_k=4+1592|tgc_ka=6+1592|tgc_p=7+1370|tgc_pa=9+1370|tgc_tt=10+1596|tgc_ttu=12+1833]
+/Library/Fonts/Tamil MN.ttc at 3de37f3f8f3cb6015b093fbd6e9d323daaf6fb1d::U+0BA4,U+0BCA,U+0B95,U+0BC1,U+0B95,U+0BCD,U+0B95,U+0BAA,U+0BCD,U+0BAA,U+0B9F,U+0BCD,U+0B9F,U+0BC1:[tgm_e=0+1702|tgc_ta=0+1598|tgm_aa=0+1149|tgc_ku=2+1962|tgc_k=4+1592|tgc_ka=6+1592|tgc_p=7+1370|tgc_pa=9+1370|tgc_tt=10+1596|tgc_ttu=12+1833]
 /System/Library/Fonts/Times.ttc at 896098b6979306ad84355025459f7c68b029139c::U+0041,U+0066,U+0300,U+0066,U+0069,U+005A:[A=0+1479|f=1+682|gravecmb=1 at -480,588+0|fi=3+1139|Z=5+1251]
 /System/Library/Fonts/LucidaGrande.ttc at 63ba1b1de4709bd832ca76bd62368dd99fc34269::U+05E1,U+05B0:[shevahebrew=0 at -7,0+0|samekhhebrew=0+1361]
 /Library/Fonts/Apple Chancery.ttf at 4ec49cba0d4e68d025ada0498c4df1b2f9fd57ac::U+0054,U+0068,U+0020,U+0074,U+0068,U+0020,U+006C,U+006C,U+0020,U+0074,U+0065,U+0020,U+0074,U+006F,U+0020,U+0074,U+0072,U+0020,U+0066,U+0072,U+0020,U+0066,U+0075,U+0020,U+0066,U+006A:[T_h=0+2308|space=2+569|t_h=3+1687|space=5+569|l_l=6+1108|space=8+569|t_e=9+1408|space=11+569|t_o=12+1531|space=14+569|t_r=15+1385|space=17+569|f_r=18+1432|space=20+569|f_u=21+1733|space=23+569|f_j=24+1073]


More information about the HarfBuzz mailing list