altos/lisp: Sort frames by atom
authorKeith Packard <keithp@keithp.com>
Sat, 19 Nov 2016 06:41:46 +0000 (22:41 -0800)
committerKeith Packard <keithp@keithp.com>
Sat, 19 Nov 2016 06:43:28 +0000 (22:43 -0800)
commitee6ff123352c9184b239ff890a11d8bfa97c4ffc
treeddaa25da921131b9cf8903cbf53d471f5a519bc5
parenta3b2c0fd6f9a3a75ddf11e13dc1e3aebf69f4692
altos/lisp: Sort frames by atom

Fortunately, the collector always retains the relative order between
addresses, so we can sort based on the atom address itself. This
reduces the time spent looking for names in larger (e.g. global)
frames.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/lisp/ao_lisp.h
src/lisp/ao_lisp_frame.c
src/lisp/ao_lisp_lambda.c
src/lisp/ao_lisp_mem.c