Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
|Links to release-18e-base:||(view) (annotate)|
Fix foregin object braindamage noted by Pierre Mai.
On x86 FreeBSD and Linux, change the way foreign symbol addresses are resolved. They now go through a table -- effectively a new space in the core file. Function references are resolved lazily, data references are resolved on startup and when a .so is loaded. The end result is that cores can be dumped that contain references to symbols in shared libraries. Also, the dependence of the core on addresses in the Lisp runtime is broken. The linkage table feature is controlled by :linkage-table and LINKAGE_TABLE in C runtime. Several foreign symbols are now Lisp static symbols, so a cross compile is required whether or not the new stuff is used. I've checked in boot4-cross-foreign-linkage.lisp that builds the compiler for linkage table; do whatever you usually do for the non-linkage table case:) Seriously, lets start a discussion on standardizing "cross compilation," not to mention the general build procedure.
Support for dynamic loading in FreeBSD 4.0 and later. This involves moving the static space up, so a cross-compile is required to bootstrap these changes.
o Add the command line switch -dynamic-space-size for setting the size of the dynamic space. DYNAMIC_SPACE_SIZE now defines the maximum size, and when defined DEFAULT_DYNAMIC_SPACE_SIZE gives the default. o Increase the maximum dynamic space size for Linux x86 to 1.625GB, with the default remaining at 512MB. o Define the default dynamic space size for FreeBSD x86 to also be 512MB, with a maximum of 2GB.
Improve the packing of information into the page table, reducing the table size by 25%, and move to a fixed layout of the page flags to better support future atomic operations for threaded code.
Minor change to #include validate.h instead of x86-validate.h
Conservative generational garbage collection for the x86 port.
source kit 1.03.7
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|