public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Steven Bosscher <stevenb.gcc@gmail.com>
To: Mike Stump <mikestump@comcast.net>
Cc: Jakub Jelinek <jakub@redhat.com>, Jeff Law <law@redhat.com>,
		Laurynas Biveinis <laurynas.biveinis@gmail.com>,
	gcc-patches Patches <gcc-patches@gcc.gnu.org>
Subject: Re: [gc-improv] Permanent vs function RTL obstack fix
Date: Tue, 12 Apr 2011 10:49:00 -0000	[thread overview]
Message-ID: <BANLkTik1usXOqicuFq_mOaPJ__f+h5jBhw@mail.gmail.com> (raw)
In-Reply-To: <FAB556CA-EF98-4D55-AB2E-564217F8C8BC@comcast.net>

On Tue, Apr 12, 2011 at 12:44 PM, Mike Stump <mikestump@comcast.net> wrote:
>>   - If objects stored in PCH have pointers pointing outside of PCH-able/GC-managed memory, these become wild pointers on PCH read even with GTY((skip)) applied properly. However, not all GTY((skip)) pointers point outside of PCH-able memory, so I have overloaded GTY((deletable)) option to reset such fields to NULL on PCH write. This is only a part of the fix as logic needs to be reviewed what to do with these NULLs after the PCH read. In case of DECL_RTL, the NULL in the field causes re-creation of rtx anew, which I think is the right thing.
>
> Not an example of a warm fuzzy.  When you combine this with the entire idea of PCH, and that is to slosh to disk and back, the entire state of the compiler, essentially, unmodified, we run into a conceptual gap.  Now, why did PCH have that design, so that we could limit the number of pch bugs and come up with a robust design that just works.  This is a useful property.

I've debuged PCH bugs and they were usually a _result_ of the poor
design. Missing GTY on non-pointer objects for example. There is
nothing robust about the design of PCH and it certainly does not "just
work".

But, two things:

1. RTL and PCH should be completely separate. No DECL_RTL should ever
end up in a PCH because DECL_RTL is not created in the front end (or
should not be, it'd be a bug)

2. PCH as we know it will probably be gone soon (Google's pph stuff)

Ciao!
Steven

  reply	other threads:[~2011-04-12 10:49 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-07  6:17 Laurynas Biveinis
2011-04-07 21:33 ` Steven Bosscher
2011-04-08 13:22   ` Laurynas Biveinis
2011-04-08 14:36     ` Jeff Law
2011-04-08 14:39       ` Richard Guenther
2011-04-08 14:42         ` Jeff Law
2011-04-09 10:34       ` Steven Bosscher
2011-04-10 18:27         ` Laurynas Biveinis
2011-04-10 18:49           ` Basile Starynkevitch
2011-04-11 20:03           ` Jeff Law
2011-04-12  0:22             ` Mike Stump
2011-04-12  2:54               ` Jeff Law
2011-04-12  6:34                 ` Steven Bosscher
2011-04-12  7:01                   ` Jakub Jelinek
2011-04-12  8:45                     ` Steven Bosscher
2011-04-12 10:44                       ` Mike Stump
2011-04-12 10:49                         ` Steven Bosscher [this message]
2011-04-12 15:02                       ` Jeff Law
2011-04-12 11:56             ` Bernd Schmidt
2011-04-12 15:31               ` Jeff Law
2011-04-10 18:23       ` Laurynas Biveinis
2011-04-10 22:33         ` Steven Bosscher
2011-04-11 20:08         ` Jeff Law
2011-04-12 11:43           ` Laurynas Biveinis
2011-04-12 11:46             ` Laurynas Biveinis
2011-04-12 17:25               ` Mike Stump

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=BANLkTik1usXOqicuFq_mOaPJ__f+h5jBhw@mail.gmail.com \
    --to=stevenb.gcc@gmail.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jakub@redhat.com \
    --cc=laurynas.biveinis@gmail.com \
    --cc=law@redhat.com \
    --cc=mikestump@comcast.net \
    /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).