From patchwork Sat Oct 14 03:01:55 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Marchi X-Patchwork-Id: 23570 Received: (qmail 26538 invoked by alias); 14 Oct 2017 03:02:13 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 22599 invoked by uid 89); 14 Oct 2017 03:02:12 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, SPF_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1180 X-HELO: sesbmg22.ericsson.net Received: from sesbmg22.ericsson.net (HELO sesbmg22.ericsson.net) (193.180.251.48) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 14 Oct 2017 03:02:10 +0000 Received: from ESESSHC015.ericsson.se (Unknown_Domain [153.88.183.63]) by sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id 50.A7.07039.F2E71E95; Sat, 14 Oct 2017 05:02:07 +0200 (CEST) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (153.88.183.145) by oa.msg.ericsson.com (153.88.183.63) with Microsoft SMTP Server (TLS) id 14.3.352.0; Sat, 14 Oct 2017 05:02:06 +0200 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=simon.marchi@ericsson.com; Received: from [10.0.0.110] (192.222.251.162) by AMSPR07MB312.eurprd07.prod.outlook.com (2a01:111:e400:802f::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.77.5; Sat, 14 Oct 2017 03:02:04 +0000 Subject: Re: [PATCH] Replace psymbol_allocation_list with std::vector To: Tom Tromey CC: References: <1507903080-10737-1-git-send-email-simon.marchi@ericsson.com> <87k1zypxdk.fsf@tromey.com> From: Simon Marchi Message-ID: <112a72c3-bc3e-1c2a-c108-a4ff19146902@ericsson.com> Date: Fri, 13 Oct 2017 23:01:55 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <87k1zypxdk.fsf@tromey.com> X-ClientProxiedBy: BN6PR11CA0011.namprd11.prod.outlook.com (2603:10b6:405:2::21) To AMSPR07MB312.eurprd07.prod.outlook.com (2a01:111:e400:802f::24) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: f4b98d70-5016-417b-585a-08d512aff31b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075); SRVR:AMSPR07MB312; X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB312; 3:LNswnkz7wjtSIjqxCmrnU+q5xP4y37WkhZEWLqEzQJkd5elOnGs0+MXQFSaBzMmFyxC0e/2mYD6RXDtfgWmYy+fX6/DO1eGZOeZ5/9q5Zw40wDE5el8SqnlLVZqpX4nQ/T184XyJsOOWdue4obQcDNAAeQubA2F3CblhEINxjfAO/OZCeDTDTOnBv+Tyj8OALU8GKAmrYUyqOvKieMn1T3mI7Fof/s+O8X9Bcd5IkHm4pilPBBu8dkJgykQLUCDZ; 25:Owr9yeIy6N3+RM0U93ZsECHHRU/PoAtzE6hSZ1xVoh1vrmT/JpVHqkKjPjEy+5h8Fc0bS8uPMyis5H6l+rgMSsM9zIjzJttbXNp5MY7ZSz1/y1ApzgOZDNSGuuhN+9frY8VIFJMWBGbuTrKdOejpckCBHBTrRW9l1r8mKjKQfdxlWx1LSWG+wwwNtmJAanJkFqK5g9eJjLcos2qxIGALJQe3CQ0X5cBu/rllfg821RH2oKnHQsPDGk51RTjGmRcfvbLYE4vZiOCK2iefssnMavdxCxZWoduaR12StV6c5Xp9Fg1/B/EMwpN4FEtvpukmqOWqAYToYRFQYi/CeGxHQtpV9nhx+xOc0dSxmtSz33Q=; 31:SDs5KIgc41xwMzWdcV6vDl0ueFBXb40hsXNwrg0Lez6s1GFhG8IYvzjirD2Os/ApHIc3CCqMVl46JfxxJ/IdpBs39mzTtSZLPmyQjxBzDZtY5LL0ZSJZXrcDGJhRpx/kDnJLuScly9rMzsJoiWIUpgbsORLO/OHHVNnM5kd3g7VUaZZ4mSAHOwe1PibPfQcbnxZvDJfNSm8U8x6O+85KQqRa3jCWk2Gv1v2ew92yBkU= X-MS-TrafficTypeDiagnostic: AMSPR07MB312: X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB312; 20:QIcqzEG4zlSS25MoGdmC8yrK4hxSJCOTVHhBsto+8ESIrkmZMX6c5r66CfXxEK5EpMTNiB8RUZLUNT+gbMYlKnwN6JwQGqWGXqZ9LBLpeaOw3WuKnOXQT0gB0PepNU4mBR/YdyCCrmMD1L9y6Hc2wr4MG+fuG2veoe3snL38mito87z7BC2StE82tzKjd6iUatCM0Pe6JzTe4Oa5p7SNAeeGcdpgPtYc3+bLwPsxShV812Rb/blqqgYOACx7TGQ5YCUgmtstp5MrJrJ4AQ1aM9IDQb4RSMWMonyejSl45uSlsSr8j1Su6ZZEjq/qIiYtC2wD+uJoDaNuRDV0KZckM/yQjgozN1bVWYe0co8QOexwav4/ZwDKWHNPAFYy7lR3ARdAN+63u9d3hW+GtIFOLXZPwEYPZBYbFuiPJfvsxhO7nD5IdinsSdXxpBTojDKtWjEoVM0E5AJLQQ33iD9ZY24GYdyjFDWs/60WU0FRZg9ndfHeRYTrwxBz1OH9TqSk; 4:Oyt9nY+Boz/5/NxlBDWO+HdXoItkR4DpxlJF3UbNU7+umGfHMTEIH979vhd89dvFADp2s0EbQVSuN0dS2nO/WpgT6PmD2BjKSihouzILw6o2aX4IcexFfEEtiZEQVsffhGB1KkCAC2nshyfbCDnlhRz9cd92Qn8+hzR2kE5JZm70K8lm9tXdO2AJHjFpn3DYwuZoip74KAWKqJJ0fs1GqUXoJU0BCzytefO5L+NlirKNHbTsBqrdMdvAinsBjab2bwqNxdCGK2fMzodr619MrsLOBBLXeSCt3sg58Pnw/JfrpDDPJwmnVgCZ2opk4vW+rb6lrVvjojcdjBOK1LkD8A== X-Exchange-Antispam-Report-Test: UriScan:(37575265505322)(788757137089); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(10201501046)(3002001)(100000703101)(100105400095)(6041248)(20161123560025)(20161123555025)(20161123564025)(20161123558100)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AMSPR07MB312; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AMSPR07MB312; X-Forefront-PRVS: 046060344D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(6049001)(39860400002)(346002)(376002)(199003)(377424004)(189002)(377454003)(24454002)(4001150100001)(53936002)(33646002)(4326008)(65826007)(5660300001)(101416001)(6246003)(189998001)(50986999)(106356001)(105586002)(76176999)(54356999)(31686004)(8936002)(23676002)(50466002)(81156014)(64126003)(36756003)(8676002)(81166006)(2950100002)(47776003)(7736002)(305945005)(83506001)(25786009)(2906002)(230700001)(66066001)(65956001)(65806001)(6916009)(86362001)(97736004)(31696002)(6666003)(53546010)(316002)(478600001)(6486002)(68736007)(77096006)(229853002)(16526018)(58126008)(16576012)(3846002)(6116002); DIR:OUT; SFP:1101; SCL:1; SRVR:AMSPR07MB312; H:[10.0.0.110]; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtBTVNQUjA3TUIzMTI7MjM6andySDBocjRZRnV5NWgyc1kvRldubi9Xc0dU?= =?utf-8?B?Mmc3YVljaWFkbUpCQUFocUYwWjFYdDZhUGUxMTVWR25EY1dtY1FCbEZERTFK?= =?utf-8?B?Y0grcmRYVU1USHJVU0dKTkVNaUo0RXZNL1ZxclI3RStvb1BPc3hCZ1ZkdUlz?= =?utf-8?B?bGNCUWJicjRiM0xFa24wRFh4TWtDNTZLSGVMTUtndnlXOEdkVUVFMFdpdUlI?= =?utf-8?B?aWs3VFYwanVVVk9BaFE4UkJIWnlkVXg1SVhGaDlETlpFT0xzQ2pwV2NlZ09q?= =?utf-8?B?TkJvM2xFUmpNVjNRMVVvZE5weWl5Vkh5TytGeStnTmZwZVQrWExlRk5KOVF1?= =?utf-8?B?WG5vVEFDL0JhOWExYjZ0b0NSSUQ5R0hKSzd3TldPTElXTzNTYmZrWCsxYUM4?= =?utf-8?B?UkRPV0J3Z2J5cHNvZjE4a29sVXdLV3poTExRaFlBaW81RC9qejlUS05IMVFZ?= =?utf-8?B?SkloNnFaVGhhRHh6N2FSRFFUeTNlV1Izemo5THVycTUwUTcvWGRsNUNBOXRV?= =?utf-8?B?VHFzQk9DMjIxSms2VzZaMC9qQXVOcnIvTEJDTW5pS2VJUGNIQUhhaW1tdDNQ?= =?utf-8?B?dVh1Wm5tc2p4b1QyaXYvbnZOZCtwb29CQ2lJQU1MOFRENmtXb3lUNUdRK1lB?= =?utf-8?B?cnRWVmdQakIwclFIU3BVSDZlcUdhUkhaYkFQaU5XcmorNEJ6SEliSGpTTk4r?= =?utf-8?B?OFhlQmVWUTMxUlp6RVdxN0J5Y2RUQXBhbUljTlZCbWh4Uk4vTmRRdFhpa3hE?= =?utf-8?B?b2FPZC9zMUJCTCtuS04xemp6T01qUi84NnlmMXV0M21mVW5rRElmRXJyNVBG?= =?utf-8?B?WFczNEFCaWpsWFE0bkttWXJXNkpqYWtVcjA2N1Y3Z0s5VHoxVGlLU1FQaDV6?= =?utf-8?B?RDd5NGxVZ0lDUHVCenErK0cxT0xUaEkrMWJLQ0dtYncvOE13UFhTZGpseDlU?= =?utf-8?B?V2VBbHZmT3lncUczZ3hnbXJNUEE5Q3cvRVFwTWxuMjdmUnoyRkVOZTJiNkpq?= =?utf-8?B?THRRWGxKU05paStib3FKdS9yV1c2b1BkcEVpcGNrTXFHUFp1enNsVlFyTU5V?= =?utf-8?B?VWNsUUFtSWNLK2ZuSHc5SCtnNEFhRFhmWnJKMFRueUMwa25jTzZHaWYxYktG?= =?utf-8?B?Q2NabkVnczZxaStyc0JVVWJ6cUExM01HR3EzOGtCQ0N1RzlQR3V5TEt1SnZR?= =?utf-8?B?d0s3WmJVTWp2SDI4R0k2N0lxRXJEUzY0eTU4LzBnY3g0WFROaktGZVdraWVR?= =?utf-8?B?N1JZN0VmNndOT3lpSXJqTHBmRHBNalhiMVNhVmlJZ2p1Y3MxMXB6ZTdzb3hq?= =?utf-8?B?cDkrWFZDVEJGMHRzT3lRV1V3YzhncW9Rdzd3SW85cXE5UUhsQ2N3WDV5VEpn?= =?utf-8?B?K2l6SS8xcnNjbm9PbUc1bXNqSk81NUNhb1RPZndmeHhKR0Z0U1JHSjJPUlcv?= =?utf-8?B?VlIxaUtLOVkrNkVGZmpDNzFieXdPMC9SMi9ocUgra21sYWRCZlA3di8vYTAx?= =?utf-8?B?bVEwZlM3R1dRSjVWMkZaY2krOEhiSmxZS0gvenNYbXJ3N0oyVDB4T09HdVdi?= =?utf-8?B?Wlk3NjAwTHZGQ1AyeFVFTU9NSHN1ODdlNG9ZcUdBQzkwa3RkMHNuTExMMFFs?= =?utf-8?B?d216emtpWXJiWXdhZjFBb3FRaldrcmlFNU5rU3R3dTVzMEhKMHIrUTU0TDZo?= =?utf-8?B?UG1NT2lvWUErNnhoSDdWSHd1WGZrTEpldlhqNjVvUzVqZkFwNDdrYVFqMi9s?= =?utf-8?B?c3N1UjdXbC9VakhpL05YYW4wdjBNdXZNOGdvYWJJRGhzVzNUOEFXaEFsRDRz?= =?utf-8?B?VXBUUFg1VzhrNEtmK083anNtVzdjUDQwMjAzNUdab0poWWN5U2FQNGVwVlhj?= =?utf-8?B?OVJMY0svYTNhUjVCZDBGWnR3S1lZdUNxNkhiZXhJN1JUWXNmT0o4NHBHT0NO?= =?utf-8?B?VkQ5Z3JPNlE9PQ==?= X-Microsoft-Exchange-Diagnostics: 1; AMSPR07MB312; 6:RwnmKcrqheiz29yGh9TJ0uG3QjbyHwIa1EyA/nZ6CMgZYIlJQzYavXLdMCmwN4BtBpNIkwNbCH2tTBpsrr732uiHEHiUdy3w6u9uqzZkr9mKxm5tb4ECQMaZWGTBJofCKrIY3RXMRBC1KpgsC71UQwxElA+Xc19c8HhN3Jl3oQ7ygKaxK/jj/vBRmmMWPGgLL+la8MCR1qjfbffDiB9tJeHvNB6Shmn2JrfHQ2LSk4DCaYoq/8riTdobpRe42gioX3PWnkwAoyD44bA1nV/ZZc4IVLNmxR3NilL3COlG8EcYa1RvAMJtUgOoY452uEAP8HHTgvy9IJQ/LPOZPFYgBw==; 5:1JJku3sXkytWmsaO5k8uER6lq7o1VjBRjPy0KzATHNeY1FZaT3ExfQ8K0eTK+iKo3l/vlTIEmq6FcLscORob6CT03DXm1eZ8SnliAwO1txbiu1LG1f9A4RwEzhHbJI/FxR7Aa6Kl/kyfN/mHm4iQJe4Fey+FbT5PcOG4fjdAUwQ=; 24:WRLZknhFeqF+njf63tB57HngzEUl1+y7GdT+mBJC+lk9yhXJiWSdOoLkFObe4GbqPXvjH7itgpDu66rsB3fpXskQqfTfrcgUqRMYu80lj6c=; 7:pjlqYBV6O8rTaiIB/PldnyN29Hp5bjGEVDo3I3CPZDFygdAPkvnRwH/4D9+y0BlPQ7qzGUVDmQEXNw8EozKvNI/L+LUTlICo5p1qJbSVooRhS3O3Gf9QTDPvRI7ROUezmQs27W1jl+iSSie7JWQG6mEFEdyrhAnMHpNEY5327M/JlFITE3lQX9hnTiYf7wQKyVRCmP9ibxI0Ek1nQJw82rtR9f6rn4C5RUAJkti6K+8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Oct 2017 03:02:04.4321 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AMSPR07MB312 X-OriginatorOrg: ericsson.com X-IsSubscribed: yes On 2017-10-13 05:10 PM, Tom Tromey wrote: >>>>>> "Simon" == Simon Marchi writes: > > Simon> psymbol_allocation_list is basically a vector implementation. We can > Simon> replace it with an std::vector, now that objfile has been C++-ified. > > I think this is very nice. > > I wonder how worthwhile it would be to call shrink_to_fit on the vectors > in require_partial_symbols. It can't really hurt. Since those lists are not expected to change after that point, it seems useless to keep the extra unused memory in the vector. I would apply this fixup to my patch, WDYT? diff --git a/gdb/psymtab.c b/gdb/psymtab.c index 36ae83a..762f9ce 100644 --- a/gdb/psymtab.c +++ b/gdb/psymtab.c @@ -86,6 +86,12 @@ require_partial_symbols (struct objfile *objfile, int verbose) gdb_flush (gdb_stdout); } (*objfile->sf->sym_read_psymbols) (objfile); + + /* Partial symbol lists are not expected to changed after this + point, get rid of the unused memory. */ + objfile->global_psymbols.shrink_to_fit (); + objfile->static_psymbols.shrink_to_fit (); + if (verbose) { if (!objfile_has_symbols (objfile))