Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
|Links to snapshot-2005-08:||(view) (annotate)|
Incorporate the loop analysis code into cmucl, based on similar work done in SBCL: node.lisp: o Add new slots to cblock and component structures that are needed for loop analysis. vop.lisp: o Enable the cloop structure. loadcom.lisp: o Load loop comcom.lisp: o Compile loop No cross-compile needed. When building, select the CLOBBER-IT restart when asked.
Disable package locks when rebuilding the various parts of CMUCL.
Remove package nicknames USER from COMMON-LISP-USER. Add a new package COMMON-LISP which LISP uses, so that COMMON-LISP no longer has the non-ANSI nickname LISP. To bootstrap, use boot13.lisp as target:bootstrap.lisp with pmai's build scripts, and do a full compile. * src/bootfiles/18e/boot13.lisp: Change for all the package changes. * src/code/exports.lisp: New package common-lisp, which lisp uses. * src/tools/worldload.lisp: * src/tools/setup.lisp: Use cl-user instead of user. Use lisp:: instead of cl::. * src/tools/worldcom.lisp: * src/tools/snapshot-update.lisp: * src/tools/pclcom.lisp: * src/tools/mk-lisp: * src/tools/hemcom.lisp: * src/tools/config.lisp: * src/tools/comcom.lisp: * src/tools/clxcom.lisp: * src/tools/clmcom.lisp: * src/pcl/defsys.lisp: * src/motif/lisp/initial.lisp: * src/interface/initial.lisp: * src/hemlock/lispmode.lisp (setup-lisp-mode): Use cl-user instead of user. * src/code/save.lisp (assert-user-package): * src/code/print.lisp (%with-standard-io-syntax): Find cl-user package instead of user. * src/code/package.lisp (package-locks-init): Add lisp. (package-init): Don't add user nickname to cl-user. * src/code/ntrace.lisp (*trace-encapsulate-package-names*): Add common-lisp. * src/code/hash.lisp (toplevel): * src/code/hash-new.lisp (toplevel): Use in-package :lisp instead of :common-lisp. * src/code/float-trap.lisp (sigfpe-handler): Don't qualify floating-point-inexact with ext:. * src/pcl/simple-streams/strategy.lisp (sc): * src/pcl/simple-streams/null.lisp (null-read-char): * src/pcl/simple-streams/internal.lisp (allocate-buffer) (free-buffer): * src/pcl/simple-streams/impl.lisp (%check, %read-line) (%peek-char, %read-byte): * src/pcl/simple-streams/file.lisp (open-file-stream) (device-close): * src/pcl/simple-streams/classes.lisp (simple-stream) (device-close): * src/pcl/macros.lisp (toplevel): * src/pcl/braid.lisp (lisp::sxhash-instance): * src/pcl/env.lisp (toplevel): * src/compiler/generic/objdef.lisp (symbol-hash): * src/code/stream.lisp (read-sequence, write-sequence): * src/code/macros.lisp (defmacro, deftype): * src/code/eval.lisp (interpreted-function): * src/code/defstruct.lisp (defstruct): * src/code/debug.lisp (debug-eval-print): Use lisp:: instead of cl::.
Added a cross-referencing facility to the compiler. The new XREF package exports function WHO-CALLS, WHO-REFERENCES, WHO-BINDS and WHO-SETS. These return structures of type XREF-CONTEXT, which contain the name of the referencing context, the file it was referenced from (or NIL when compiling from the toplevel), and the source-position in that file. Also change the names of lambda nodes in IR1 for macros and compiler-macros to be lists of the form (:macro macro-name) (:compiler-macro macro-name) instead of strings of the form "DEFMACRO MACRO-NAME". Documentation has been added to the User's Manual. This change shouldn't cause any bootstrapping problems when building.
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.
From Eric Marsden: * distributed binaries should no longer have OLD-xx package nicknames (for the VM and the compiler packages). These nicknames are set up by the build and cross-compile scripts, as needed.
Add CMUCL style file-comments; from Peter Van Eynde.
Rework the loading of files so that lisp source files are loaded when the backend differers from the native backend - allows cross-compiling form the x86 to the sparc which have differing byte orderings.
Ensure that compiler/macros is byte compiled when bootstrapping as it needs to be loaded and there is a better chance that the byte compiled code will work.
Werkowskis source kit 1.03.7
Don't enhance safety under :small anymore except for ir1tran and debug. Debug info is still selectively enhanced.
match -> :match
Byte-compile %print- functions.
Byte compile a bunch of files. Folded together the N-times-duplicated stuff for compiling each backend.
Move BIT-UTIL early in compilation.
debug-info => debug
Byte compile macros.
delete compilation of type system stuff.
Compile new-genesis for everything, because everything now wants to use new-genesis.
Changed ASSEM to NEW-ASSEM in BOOTSTRAP conditional.
If *backend* and *native-backend* are all the same then load macros and stuff as we compile them.
Added meta-vmdef, the parts of vmdef that need to be loaded at compiler compile time.
Removed assem-opt and assem-check.
Changed the pmax system to use new-genesis.
Removed old assembler, and unconditionalize the disassembler now that it works with the new assembler.
Added hppa and x86 files. Keep a bit more safety and debug-info when #-small.
Removed the compilation of the bit-bash assemble routines, because we don't want to support them anymore.
Added comf of new-assem.
Added comf of .../compiler/generic/interr.
Moved float.lisp to before sap.lisp.
Moved float to before sap so that sap stuff can refer to float stuff instead of float stuff refering to sap stuff.
Merged new-alien changes onto trunk.
Compile compiler/debug with full safety and debug info.
Changed the name of mips/mips-macs and mips/mips-insts to be mips/macros and mips/insts so they are consistent with the other systems.
Added comf of ltv, the support for load-time-value.
Added compilation of assem-check and RT conditionalization of the float file to load.
Changed small debug-info to .5 to suppress debug args and types.
Added RT support.
Added context sensitive declaration stuff and more SMALL conditionalization.
Really made the back end be compiled unsafe when the SMALL feature is present.
Compile the backend with safety 0 and debug-info 1, conditional on the SMALL feature.
Changed to get the name of the VM package from the backend instead of assuming that it's a pmax. Only load files if we are bootstrapping.
Checked in mucho changes from william's play area.
COmmented out the WITH-... macro use, since it is causing some sort of GC blowup.
Moved macros and vmdef earlier so that they are compiled before the macros are used.
Added semi-safe optimize proclamation.
Merged non-descriptor changes: revision 22.214.171.124 date: 90/04/12 21:40:17; author: ram; state: Exp; lines added/del: 1/1 Moved char early in the compilation so that the define-move-vops take effect. ---------------------------- revision 126.96.36.199 date: 90/04/08 18:11:15; author: ram; state: Exp; lines added/del: 3/1 Moved miscop after move, added pesudo-vops and represent.
Changed to new logical names.
Moved vm-tran.lisp later so that it can contain IR2-convert optimizers. Moved move.lisp after miscop.lisp so that ILLEGAL-MOVE can be a miscop.
Moved *new-compile* compilation of macros from the end to the same place where they were done in the bootstrap environment (so that new macros take effect in the compilation.)
Added compilation of genesis in new compiler.
Bound *compile-time-define-macros* to NIL around compilation of compiler macros at the end.
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|