gdb: turn gdb::bcache's function pointers into virtual methods
authorSimon Marchi <simon.marchi@polymtl.ca>
Mon, 14 Sep 2020 18:02:30 +0000 (14:02 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Mon, 14 Sep 2020 18:02:30 +0000 (14:02 -0400)
commit898066264058f68c4dd26e82e1310db305177c8e
treefc0b04a903748034dcf5fabf9b650636df7b4725
parent2ddc8f011a497d710737ab7637dbf88cbe1398a1
gdb: turn gdb::bcache's function pointers into virtual methods

The two function pointers optionally passed to gdb::bcache are very good
candidates to be turned into virtual methods, this patch does that in
the most straightforward / unsurprising way.

gdb/ChangeLog:

* bcache.h (struct bcache) <bcache>: Remove constructor.
<m_hash_function, m_compare_function>: Remove.
<~bcache>: Make virtual.
<compare>: Remove static method, introduce virtual method.
<default_hash>: Remove.
<hash>: New virtual method.
* bcache.c (bcache::expand_hash_table): Update.
(bcache::insert): Update.
(bcache::hash): New.
(bcache::compare): Update comment and parameter names.
* gdbtypes.c (types_deeply_equal): Update.
* psymtab.h (struct psymbol_bcache): New struct.
(class psymtab_storage) <psymtab_storage>: Make default.
<psymbol_cache>: Change type to psymbol_bcache.
* psymtab.c (psymtab_storage::psymtab_storage): Remove.
(psymbol_hash): Change to...
(psymbol_bcache::hash): ... this.
(psymbol_compare): Change to...
(psymbol_bcache::compare): ... this.

Change-Id: I41d578e61de8ac1163461a28fbd220d1f855e372
gdb/ChangeLog
gdb/bcache.c
gdb/bcache.h
gdb/gdbtypes.c
gdb/psymtab.c
gdb/psymtab.h