diff --git a/src/hb-private.hh b/src/hb-private.hh index 05f0adbe5..74045d7e0 100644 --- a/src/hb-private.hh +++ b/src/hb-private.hh @@ -549,7 +549,7 @@ _hb_ceil_to_4 (unsigned int v) /* Global nul-content Null pool. Enlarge as necessary. */ -#define HB_NULL_POOL_SIZE 384 +#define HB_NULL_POOL_SIZE 264 static_assert (HB_NULL_POOL_SIZE % sizeof (void *) == 0, "Align HB_NULL_POOL_SIZE."); #ifdef HB_NO_VISIBILITY @@ -1153,7 +1153,7 @@ struct hb_vector_size_t union { elt_t v[byte_size / sizeof (elt_t)]; #if HB_VECTOR_SIZE - typedef unsigned long vec_t __attribute__((vector_size (HB_VECTOR_SIZE))); + typedef unsigned long vec_t __attribute__((vector_size (HB_VECTOR_SIZE / 8))); vec_t vec[byte_size / sizeof (vec_t)]; #endif } u; diff --git a/src/hb-set-private.hh b/src/hb-set-private.hh index 323c6f4ba..716881576 100644 --- a/src/hb-set-private.hh +++ b/src/hb-set-private.hh @@ -165,7 +165,6 @@ struct hb_set_t static inline unsigned int elt_get_max (const elt_t &elt) { return _hb_bit_storage (elt) - 1; } typedef hb_vector_size_t vector_t; - vector_t v; static const unsigned int ELT_BITS = sizeof (elt_t) * 8; static const unsigned int ELT_MASK = ELT_BITS - 1; @@ -176,6 +175,8 @@ struct hb_set_t elt_t &elt (hb_codepoint_t g) { return v[(g & MASK) / ELT_BITS]; } elt_t const &elt (hb_codepoint_t g) const { return v[(g & MASK) / ELT_BITS]; } elt_t mask (hb_codepoint_t g) const { return elt_t (1) << (g & ELT_MASK); } + + vector_t v; }; static_assert (page_t::PAGE_BITS == sizeof (page_t) * 8, "");