diff options
author | Tom Tromey <tom@tromey.com> | 2024-01-27 08:59:06 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2024-03-08 17:25:50 -0700 |
commit | ba9583c7d598df78c45b86073cdbf1a9d7c40377 (patch) | |
tree | 13a6b989304b03ef00043219524cf80978a427d3 | |
parent | b183313dfa9bcb221f3276eccfda1d875431b6be (diff) | |
download | gdb-ba9583c7d598df78c45b86073cdbf1a9d7c40377.zip gdb-ba9583c7d598df78c45b86073cdbf1a9d7c40377.tar.gz gdb-ba9583c7d598df78c45b86073cdbf1a9d7c40377.tar.bz2 |
Move the 'store' method to index_cache_store_context
I think it is cleaner for 'store' to be a method on
index_cache_store_context rather than on the global index cache
itself. This patch makes this change.
-rw-r--r-- | gdb/dwarf2/cooked-index.c | 2 | ||||
-rw-r--r-- | gdb/dwarf2/index-cache.c | 16 | ||||
-rw-r--r-- | gdb/dwarf2/index-cache.h | 8 |
3 files changed, 12 insertions, 14 deletions
diff --git a/gdb/dwarf2/cooked-index.c b/gdb/dwarf2/cooked-index.c index 7d353c3..5cbee83 100644 --- a/gdb/dwarf2/cooked-index.c +++ b/gdb/dwarf2/cooked-index.c @@ -842,7 +842,7 @@ cooked_index::maybe_write_index (const index_cache_store_context &ctx) if (index_for_writing () != nullptr) { /* (maybe) store an index in the cache. */ - global_index_cache.store (ctx); + ctx.store (); } m_state->set (cooked_state::CACHE_DONE); } diff --git a/gdb/dwarf2/index-cache.c b/gdb/dwarf2/index-cache.c index 91f2af3..780d2c4 100644 --- a/gdb/dwarf2/index-cache.c +++ b/gdb/dwarf2/index-cache.c @@ -155,30 +155,30 @@ index_cache_store_context::index_cache_store_context (const index_cache &ic, /* See dwarf-index-cache.h. */ void -index_cache::store (const index_cache_store_context &ctx) +index_cache_store_context::store () const { - if (!ctx.m_enabled) + if (!m_enabled) return; - const char *dwz_build_id_ptr = (ctx.m_dwz_build_id_str.has_value () - ? ctx.m_dwz_build_id_str->c_str () + const char *dwz_build_id_ptr = (m_dwz_build_id_str.has_value () + ? m_dwz_build_id_str->c_str () : nullptr); try { index_cache_debug ("writing index cache for objfile %s", - bfd_get_filename (ctx.m_per_bfd->obfd)); + bfd_get_filename (m_per_bfd->obfd)); /* Write the index itself to the directory, using the build id as the filename. */ - write_dwarf_index (ctx.m_per_bfd, ctx.m_dir.c_str (), - ctx.m_build_id_str.c_str (), dwz_build_id_ptr, + write_dwarf_index (m_per_bfd, m_dir.c_str (), + m_build_id_str.c_str (), dwz_build_id_ptr, dw_index_kind::GDB_INDEX); } catch (const gdb_exception_error &except) { index_cache_debug ("couldn't store index cache for objfile %s: %s", - bfd_get_filename (ctx.m_per_bfd->obfd), except.what ()); + bfd_get_filename (m_per_bfd->obfd), except.what ()); } } diff --git a/gdb/dwarf2/index-cache.h b/gdb/dwarf2/index-cache.h index 09577ac..95f217e 100644 --- a/gdb/dwarf2/index-cache.h +++ b/gdb/dwarf2/index-cache.h @@ -40,10 +40,11 @@ struct index_cache_resource struct index_cache_store_context { - friend class index_cache; - index_cache_store_context (const index_cache &ic, dwarf2_per_bfd *per_bfd); + /* Store the index in the cache. */ + void store () const; + private: /* Captured value of enabled (). */ bool m_enabled; @@ -82,9 +83,6 @@ public: /* Disable the cache. */ void disable (); - /* Store an index for the specified object file in the cache. */ - void store (const index_cache_store_context &); - /* Look for an index file matching BUILD_ID. If found, return the contents as an array_view and store the underlying resources (allocated memory, mapped file, etc) in RESOURCE. The returned array_view is valid as long |