diff options
author | Eli Zaretskii <eliz@gnu.org> | 2014-12-05 12:17:15 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2014-12-05 12:17:15 +0200 |
commit | fcc4da3e5227f64b57e5e7ac497df28229b88f7d (patch) | |
tree | ae2dbadb71fb2552277410415a5753c8edf9a2ac /lisp/emacs-lisp/bytecomp.el | |
parent | 96e6fd3c155b1851e0acd477789535a45b8d3187 (diff) | |
download | emacs-fcc4da3e5227f64b57e5e7ac497df28229b88f7d.tar.gz emacs-fcc4da3e5227f64b57e5e7ac497df28229b88f7d.tar.bz2 emacs-fcc4da3e5227f64b57e5e7ac497df28229b88f7d.zip |
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.
Diffstat (limited to 'lisp/emacs-lisp/bytecomp.el')
0 files changed, 0 insertions, 0 deletions