From 513e0aa0c4e60757e7e99e479a940812f6107dd9 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Sat, 16 Nov 2019 10:14:14 -0700 Subject: [PATCH] Fix slowness in demangler * cp-demangle.c (d_print_init): Remove const from 4th param. (cplus_demangle_fill_name): Initialize d->d_counting. (cplus_demangle_fill_extended_operator): Likewise. (cplus_demangle_fill_ctor): Likewise. (cplus_demangle_fill_dtor): Likewise. (d_make_empty): Likewise. (d_count_templates_scopes): Remobe const from 3rd param, Return on dc->d_counting > 1, Increment dc->d_counting. * cp-demint.c (cplus_demangle_fill_component): Initialize d->d_counting. (cplus_demangle_fill_builtin_type): Likewise. (cplus_demangle_fill_operator): Likewise. * demangle.h (struct demangle_component): Add member d_counting. From-SVN: r278359 --- include/ChangeLog | 7 ++++++- include/demangle.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/ChangeLog b/include/ChangeLog index 5e18fa3d5a6..6364ab4de61 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,4 +1,9 @@ -2019-10-22 Eduard-Mihai Burtescu +2019-11-16 Tim Ruehsen + + * demangle.h (struct demangle_component): Add member + d_counting. + +2019-11-16 Eduard-Mihai Burtescu * demangle.h (rust_demangle_callback): Add. diff --git a/include/demangle.h b/include/demangle.h index ce7235d13f3..66f3a9fd7d8 100644 --- a/include/demangle.h +++ b/include/demangle.h @@ -468,6 +468,7 @@ struct demangle_component Initialize to zero. Private to d_print_comp. All other fields are final after initialization. */ int d_printing; + int d_counting; union { -- cgit v1.2.3