0
0
mirror of https://github.com/netwide-assembler/nasm.git synced 2025-07-24 10:25:42 -04:00

2 Commits

Author SHA1 Message Date
H. Peter Anvin (Intel)
367350319b rbtree: implement a "threaded LLRB tree"
Change the left-leaning red-black (LLRB) trees into left-leaning
threaded red-black trees. Instead of NULL pointers at leaf nodes, use
the otherwise unused field as a pointer to the lexical predecessor
(left) or successor (right). This allows fast previous/next
interator operation without needing to keep track of the root of the
tree at all times.

The additional metadata that needs to be kept can be done for "free"
simply by changing "bool red" into a flag field.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2020-06-29 23:23:51 -07:00
H. Peter Anvin
e1f985c167 Reorganize the source code into subdirectories
Make the source code easier to understand and keep track of by
organizing it into subdirectories depending on the function.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2016-05-25 12:06:29 -07:00