From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1879) id 0103A3985C25; Wed, 27 May 2020 15:51:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0103A3985C25 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Simon Marchi To: gdb-cvs@sourceware.org Subject: [binutils-gdb] Add dwarf2_per_objfile parameter to allocate_piece_closure X-Act-Checkin: binutils-gdb X-Git-Author: Simon Marchi X-Git-Refname: refs/heads/master X-Git-Oldrev: 82ca3f5189e9f8199dc21baeabe2a31a342db163 X-Git-Newrev: 3c3cd3d4d7c7e05aa48b87c4ab11bac12a2caf7c Message-Id: <20200527155134.0103A3985C25@sourceware.org> Date: Wed, 27 May 2020 15:51:33 +0000 (GMT) X-BeenThere: gdb-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 May 2020 15:51:34 -0000 https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3c3cd3d4d7c7e05aa48b87c4ab11bac12a2caf7c commit 3c3cd3d4d7c7e05aa48b87c4ab11bac12a2caf7c Author: Simon Marchi 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 + + * dwarf2/loc.c (allocate_piece_closure): Add dwarf2_per_objfile + parameter. + (dwarf2_evaluate_loc_desc_full): Update. + 2020-05-27 Simon Marchi * 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 &&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 ();