Untangle spaghetti in process_directory()
commitb68515ffa5f2c647600cbe53070c77ee3fb99cb3
authorDouglas Katzman <dougk@google.com>
Wed, 16 Aug 2017 23:47:10 +0000 (16 19:47 -0400)
committerDouglas Katzman <dougk@google.com>
Wed, 16 Aug 2017 23:51:01 +0000 (16 19:51 -0400)
treedb042d0c9bfb11adc46347e067846aaf40e94a53
parent5713569cacb38af95393c4a241ecf2cd5443834a
Untangle spaghetti in process_directory()

- The code checked for excessive dynamic space size
  only *after* mapping dynamic space
- And then checked for mismatched expected/actual address
  only *after* mapping at the wrong address.
- And for a bogus space ID only *after* mapping it
- And repeated the lossage message in 6 different places

Other changes:
- always assign anon_dynamic_space_start even if not on linux
- abstract out the HPUX noise
- delay allocation of gencgc page tables until all spaces have been loaded
  from the core file so that calloc() won't claim memory that would have been
  preferred for dynamic space, which is no longer made in allocate_spaces().
src/compiler/generic/genesis.lisp
src/runtime/coreparse.c
src/runtime/gencgc.c
src/runtime/marknsweepgc.c