zack's todo list

Zack Weinberg zackw@stanford.edu
Mon Nov 13 09:56:00 GMT 2000


This is a list of things I'd like to get done before 3.0.  Most of
them are performance related.

* GC performance
  - Get strings out of the GC arena.  (patch submitted)
  - Get Laurnyas and Alexandre's patch to make ggc-page usable without
    mmap applied, so we can throw away ggc-simple.
  - Split arena into separate tree, RTL, misc pools.
  - Dual mark bits for trees; avoids millions of calls to ggc_set_mark.
    (Requires separate pools.)
  - Look into not rounding all allocations up to powers of two.
    (Saves large amount of memory.)
  - Better GC statistics.

* Junk allocations
  - Make __FUNCTION__ et al allocate the string only when used.
    (Avoids pointless allocation of strings and decl structures for
    every function.  May mean we don't need prune_unused_decls
    anymore.)
  - Lazy make_decl_rtl - avoid allocating symbol_ref RTLs when they
    won't ever be used.
  - Don't create a complete IDENTIFIER_NODE for DECL_ASSEMBLER_NAME.

* Makefile cleanups
  - Run mklibgcc at configure time and merge output into the big
    Makefile
  - Compile libiberty for build, get rid of private copies of several
    libiberty files (Kaveh has patch already?)
  - Do installation in separate shell script?

* Misc
  - Templatized hashtab.c (avoids abstraction overhead, minor speed
    win)
  - Update cpp.texi

zw


More information about the Gcc mailing list