This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA] Rewrite data cache to use splay tree
- From: Doug Evans <dje at google dot com>
- To: Jacob Potter <jdpotter at google dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Thu, 20 Aug 2009 15:51:42 -0700
- Subject: Re: [RFA] Rewrite data cache to use splay tree
- References: <7e6c8d660907071424j7e96ffb3r5b129ba97040d7e1@mail.gmail.com> <e394668d0908201533y3086ced8o177c69c27f4b282b@mail.gmail.com>
On Thu, Aug 20, 2009 at 3:33 PM, Doug Evans<dje@google.com> wrote:
> Hi.
>
> I checked in a sligntly modified version of this patch.
> The actual stack caching patch is still todo.
>
> 2009-08-20 ?Jacob Potter ?<jdpotter@google.com>
>
> ? ? ? ?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.
>
Blech. There's one more bit of cleanup that needed to be done. It
was on my mental list, and then got dropped. One can't use %lx to
print CORE_ADDRs. Fixing pronto.