public inbox for gdb-cvs@sourceware.org
help / color / mirror / Atom feed
* [binutils-gdb] Add dwarf2_per_objfile parameter to allocate_piece_closure
@ 2020-05-27 15:51 Simon Marchi
  0 siblings, 0 replies; only message in thread
From: Simon Marchi @ 2020-05-27 15:51 UTC (permalink / raw)
  To: gdb-cvs

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3c3cd3d4d7c7e05aa48b87c4ab11bac12a2caf7c

commit 3c3cd3d4d7c7e05aa48b87c4ab11bac12a2caf7c
Author: Simon Marchi <simon.marchi@efficios.com>
Date:   Wed May 27 11:14:03 2020 -0400

    Add dwarf2_per_objfile parameter to allocate_piece_closure
    
    This allows removing a dwarf2_per_cu_data::dwarf2_per_objfile reference.
    
    gdb/ChangeLog:
    
            * dwarf2/loc.c (allocate_piece_closure): Add dwarf2_per_objfile
            parameter.
            (dwarf2_evaluate_loc_desc_full): Update.
    
    Change-Id: Ic4a694a3fc763360a131ee4e3aaf5a5b4735c813

Diff:
---
 gdb/ChangeLog    | 6 ++++++
 gdb/dwarf2/loc.c | 8 +++++---
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1df34cc8622..fc965a4aa89 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2020-05-27  Simon Marchi  <simon.marchi@efficios.com>
+
+	* dwarf2/loc.c (allocate_piece_closure): Add dwarf2_per_objfile
+	parameter.
+	(dwarf2_evaluate_loc_desc_full): Update.
+
 2020-05-27  Simon Marchi  <simon.marchi@efficios.com>
 
 	* dwarf2/read.h (dwarf2_read_addr_index): Add dwarf2_per_objfile
diff --git a/gdb/dwarf2/loc.c b/gdb/dwarf2/loc.c
index 5692cf00279..99a3a53e11a 100644
--- a/gdb/dwarf2/loc.c
+++ b/gdb/dwarf2/loc.c
@@ -1576,7 +1576,8 @@ struct piece_closure
    PIECES.  */
 
 static struct piece_closure *
-allocate_piece_closure (struct dwarf2_per_cu_data *per_cu,
+allocate_piece_closure (dwarf2_per_cu_data *per_cu,
+			dwarf2_per_objfile *per_objfile,
 			std::vector<dwarf_expr_piece> &&pieces,
 			struct frame_info *frame)
 {
@@ -1584,7 +1585,7 @@ allocate_piece_closure (struct dwarf2_per_cu_data *per_cu,
 
   c->refc = 1;
   /* We must capture this here due to sharing of DWARF state.  */
-  c->per_objfile = per_cu->dwarf2_per_objfile;
+  c->per_objfile = per_objfile;
   c->per_cu = per_cu;
   c->pieces = std::move (pieces);
   if (frame == NULL)
@@ -2245,7 +2246,8 @@ dwarf2_evaluate_loc_desc_full (struct type *type, struct frame_info *frame,
       if (bit_size > 8 * TYPE_LENGTH (type))
 	invalid_synthetic_pointer ();
 
-      c = allocate_piece_closure (per_cu, std::move (ctx.pieces), frame);
+      c = allocate_piece_closure (per_cu, per_objfile, std::move (ctx.pieces),
+				  frame);
       /* We must clean up the value chain after creating the piece
 	 closure but before allocating the result.  */
       free_values.free_to_mark ();


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2020-05-27 15:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-27 15:51 [binutils-gdb] Add dwarf2_per_objfile parameter to allocate_piece_closure Simon Marchi

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).