aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorEli Zaretskii2014-12-05 12:17:15 +0200
committerEli Zaretskii2014-12-05 12:17:15 +0200
commitfcc4da3e5227f64b57e5e7ac497df28229b88f7d (patch)
treeae2dbadb71fb2552277410415a5753c8edf9a2ac /src/ChangeLog
parent96e6fd3c155b1851e0acd477789535a45b8d3187 (diff)
downloademacs-fcc4da3e5227f64b57e5e7ac497df28229b88f7d.tar.gz
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 'src/ChangeLog')
-rw-r--r--src/ChangeLog18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 2f64a9758bc..82aabb389a3 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,21 @@
12014-12-05 Eli Zaretskii <eliz@gnu.org>
2
3 * dispextern.h (enum bidi_dir_t): Force NEUTRAL_DIR to be zero.
4 (struct bidi_stack): Reduce size by using bit fields and by
5 packing sos, override, and isolate_status into a single 8-bit
6 byte called 'flags'.
7
8 * bidi.c (ISOLATE_STATUS, OVERRIDE): New macros.
9 (bidi_push_embedding_level): Construct flags from individual
10 bits. Adapt to changes in prev_for_neutral and next_for_neutral
11 members.
12 (bidi_pop_embedding_level): Use ISOLATE_STATUS. Extract 'sos'
13 from flags. Adapt to changes in prev_for_neutral,
14 next_for_neutral, and last_strong members.
15 (bidi_line_init): Initialize flags to zero.
16 (bidi_resolve_explicit, bidi_resolve_weak, bidi_resolve_brackets)
17 (bidi_resolve_neutral): Use ISOLATE_STATUS and OVERRIDE.
18
12014-12-04 Stefan Monnier <monnier@iro.umontreal.ca> 192014-12-04 Stefan Monnier <monnier@iro.umontreal.ca>
2 20
3 * eval.c (backtrace_eval_unrewind): Rewind also the excursions. 21 * eval.c (backtrace_eval_unrewind): Rewind also the excursions.