Replace dcache with splay tree.
authorDoug Evans <dje@google.com>
Thu, 20 Aug 2009 22:30:12 +0000 (22:30 +0000)
committerDoug Evans <dje@google.com>
Thu, 20 Aug 2009 22:30:12 +0000 (22:30 +0000)
commit25f122dc09108d210f78f6ecd7c5077f466352e1
treef3119eeddb749246092e62a64462f0c00200849f
parent824b28db574e0744348a811db21c39f7fb872ff5
Replace dcache with splay tree.
Remove partially implemented writeback support.
* dcache.c: Include splay-tree.h.
(LINE_SIZE_POWER): Change from 5 to 6.
(DCACHE_SIZE): Change from 64 to 4096.
(ENTRY_INVALID, ENTRY_VALID, ENTRY_DIRTY): Delete.
(state_chars): Delete.
(struct dcache_block): Clean up; remove state and anydirty fields.
(struct dcache_struct): Redefine as a splay tree and linked list.
(last_cache): Make static.
(dcache_invalidate, dcache_hit): Rewrite for new cache structure.
(dcache_read_line, dcache_alloc): Rewrite for new cache structure.
(dcache_write_line): Delete.
(dcache_writeback): Delete.
(dcache_peek_byte): Clean up; remove "invalid" state check.
(dcache_poke_byte): Rewrite for new cache structure; clarify comment.
(dcache_splay_tree_compare): New function.
(dcache_init, dcache_free): Rewrite for new cache structure.
(dcache_xfer_memory): Rewrite for new write-through cache structure.
(dcache_print_line): New function.
(dcache_info): Rewrite for new cache structure.
(_initialize_dcache): Update "info dcache" help text.
* dcache.h (dcache_xfer_memory): Update declaration.
* target.c (memory_xfer_partial): Update calls to dcache_xfer_memory.
gdb/ChangeLog
gdb/dcache.c
gdb/dcache.h
gdb/target.c