public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jeff Law <law@redhat.com>
To: "Martin Liška" <mliska@suse.cz>,
	"Strager Neds" <strager.nds@gmail.com>,
	gcc-patches@gcc.gnu.org
Subject: Re: [PATCH 3/3] Improve efficiency of copying section from another tree
Date: Mon, 30 Nov 2020 15:27:13 -0700	[thread overview]
Message-ID: <f96de96a-3e8e-1b96-5a4b-fc088048f8af@redhat.com> (raw)
In-Reply-To: <d2feed78-6e63-d8f1-021c-7bf1534b6402@suse.cz>

[-- Attachment #1: Type: text/plain, Size: 1569 bytes --]



On 11/30/20 5:16 AM, Martin Liška wrote:
> On 11/13/19 7:29 AM, Strager Neds wrote:
>> -/* Worker for set_section.  */
>> +void
>> +symtab_node::set_section_for_node (const symtab_node &other)
>> +{
>> +  if (x_section == other.x_section)
>> +    return;
>> +  if (get_section () && other.get_section ())
>> +    gcc_checking_assert (strcmp (get_section (), other.get_section
>> ()) != 0);
>> +  release_section_hash_entry (x_section);
>> +  if (other.x_section)
>> +    x_section = retain_section_hash_entry (other.x_section);
>> +  else
>> +    x_section = NULL;
>> +}
>> +
>> +/* Workers for set_section.  */
>>
>>   bool
>> -symtab_node::set_section (symtab_node *n, void *s)
>> +symtab_node::set_section_from_string (symtab_node *n, void *s)
>>   {
>>     n->set_section_for_node ((char *)s);
>>     return false;
>>   }
>>
>> +bool
>> +symtab_node::set_section_from_node (symtab_node *n, void *o)
>> +{
>> +  const symtab_node &other = *static_cast<const symtab_node *> (o);
>> +  n->set_section_for_node (other);
>> +  return false;
>> +}
>> +
>>   /* Set section of symbol and its aliases.  */
>
> Hello.
>
> Apparently, the patch caused the following regression:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98057
>
> I've got a fix for it, but I would appreciate function comments
> for the
>
> void
> symtab_node::set_section_for_node (const symtab_node &other)
>
> and
> bool
> symtab_node::set_section_from_node (symtab_node *n, void *o)
>
> Can you please add it?
I'll take care of it with the attached patch.

Jeff


[-- Attachment #2: P --]
[-- Type: text/plain, Size: 1007 bytes --]

commit dccae0f42e9e052b7721e805858d10d3ec345685
Author: Jeff Law <law@redhat.com>
Date:   Mon Nov 30 15:21:38 2020 -0700

    Add function comments for recently added member functions.
    
    gcc/
            * symtab.c (set_section_for_node): Add function comment.
            (set_section_from_node): Likewise.

diff --git a/gcc/symtab.c b/gcc/symtab.c
index 393d6b07870..fd7d553c112 100644
--- a/gcc/symtab.c
+++ b/gcc/symtab.c
@@ -1668,6 +1668,10 @@ symtab_node::set_section_for_node (const char *section)
     }
 }
 
+/* Set the section of node THIS to be the same as the section
+   of node OTHER.  Keep reference counts of the sections
+   up-to-date as needed.  */
+
 void
 symtab_node::set_section_for_node (const symtab_node &other)
 {
@@ -1691,6 +1695,9 @@ symtab_node::set_section_from_string (symtab_node *n, void *s)
   return false;
 }
 
+/* Set the section of node N to be the same as the section
+   of node O.  */
+
 bool
 symtab_node::set_section_from_node (symtab_node *n, void *o)
 {

  reply	other threads:[~2020-11-30 22:27 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-13  6:28 [PATCH 1/3] Refactor copying decl section names Strager Neds
2019-11-13  6:29 ` [PATCH 2/3] Refactor section name ref counting Strager Neds
2019-11-13  7:31   ` [PATCH 3/3] Improve efficiency of copying section from another tree Strager Neds
2020-11-11  3:59     ` Jeff Law
2020-11-30 12:16     ` Martin Liška
2020-11-30 22:27       ` Jeff Law [this message]
2020-11-11  3:55   ` [PATCH 2/3] Refactor section name ref counting Jeff Law
2020-01-14 22:09 ` [PATCH 1/3] Refactor copying decl section names Jeff Law
2020-11-10 16:30 ` Jeff Law
2020-11-10 18:45 ` Jeff Law
2020-11-11  3:57   ` Alan Modra
2020-11-11  4:19     ` Jeff Law
2020-11-11  5:11       ` Alan Modra
2020-11-11 18:20         ` Jeff Law

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=f96de96a-3e8e-1b96-5a4b-fc088048f8af@redhat.com \
    --to=law@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=mliska@suse.cz \
    --cc=strager.nds@gmail.com \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).