From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 112602 invoked by alias); 20 Jan 2020 15:52:56 -0000 Mailing-List: contact dwz-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: dwz-owner@sourceware.org Received: (qmail 112590 invoked by uid 89); 20 Jan 2020 15:52:56 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.100.3 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.2 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.1 spammy= X-Spam-Status: No, score=-25.2 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on sourceware.org X-Spam-Level: X-HELO: mx2.suse.de X-Virus-Scanned: by amavisd-new at test-mx.suse.de Date: Wed, 01 Jan 2020 00:00:00 -0000 From: Tom de Vries To: dwz@sourceware.org, jakub@redhat.com Subject: [committed] Simplify code now that split_dups no longer returns NULL Message-ID: <20200120155241.GA18613@delia> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-SW-Source: 2020-q1/txt/msg00032.txt Hi, Now that split_dups no longer returns NULL, simplify the code in partition_dups. Committed to trunk. Thanks, - Tom Simplify code now that split_dups no longer returns NULL 2020-01-20 Tom de Vries * dwz.c (partition_dups): Assume split_dups doesn't return NULL. --- dwz.c | 36 +++++------------------------------- 1 file changed, 5 insertions(+), 31 deletions(-) diff --git a/dwz.c b/dwz.c index 08e3df4..c4f2aec 100644 --- a/dwz.c +++ b/dwz.c @@ -7079,55 +7079,29 @@ partition_dups (void) partition_find_dups (&ob2, cu->cu_die); vec_size = obstack_object_size (&ob2) / sizeof (void *); - size_t gap_start, gap_end; if (odr) { - size_t j; - gap_end = vec_size; arr = (dw_die_ref *) obstack_base (&ob2); if (progress_p) { report_progress (); fprintf (stderr, "partition_dups split_dups\n"); } - for (i = 0; i < vec_size;) + for (i = 0; i < vec_size; i++) { dw_die_ref die = arr[i]; if (die_odr_state (NULL, die) == ODR_NONE) - { - i++; - continue; - } + continue; die = split_dups (die, &ob2); - if (die && unlikely (verify_dups_p)) + assert (die != NULL); + if (unlikely (verify_dups_p)) verify_dups (die, true); arr = (dw_die_ref *) obstack_base (&ob2); - if (die == NULL) - { - arr[i] = arr[vec_size - 1]; - arr[vec_size - 1] = NULL; - vec_size--; - } - else - { - arr[i] = die; - ++i; - } + arr[i] = die; } - gap_start = vec_size; vec_size = obstack_object_size (&ob2) / sizeof (void *); - if (gap_start != gap_end) - { - for (i = gap_start, j = gap_end; j < vec_size; ++i, ++j) - { - arr[i] = arr[j]; - arr[j] = NULL; - } - vec_size = i; - } - reset_die_ref_seen (); for (i = 0; i < vec_size; i++) {