m4-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

m4 ./ChangeLog ./NEWS doc/m4.texinfo m4/Makefil...


From: Gary V. Vaughan
Subject: m4 ./ChangeLog ./NEWS doc/m4.texinfo m4/Makefil...
Date: Sat, 01 Sep 2001 13:05:27 -0700

CVSROOT:        /cvsroot/m4
Module name:    m4
Changes by:     Gary V. Vaughan <address@hidden>        01/09/01 13:05:27

Modified files:
        .              : ChangeLog NEWS 
        doc            : m4.texinfo 
        m4             : Makefile.am builtin.c m4module.h m4private.h 
                         macro.c module.c symtab.c system.h utility.c 
                         xmalloc.c 
        modules        : format.c gnu.c m4.c 
        src            : freeze.c main.c 

Log message:
        The shadowing mechanism and, infact, the whole symbol table
        implementation was creaking under the weight of the features piled
        on top of it.  We now have a separate hash table module which will
        dynamically resize to keep symbol density withing good performace
        limits, and a new symtab module layered above it.  Symbol lookups
        are now marginally more efficient (since the shadowed flag is no
        longer required) and symbol removal, such as on module unload, is
        considerably faster due to a reorganisation of the data structures
        used in symtab.c.
        
        * src/main.c (main):  Don't mention `-H'.
        * doc/m4.texinfo (Invoking m4): Document that -H no longer has any
        effect.
        * NEWS: Updated.
        * m4/hash.c: New generalised dynamic hash table data structure
        management module.
        * m4/hash.h: Public interface.
        * m4/Makefile.am (pkginc_HEADERS): Add hash.h.
        (libm4_la_SOURCES): Add hash.c.
        * m4/symtab.c: More or less rewritten from scratch, within the
        bounds of the previous API.
        (m4_symtab_apply): A cleaner version of the old hack_all_symbols
        call.  Updated all callers.
        * m4/m4module.c: #include <m4/hash.h>, and changed all affected
        declarations to reflect API changes.
        (M4INIT): Generate a declaration too, to avoid the warning with
        --enable-debug builds.
        (M4FINISH): Ditto.
        (HASHMAX): Removed.
        * m4/utility.c (hash_table_size):  Removed.
        (m4_dump_symbols): Rewritten to build and qsort an array of symbol
        names, which are then looked up by builtin_dumpdef() as necessary.
        This implies a small speedup in builtin_symbols(), which discarded
        all of the symbol info under the old call.
        * m4/m4private.h (m4_symbol): Removed shadowed flag -- symbol
        shadowing is implicit in respect to the new data structures.
        symbol names are no longer duplicated here, they are stored in the
        key field of the hash table.
        Moved macro_args and blind_no_args...
        (m4_token_data): ...to here.
        m4/macro.c (expand_macro):  Added a name argument since the symbol
        name is no longer copied into each struct m4_symbol.  Modified all
        callers.
        (collect_arguments):  Ditto.
        * modules/m4.c (set_trace): Ditto.
        * modules/gnu.c (builtin_symbols): Updated.
        * src/freeze.c (produce_symbol_dump): Much improved in light of
        the improved symbol table layout.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/ChangeLog.diff?tr1=1.82&tr2=1.83&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/NEWS.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/doc/m4.texinfo.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/Makefile.am.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/builtin.c.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/m4module.h.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/m4private.h.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/macro.c.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/module.c.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/symtab.c.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/system.h.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/utility.c.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/m4/xmalloc.c.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/format.c.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/gnu.c.diff?tr1=1.7&tr2=1.8&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/modules/m4.c.diff?tr1=1.13&tr2=1.14&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/src/freeze.c.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/m4/m4/src/main.c.diff?tr1=1.17&tr2=1.18&r1=text&r2=text




reply via email to

[Prev in Thread] Current Thread [Next in Thread]