From: Pedro Alves <palves@redhat.com>
To: Simon Marchi <simark@simark.ca>, Yao Qi <qiyaoltc@gmail.com>,
gdb-patches@sourceware.org
Subject: Re: [PATCH 4/7] Class-fy partial_die_info
Date: Tue, 30 Jan 2018 11:39:00 -0000 [thread overview]
Message-ID: <3655ae02-6fe5-de74-1e4d-f396b200f226@redhat.com> (raw)
In-Reply-To: <c2b2b52e-707c-b2c3-c7ee-f581bb2e17b7@simark.ca>
On 01/29/2018 01:15 AM, Simon Marchi wrote:
> From what I understand, the only reason to have that private constructor is
> to construct a temporary partial_die_info object used to search in the htab,
> is that right? If so, converting that htab_t to an std::unordered_map would
> remove the need for all this, since you don't need to construct an object
> to search it. See the diff below that applies on top of this patch.
>
> It's not thoroughly tested and I am not sure of the validity of the
> per_cu->cu->partial_dies.empty () call in find_partial_die, but I think it
> should work. Plus, it adds some type-safety, which I am a big fan of.
>
> But otherwise, the patch is fine with me.
Careful here. This could do with some benchmarking. The DWARF reading code
is performance (both timing and memory) sensitive. This is trading an open
addressing hash table (htab_t), for a node-based closed addressing hash table.
The keys/elements in the map are small so I'd expect this to make
a difference. Also, this is trading a in-principle cache-friendly
obstack allocation scheme for the standard new allocator.
Thanks,
Pedro Alves
next prev parent reply other threads:[~2018-01-30 11:39 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-25 9:38 [PATCH 0/7] " Yao Qi
2018-01-25 9:38 ` [PATCH 4/7] " Yao Qi
[not found] ` <87vafphpw6.fsf@tromey.com>
2018-01-26 17:25 ` Yao Qi
2018-01-26 20:55 ` Tom Tromey
2018-01-29 1:15 ` Simon Marchi
2018-01-30 10:49 ` Yao Qi
2018-01-30 15:11 ` Pedro Alves
2018-01-30 11:39 ` Pedro Alves [this message]
2018-01-31 3:46 ` Simon Marchi
2018-01-31 11:55 ` Yao Qi
2018-01-31 15:33 ` Pedro Alves
2018-01-25 9:38 ` [PATCH 1/7] Re-write partial_die_info allocation in load_partial_dies Yao Qi
2018-01-25 9:38 ` [PATCH 2/7] Don't check abbrev is NULL in read_partial_die Yao Qi
2018-01-25 9:38 ` [PATCH 3/7] Change find_partial_die_in_comp_unit to dwarf2_cu::find_partial_die Yao Qi
2018-01-25 9:38 ` [PATCH 6/7] Move fixup_partial_die to partial_die_info::fixup Yao Qi
2018-01-25 12:59 ` Pedro Alves
2018-01-25 14:45 ` Yao Qi
2018-01-25 9:38 ` [PATCH 5/7] Remove one argument abbrev_len in read_partial_die Yao Qi
2018-01-29 1:30 ` Simon Marchi
2018-01-25 9:38 ` [PATCH 7/7] Move read_partial_die to partial_die_info::read Yao Qi
2018-01-29 1:58 ` Simon Marchi
2018-01-25 12:05 ` [PATCH 0/7] Class-fy partial_die_info Joel Brobecker
2018-01-25 14:03 ` Yao Qi
2018-02-22 15:36 [PATCH 0/7 v2] " Yao Qi
2018-02-22 15:36 ` [PATCH 4/7] " Yao Qi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3655ae02-6fe5-de74-1e4d-f396b200f226@redhat.com \
--to=palves@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=qiyaoltc@gmail.com \
--cc=simark@simark.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox