diff options
| author | Eli Zaretskii | 2014-12-05 12:17:15 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2014-12-05 12:17:15 +0200 |
| commit | fcc4da3e5227f64b57e5e7ac497df28229b88f7d (patch) | |
| tree | ae2dbadb71fb2552277410415a5753c8edf9a2ac /src/ChangeLog | |
| parent | 96e6fd3c155b1851e0acd477789535a45b8d3187 (diff) | |
| download | emacs-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/ChangeLog | 18 |
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 @@ | |||
| 1 | 2014-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 | |||
| 1 | 2014-12-04 Stefan Monnier <monnier@iro.umontreal.ca> | 19 | 2014-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. |