public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
From: Joe Buck <Joe.Buck@synopsys.COM>
To: Jeff Law <law@redhat.com>
Cc: Richard Guenther <richard.guenther@gmail.com>, GCC <gcc@gcc.gnu.org>
Subject: Re: (known?) Issue with bitmap iterators
Date: Mon, 22 Jun 2009 17:46:00 -0000	[thread overview]
Message-ID: <20090622174623.GA6603@synopsys.com> (raw)
In-Reply-To: <4A3FBA1E.6040502@redhat.com>


Richard Guenther wrote:
> > It is known (but maybe not appropriately documented) that deleting
> > bits in the bitmap you iterate over is not safe.  If it would be me I would
> > see if I could make it safe though.

On Mon, Jun 22, 2009 at 10:06:38AM -0700, Jeff Law wrote:
> It's not a huge deal -- what bothers me is that it's not documented.
> Someone thought enough to document that the loop index shouldn't be
> modified in the loop, but didn't bother to mention that the bitmap
> itself shouldn't be modified in the loop.

As a general rule there is a performance cost for making iterators
on a data structure safe with respect to modifications of that data
structure.  I'm not in a position to say what the right solution is
in this case, but passes that iterate over bitmaps without modifying
those bitmaps shouldn't be penalized.  One solution sometimes used is
two sets of iterators, with a slower version that's safe under
modification.



  reply	other threads:[~2009-06-22 17:46 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-20 14:53 Jeff Law
2009-06-20 15:01 ` Richard Guenther
2009-06-21  3:27   ` Peter Bergner
2009-06-22 17:06   ` Jeff Law
2009-06-22 17:46     ` Joe Buck [this message]
2009-06-22 19:07       ` Dave Korn
2009-06-25 18:11         ` Daniel Berlin
2009-06-25 18:37       ` Jeff Law
2009-06-25 22:39         ` Dave Korn
2009-07-01  2:14           ` Jeff Law
2009-06-26 10:47         ` Alexander Monakov
2009-06-26 16:51           ` Joe Buck
2009-06-26 19:28             ` Alexander Monakov
2009-07-01  2:21               ` Jeff Law
2009-07-01  6:48                 ` Dave Korn
2009-06-22  2:44 ` Daniel Berlin
2009-06-22 11:33   ` Dave Korn
2009-06-22 11:37     ` Richard Guenther
2009-06-22 13:06       ` Dave Korn
2009-06-22 13:38         ` Paolo Bonzini
2009-06-22 19:03           ` Dave Korn
2009-06-22 14:27   ` Andrew MacLeod

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=20090622174623.GA6603@synopsys.com \
    --to=joe.buck@synopsys.com \
    --cc=gcc@gcc.gnu.org \
    --cc=law@redhat.com \
    --cc=richard.guenther@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).