develooper Front page | perl.perl5.porters | Postings from November 2014

[perl #122262] commit "replace many SvTYPE assertions with lookup tables" adds unused on non-DEBUGGING tables

From:
bulk88 via RT
Date:
November 14, 2014 04:58
Subject:
[perl #122262] commit "replace many SvTYPE assertions with lookup tables" adds unused on non-DEBUGGING tables
Message ID:
rt-4.0.18-16016-1415941096-1732.122262-15-0@perl.org
On Tue Oct 21 16:41:36 2014, tonyc wrote:
> On Wed Jul 09 21:35:32 2014, bulk88 wrote:
> > http://perl5.git.perl.org/perl.git/commitdiff/f1fb87419225265377ea1d91eac0dc99547137a6
> > added a bunch of tables that are exported/extern in 5.15.0 . These
> > tables are only used on DEBUGGING builds. The declarations need to be
> > ifdefed away on non-DEBUGGING and a skip added to makedef.pl.
> > Removing
> > the tables will save 0x10*6 bytes of C tables/arrays from the
> > image+exporting/symbol name string overhead.
> 
> Unfortunately parts of re (ext/re/) are built with DEBUGGING defined,
> so these arrays are uses there.
> Tony

I tried to move the PL_valid* tables to be per module static on non-DEBUGGING core but DEBUGGING module modules (cough cough re::*) but I discovered if core is non-DEBUGGING, re.dll doesn't import PL_valid_* and assert(). Is that a bug? Is it a Win32 specific bug?  should re:: on non-DEBUGGING core have assert() on? It probably has something to do with the -DNDEBUG that Win32 builds do but Unix dont.

-- 
bulk88 ~ bulk88 at hotmail.com

---
via perlbug:  queue: perl5 status: open
https://rt.perl.org/Ticket/Display.html?id=122262



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About