freebsd-src/gnu
Nate Williams 468f82b316 Run-time linker speedups - Round One
Implemented symbol memorizing to reduce the number of calls to lookup(),
making relocation go faster.  While relocating a given shared object,
the dynamic linker maintains a memorizing vector that is directly
indexed by the symbol number in the relocation entry.  The first time a
given symbol is looked up, the memorizing vector is filled in with a
pointer to the symbol table entry, and a pointer to the so_map of the
shared object in which the symbol was defined.  On subsequent uses of
the same symbol, that information is retrieved directly from the
memorizing vector, without calling lookup() again.

A symbol that is referenced in a relocation entry is typically
referenced in many relocation entries, so this memorizing reduces the
number of calls to lookup() dramatically.  The overall improvement in
the speed of dynamic linking is also dramatic -- as much as a factor of
three for programs that use many shared libaries.

Submitted by:	jdp@polstra.com "John Polstra"
1995-10-25 16:16:35 +00:00
..
games Change install' to ${INSTALL}' so that default install flags can be 1995-07-25 00:37:58 +00:00
gnu2bmake Integrated GCC-2.6.1 -> GCC-2.6.2 changes. 1994-11-15 04:52:19 +00:00
include Change install' to ${INSTALL}' so that default install flags can be 1995-08-06 12:24:38 +00:00
lib Change install' to ${INSTALL}' so that default install flags can be 1995-08-06 12:24:38 +00:00
libexec Make it sgid dialer to read lockfiles 1995-09-15 00:05:07 +00:00
usr.bin Run-time linker speedups - Round One 1995-10-25 16:16:35 +00:00
usr.sbin Add support for publickey.byname map (turned off by default since 1995-10-23 16:13:53 +00:00
COPYING Updated GNU utilities 1993-06-18 04:22:21 +00:00
COPYING.LIB Adding GPL docs, make structure. 1993-06-18 06:05:45 +00:00
Makefile Hurm... I could have sworn I added usr.sbin to the top level GNU 1995-02-07 19:10:39 +00:00
Makefile.inc Added gdb/gas/ld to GNU makefiles 1993-06-29 09:54:26 +00:00