Relax placement of immobile subspaces
commit62ddfce57f7a629582e857e2d1f0e66709f015b0
authorDouglas Katzman <dougk@google.com>
Sun, 19 Nov 2017 04:47:06 +0000 (18 23:47 -0500)
committerDouglas Katzman <dougk@google.com>
Sun, 19 Nov 2017 05:06:58 +0000 (19 00:06 -0500)
tree0b733621dcc045b3688e0d92ee4b795a08c1fada
parentfe63238d8f9b4727ef03ff43d1eaf9d3d9528acd
Relax placement of immobile subspaces

Remove restriction that varyobj subspace be higher in memory and that they abut.
The intent is to allow loading at least the code as an ELF section.

The major change is to treat the two as completely separate from an addressing
standpoint. Page indices start from 0 in each subspace rather than having one
pick up where the other left off. find_immobile_page_index() ceases to exist.
Its replacements are find_varyobj_page_index() and find_fixedobj_page_index().
Similarly varyobj_page_address() and fixedobj_page_address().
src/compiler/generic/parms.lisp
src/runtime/coreparse.c
src/runtime/fullcgc.c
src/runtime/gc-private.h
src/runtime/gencgc-internal.h
src/runtime/immobile-space.c
src/runtime/os.h
src/runtime/validate.c