diff options
| author | Stefan Monnier | 2022-09-29 17:12:21 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2022-09-29 17:12:21 -0400 |
| commit | a7ad0f806c1ed82f4d0710111aa92417e04a1110 (patch) | |
| tree | e2b7dda450178bda58d1649eb5d986b206f91e16 /src/bytecode.c | |
| parent | 757c116f6b0bc2d8e81aef18f8eada27ca8745a1 (diff) | |
| download | emacs-a7ad0f806c1ed82f4d0710111aa92417e04a1110.tar.gz emacs-a7ad0f806c1ed82f4d0710111aa92417e04a1110.zip | |
itree: Remove the `visited` flag from the tree nodes
These bits really belong in the "workstack" used within
`interval_generator_next`, so move them there.
* src/itree.c (nodeptr_and_flag): New type;
(struct interval_stack): Use it.
(make_nav, nav_nodeptr, nav_flag): New functions.
(interval_tree_insert_gap, interval_tree_delete_gap): Adjust accordingly.
(interval_generator_next): Stash the `visited` bit in the work stack
rather than inside the tree nodes.
(interval_stack_create, interval_stack_destroy, interval_stack_clear)
(interval_stack_ensure_space, interval_stack_push_flagged)
(interval_stack_push, interval_stack_pop): Move before first use.
* src/itree.h (struct interval_node): Remove `visited` field.
* src/pdumper.c (dump_interval_node): Adjust accordingly.
Diffstat (limited to 'src/bytecode.c')
0 files changed, 0 insertions, 0 deletions