[RFA,1/5] Remove regcache_xmalloc

Message ID 20170924024608.4346-2-tom@tromey.com
State New, archived
Headers

Commit Message

Tom Tromey Sept. 24, 2017, 2:46 a.m. UTC
  This patch removes regcache_xmalloc in favor of plain "new".

ChangeLog
2017-09-23  Tom Tromey  <tom@tromey.com>

	* regcache.h (regcache_xmalloc): Don't declare.
	(regcache_raw_set_cached_value): Update comment.
	* regcache.c (regcache_xmalloc): Remove.
	* ppc-linux-tdep.c (ppu2spu_sniffer): Use new.
	* jit.c (jit_frame_sniffer): Use new.
	* frame.c (frame_save_as_regcache): Use new.
---
 gdb/ChangeLog        | 9 +++++++++
 gdb/frame.c          | 4 ++--
 gdb/jit.c            | 2 +-
 gdb/ppc-linux-tdep.c | 2 +-
 gdb/regcache.c       | 6 ------
 gdb/regcache.h       | 4 +---
 6 files changed, 14 insertions(+), 13 deletions(-)
  

Comments

Tom Tromey Sept. 26, 2017, 4:50 a.m. UTC | #1
>>>>> "Tom" == Tom Tromey <tom@tromey.com> writes:

Tom> +	  struct regcache *regcache = new regcache (data.gdbarch, aspace);

The builder complained about this line.
It had to be 'new struct regcache' instead.

However, this was change in a subsequent commit, so my try run didn't
catch it.  I suppose I will have to start doing try runs for each
individual patch; which is kind of a pain :(

Anyway, I'm sorry about this.  The only good thing is that you probably
won't hit this problem unless you bisect.

Tom
  
Sergio Durigan Junior Sept. 26, 2017, 5:10 a.m. UTC | #2
On Tuesday, September 26 2017, Tom Tromey wrote:

>>>>>> "Tom" == Tom Tromey <tom@tromey.com> writes:
>
> Tom> +	  struct regcache *regcache = new regcache (data.gdbarch, aspace);
>
> The builder complained about this line.
> It had to be 'new struct regcache' instead.
>
> However, this was change in a subsequent commit, so my try run didn't
> catch it.  I suppose I will have to start doing try runs for each
> individual patch; which is kind of a pain :(

Yeah, sorry about that :-(.

On a side note, I was talking to mjw the other day about setting up
"special try branches" for some people.  I still don't know how that
would work internally on BuildBot, but it would address this problem of
testing several commits.

A problem I foresee with this approach is the extra load on the slaves;
some of them are already working around the clock to keep up.  Anyway, I
don't want to hijack the thread, just wanted to say something related to
what happened.

> Anyway, I'm sorry about this.  The only good thing is that you probably
> won't hit this problem unless you bisect.

Before I get crucified because of the "spam" generated: each breakage
e-mail is related to one specific builder.  Sometimes a breakage happens
only on e.g. ARM, so you'd get e-mails just for this architecture.
Anyway, sorry about the number of messages; it's currently not possible
to merge all of the reports into one single message, although it may be
possible to thread them.  Unfortunately I don't have time right now to
look into this, but we don't have a lot of breakages anyway...
  

Patch

diff --git a/gdb/frame.c b/gdb/frame.c
index f100da3..ad0cb92 100644
--- a/gdb/frame.c
+++ b/gdb/frame.c
@@ -1021,8 +1021,8 @@  struct regcache *
 frame_save_as_regcache (struct frame_info *this_frame)
 {
   struct address_space *aspace = get_frame_address_space (this_frame);
-  struct regcache *regcache = regcache_xmalloc (get_frame_arch (this_frame),
-						aspace);
+  struct regcache *regcache = new regcache (get_frame_arch (this_frame),
+					    aspace);
   struct cleanup *cleanups = make_cleanup_regcache_xfree (regcache);
 
   regcache_save (regcache, do_frame_register_read, this_frame);
diff --git a/gdb/jit.c b/gdb/jit.c
index fbfee99..6eea38f 100644
--- a/gdb/jit.c
+++ b/gdb/jit.c
@@ -1205,7 +1205,7 @@  jit_frame_sniffer (const struct frame_unwind *self,
 
   *cache = XCNEW (struct jit_unwind_private);
   priv_data = (struct jit_unwind_private *) *cache;
-  priv_data->regcache = regcache_xmalloc (gdbarch, aspace);
+  priv_data->regcache = new regcache (gdbarch, aspace);
   priv_data->this_frame = this_frame;
 
   callbacks.priv_data = priv_data;
diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
index df664ea..4c851eb 100644
--- a/gdb/ppc-linux-tdep.c
+++ b/gdb/ppc-linux-tdep.c
@@ -1363,7 +1363,7 @@  ppu2spu_sniffer (const struct frame_unwind *self,
 	    = FRAME_OBSTACK_CALLOC (1, struct ppu2spu_cache);
 
 	  struct address_space *aspace = get_frame_address_space (this_frame);
-	  struct regcache *regcache = regcache_xmalloc (data.gdbarch, aspace);
+	  struct regcache *regcache = new regcache (data.gdbarch, aspace);
 	  struct cleanup *cleanups = make_cleanup_regcache_xfree (regcache);
 	  regcache_save (regcache, ppu2spu_unwind_register, &data);
 	  discard_cleanups (cleanups);
diff --git a/gdb/regcache.c b/gdb/regcache.c
index 4ef9151..2a92cf0 100644
--- a/gdb/regcache.c
+++ b/gdb/regcache.c
@@ -241,12 +241,6 @@  regcache_get_ptid (const struct regcache *regcache)
   return regcache->ptid ();
 }
 
-struct regcache *
-regcache_xmalloc (struct gdbarch *gdbarch, struct address_space *aspace)
-{
-  return new regcache (gdbarch, aspace);
-}
-
 void
 regcache_xfree (struct regcache *regcache)
 {
diff --git a/gdb/regcache.h b/gdb/regcache.h
index eb0454a..877ed59 100644
--- a/gdb/regcache.h
+++ b/gdb/regcache.h
@@ -37,8 +37,6 @@  extern struct regcache *get_thread_arch_aspace_regcache (ptid_t,
 
 void regcache_xfree (struct regcache *regcache);
 struct cleanup *make_cleanup_regcache_xfree (struct regcache *regcache);
-struct regcache *regcache_xmalloc (struct gdbarch *gdbarch,
-				   struct address_space *aspace);
 
 /* Return REGCACHE's ptid.  */
 
@@ -84,7 +82,7 @@  extern LONGEST regcache_raw_get_signed (struct regcache *regcache,
 /* Set a raw register's value in the regcache's buffer.  Unlike
    regcache_raw_write, this is not write-through.  The intention is
    allowing to change the buffer contents of a read-only regcache
-   allocated with regcache_xmalloc.  */
+   allocated with new.  */
 
 extern void regcache_raw_set_cached_value
   (struct regcache *regcache, int regnum, const gdb_byte *buf);