Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@adacore.com>
To: Michael Snyder <msnyder@vmware.com>
Cc: "gdb-patches@sourceware.org" <gdb-patches@sourceware.org>,
		Hui Zhu <teawater@gmail.com>
Subject: Re: [RFA] record.c - save some memory in record log.
Date: Thu, 15 Oct 2009 19:17:00 -0000	[thread overview]
Message-ID: <20091015191656.GF5272@adacore.com> (raw)
In-Reply-To: <4AD761AD.40307@vmware.com>

> It's based on the observation that the objects that we save
> (registers and small memory writes) are frequently the size of
> a pointer (or smaller).  Therefore, instead of allocating both
> a pointer and some malloc memory to hold them, they can simply
> be saved in the space used for the pointer itself.

One way that we have used in the past that might be helpful here
is to define the buffer at the end of the structure and without
the pointer indirection:

   struct blah
   {
     ...

     int buffer_len;
     gdb_byte buf[0];
   };

The allocation of the structure become a little trickier. And access
to the buffer is a little more dangerous, which is why I don't like
this approach much.  But it does save memory, and you can prevent
buffer overrun by forcing access to this data through accessor
routines...

-- 
Joel


  reply	other threads:[~2009-10-15 19:17 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-15 17:59 Michael Snyder
2009-10-15 19:17 ` Joel Brobecker [this message]
2009-10-18  1:53   ` Hui Zhu
2009-10-18 16:10     ` Joel Brobecker
2009-10-18 16:14       ` Michael Snyder
2009-10-18  1:50 ` Hui Zhu
2009-10-18  3:56   ` Michael Snyder
2009-10-18  4:46     ` Hui Zhu
2009-10-18 16:11       ` Michael Snyder

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=20091015191656.GF5272@adacore.com \
    --to=brobecker@adacore.com \
    --cc=gdb-patches@sourceware.org \
    --cc=msnyder@vmware.com \
    --cc=teawater@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