From 3961cc46bf438947b19063cb7e735247358f1d4f Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Thu, 5 Jan 2023 13:58:57 -0700 Subject: [PATCH] [gsubgpos] Cache pos_glyphs allocation in closure Saves some 3% in Gulzar-Regular subsetting. --- src/hb-ot-layout-gsubgpos.hh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/hb-ot-layout-gsubgpos.hh b/src/hb-ot-layout-gsubgpos.hh index c74e838fe..8af86d124 100644 --- a/src/hb-ot-layout-gsubgpos.hh +++ b/src/hb-ot-layout-gsubgpos.hh @@ -189,6 +189,8 @@ struct hb_closure_context_t : active_glyphs_stack.reset (); } + public: + hb_set_t pos_glyphs; // Cache private: hb_map_t *done_lookups_glyph_count; hb_hashmap_t> *done_lookups_glyph_set; @@ -1539,7 +1541,7 @@ static void context_closure_recurse_lookups (hb_closure_context_t *c, void *cache) { hb_set_t covered_seq_indicies; - hb_set_t pos_glyphs; + hb_set_t &pos_glyphs = c->pos_glyphs; for (unsigned int i = 0; i < lookupCount; i++) { unsigned seqIndex = lookupRecord[i].sequenceIndex;