]> git.eshelyaron.com Git - emacs.git/commit
Reduce memory footprint of struct bidi_it by a factor of 5.
authorEli Zaretskii <eliz@gnu.org>
Fri, 5 Dec 2014 10:17:15 +0000 (12:17 +0200)
committerEli Zaretskii <eliz@gnu.org>
Fri, 5 Dec 2014 10:17:15 +0000 (12:17 +0200)
commitfcc4da3e5227f64b57e5e7ac497df28229b88f7d
treeae2dbadb71fb2552277410415a5753c8edf9a2ac
parent96e6fd3c155b1851e0acd477789535a45b8d3187
Reduce memory footprint of struct bidi_it by a factor of 5.

 src/dispextern.h (enum bidi_dir_t): Force NEUTRAL_DIR to be zero.
 (struct bidi_stack): Reduce size by using bit fields and by
 packing sos, override, and isolate_status into a single 8-bit
 byte called 'flags'.
 src/bidi.c (ISOLATE_STATUS, OVERRIDE): New macros.
 (bidi_push_embedding_level): Construct flags from individual
 bits.  Adapt to changes in prev_for_neutral and next_for_neutral
 members.
 (bidi_pop_embedding_level): Use ISOLATE_STATUS.  Extract 'sos'
 from flags.  Adapt to changes in prev_for_neutral,
 next_for_neutral, and last_strong members.
 (bidi_line_init): Initialize flags to zero.
 (bidi_resolve_explicit, bidi_resolve_weak, bidi_resolve_brackets)
 (bidi_resolve_neutral): Use ISOLATE_STATUS and OVERRIDE.
src/ChangeLog
src/bidi.c
src/dispextern.h