This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMU Common Lisp".
The annotated tag, snapshot-2011-10 has been created at 581bd635ae7e03c3bf8aa79b9fabe20e35c7b02e (tag) tagging 155ba1a11ff0eee796912ff8967c3a13d05ff397 (commit) tagged by Raymond Toy on Sat Oct 1 08:11:55 2011 -0700
- Log ----------------------------------------------------------------- Snapshot 2011-10
Raymond Toy (21): Update with instructions for using git instead of CVS. Remove incorrect statement about using a different dir than src. Testing commit email script. Test 2 Test 3 Test 4 Test 5 Test 6 Remove test text and fix trac #46. Testing trac/git integration. Fix ticket:46 by removing testing junk. Fix Trac ticket:46. Regenerated from current sources. Fix ticket:48. Use Carl's idea to use git to insert the appropriate Fix ticket:49. In every file-comment, replace the existing $Header$ Add the tree hash to the version string. Update. Don't say "CVS Head" in the default version string. Add -O option to allow specifying options for all builds. No need to create pot files with backups anymore. *** empty log message ***
agoncharov (37): Getting rid of some compiler warnings: A commented change to test CVS commit notification. Will be removed in White space noise for CVS commit testing A white-space change (reversal to the "-2" version), to test CVS Instead of defining DPRINTF in every X-os.c file, do it once, in os.h Get rid of the annoying gcc warning: "dereferencing type-punned FreeBSD-os.c: The features X87 and SSE2 are supposed to be exclusive; x87-to-sse2 Fixing a check-in snafu: in the submission of Sunday, December 7, 2008 Exit with an error code 1 on bad errors. * code/exports.lisp -- Added a missing quote characher. Fixed a broken test (unquoted $VAR). Keep the settings common to all x86 platforms in Config.x86_common. elf.c, essential for FreeBSD, was lost during the last Config.x86_* Use GCC-good `__asm__` instead of GGC-not-so-good `asm'. Added a bit Use 'const char *' instead of 'char *' where appropriate A more consistent treatment of signal handlers. Bringing a bit more structure to the build system Changed the documentation string for the function `append', to better A slight change of wording in the first sentence (and a new line after it). *** empty log message *** Reverting the previous check-in -- I submitted it by accident (the Remove the "freebsd4" feature from the, well, FreeBSD product Provide ext:getenv function. In `(defun getenv (name))': check for name being in *keyword-package* first. As suggested by Madhu madhu@cs.unm.edu, removed the ext:getenv of (FresBSD+) Get rid of gcc warnings: int != ulong; char *strdup() != int strdup; lisp space Be prepared for future Solaris versions when building a distro. Fix a typo. An old silly typo fix. Fixing a trivial typo: 'G' rather than the second 'B' in 'getopts'. Another trivial typo fix: boootstrap -> bootstrap. EXECUTABLE for FreeBSD; plus add libmd to the build Various, small (EXECUTABLE, FreeBSD, no warinings, typo) WIP: a run on EXECUTABLE for FreeBSD EXECUTABLE seems to work on FreeBSD now. TODO: mv tools/linker-x86.sh tools/linker.sh Remove a leftover WIP kludge.
ch (117): Added LIP register. Initial revision Initial revision Hyphenated LEX-ENV. Initial revision Added $Header$ cruft. Cosmetic changes only. Added code to number instructions, identify branch delay slots, and deal Add li and b macros. These are two of the ``synthesized'' instructions I'm a bogon. Removed li macro since loadi does the same and more. Changed all uses of PROMPT-FOR-FILE to supply (BUFFER-DEFAULT-PATHNAME Added optional argument to MOVE to always force code emission. Added pseudo thangs for component dumping. Started to add LRA-HEADER-WORD and FUNCTION-HEADER-WORD. Fixed byte-order brain damage for PMAX. Changed pseudo instructions to use the same real instructions that the Added ability to load symbols to LOAD-CONSTANT-TN. Fixed typo in last fix. Fixed printing of MOVE pseudo-instruction. Added ``DATA'' instruction decoding. Added lowtag-limit constant. Modified disassembler to use VM:OFFSET-INITIAL-SYMBOL. Added OFFSET-INITIAL-SYMBOL. Added new type checking macros. Change INITIAL-SYMBOL<mumble> to STATIC-SYMBOL<mumble>. Changed IMMEDIATE-CONSTANT-SC to use VM:STATIC-SYMBOL-P. More frobs to the type checking macros. Added SINGLE-FLOAT and DOUBLE-FLOAT primitive types. Minor frob to type checking macros to prevent spurious warnings. Changed the other-immediate type to other-immediate-0 and added Fixed export list w.r.t. BASE-CHARACTER-TYPE. Initial revision. Type-checking code for the MIPS R2000. Various frobs. Compiles now. Changed string-char to base-character in preparation for X3J13. Added SC-Is. Fixed the check out commands so that they don't screw you if you've Fixed an oversight in the last frob. Added code to utimes(2) the user's file after check in. Fixed a bug I introduced in RCS-CHECK-IN-FILE. No changes. Just testing things. Fixed a silly bug in check in utimes(2) code. Trying to check this in again. Frobbed a few messages to be more descriptive. Fixed a bug related to the keep original stuff. Added THREE-WAY-COMPARE macro. Converted Pointer-Compare and Check-Mumbles. Initial conversion to MIPS R2000. Added type to base-character primitive type definition. May not be the Add -f flag to mv. Checked in William's changes he made w/o locking the file. Corrected the spelling of ``specify.'' Added array-header-p. Nuked ``RCS Check Out Keep Orignal As Backup'' variable because it is Fixed printing stuff not to lose on bogus pointers. Fixed a bogosity in the SYMBOL-FUNCTION vop. Removed all type ranges by enumerating them because the type checking Fixed a bug in the hairy type checking macros related to ranges. Ranges Changed the translation of SAP-INT and INT-SAP to SAP-INT and INT-SAP Fixed bogus definitions of the CODE-CHAR and CHAR-CODE vops. Added *STATIC-SPACE-ALLOCATION-POINTER* to the static symbol list. Initial revision Incorporated GC. Incorporated GC. Frobbed to include GC. Frobbed for GC. Fixed bug in assem.o rule. Added a linefeed to an error message. Initial revision Commented out debugging printf. Added *FREE-INTERRUPT-CONTEXT-INDEX* to static symbols. Initial revision Previous version incremented the BSP by the wrong size (was 4 not 8). Initial revision Updated to use parameters from ./validate.h Frobbed to include new source files. Added scavenging of interrupt contexts. Added interrupt context saving. Added call of interrupt_init(). Added extern declaration for register names array. Added context printing. Hacked to include a brief printing function. Initial revision Added two spaces to the printing of the PC to make it line up right. Moved the assertion testing for a code header past the code that first Added backtrace. Initial revision Added stack zeroing. Made dependencies. Added NREGS manifest constant. Modified parse_lispobj to understand registers. Added weak pointer object. Added code to handle transporting EQ hash tables. Made MAKE-FIXNUM always return positive fixnums. Some code in the Added support for weak pointers. Added code to print weak pointers. Added exports from VM for weak pointer support. Added external pager initialization call. Initial revision Fixed scavenging function pointers. Fixed alloc_number and alloc_sap. Made all the interrupts go through the standard mechanism (except for Fixed the call out code to save CODE on the stack and restore it and the Added the SIGFPE handler for handling FIXNUM overflows. This took some Added a VOP to obtain the dynamic space free pointer. Added a DEFKNOWN for DYNAMIC-SPACE-FREE-POINTER. Added RCS Status support and modeline cruft. Added weak-pointer-p, weak-pointer-value, and make-weak-pointer Added export for WEAK-POINTER. Added weak pointer cruft. Added BINDING-STACK-POINTER-SAP and CONTROL-STACK-POINTER-SAP primitives. Added os_init(). Initial revision Added purify (doesn't work yet). Frobbed for new os independent interface. Added the static space and read-only space free pointers to the flags output. Initial revision First working version.
chiles (172): Initial revision William and Bill installed fixes to multiplication and the multiplication Tweaked some typos relative to the last change log entry. Added rt-fasl-file-implementation. Modified BIGNUM-TRUNCATE and SHIFT-AND-STORE-TRUNCATE-BUFFERS to fix a Initial revision Initial revision Fixed DOCUMENTATION to retun only one value. Don't declare locals and parameters with the same name. This commit was generated by cvs2svn to compensate for changes in r3025, Modified MAKE-BUFFERS-FOR-TYPESCRIPT to make sure the user supplied slave-name Modified EXT:OPEN-CLX-DISPLAY to set XLIB:DISPLAY-DEFAULT-SCREEN to the Random typos and misnomers. Fleshed out 32bit logical interface. Added shift to start and shift to end Fixed EXPORT calls. Fixed misuses of CAL where I supplied only one register but needed to supply Fixed misuses of CAL where I supplied only one register but needed to supply Changed CAL to default r3 to r2 whenever only one register is supplied. Changed default response on the quit command for ldb to be "yes". Added some lifetime info to MAKE-MC68881-DOUBLE-FLOAT. Fixed bug in the PRIMITIVE-TYPE vm-support-routine to correctly map Modified BIGNUM-MULT-AND-ADD-3-ARG and BIGNUM-MULT-AND-ADD-4-ARG to use I think I'm checking in a patch for a call sequence. There's a MOVE being Changed a lot of erroneous three-arg N's to a MOVE and some for of N(ILx). Added the :translate and :policy to code-instructions. Replaced code-constant-set with code-header-{ref,set}. Fixed allocate-code-object re William's trace-table changes. I deleted DEFENUM and PAD-DATA-BLOCK since we now get them from this file Rob Added export of *assembly-unit-length*. Commented something. Added COUNT-ME VOP which was missing in RT port. Created a "Set Buffer Writable" command. *** empty log message *** This commit was generated by cvs2svn to compensate for changes in r3214, Deleted old, unusable command "Connect to Registered Eval Server". Fixed a lifetime bug in the subtract-with-borrow bignum support vop. William needs this file. Fixed an error in the report for for unhandled-conditions. It was recursively I added a display-recentering slot to windows, with export and doc string. This commit was generated by cvs2svn to compensate for changes in r3283, Made the slave switch demon set debug:*help-line-scroll-count* to Added "Window Buffer Hook" to set WINDOW-DISPLAY-RECENTERING for windows into Modified all the condition reporting methods to FRESH-LINE since error messages I removed SET-RECENTERING-FOR-TYPESCRIPT-WINDOWS since it fails in the light of Added "Track Buffer Point" command and RESET-WINDOW-DISPLAY-RECENTERING which Made DEBUG-COMMAND-P find commands with an ambiguous initial substring, This commit was generated by cvs2svn to compensate for changes in r3387, Added the following interface to the "EXTENSIONS" package: This commit was generated by cvs2svn to compensate for changes in r3389, Removed EXT::MAKE-STREAM-COMMAND from export list. Modified REDISPLAY-LOOP and users to check new WINDOW-DISPLAY-RECENTERING slot. Initial revision This commit was generated by cvs2svn to compensate for changes in r3394, Added back interface EXT:MAKE-STREAM-COMMAND. This needs to be exported for Implemented "Debug Edit Source" and EDIT-SOURCE-LOCATION, which the slave calls Implemented the EDIT-SOURCE debugger command which gathers source information Fixed some syntax constants to make 8-bit chars work for Eric (our friend!). Added a doc string to EXT:SAVE-ALL-BUFFERS. We fixed a bug in BIGNUM-TRUNCATE-GUESS. Bill had originally written the code Initial revision Initial revision Changed "load-hem" to "hemload". Loaded hemload from tools: instead of hem:. Added debug.lisp. Added debug.lisp Added debug.lisp. Initial revision Moved EXT:GET-STREAM-COMMAND into this file, so kernel cores could enter the This commit was generated by cvs2svn to compensate for changes in r3440, Removed the EXT:GET-STREAM-COMMAND stuff to put it in code:stream.lisp. Fixed bug in truncation code. We needed to make sure the number buffer for the Eliminated some silly shit, so William could compile this file to build a new Added "Fill Lisp Comment Paragraph" to core. This also works for strings, Changed the value of "Process Output Stream" for shell-filter streams, these Fixed problem where all process buffers got shell-filter streams, but only Modified LISP-GENERIC-INDENTATION to check if the mark in was in a string Made the default for COMPILE-FILE's :error-file argument be nil. It is a dated Fixed bug is handling shell-filter stream in MAKE-NEW-SHELL. Output was going "Shell Complete Filename" is a new command that attempts to complete the Removed the definitions of command-char-bits-limit, command-char-code-limit, Added a doc string to HI:DIRECTORYP. Modified "Visit File" to issue a loud message whenever another buffer already Updated the manual and fixed some problems. I don't remember what I put in Updated manual, but I don't remember what I put in this file. Updated the manual, but I don't remember what I put in this file. Fixed a bug in "Center Line" which caused an internal error when invoked on the Added DEFINDENT's for the "DEBUG-INTERNALS" interface. Updated symbols to note the Raw Function Address slot and the Setf Function Commented LISP-INDENTATION to explain what it is looking for when it determines Improved FLET/MACROLET hack to properly indent local definition forms. Fixed version date string. Fixed value stored into *hemlock-version*. Removed declaration for non-existent variable focus-p in HUNK-MOUSE-ENTERED Added some necessary FORCE-OUTPUT calls to SAVE-ALL-BUFFERS and helper Changed ARRAY-ELEMENT-FROM-MARK to use AREF for the Netnews stuff. I Lots of changes to the time parsing and printing extensions including bug Modified MAKE-WINDOW to allow a proportion argument for its default behavior of CREATE-WINDOW-FROM-CURRENT now tastefully uses its proportion argument instead Modified TTY-MAKE-WINDOW to deal with new proportion argument. Initial revision Added netnews.lisp. Added netnews.lisp Added netnews.lisp Added netnews.lisp Modified "Fill Lisp Comment Paragraph" to fill strings with the appropriate Added Mike's "Manual Page" command. Added "Netnews Quit Starting Here" and "Fetch all Headers". There were some Modified "Insert Message Region" and "Insert Message Buffer" commands to Removed bindings from this file and put them in bindings.lisp. Added @include for netnews chapter. Fixed the doc string for "Manual Page". Picked up Mike's latest command name and doc string frobs. Fixed bug in "Manual Page". Added documentation for "Manual Page". Fixed documentation for "Fill Lisp Comment Paragraph". No changes. Initial revision Modified WRITE-FILE for :append arg which Blaine added for Netnews stuff. Modified DESCRIBE-FUNCTION-COMPILED and DESCRIBE-SYMBOL to print function and Fixed screwed up proportion tweak from installing Netnews stuff. Edit for proposition usage when creating headers window. Initial revision Changed header-cache vector for Netnews to a simple-vector. Modified Added Mike's changes to netnews stuff. The Netnews interface is more polished and consistent in naming. We fixed one "Netnews Show Whole Header" replaces the command, in name only, "Netnews Show Changed text for "Netnews Show Whole Header". Removed compiler conditionals based on new-compiler. The Netnews post delivery code no longer adds a DATE field to the message. The Updated "MH Scan Line Form" and "Authenticate Incorporation" to reflect Rob's Fixed lossage concerning the following compiler output: Modified %SET-MODELINE-FIELD-FUNCTION to allow its function argument to be a Adjusted length of the :hemlock-banner modeline-field to prevent the *** empty log message *** Added export of remote-object, the name of a type, from the "WIRE" package. Deleted unused function TTY-FIND-BIGGEST-HUNK. The latest alpha test breakpoint interface is available as described in the The "Debug Breakpoint" and "Debug Delete Breakpoints" commands are ready for Documented some code someone added that was confusing. This commit was generated by cvs2svn to compensate for changes in r3811, Added a form to SERVER-DIED to clean up breakpoint-infos for that server. Updated documentation on MAKE-BREAKPOINT and ACTIVATE-BREAKPOINT. Initial revision Added new file ntrace.lisp Added new file ntrace.lisp. Changed calls to SYMBOL-MACRO-LET to be SYMBOL-MACROLET. Restored "DI" package to no longer require USE'ing the "KERNEL", "SYSTEM", and Fixed "DEBUG" package to no longer require USE'ing the "SYSTEMS" or Changed DO-BLOCKS to DO-DEBUG-FUNCTION-BLOCKS for the built in DEFINDENT's. Modified COMPLETE-FILE to correctly complete files relative to the defaults. There's a new "Buffer Modified Hook" function that raises the "Echo Area" No mod. Modified INIT-BITMAP-SCREEN-MANAGER to add RAISE-ECHO-AREA-WHEN-MODIFIED to the Modified DESCRIBE-FUNCTION-COMPILED to better output function documentation Modified CREATE-WINDOW-WITH-PROPERTIES to supply :input :on to allow silly Updated things to do deleting some stuff that had been done. Fdefinition.lisp is all new, and it contains the following interface routines: Fixed a couple doc strings. Added new interface ext:*setf-fdefinition-hook* which is a list of functions Added CLEAR-TRACE-BREAKPOINT-RECORD to ext:*setf-fdefinition-hook*. Changed name of DI:DO-BLOCKS to DI:DO-DEBUG-FUNCTION-BLOCKS. Fixed %SET-FDEFINITION to work in the kernel core startup before executing Fixed REDISPLAY-LOOP to return :editor-input correctly if the This commit was generated by cvs2svn to compensate for changes in r4006, Fixed "Load File" to correspond with the manual by making it regard "Remote Changed NN-REPLY-CLEANUP-SPLIT-WINDOWS to delete the message-window instead of Fixed pointer to database directory. Fixed database and dictionary reference. Updated with Mike's last round of changes. Deleted unused definitions that died when the new window group code went in. Added wm-hints for pop-up display windows. This will be necessary to receive Made TRACE and UNTRACE handle function objects as well as function names. Modified HANDLE-BREAKPOINT-AUX to test whether any user hook deactivated any
cracauer (10): Make (time ...) and the profiler do precise measuring of space Typo fixes by Ed Wang (thanks, Ed!). Backtrace print tuning: Remove a #ifdef ITA which sneaked in with the profiler changes. No When tracing, set the verbosity level of print-frame-call to 1. Remove stale code. Before I committed the full profiler changes, we Fix a problem with the consing-free allocation counter. If you Add the symbols for the glibc malloc hooks to the stubs. That is Don't damage argv[0] when startup code is invoced with absolute path. Fix typos.
cshapiro (82): Retire i586_bzero() in favor of memset(). The i586_bzero() routine is Include strings.h for the strcasecmp() prototype. Replace all uses of the old b{copy,zero} byte string functions with Remove all references to non-existent directory "../../p86/lisp". Don't use unlink() when the standard C remove() will do. Remove superfluous sys/file.h include. Remove an unused variable. General cleanup of spawn() Don't refer to the file stream-vector-io with its extension as an argument Move the linkage table below dynamic space on Linux. Remove package nickname additions. This actions cause the standard Suppress the message displayed when the Depends include does not Remove an unsightly line break in the funcall3 prototype. Make SC_REG expand out to an lvalue on the x86 and AMD64. Define a When attempting to macro expand a symbol that denotes a local Remove old-style signals code and make our POSIX_SIGS behavior the default. Use the p conversion specifier for pointer arguments to printf. Remove an unused local variable. Remove preprocessor conditionals supporting very old releases of Remove no-op compatibility macros. Force GCC to generate 32-bit output. Enables builds of a 32-bit lisp Turn the optimizer back on for Linux builds. Replace assembler pseudo-op boilerplate for function definitions with Import x86 Darwin port. None of the x86 ports need symbol names mangled. Remove the unused Use the alien off-t type to represent struct stat members with an When an address hint is passed to os_validate set the MAP_FIXED flag. Remove conditionally-compiled code to support old Linux versions. Remove no-op macros. Use POSIX signals on FreeBSD. Remove unused context saving and setting functions. Restore macro definitions needed by Linux. Fix a typo. Remove the first member of the FreeBSD sigcontext structure so that Use sa_sigaction signal handlers on Linux. The glibc definition of Use errno wrapper functions on FreeBSD so we fetch a thread specific Remove the attempted include of a local signal.h header. Replace this Replace operating system private errno accessors with a common set of Include errno.h to make sure that the symbol errno is visible. For the time being the double-double-float type class symbols are not Always pass the whole ucontext_t into Lisp. Update the x86 sigcontext Cleanup compiler warnings. The return value of the ioctl function is meaningful. Make unix-ioctl Type mmap as returning a system area pointer to accommodate pointers Update symbol names so we can compile without undefining __DARWIN_UNIX03. * Change the way the x87 precision control is managed. While in Lisp, The SAVE_CONTEXT macro expands to meaningful code on the SPARC and is Remove the unreferenced CTXT_SIGMASK macro. Directly specify the SA_SIGINFO signal option. Remove USE_SA_SIGINFO Remove unused FIXNUM_VALUE definitions. Replace actual uses of Remove code that supports non-SA_SIGINFO style signal handlers Minor changes to support the latest betas of FreeBSD 7. Remove the libgen.h include from FreeBSD-os.h and make its inclusion Update amd64 specific code for POSIX signals. Eliminate a compiler warning. Reintroduce code to restore the x87 control word state from the Make all ports use an accessor function to retrieve the value of The uname exported by the FreeBSD libc expects an older and shorter Switch the FreeBSD port to use the common floating point trap handling Remove X11 from the search path for include files. Remove limits.h include from sunos-os.h into gencgc.c. This include Remove empty expressions introduced in revision 1.90. The toolchain shipping with Fedora Core 9 wants us to name a 16-bit Unless we are using GCC versions 2 or 3 use -iquote to specify local Replace uses of MAXPATHLEN with FILENAME_MAX. FILENAME_MAX is defined The FreeBSD-os.h header imported headers that its definitions did not Always use prototype style function definitions. Consistently use the Add a cast to muffle a compiler warning. Use longs to hold pointer values. Eliminates truncation on 64-bit Remove the old string hash function. Also, remove the cld instruction The x86 calling convention requires the direction flag to be cleared Retrieve the constituent words of a double through a union instead of Insert intermediate (void *) casts to eliminate strict aliasing Remove commented code. Add a partial reffer macro for the x86 and use it to implement the Set the cost of the constant form partial reffer to 4, the same cost Add a partial setter macro for the x86 and use it to implement the Redefine the base-char-reg SC to use 32-bit registers instead of 8-bit Allow any GPR to be the source of a 16-bit array store. Remove code to support very old releases of Solaris 2. Move the gencgc write barrier code into its own function. Use openpty to obtain a pseudo-terminal pair instead of searching for
cvs2git (12): This commit was manufactured by cvs2svn to create branch 'non-descriptor'. This commit was manufactured by cvs2svn to create branch 'unlabeled-1.1.1'. This commit was manufactured by cvs2svn to create branch 'non-descriptor'. This commit was manufactured by cvs2svn to create branch 'unlabeled-1.1.1'. This commit was manufactured by cvs2svn to create branch 'new_constraint'. This commit was manufactured by cvs2svn to create branch 'unlabeled-1.1.1'. This commit was manufactured by cvs2svn to create branch 'unlabeled-1.1.1'. This commit was manufactured by cvs2svn to create branch 'new_struct'. This commit was manufactured by cvs2svn to create branch 'new_struct'. This commit was manufactured by cvs2svn to create branch 'new_struct'. This commit was manufactured by cvs2svn to create branch 'new_struct'. This commit was manufactured by cvs2svn to create branch 'solaris_patch'.
cwang (105): amd64 config file typo This file is quite similar to x86-arch.c This file was based on x86-assem.S with many modifications. This is based on x86-lispregs.h Simple amd64 change amd64 changes amd64 change amd64 changes amd64 changes amd64 changes typos amd64 changes amd64 changes amd64 changes amd64 changes amd64 changes amd64 change amd64 changes A couple simple fixes to compile a lisp executable amd64 assembly files amd64 files amd64 changes amd64 changes amd64 changes amd64 changes amd64 file amd64 changes amd64 changes amd64 changes Follow the x86 change to symbol format for amd64. Remove an unused VOP Follow x86 and put in modular arithmetic Follow the x86 change to symbol format. Fix dynamic extent allocation Fix instructions for moving 64-bit constants onto stack. Fix double-float-digits, long-float-digits. Remove some dead code. Make amd64 follow the x86 change to symbol format. Put in the DynamicSpaceOverflow stuff Just a dummy file to keep comcom happy Put in the right ifdef so it will compile without heap-overflow-check Unfortunately, I need to put the hardwired constants back into fixnumize. Get rid of a warning on amd64 Remove some unused code Use a little bit of logic to figure out the word size of the native backend Set backend-fasl-file-version to be the same as any other architecture Remove p86 from include path Save a few more registers for resolve_linkage_tramp Use r11 instead of r15 for linkage entry because r11 is a temporary register Make absolute addresses 64-bit clean Put in the correct C calling convention Make addresses 64-bit clean Make the assembler work for all 16 registers Make allocation work for all 16 registers Fix move from constant address Make absolute addresses 64-bit clean Make addresses 64-bit clean Define all 16 registers Add allocation routines for the other registers Pad the first instruction (jmp-short) to 3 bytes Add 2 missing REX prefixes typo Since linkage table will trash r11, make sure it's used as the temp register for allocation yet another allocation function hopefully I've put in all REX prefixes since linkage table will trash r11, we don't need to save it make sure r11 is a temporary register for non-inline allocation typo fix the non-inline allocations port fpu_save and fpu_restore make amd64 the same as x86 for C calls, the stack must be dual word aligned make unwind work Another allocation function Get rid of fastcopy16 which is only used in cgc.c Change jecxz to jrcxz Change jecxz to jrcxz Return the right count in values-list. make symbol and NIL layouts up-to-date A slow version of symbol-value that works for NIL. If we use 4-bit low-tag Make (room) on amd64 report the correct numbers. typo Try to fix compilation problem on x86 without the stack-checking feature Try to make backtrace work on amd64 Fix purify for strings and vectors. Make the format of function object up-to-date for x86/sparc/amd64 put in the correct label for function object on x86 and amd64 clean up some code by using one sap-ref-64 instead of two sap-ref-32's typo Add registers r8-15 Make r10 and 11 temporary just to be safe. a little more comments fix round-to-dualword for 64-bit set lisp::*pseudo-atomic-atomic* to 0 update the sigcontext structure For other-immediates types, put the hex numbers alongside the decimal Add a chapter which gives an overview of the debugger. Andreas Fuchs' .gdbinit file modified to work with CMUCL on AMD64 typo typos in comments Get debugger working on amd64 Fix a backtrace problem Fix args CVS doesn't support renaming. Sigh
dtc (1021): Fix bug introduced with p86 merge for non-x86 ports, noted by Ray: Removed unnecessary comment. Slight style cleanup. Add float-precision-control constant. Best to leave the stack SC out of the SCs, the compiler VOPS make-unwind-block, and make-catch-block: the code slot is unused, Slight style cleanup. Fix from Rob for trouble noted by Peter: Use a constant push not a stack relative EA when pushing the return Some style cleanups. Fix and enable generic-eql. Abstract out a common operation of copying a FP register to the top of - Use the "inc" instruction for addition of constant 1. Added explanatory note in move-from-unsigned. Use xor to zero a result. Slight style cleanup. Partial fix for get-top-level-form reading and evaluating #. macros in Inline scalb and better declare its 'n' argument so the compiler can Export INTERPRETED-FUNCTION. ALLOCATE-DYNAMIC-CODE-OBJECT is now exported for the C package so a Don't think #+x86 conditions are wanted on any symbols as they Removed unnecessary bootstrapping code for float-wait. Add function profile-all by Raymond Toy. Export new function profile:profile-all. Suppress the read-time evaluation #. macro during source read by Update note on the macro with-empty-tn@fp-top, clarify its use. Latest float propagation routines by Raymond Toy. New x86 VOPS: alloc-alien-stack-space and dealloc-alien-stack-space. Cleanup of some backend symbols; the following have been moved to the Back-out unused symbol report-times introduced in previous commit. Suppress the read-time evaluation macro #. when the disassembler is Change the index used in the SAP functions to a fixnum. This is handy 2s0 -> 2f0 noted by Ray. Transform (expt x n) to multiplication for small integer values of Transport table fix, type_InstanceHeader should be trans_boxed. Add CONTROL_STACK_END. No longer need the my_error_stuff_ok hacks. Need sc_efl (eflags) for single stepping support. Although there are VOPs for sin and cos on the x86, the C library When *coalesce-constants* is off, still need to eq-save-object for Fix alignment for linux; it needs to be in bytes. No setquota on linux. Patch by Raymond Toy. Patch by Casper Dik: sanctify-for-execution to call os_flush_icache. Oops, committed one of Rays erroneous back-patches. Patches by Casper Dik. Patch to flush_icache by Casper Dik. Patches by Casper Dik and Raymond Toy: flush_icache; Solaris 2.5 Fix multiplication bug. Multiply-bignum-and-fixnum was using the Use a separate stack for alien value allocation on the x86. It had With the recent packer improvements it's often better not to specify Extend the fill-pointer patch to also check the upper limit; some Fix to set the stream element type for :output streams. Fix a little lossage at the start of the file. Fix from Raymond Toy: the constants most-positive-double-float and Patch to save-lisp to cancel the finalizer for the *tty* stream before Removed the stack from the preferred SCS of a few VOPS. Be sure to remove any fd-steam-handler on an abort close. Add instruction FILDL: load 64-bit integer. Add VOPs: %single-float/unsigned and %double-float/unsigned. These are Fix: -0.0 was incorrectly being placed in the fp constant SC. Few small style cleanups. Support for some specialised signed array types: (signed-byte 8), Add the exported symbols for the scavenger hook and the symbol hash. Backout the %symbol-hash symbols I just added; shouldn't be committing Signed-array support for the sparc. Signed-array support fixes. Make the linux specific code conditional. New value for the :pure option of defstruct, :substructure. Purify Cleanup an x86 conditional for the scale-float deftransform, use Bring the arguments to the xep-allocate-frame VOP inline with the x86 Place the compact-info-env structures in the static space where the Modify the deftransforms for %sin, %cos, and %tan, to avoid an x86 Don't want to link setquota on SunOS. Patch for SunOS code, & should be &&, noted by Casper Dik some time ago. Backout a prior patch which skipped the scavenging of the NFP. This is Avoid using the trap instruction for check-list and check-instance as The code emitted for the fcmp instructions was setting the dst field New instruction fistpl - store 64 bit integer, popping the FP stack. Don't use FP wait before %unary-round as the control word is not Fix the naming of the new %unary-* VOPS. Allow signed index on sap-reg functions on the sparc. Fixes some Remove the any-reg SC from the preferred argument SCs for the Doubles were being aligned to an 8 byte boundary on the C call stack Patches from Simon for the MIPS IRIX port: hacks for foreign functions Avoid unnecessary load-tns for the fast-ash-c VOP when the src and dst Add a printer for the CDQ instruction. For fast-truncate/signed=>signed can use (inst test y y) when y is in Increase the cost for the float/unsigned VOP so that the float/signed Fix for truncate fixnum ratio; from Raymond Toy. Function ensure-directories-exist, part of ANSI CL, contributed by Few fixes to ensure-directories-exist: make it work with logical New implementation of random function by Raymond Toy. Bump up the fasl-file-version to 6. %random-integer random-chunk was redundantly returning two values Latest updates from Raymond Toy to the propagate-float-type feature: Fix for parse-namestring when passed a pathname; comparison of a host Bug fix for fop-signed-int-vector, was incorrectly calc. the number of New-random tuning; with latest propagate-float-type code can inline to Removed the foldable definition from the following: subseq, copy-seq, Hack patch to not-more-contagious, was allowing erroneous transforms Work-around linker trouble on Solaris 2.5; the symbol tzname had been Save an instruction by using an immediate argument in Restrict the flushing of result type checks to safe policy because the Correct the check for the fp-double-constant immediate constant SC. Allocate a new digit-string on each call to float-string. This can be Improve the VOP cost for FP immediate constant moves to a During disassembly assume the offsets in an effective address are Closures in the function constantly need to use ext:optimize-interface The name argument to compile may be a cons, e.g. '(setf foo). Patch which lets defpackage recognize and process the :documentation Bring 'documentation closer to ANSI CL: now accepts function, package, Documentation now accepts a wider range of objects as the first Add pcl::documentation. The alien pointer subtype relationship was returning NIL for Add a source transform for array-header-p to handle some cases in Have brief_print reset cur_depth to 0, as it can be left higher after In complex-tanh change tan -> %tan to avoid a compiler warning on the Stop the documentation function calling the lisp::documentation Cleanup the floating-point-modes VOPS, reducing code size, and fixing New macro WITH-FLOAT-TRAPS-MASKED to execute a body of code with some New implementation of real-expt for the expt function; fixes bugs and Fix for canonicalize-defclass-option; the doc. string was being Re-define the documentation function according to the ANSI CL spec.; Improved documentation support for CMUCL. The function REPLACE may return it first argument destructively Add a documentation string for the new with-float-traps-masked macro; The returned vector element type of some sequence functions, including Add documentation methods for the CMUCL random-documentation Strip out the call to pcl::documentation from lisp:documentation; the Change %set-documentation to (setf documentation) to help operation Have the PCL documentation functions replace lisp:documentation when No long need to declare pcl::documentation here as it's no longer used Solaris OS dependent routines. Symbol %set-documentation is no longer used. Updates to the derive type optimisers from Raymond Toy: Updates to the derive type optimisers from Raymond Toy: Hack patch to the log derive-type optimiser two argument case. The propagate-float-type version of ir1-transform-< was missing an Updated log derive-type optimiser from Raymond Toy. Add a deftype for EQL. Change the approach used for setting up the NPX state for C. Pop Add the denormal exception for the x86. Have with-float-traps-masked clear the given accrued exceptions at the Add a check to constrain-{integer,float}-type to ensure they don't Check the accrued exceptions (sticky-bits) within Cleanup the segv_handler. Should be exporting single-step-breakpoint-TRAP. Add an interval->= function, and exploit this in ir1-transform-<. Cleanup the VM package, adding symbols for the x86 backend. Special case structure symbols in the (setf documentation) (symbol Re-load the lisp:documentation functions when build PCL with PCL Remove function stubs that are not needed by cmucl lisp and are not Value of the t-value parameter was wrong! Remove it and use Defvar for *current-unwind-block* should be The arguments to the boolean deport method were backwards causing it Add a note about the handling of compiler-macro documentation. Character name changes: add control character names e.g. #^a etc, and Update from Raymond Toy: Merge-types-aux didn't know how to handle the Updates from Raymond Toy: Avoid unnecessary re-compiling of defsys; was looking for a fasl When debug = 0 allocate normal TNs rather than debug-env TNs, enabling Add the MULTIPROCESSING package. Stack group and multi-processing support for CMU CL. New static symbol *control-stacks*, seen by the GC and scavenged for Compile code/multi-proc.lisp and build it into the core. Add support for the scavenging of conservative roots in vectors placed Add a defvar for *alien-stack*. Add the Pentium CMPXCHG instruction. Allow an immediate argument for the slot-set VOP. Process structure predicate was intended to be processp not process-p, Workaround for a disassemble bug: the positions of filtered arguments Add an unsigned multiplication VOP: fast-*/unsigned=>unsigned. Fix for the index calc. in the instance-set-conditional VOP. Fixes for the with-lock-held macro. Check of the i486 data sheet shows it supports the cmpxchg instruction Add the XADD instruction. Patch from Peter Vaneynde: delete doe(errno). Remove problematic unused symbols noted by Brian Spilsbury. Allow a pathname device to be a string; from Raymond Toy. Revise the SC restrictions for the check-bound VOP; produces a few Few fixes for the more-arg VOPS: more-arg-c wasn't being used because Re-write the pointer+ VOP. Remove the pointer+-c VOP which was not Update from Raymond Toy: Restrict the expt->%pow transform to arguments that produce real Update termios definition for non-svr4 Sunos so that it compiles; Remove compiler notes from new expt transforms; not inlined in the main Fix for merge-type-aux from Raymond Toy; type specifiers must have the Update from Raymond Toy: Revised derive type optimizers for sin, cos, Add the FSTPD instruction. Add read-sequence and write-sequence to the common-lisp package. Add the read-sequence and write-sequence functions. Based on a Improved support for (complex single-float) and (complex double-float) Alternative random number generator for CMUCL; based on the Mersenne Complex-float support for cgc, untested. Re-write of the hash table algorithms to improve the memory Merge in changes to the x86 backend from the gencgc branch, allowing Compile hash-new and build it into the core given the :hash-new Use the symbol-unused-slot not the symbol-hash-slot to setup the has Only need to default to trace encapsulation with CGC. Add a check that objects obtained from the stack in Scavenger hook support for GENCGC. Under GENCGC the code objects are currently placed in the read-only On the x86 port, place code objects in the dynamic space when GENCGC interface. Don't purify after loading packages with GENCGC as it's broken and Compile code/scavhook and build it into the core for GENCGC. Replace the allocation macros with a function, and pass the VOP Add support for the complex-float storage classes on the x86 port. Extend the complex-float real and imag part accessors to accept stack Add a complex-float-p predicate to the backend which can be handled Add support for dumping and loading complex-float vectors. No longer need to export make-complex-{single,double}-float. GENCGC support. * Support for the complex-float array types. Add support for saving the offsets of fixups in native code. This Cleanup the handling of foreign symbols on the x86 port. Have the Add a complex-rational-p predicate. This test for a unique object type Fix a bug in make-valid-lisp-obj which caused the debugger to fail Move the definition of *global-table* before its first reference to No longer exporting alternate-get-global-address from the X86 package. No longer source transform realpart and imagpart with the Add transforms for realpart and imagpart given a complex rational Fix a mistake from the previous commit which broke maybe_can_move_p Replace references to the constant old-fp-save-offset by Replace uses of the descriptor-stack SC with the control-stack SC, The descriptor-stack-sc-number is no longer used. Implement a pseudo-atomic macro for the x86 backend. Hooks for GENCGC. Add the function set_maybe_gc_pending for the x86 port; called by the Revise the pseudo-atomic macro to reduce the generated code size and Wrap pseudo-atomic around object allocation and initialisation to Have the functions for unbinding and rebinding the bind stack check For the x86 port clear *pseudo-atomic-atomic* in case the core wasn't Don't re-enable interrupts in the sigtrap handler, but delay it until Delay the re-enabling of interrupts in interrupt_internal_error and Bring forward the setup of the pseudo atomic static variables (x86 and Clean up the NLX entry VOPs so that the argument start is passed in Have interrupt_handle_pending reset the signal context sigmask before Save the lisp_interrupt_contexts in the stack group - will help the Fix a nasty bug in the return VOP for the case of zero return Fix the printing of context registers and the parsing of register Update the object printing so that it works in the presence of signed Ignore the foreign_function_call_active flag on the x86 port. It was No longer using foreign_function_call_active so don't need to set and Breakpoint and single stepping support for the x86 port. This has been Re-write of the x86 port debug support. This should give a significant Fix the header. Conservative generational garbage collection for the x86 port. Support for loading the GENCGC system; requires a few hacks to get the Fix the GENCGC support; can't use feature conditional forms in the Fix the spelling of undefineds.c, noticed by Paul. Clarify the usage of loading native code into the dynamic space on the Small comment fix. Patch from Raymond Toy: Function tracing should now work under CGC so it no longer needs to Remove the prep_mind_warp and do_purify code which hasn't been needed Backout the previous commit, function tracing still doesn't work on a Have make-bogus-lra allocate these code objects in the static space Fix the .end statements. Fix the type-of function with complex-float support. Comment out verbose message in maybe_adjust_large_object. Improve the efficiency of gc_free_heap by having it assume free pages Remove the unused arch_get_bad_addr function. Do not define PRINT_NOISE for Linux as suggested by Raymond Toy. NM script for Linux to do some extra filtering of the symbols; Fix for the fsin, fcos, and ftan VOPs which were writing to the EAX Disable a test in alloc that tested that interrupts were disabled in Remove a linux ntoh swap in lookup-host-entry as this is now handled Add some pointer coercions to reduce the number of compiler warnings. Further cleanup of the interrupts masked check in alloc. Fix the result type of sin and cos, which should be (complex float) Fix and enable the ENTER instruction printer. Few small comment fixes. Cleanup the static function call VOP; smaller faster instruction When a generic function calls the static function, four stack slots The file contained a call_into_lisp hack that was probably never used, Use the system area pointer primitive type for the return address TNs, Cleanup the mess in the x86 port versions of get-context-value and Update upgraded-complex-part-type for complex-float support. Update from Raymond Toy: Update from Raymond Toy: For the x86 port, make use of the stack-ref VOP to grab a value from Fix two cases where one assembly routine was simple dropping through For the static function calls, don't bother loading a register with Fix the defaulting of unsupplied values in default-unknown-values. The Update to the derive-type optimizer for the complex function; from Add a transform for the complex-float conjugate, from Raymond Toy. Fix for top-frame. %caller-frame-and-pc now returns a SAP for the Output a fresh-line at the end of a backtrace, ensuring that the last Hand crafted assembly support for the Mersenne Twister, MT19937, Enable the use of the inline MT19937 VOP which is now included by Fix the folding of (+ x 0.0) which was being incorrectly transformed Fix a type declaration typo. Special random transform for use with random-mt19937: Support for rand-mt19937. Improvements to the handling of integer types within union and member Export the LOCK symbol from the MP package and sort the symbol names Don't load rand or rand-mt19937 during a worldload on the x86 port as Add declarations to the timing functions to reduce their overhead and Compiling the initialisation function for the Merge in the revised derive-type optimisers from Raymond Toy: Fix the log and sqrt derive type optimizers which I broken in the Remove a verbose debugging format command that slipped in. Ensure that the checking-or-caching-function-list is initialised to Pass the unbound-marker object through the make-valid-lisp-obj filter. Return #C(0.0 0.0) rather than -0.0 for (sqrt -0.0). Update of the expt derive-type optimizer to work with the recent Update the header adding Raymond Toy as an author (the portable Ensure that the default bounds are coerced to the appropriate type in Elfun-derive-type-simple: don't try and coerce default bounds to the Fix the (expt x 0) transform to return 1 in the correct type; Guard against non numeric types in not-more-contagious which was Need to use signed-sap-ref-32 to set the relative fixups - fixes a Increase the read-only space size to 32MB under GENCGC as code is move Fix a type error in make array when allocating (complex double-float) Fix a type error in apropos-search; terminus is a fixnum not and index. Enhance the sqrt derive-type optimize to return (0.0) rather than 0.0 Fix the handling of mixed inclusive and exclusive bounds for number Enhancements from Raymond Toy: Remove unnecessary ptimze speed/safety declaration. Fix a missed SC update from the change of the return-pc SC to the Temporarily disable the expt derive-type optimizer which has a New function maybe-byte-test to emit the most compact test immediate Restore the defined result type for sin and cos to (or (float -1.0 Return the *universal-type* from the one and two arg-derive-type Bring in enhancements from the experimental branch: Take more care when scavenging the Lisp functions of the interrupt There were a the few calls to unix-select that limited the file Add support for an idle process that isn't run when there are other Documentation of implementation of CMU CL Motif server. Documentation of the CMU CL Motif library. Record the real and run times at which processes are scheduled and Fix a few cases where the process times were not being updated at a Add support for the periodic calling of a function when the event The idle loop no longer needs to call process-yield at this will be Allow the quitting of lisp from any process (this had only been Ra-pointer-valid-p can reject return addresses that point the first New function shutdown-multi-processing to try and gracefully destroy Ensure that multi-processing is shutdown before saving a lisp core. Add the option of creating stack groups that are allocated fresh When using the MP feature have internal-debug wrap the debug-loop in Add a second argument to control-stack-fork to specify if a fresh Add support for creating stack-groups with a fresh control stack, Enhance scavenge_thread_stacks to only scavenge the live portion of Fix a bug in the scrubbing of the current stack-group's eval-stack. Revised version of the expt derive-type optimizer, fixing a number of Enhance the with-lock-held macro to accept a timeout. This is required Allow a float timeout for process-wait-with-timeout. Define a new function process-wait-until-fd-usable; similar to Use mp:process-wait-until-fd-usable with the MP feature to avoid Fix a bug I recently introduced into interrupt_internal_error which Multi-process support for CLX. Enhancement of the arithmetic function derive type optimizers to Mask the invalid FP exception when evaluating the member/member case Patch from Timothy Miller: Patch from Timothy Miller: Change to the handling of floating point zeros within numeric type A few fixes for convert-back-numeric-type-list which didn't handle Fix to interval-mul for the handling of closed -0.0, from Raymond Toy. Slight improvement to the coding of base-char type tests; and a Delay the generation of the type checks delayed until all the type Add a new function, Make-Canonical-Union-Type, to cleanup the results Update interval-div to preserve the float zero sign when dividing by Correction to previous interval-div patch. When a type check is weakened and the proven type becomes a subtype of Fix problems with float zeros in numeric-types-adjacent. Without the Generate a compiler note if the default initial element for make-array The aref derive type optimiser should have been returning the upgraded Add a check to the following derive-type optimizers that both results Add interfaces to getpeername and getsockname, exported as the lisp Add simple-restarts to allow a process to be easily destroyed when an Cleanup the IP address conventions used by the internet functions. New function Start-Lisp-Connection-Listener, to create a process to Add two dummy VOPs to help bias the representation selection of its Have the idle process loop calculate the minimum time delta to the Re-seed the *random-state* as an after save initialisation. Have the lisp connection listener search forward for an available The alien object finalizer was being placed on the alien info, but Make search_dynamic_space an external as it is need by purify. Make Cleanup the various structure print functions making uses of the Rewrite of the x86/GENCGC purify stack scavenging to reduce the chance For the x86 port store the return code component and the PC offset in Fix some recently introduced calls to sc-or-lose which were using the Cleanup the noting of x86 code fixups, flushing some to slightly Flush references to the catch and unwind block current-code slot on Remove the unused current-code slot from the unwind-block and Ensure that compiler/macros is byte compiled when bootstrapping as it Create an initial process binding of *package* to the COMMON-LISP-USER Quieten down pscav_i386_stack, verbose output should have been Fix bugs introduced in the previous commit to the function end Update the profiler caller-info code for the x86 port which represent Fix the single value return from the function end breakpoint which had Workaround for the mis-compiling of let-converted tail local calls by Export the process real-time, run-time, and idle-time functions from Better document the multi-processing functions. Fix typos in numeric-types-adjacent when compiled with the Complex-float support for the sparc backend. Few fixes to the sparc complex-float support. Complex-float support for the Alpha backend. Add a definition for the new add-nlx-entry-argument-start-location VM Remove a redundant $Header$. Complete the signed-array support for the Alpha backend. Rework the loading of files so that lisp source files are loaded when Bring the sparc port inline the x86 ports usage of the new VM support Fix the simple array signed-byte 8 and 16 accessors result type which Enable the VM support routine make-nlx-entry-argument-start-location. Bump up the FASL file version. Fix a bug in the move-to-complex-single VOP. Fix for elfun-derive-type-simple which was incorrectly deriving a Bring in a fix to the move-to-complex-single VOP from the sparc port, Fix a few small doc typos. Add complex-float support also for the non-x86 ports allowing them to Fix recently introduced bugs in the breakpoint handling on non-x86 Fix for the complex-float debug variable setters on non-x86 port: have Include the complex-float array types within the unboxed-array and Bug fix for the setup of the initial binding stack in Take more care to inhibit scheduling when modifying process state and Adding a printer for the INT immediate byte instruction. Add the unix-times unix system call for the sparc svr4 port, and make Using "times" now on Solaris. Export unix-times here. Patch from Raymond Toy for the :negative-zero-is-not-zero feature: Fix for two-arg-derive-type when given two integer member types. Fix the CMUCL header. Remove the remnants of the string-char type. Enhancement from Raymond Toy: Export describe-object from the PCL and LISP packages. Re-write record-fields-match which is used in the testing of alien Correct the compiler-let binding spec within the with-alien macro. Fix for the collection of :wild and pattern pathname components in Fix for %defpackage which wasn't allowing NIL to be imported. Added an ignore declaration to get rid of a compiler note when using Have #P respect *read-suppress*. Extend ensure-directories-exist to handle search-lists; only the first Graphics ported to X11 and feebs.mss conversion of Latex Add a note to the static function definitions that two-arg-<=, ANSI CL compat. changes: Update the derive-type optimizers for ash, logand, logior, and logxor Have the following sequence functions accept a :count of NIL: Remove the unused non-descriptor-reg and interior-reg SCs on the x86 Make a fresh binding of *load-time-code-fixups* on each call to Add the extended precision load and store instructions FLDL and FSTPL. Fix float-trapping-nan-p which was returning T for quiet NaN and Nil Rework many of the derive-type optimizers: Ash dervie-type optimizer: increase the shift range for which numeric Bring in sap-ref-long for the x86 port, which is needed at least to Save and reset the NPX state when a primitive halt is signalled so the The FPU state save around the primitive halt signal handler has been Remove uses of the dword-reg SC for temporaries in VOPs in preparation Remove uses of the dword-reg SC for temporaries. For the x86 the default alignment of alien double-floats should be 32 Enhance one-arg-derive-type to optionally allow member types to be Wrap the necessary GNAME around fpu_restore, noted by Ray. Remove the remnants of the dword-reg storage class. Use the more general type system tests within the = transform rather When constant-folding succeeds alway transform the call so that even Add the FCOMPP instruction. Fix a few cases where the pretty printer was failing to respect Cleanup the float bit accessors single-float-bits, Replace the defknown for %log1p-limited with one for %log1p. Remove the %log1p-limited symbol now that there is a general %log1p Now have an inline verion of %log1p for the x86 port so don't need Have the aref derive-type optimizer check for exactly one node Within find-uses catch :deleted continuations returning Nil. Add declarations to help the CMUCL compiler. Update to "v3.0 14-MAR-1995". The default-directory function is in the EXTENSIONS package. Logical pathname patches for CMUCL, from Paul. Fix doc. typos "the the" -> "the". Fix doc. typos "the the" -> "the". Fix the encoding of many of the floating point instructions. For Add a double-float %sqrt VOP, using the fsqrtd instruction. This is Add support for storing complex float values in raw structure Update the MIPS and HPPA ports to use the new VM support routine Update the Alpha, MIPS, and HPPA ports to accept a signed offset to Fix a bug in the movement of complex float arguments with a The complex-double-stack SC has an element size of 4 words (was Improved TN life-time specs for the complex-float array VOPs. Complex-float support for the MIPS port - Untested. Complex-float suppor for the HP-PA port - Untested. Fix some erroneous extra closing brackets introduces in the Complex-double-stack SC should have an element-size of 4 words, and Fix a number of typos and bugs in the complex-float support. Fix a typo in the complex single float move-argument VOP. Fix a bug in the movement of complex float arguments with a Export long-float-p from the KERNEL package rather than interning it Export sap-ref-64 signed-sap-ref-64 from the SYSTEM package, and Define the variable *software-version* avoiding a compiler warning, Cache the result of software-version in *software-version*. Add verify_zero_fill to verify that the free memory is zero filled; Print the value slot for value cell objects. Fix a bug in dump-data-maybe-byte-swapping when swapping multi-word Fix the dumping of raw signed-byte 30 arrays when byte-swapping is Remove some small data vector VOP conditionals on the *backend* Fix a typo/bug in the complex single-float move argument VOP with a Calculate the error code for the undefined_tramp using the Add the V9s FMOVD and FMOVQ instructions. Abstract out the movement of double float registers to the function Fix a typo in the previous commit. Rework the FP instructions so that their disassembly works. Adjust the complex-single-reg SC which for now only uses the even Enhancements for the complex-float VOPs: Adjust the complex-single-reg SC which for now only uses the even Fix a typo in copy-fp-reg-to-fr0, noted by Paul. Define the float-fast-bit; from Raymond Toy. Save and reset FP state during the execution of Add transforms for complex single and double float equality. Long-float support for the x86 backend. Long-float support. Long-float support for the sparc backend. Extend the location-number VM support routine interface to accept a Long-float support. Alien long-float type is 128 bits on the sparc. Add long-float support to sub-access-debug-var-slot for the sparc. Add long-float support to sigcontext-float-register. Replace the float-sign source transform with type specific Fix a bug in the log1p-pentium VOP. Minor source cleanup. Add the special float function %expm1, and an inline VOP Fix a typo in the =0/long-float VOP, noted by Raymond Toy. Avoid unbound symbol value and function errors when copy-symbol is Fix a recently introduced bug in the handling of denomalized floats in Fix the handling of the :key keyword argument for many of the list Reworking of the neg-zero-not-zero version of The third object argument to class-cell-typep need no longer be an Enhance the performance of allocate-standard-instance for CMUCL, by Change the default bug report site from cmucl-bugs@cs.cmu.edu to CMUCL MP support by Douglas Crosher. Kahan says (sqrt -0.0) returns -0.0. Flush the token length check in sharp-colon allowing #:|| to be read, Redefine the extended-char type from Nil to (and character (not base-char)) Within update-cpl, setup the class precedence list before of the class Add a file-comment with the files header. Remove the remnants of the 'common type specifier. Remove the remnants of the 'common type specifier. Update for the linux port from Peter VanEynde, adds preliminary Execute the body of the do-symbols, do-external-symbols, and Request that questions be sent to cmucl-help@cons.org and that bug If no documentation is found associated with a lisp class then check Gray streams support: Fix for string-stream-read-n-bytes: when the requested number of bytes Restore the in-synonym-of, out-synonym-of, with-in-stream, and Gray streams support for CMUCL. Fix some storage class problems in the list length VOPs which broke Handle a few 'not hairy type specifier subtypep cases, which overcomes Streamline the Gray streams related dispatch code. Complete the Gray streams support for the lisp-streams that Add support for (declare (TYPE typespec ...)) being abbreviated to Fix for recent changes to the handling of the 'not type specifier in Doc. fix. Update the setting of the interpreted function name to work with the Port the defconstructor code to CMUCL. Replace the temporary constructor function definition generated by Implement the ANSI CL find-method generic-function. Increase the default read-only space size by 8MB because non-:small Ensure that 'pcl::class is shadowed as it is used in ir1tran. Rather than source transforming instance type tests, convert them to Integrate some of the documentation from the original Print the slots of funcallable-instances. Remove a redundant fixnum type declaration within gensym which limited Rename those boolean types which should be (or null (not null)) to Rework the PCL class hierarchy to better match the disjoint instance Replace the PCL-INSTANCE-P macro by a compiler transform so that the After renaming the PCL package, shadowing-import 'old-pcl::class so Strip the #. character from static symbol names written to the C Make pcl::..slot-unbound.. a static symbol to speed the common slot Define *slot-unbound* to be a constant, and adjust some of the slot Rework the code generated by emit-reader/writer to help the compiler Rather than compiling the constructors in dlisp3, just tickle the Re-work do-cold-fixup when targeted at the x86 port: Avoid using PSETQ should return nil. Fix from Peter VanEynde. Linux port update from Peter VanEynde: revision of the glibc2 support, Add alien single-float return-tn support; from Raymond Toy. Coerce must signal a type-error when requested to coerce to the Fix for format absolute tabbing; from Peter VanEynde. Further cleanup of the remnants of the x86-lra feature. Fix the argument passing to the '/ format directive function; problem Take care to filter out function names that are lists but not setf After renaming the PCL package to OLD-PCL, move the 'class symbol back Since funcallable-standard-objects are now disjoint from When initialising class metaobjects and the direct-superclasses is Initialize the *environment-list* before running the after-save Restore the pcl::..slot-unbound.. symbol back to the PCL package after Cleanup the recently modified format #/ format directive fix, Fix a bug in remhash which was often incorrectly returning False even Fix some typos in the double-float SCs, there are 64 float registers Fix for Linux, from Raymond Toy. Enable the passing of single-float arguments in the %alien-funcall Fix for the handling of the direct-superclasses of the CMUCL structure Simple-program-error is now exported from the KERNEL package. Define a VALUES setf expander. Add VALUES to the ignored automatically generated setf functions. Fix doc. typo. Cleanup the error handling in result-type-or-lose. Disable the immediate SC for the check-bound index argument because The complex-float the signed-array features are now standard, so The complex-float and signed-array features are now standard, so Fix a multitude of problems with the non-pretty print code in Fix some typos in the long-float support; noted by Raymond Toy. Slight tuning of the with-in-stream and with-out-stream macros to Add an type declaration plus some documentation fixes to the Fix a bignum allocation problem in generic-*. The high word was being Cleanup the X86 ports valid-pointer check in sub-access-debug-var-slot The top-level-catcher symbol used in top-level should have been Add a new simple-control-error condition for use when signalling a The numeric-contagion of a real with a double-float is a double-float Relax the argument requirements for some of the complex-float Further patch to relax complex float transforms to accept a real argument. Add a transform for complex-float negation at the suggestion of Raymond Toy. Byte-compile assembly/assemfile when bootstrapping. Revise the address map to better utilise the address space, allowing Fix a typo in the CONTROL_STACK_START for linux. Add "trace" to the Ignore-File-Types; from the 18b release. Add indent definitions for with-package-iterator and with-alien; from Updates for the HP port from Mike McDonald: revised address map; and The lisp heap is now in space-register 5; from Mike McDonald. Rework the HP assembler code, prefixing registers with '%', and Update from Mike McDonald. Back-out the address map changes for Linux. Only FreeBSD now uses a new Fix for coerce-numeric-bound which was returning Nil for exclusive bounds. New function interval-intersection/difference to compute the Modify elfun-derive-type-simple to take the intersection of the Change the domain argument of elfun-derive-type-simple from a Few fixes to elfun-derive-type-simple and associated interval From Raymond Toy: Export C-ISPEED and C-OSPEED from the UNIX package. Export C-ISPEED and C-OSPEED from the UNIX package. Redefine the terminal speed from an (unsigned-byte 16) to an Rework get-terminal-attributes to use the termios interface to get the Fix for qualifier-check-runtime: qualifier list elements containing Fix for the :method option in expand-defgeneric, removing a broken * Re-work not-more-contagious to return True for a wider range of Few more type fixes for get-entry-lookup and get-entry: the names and Reworking of the linux address map to support larger heaps, Cleanup of the transform folding (+ x 0) to 0. Setup the space-free pointers after the x86 FP constants have been Rework the sort functions so that they are reentrant; remove the Fix a bug in the page zero checking code of gc_free_heap. Add CMUCL style file-comment's; from Peter Van Eynde. Add a simple-undefined-function condition. Correct a program-error which should have been a simple-program-error. Rework some error's into simple-program-error's. Check that the :default external-format is given to open. Check for illegal characters in unix file names; from Peter Van Eynde. Rework some errors into simple-program-error's and simple-type-error's. Fix PSETQ to return Nil; from Peter Van Eynde. Rework errors into simple-file-error's. Check that the argument to random is positive. Generate an EOF error within Peek-Char when the EOF is reached and Few fixes for the page zero check in gc_free_heap; work around a gcc Remove erroneous ignore declaration in peek-char. Replace uses of gets with the safer fgets; from Peter Van Eynde. Remove the p86 related directories from the paths. Add CMUCL style file-comments; from Peter Van Eynde. Add CMUCL style file-comments; from Peter Van Eynde. Allow "**;*.*.*" to work in logical pathname translations. From Add CMUCL style file-comments; from Peter Van Eynde. Add macro-function and special-operator-p check when evaluating a Add a specific report function for the simple-file-error condition. Patches from Raymond Toy: Add the with-timeout macro. Backout the explicit check of the external-format argument to open Correct the read-sequence defknown which should not be defined as Declare random-chunk to be compiled with zero safety to avoid Fixes for domain-subtypep. Fixes for interval-intersection/difference. Fixes for constrain-float-type. Fix for echo-in and echo-bin which need to catching an EOF and not Provide our own implementation of setfpucw for the Linux port, as Fix for the stream-write-byte dispatch in write-byte; from Brian Rework translate-directories for the case in which either the source Extend the define-ioctl-command macro to add the ioctl size and Post Linux-Alpha patch cleanup. Remove an unnecessary cast. Remove alpha and __alpha__ defines hack. Such defines are more Fix a few signal mask bugs for Linux. Fix for the TN life specs in the instance-set-conditional VOP. New macro define-full-conditional-setter, used to add a new VOP Add support for non-recursive error-check locks for compatibility with Add any-reg to the result SCS of cell-set-conditional, Correct the naming of the data-vector-set-conditional/simple-vector VOP. Linux update: getpgrp takes no arguments; use setpgid for unix-setpgrp; Initialise the *current-process* to dummy startup process so that Further cleanup of the code now that the :SETF feature is assumed standard. Use infinities in ansi-loop::*loop-minimax-type-infinities-alist*; from New VOP set-symbol-value-conditional to support thread safe operations New functions are macros to support thread safe code: Fix for defsystem's OPERATE-ON-SYSTEM which didn't work with Allegro Fix for the handling of the device field in wild-pathname-p, from Extend lex-termcap-name to handle blank lines between entries - as in Fix for %print-pathname to respect *print-escape*, from Sam Steingold. Fix for format-print-integer: when printing a non-integer, need to pass When building a cross compiler, should be referencing the Fix for the dependencies in the FNEG instruction, spotted by Ken Olum. Handle byte ordering within do-cold-fixup for the SGI and PMAX Revise the error format of invalid-array-index-error-handler to better Fix the index in the DATA-VECTOR-REF/SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT Enhancements to the complex-float array accessors; from Ken Olum. Add the popc instruction; from Raymond Toy. Enhancements to the logcount VOP for the V9, and to emit-multiply for From Raymond Toy: From Raymond Toy: Use the fsqrt VOP on the SPARC V7 and up. Fix for function-end-cookie-valid-p, lra's should be compared via sap= Make floating-point operations (and all store instructions) follow the Don't access the array CURRENTLY-VALID with an invalid index in Add the varible *debug-readtable* to allow the binding of an alternate Initialise the random state index to mt19937-n to force the sequence Source cleanup. Improve the packing of information into the page table, reducing the Better handle a failure of x86-call-context within frame-down; do not Within process-wait-until-fd-usable, handle interrupted unix-fast-select Better handle interruption to unix-fast-select calls. Fix the mapper-transform to only evaluate the function argument once. Export *debug-readtable* from the DEBUG package. Extend the data-vector-ref/set transformers to inline the access even Cleanup recent changes to the complex number division transform, Fix for with-lock-held; recursively held locks were falling through Add useful implementations for unix-getrlimit and unix-setrlimit. Define stubs for getrlimit, setrlimit, and sched_yield. Fix a type error in "Delete Previous Character" that occurred when Allow the alien funcall to return two values in EAX and EDX, Enable the SAP-ref-64 defknowns on all ports. Define SAP-ref-64 setf function macros on all ports. Add transforms for 64-bit SAP accessors. Enable the SAP-ref-64 accessors on all ports. Enable 64-bit alien integers on all ports. Add an %alien-funcall transform to handle 64-bit alien integer Portability fix for the signal masked check in alloc. Avoid the SA_SIGINFO flag on Linux as it causes the creation of Remove hack definitions of SA_SIGINFO and sa_sigaction as these are Move Linux over to the new address map, giving 256M for the static and Move Linux over to the new address map, giving 256M for the static and Ensure that garbage collection is inhibited when calling If sa_sigaction is not defined in the systems header files then define Revised fix for obtaining the structure slot accessor function given Fix for the redefining of structures which was broken by the previous commit. Correct a typo in the with-lock-held macro, which broken it when a Fix for the CMP instruction which was intended to have accepted a Modify the assembler syntax for the closure_tramp indirect jump to Config file for the Alpha Linux port; from Julian Dolby. Fix the rounding of large numbers in %unary-round, noted by Akira Kurihara. Optimise eql zero comparisions in generic-eql-c/fixnum to use the TEST Remove the def-type-vop dylan::dylan-function-p, as the dylan code has Add the FFREEP instruction which is documented for the AMD Athlon and For the AMD Atlon, use the faster FFREEP instruction for stack pops. Add the FCOMI and FUCOMI instructions, of later Pentium processors. For Linux i386, restore the FPU control word in the SIGTRAP handler, Replace unsigned-byte-32-count with the same method as in the x86 Add bignum-logbitp, and update logbitp to use logbitp or Transform logbitp for the (signed-byte 32) and (unsigned-byte 32) cases. Fix for generic-= which must not return True based just on the two For interval-div, handle the case where the denominator is 0 and the Export the new function BIGNUM-LOGBITP from the BIGNUM package. Remove the unneeded nop between floating-point compare and branch Use only one of :sparc-v7, :sparc-v8, or :sparc-v9 when building to Don't use deprecated smul and umul instructions when building for a Fix divide-by-zero bug in rationalize (rationalize 5.964664720239993d-15) For support of compiler reentry and thread safety, avoid the use of For support of compiler reentry and thread safety, avoid the use of For support of compiler reentry and thread safety, avoid the use of For support of compiler reentry and thread safety, avoid the use of Source cleanup. Fix define-predicate for list based structures. The predicates were When compiling for the interpreter, only generate one Add a check for null continuation destinations in Cleanup for the BOOLEAN symbol which is now exported from the LISP package. Enable unix-sched-yield for Linux. Minor documentation fixes. Clarify the SCs of the temps in the bind VOPs. Define *maybe-use-inline-allocation* and *enable-pseudo-atomic* Minor formatting fixes. Cleanup the source paths. Quieten a warning: do not declare the scp argument to sigfpe-handler Quieten some warnings of unreferenced TNs for the non long-float code. For the store-conditional VOPs the new-value argument is not modified Rename VOPs with conflicting names; even when a guard is used to Add support for printing and reading arrays with arbitrary Use package html2 now rather than html2e, as in recent versions of Replace :sparc-v9 conditional code generation to be conditional upon Disable the use of the extra float registers available on the Sparc V9 Make the use of the extra registers available on the sparc V9 Replace the PAGE_BYTES define with PAGE_SIZE, and use it where Do not use the hairy-type (and integer (not fixnum)) for the bignum Export check-bignum from the C package. Correct the naming of the check-bignum VOP for the hppa, mips, sparc ports. Extend the union type :unparse method to recognise the new translated Extend hairy-type-check-template to recognise the new union-type Fix for equalp when passed a character and a non-character; needed Fix for the disassembly of format-3-shift-reg instructions; from Modify the sxhash double-float and long-float functions to allow them Fix the handling of fixnums in sxhash; the fixnum hash must be Add support for EQUALP hash tables; by Douglas Crosher based on the Special case bit vectors within sxhash, returning a useful hash for Modify the sxhash-bits-byte to be 29 bits wide rather than just 23 bits. Add a note that the required packages are included in the teTeX Ensure that equal-hash is consistent across the various vector types; The equalp-hash algorithms for vectors and arrays differs because the Split the fash-ash VOPs into those for either signed-nums or Split the fash-ash VOPs into those for either signed-nums or Replace scrub-control-stack with an inlined VOP on the x86 port. The Fix a few typos in the prior fash-ash commit. Fix some typos in the register size conditionals. Flush references to zero_stack as this has been handled by On the x86 port do not zero the dynamic space here after purify Have os_validate pass the MAP_NORESERVE flag to mmap. This allows Correct the format-universal-time :government style year field output Fix for the fexp VOP. Prior patch had incorrectly converted a 'fstp fr1' Use multiply instructions if available for generic-*. Also for o Branch with prediction instructions are defined. o Added truncate vops for V8 and V9. The generic versions in From Raymond Toy: Use the right instructions after the renaming of quad FP instructions; From Raymond Toy: From Raymond Toy: From Raymond Toy: Implement issue GET-MACRO-CHARACTER-READTABLE, the readtable argument From Peter Van Eynde's branch: o Cleanup of the Config files. o Use linux-nm to allow the symbols to be tailored to this system, From Pierre R. Mai: o The {single,double,long}-float-{positive,negative}-infinity symbols From Raymond Toy: Correct some TeX bugs in the compiler internal docs. Makefile for the various internal documents. From Raymond Toy: From Raymond Toy: From Raymond Toy: From Raymond Toy: o Handle the inspection of general CONS objects. These had been giving Concatenated-stream-streams should be returning the remaining streams o Correct the previous patch which should also have defined the From Raymond Toy: o Add a derive-type optimizer for INTEGER-LENGTH; based on a For the various case macros, do not generate an error during Add the CMOV and FCMOV instructions of the PPro and later processors. o Fix a bug in the long-float comparison VOPs when both arguments are o Where possible schedule FNSTSW directly after FCOM, FUCOM, and FTST Make keywords print out readably independent of the package when Fix the hairy-type-check-template handling of the symbol and cons Implement a specializing CONS class as per issue CONS-TYPE-SPECIFIER:ADD. Set the precision to 53 bits for a double-float build, rather than 64 For the long-float x86 build, slightly increase the magnitude of Fix array-displacement to correctly handle non-displaced arrays; it Avoid boxing the result in data-vector-set by returning the given Special case the handling of hash tables within equalp. This brings New implementation of the function rationalize, from Raymond Toy based Move the symbol %defpackage from the LISP to the KERNEL package and Add %defpackage to the magic top-level forms handled by process-form Based on patches from Tim Moore; problem noted by Sam Steingold: The %instance-typep transform must be applied when both native and Quieten a few compile warnings. Compile the CMUCL Gray Streams support as part of the normal build process. Concatenate the Gray Stream support files into a gray-streams-library, Add the configuration option of loading the Gray Stream library. Rework decode-universal-time to correctly handle time zones that are a Extend format-universal-time to print RFC1123/RFC850 style dates, and o Extend parse-time to accept the patterns it matches as a keyword Correct the documentation for find-if and find-if-not. Split the Gray Streams files out into a separate system so that they Fix the byte compiler to not directly reference named constants, as Ignore the recursive-p argument to peek-char, rather than having it Ensure that continuation references stored within the lexical Rework the code to allow file offsets greater than the most positive Fix for the ceiling derive type optimizer which in some cases was Flush a verbose debug message that occurred rarely during code fixups. Fix for the single-float and double-float < comparison VOPs which were Fix for the values type :simple-= method which was incorrectly always Blow away the slot-value and slot-boundp compiler-macros exported from Fix references to the condition simple-program-error which is exported Clarify an assertion on the result of truncate, firstly receiving the Clarify an assertion on the result of round, firstly receiving the Correct single-value-type to return the union with the null type for Clarify some assertions on the result of function rem, firstly o Correct some of the return types of parse-namestring to be consistent Clarify an assertion on the result of truncate, firstly receiving the Fix elfun-derive-type-simple and trig-derive-type-aux to return Correct the type assertion on the result of the info macro to be a two Fix two references to continuation derived and asserted types o Skip substitute-single-use-continuation if CONT's assertion is When asserting a single value from truncate etc, rather than When asserting a single value from truncate etc, rather than Back out the previous assertion type changes, function rem only returns Clarify assertions on the result of floor to be (values fixnum t), Fix set-write-date, which wasn't working at all. Have environment-macro return just a single value, rather than o Recheck the asserted against the proven type for each type in a Enhance ir1-optimize-mv-bind to propagate the type of optional or rest Reworking of the values-type system to overcome a number of inconsistencies Flush unnecessary function proclaim's some of which had incorrect Fix declaration type from previous patch. Enhancement to continuation-check-types: even when the proven type Enhance finalize-xep-definition to report conflicts between the Correct the declared result types of a few functions: Correct the declared result types of a few functions: Correct the declared return type of parse-namestring; the second return Switch the implementation of handler-case to use tagbody rather than o Fix the generation of new variable leafs by the proclaim functions. Fix the handling of :unread and :clear-input in the stream When read-sequence is using the read-n-bin method, loop if the number Add alien function definitions for getsockopt and setsockopt, o Add functions get-socket-option and set-socket-option from getting and Enable stubs for getsockop and setsockopt. Correct constants sol-socket and so-reuseaddr for solaris, from Raymond Toy. The stream class should have kernel:instance as its superclass. Just grab the lisp class direct-superclasses for the pcl o Add the new function order-layout-inherits to correctly order the Add definitions of the constants sol-socket and so-reuseaddr for FreeBSD; Handle duplicate layouts in order-layout-inherits. Add support for computing class precedence lists, and use this to Add the ability to delay IR1 transforms, giving type and constraint Delay the %instance-typep transform when converting to inline code, Declare the use of the new variable *delayed-transforms* as special in Add support for define-symbol-macro. Avoid the use of the symbol SLOT internally in COMMON-LISP package as Set the :proceed option when compiling run-program as a constant Add transforms for the sap-ref-64 operations. Ensure that process-wait-until-fd-usable returns true unless there is Correct the spelling of the poll system call; from Scott A Crosby. When restarting a process, reset the scheduled times and accrued times. o Use package html now rather than html2, as in recent versions of Fix a table row break lost in the previous patch. Update the clean target to exit cleanly. Add a terpri to the herald making it a standard width. Add guards to those VOPS that use the cmpxchg instruction which was o Rework %enumerate-directories to handle :wild and :wild-inferiors Add the new keyword argument :TRUENAMEP to the function directory, o Based on suggestions from Martin Cracauer, flush commonly used output Misc source cleanup. Fix the naming of the float register storage classes, but the Work-around for recent versions of bash. Minor source cleanups. Minor source cleanup. Update the setup of the random state. When merging lets, ensure that the converted function is removed from Add special case VOPs for logand to handle mixed signed and unsigned For the logbitp transform, place the typically constant mask as the Have interactive-eval flush the standard output streams, avoiding Take a little more care with the :start and :end arguments to the Catch NULL host enter aliases in lookup-host-entry to avoid Move the Sparc V9 fast max/min stuff to sparc/float.lisp. o Add fast logand for signed/unsigned as done by Doug for the x86 o Make the fast V9 max/min VOPs work again, and simplify the code. o Within set-leaf-value-lambda-var, avoid trying to set a lexical o Within generate-byte-code-for-set, avoid trying to set a lexical o After propagate-let-args, delete the let when none of the variables The library files given to load-foreign are for input and Rework the sequence functions MAP, SOME, EVERY, NOTANY, and NOTEVERY. Correct the handling of non-keyword keyword argument names, ensuring Make LOCALLY a special form instead of a macro. Remove the macro for LOCALLY, which is now a special form; from Raymond Toy. Really remove the macro for LOCALLY, which is now a special form. Define batch mode early in the C startup code. Do not open /dev/tty when in batch mode. When in batch mode, exit upon errors, even during initialisation. Don't want the trailing semi-colon on the setfpucw macro. Take more care when restoring the FPU control word for linux, as there Use the value 0xffffffff to represent auto_gc_trigger disabled rather Take more care when restoring the FPU control word for linux, as there Have the compiler inline complex array access, calling %with-array-data The %alien-funcall ir2-convert optimizer needs to emit move VOPs from Fix for bignum multiplication, unsigned operation should be using a logical Allow the *batch-mode* setting to default from the loaded core, with Fix symbol value typo. o Add the command line switch -dynamic-space-size for setting the size o Add the command line switch -dynamic-space-size for setting the size Call gc_init after validate as the lisp memory map needs to have been Cleanup compiler warnings. Cleanup compiler warnings. Change memory map for larger spaces. From Raymond Toy. Move code for HOLES into sunos-os.c. From Raymond Toy. Add support for holes. From Raymond Toy. Update the space start according to sparc-validate.h. From Raymond Toy. Don't use %g6 and %g7 which are reserved for the system. Map NFP Can't use reg_L1 anymore because it doesn't exist. From Raymond Toy. Update register names and BOXED_REGISTERS for the moving of NFP and Update holes support as was done for sunos-os.c. From Raymond Toy. Add a final #\newline to the batch mode exit message; from Eric Marsden. Send the warning about weak-p hash table to *debug-io* not *standard-output*; Add a -quiet command line switch which clears the various -verbose* When searching for a LIP register pair, only consider lisp pointer Limit the stack trace failure warning in x86-call-context to fails for the Upon a stack trace ambiguity in x86-call-context, choose the lisp Support for relative package names, conditional upon the No need to export the unused symbols %function-header-arglist From Raymond Toy: From Raymond Toy: From Raymond Toy: From Raymond Toy: From Raymond Toy: From Raymond Toy: From Raymond Toy: o Have print-unreadable-object respect *print-pretty*. o pprint-newline, pprint-indent, and pprint-tab should do nothing if o Correct the pretty printing by print-unreadable-object. Only attempt o Fix output-character to escape the char-name. Reworking quote-string From Raymond Toy: From Raymond Toy: From Raymound Toy: o Rework the 'ash derive-type optimizer so better handle large negative bounds. o Signal an error if a file given to load-foreign is not found. Suggested o Fix for slot-accessor-form; the raw data form was not correctly o Clarify the need for CMUCL_EMPTYFILE on SunOS and Solaris. o Catch missing slots in condition-reader-function, and signal an error. o Correct the printing of instance objects for which the length was o Allow the use of abbreviated type specifiers with proclaim, as is From Raymond Toy: o Implement unix-uname on linux, adding structure utsname. From Raymond Toy: o Ignore the return value from a call to "times" which may overflow o Have unix-uname and unix-gethostname signal an error upon a syscall From Raymond Toy: o Generate numbered restart commands even if the restart name is shadowed. o Compiler backend for the PowerPC contributed by Gary Byers. o Update the PPC backend for changes since it was developed in late 1997. o Add sap-*-64 transforms for the PPC and HPPA backends as the runtime o Use BCTRL to call-out as the target address may have significant o Have the print VOP allocated room on the number stack for the top o Remove unused 'function-header-* symbols. Noted by Will Deakin. o Rework the unix namestrings format, using the suffix .~#~ for the file o Fix some problems in the parsing within extract-name-type-and-version.
emarsden (143): Publishing the User's Manual as HTML (using hevea): Enable the scavhook facility on platforms without gencgc. Port a fix from the CLOCC CLX sources regarding getinputfocus. Improve help message for the TTY inspector. Herald refers to web site rather than to mailing list addresses Added a cross-referencing facility to the compiler. New files added from the XREF facility. Use VALID-FUNCTION-NAME-P for validation of names when dumping debug-info, Fix type declaration, noted by Dan Barlow on the new portable-clx-devel Add UNDEFINED-FOREIGN-SYMBOL-ERROR-HANDLER to exports from KERNEL package. Fix typo in ignore declaration. Tell the compiler that READ-DELIMITED-LIST always returns a list. XREF documentation updated to match the implementation. Update the fasl-file-version and byte-fasl-file-version to #x18e, in Add a more informative error message to the stuff that is printed to the Improvements to the Internals manual: Fix an assertion on function names when dumping minimal debug info to use From Brian Uhrain: Enable type checking code in CLX when the clx-debugging *feature* is Update the release notes (still incomplete!). Export INIT-RANDOM-STATE from kernel package. The getpwuid_r() etc symbols must be referenced for Linux builds on Alpha Improve error checking of defmacro lambda-lists. Checking for compatible Change a number of error conditions signaled by the array routines Add large-file support to the Unix interface, when running above glibc. This Delete some unreachable code and debugging statements. Fix typo GET-ERRNO -> UNIX-GET-ERRNO. From Luke Gorrie: New configuration file for Linux running on Alpha Add dabbrev.lisp to list of files compiled with Hemlock. Add support for hardware cycle counters for Pentium and UltraSPARC. This Fix a bug in RUN-PROGRAM's handling of the :append argument to Add note regarding the Hemlock dabbrev and isearch C-w changes. Get rid of a compiler warning about an unused variable. ENDP is known to operate on a list. Additions to the Large File Support, necessary in order to for large Following the Large File Support changes, add names of 64-bit variants of More updates. The coordinates of the hotspot in a PixmapCursor are unsigned, so don't In UNIX-LSEEK, return (values nil errno) on failure instead of The debugger actually prints #<unused-arg>, not <unused-arg>. Add a symbol instead of a closure to ext:*after-save-initializations*. The optional second argument to FILE-POSITION is a positive integer; it can The second argument to BIGNUM-ASHIFT-RIGHT is an UNSIGNED-BYTE, not an Fix documentation bug: FLOAT-NORMALIZED-P should be FLOAT-DENORMALIZED-P. * Change the way that the compiler searches for function names in the - the :new-compiler and :hash-new features were announced as being The LAMBDA-ENVIRONMENT of a node is sometimes nil. Instead of ignoring the :element-type argument to MAKE-STRING, we check - Fix (declare (type directory foo)) declarations to %directory Add printers for BSR and and BSF instructions on x86. From Alexey Dejneka Improvements to the CMUCL Motif Interface guide: CMUCL User's Manual: Add missing return type declaration for DEFKNOWN form for %SET-FILL-POINTER. Make SIMPLE-PARSE-ERROR subclass PARSE-ERROR (fixes bug in PARSE-INTEGER - remove extra parenthesis Remove the REUSE-ADDRESS parameter to CREATE-UNIX-LISTENER; it's only - Add printing of condition type in the tty debugger Remove obsolete alias from MAKE-VECTOR to MAKE-ARRAY (internal to CL Fix misleading commentary on the implications of the LOOP license (from Loading Hemlock causes :hemlock to be provided, so that REQUIRE doesn't Signal package-errors rather than generic errors for some Fix a documentation typo. Add package locks. Bootfile boot8.lisp allows this to build without - information about package locks in the release notes (documentation Build cleanups: - for PCL-generated lambdas, extract a name for IR1 lambda nodes Change the names of lambda-nodes in IR1 for PCL-generated lambdas to Progress towards finer-grained package locks: Change to the compiler's error/note reporting: Various cleanups to CLX: Fix typo in FUN-ADDRESS. XREF improvements: Cleanup exports list. Fix typo in DELETE-ORIGINAL. Add forward declarations for the simple-streams functions Fix bug in simple-streams/strategy.lisp Use lisp package for *cleanup-functions* instead of CL package. Use lisp:: instead of cl:: for *enable-package-locked-errors*. Minor spelling and LaTeX formatting fixes. Fix COMPILE-FILE-PATHNAME when *BYTE-COMPILE-DEFAULT* is enabled. Add stub definitions for KERNEL:%NUMERATOR and KERNEL:%DENOMINATOR - fix a signed/unsigned cast bug that was prevented the Fix bug in type declaration for LISTEN. Fix simple-streams bug (undefined variable). Fix typo in DATA-VECTOR-SET-C/SIMPLE-ARRAY-COMPLEX-DOUBLE-FLOAT Arguments of a READER-ERROR were being passed incorrectly to the Add a :reuse-address keyword argument to CREATE-REQUEST-SERVER, that Add error-signalling stubs for callback functions, for Alpha and PPC Signal a PROGRAM-ERROR instead of generic ERROR when attempting to use - remove stale code regarding :no-clx, :no-clm, :no-hemlock features - the CLX build process no longer links to socket.o (functionality Correct argument order in the depths of DATA-VECTOR-SET-C/ Fix typos. Add support for 12-bit displays to CLX. Parry Husbands reports to Fix EXT:OPEN-CLX-DISPLAY for the case where a hostname (different from Add a function EXT:UNLOCK-ALL-PACKAGES, that disables both the - add documentation for package locks to the User's Manual In the debugger, display the package prefix when printing the name of Add definitions for UNIX-SETUID and UNIX-SETGID. Document a limitation of the XREF implementation: it does not delete Add a pane-title for integers to the CLM inspector (fixes an error when - various package-related cleanups. PROFILE and CLX packages use - add ignore declaration - component names may be non-pretty-printable Improved error-checking for CLX's (setf gcontext-dashes). When the argument - add a SIMPLE-STREAM-ERROR class, and use it when signaling errors from - fix some error format strings that were missing arguments (found by the - restarts when a package lock is triggered by DEFSTRUCT redefinition: - fix defaulting behaviour of :if-not-exist in OPEN when used with - fix WRITE-SEQUENCE for vectors (detected by pfdietz' ANSI compliance Two unrelated fixes to ADJUST-ARRAY: More ANSI compliance fixes: More ANSI-compliance BROADCAST-STREAM fixes: ANSI compliance fixes for CONCATENATED-STREAMS: Revert to old behaviour for SERVE-EVENT and reentry of handler functions. Fix stupid mistake in the broadcast-stream ANSI-compliance changes. Change the behaviour of EXT:LOAD-FOREIGN when called with a single shared - add a non-blocking version of CONNECT-TO-INET-SOCKET, which avoids - link in the pthreads library when building the motifd on x86 platforms. - fix lambda-list processing: symbols with names like &foo should be On Linux/AMD64, we need to tell the platform linker to use the 32-bit - detect overflow of static and read-only spaces during PURIFY. You get - fix syntax for C multiline strings When compiling from a stream, the compiler can't use FILE-LENGTH on the Fix for EXT:LOAD-FOREIGN: LDEMULATION environment variable passed to linker Trivial fix for error signaling in FILE-AUTHOR. Resolves file-author.error.3 Avoid a hang when calling SOFTWARE-VERSION on Linux kernel version 2.6.x. Fixes to REINITIALIZE-GLOBAL-TABLE: ignore invalid entries in the Minor improvements to the CMUCL User's Manual: Make DEFMACRO-BIND-LIST-ERROR subclass PROGRAM-ERROR. Add a workaround for the spurious efficiency notes that are emitted when Fix compile-time format-string checking for the ~~ directive (pointed out by Fix access to errno via function in UNIX-LSEEK for Solaris. Change the way that X11 authorization data is searched for when connecting When naming a component in FIND-COMPONENT-NAME, don't require the component's Implement UNIX-GETPWUID for Darwin, by sharing code with the NetBSD In LOOKUP-FOREIGN-SYMBOL, add an ignore declaration for the non linkage-table Fix to CLX: Change several fields of the WM-SIZE-HINTS structure to Fix to the source-form reporting in the disassembler: Minor reorganizations and cleanups to release notes. Update information regarding the NetBSD/x86 port (thanks to Robert Swindells). fix typo
fgilham (48): Add #ifndef _FOO_H_ etc. lines to all .h files. Moved a few lines in Added shadow of "position" symbol to avoid conflict with common-lisp Fix FreeBSD version to get rid of some warnings when building the lisp Fix bug in vector-push-extend where (adjust-array) is called but the Backing out previous patch which didn't actually make sense. Hacked default-directory function to avoid calling concatenate. See Fix FreeBSD's dynamic space size limit to be 1.7 GB. Lisp executable code. Add lisp executable code. Add "license" or lack thereof, CVS ID. Fix CVS id. Fix indenting and add CVS id. Add "EXECUTABLE" define to keep that code out of architectures that can't use it. Add target "lisp.a" to create library to be linked in to Lisp executable binaries. Incorporate Lisp executable changes Incorporate Lisp executable changes. Add linker script for building Lisp executables. Add Lisp executable mods. Get the name of the linker script straight. Add installs for Lisp executable files. Add executable feature, conditionalize stuff featureized version of executable stuff Fixed indentation I broke in save.c and lisp.c. Change "register-lisp-feature" to "register-lisp-runtime-feature" for executable feature. Revert Config.FreeBSD_gencgc because executable feature now done correctly. Fix typos, portability stuff (e.g. get rid of __FUNCTION__ which SunOS doesn't have.) Add Linux linker directive script. Fix script so it will work with different versions of Linux (with any luck). Add elf and executable features to linux-os.lisp. Simplify finding C runtime object files. Suggested by Ray Toy. Add special case for x86_64 to linker.sh. Fix error --- dynamic space address and free pointer not set. Back out change setting dynamic space variables. It's already done in lisp.c. Save library: search list when dumping executable image. Preserve library: search list when dumping an executable. Also needed help Preserve library: search list when dumping an executable. Fix typo that caused executables to have incorrect initial dynamic space allocation pointers. Add notes about new :executable flag to SAVE-LISP. Use __func__ and do some clean ups. Add description of how saving executable lisp images works. Back out kludged default-directory function that doesn't seem necessary any more. Minor changes and updates done in the course of testing Telent-CLX for inclusion in the tree. Move some defvars to a place in the file before they're used. Telent CLX import Mod to make Telent CLX work Remove reference to unnecessary socket.c file. Delete unnecessary socket.c file. Fix typos in CVS Id marker.
garland (22): Added code to support CONNECT-TO-UNIX-SOCKET so that Unix domain sockets Exported CONNECT-TO-UNIX-SOCKET and CREATE-UNIX-SOCKET, which had been Initial revision Initial revision Initial revision Added stuff to compile Motif toolkit. Initial revision Added stuff to load in the Motif interface. Fixed so that it doesn't reference the INTERFACE package before Fixed things up so that the StringTable.h file gets written out The debugger should now notice the absence of the Motif server and The inspector/debugger was not behaving properly in the absence of Replaced uses of Motif gadgets with corresponding widgets. This Replaced uses of Motif gadgets with corresponding widgets. The debugger will now reuse old debugging panes rather than creating Invoking LISP-CONTROL-PANEL from the TTY now works correctly and The "Edit Source" button now works. Added support for deleting all active inspection panes. Added support for deleting all active inspection panes. Updated the inspector to work correctly on dotted pairs. The server process will now call wait to clean up zombie children Added an optional STYLE arg to the graphical inspector to make the
gerd (407): * compiler/generic/new-genesis.lisp (symbol-table-version): Fix bugs detected by Paul Dietz' ANSI test. Generalized function names. Add a hook for use by PCL. * compiler/ir1tran.lisp (extract-flet-variables): Use * pcl/defs.lisp (standard-method): Change superclass * cmucl-documentation.lisp (documentation) <list, function>: *** empty log message *** Generalized function names. * pcl/boot.lisp (generic-function-name-p): Use * tools/load-foreign.csh [FreeBSD]: Replace ld option -N * compiler/disassem.lisp (compiled-function-or-lose): Use Boot file for changing the fasl file version numbers to 18e. compiler/fndb.lisp (symbol-function): Change return type from * compiler/generic/new-genesis.lisp (cold-register-foreign-linkage): * bootfiles/18d/boot10.lisp: Boot file for the new/changed static * lisp/lisp.c (default_cmucllib): Initialize *defpath to 0, so * code/loop.lisp (estimate-code-size-1): Use valid-function-name-p. * compiler/ir1final.lisp (finalize-xep-definition): Use * src/compiler/array-tran.lisp (make-string): Change the * src/compiler/array-tran.lisp (make-string): Remove a * src/code/unix.lisp (unix-truncate, unix-ftruncate): Cope with * src/code/macros.lisp (dolist): Add original declaration to the Add generalized function names under Feature Enhancements. * docs/cmu-user/extensions.tex (Generalized Function Names): * compiler/ir1util.lisp (print-error-message): Don't treat all * compiler/ir1util.lisp (print-error-message): Make sure * code/hash-new.lisp (internal-equalp-hash, internal-sxhash): * bootfiles/18e/boot[12].lisp: Bootstrap files for the lisp:class * docs/cmu-user/extensions.tex (CLOS): New section. Optional control stack checking. This is controlled by the *** empty log message *** * src/compiler/ir1final.lisp (finalize-xep-definition): Catch * src/compiler/ir1util.lisp (delete-block): Delete entries * std-class.lisp (class-direct-slots, class-slots) * generic-functions.lisp (make-instance): Add &key * dfun.lisp (make-initial-dfun): Reactivate the call to * pkg.lisp ("CLOS-MOP"): Export some more symbols. * code/class.lisp (order-layout-inherits): Fix a typo. * pcl/boot.lisp (parse-defmethod): Rewritten for clarity. Signal boot3.lisp * code/hash-new.lisp (make-hash-table): Put warning about Mention weak hash tables and the change in PCL's class hierarchy. Fix a typo. Add that one has to change kernel:class-layout to kernel:%class-layout Break some vicious metacircles. * pcl/fixup.lisp (print-object) <ctor>: New method. * compiler/ir1tran.lisp (process-ftype-declaration): Accept * pcl/ctor.lisp (optimizing-generator): Remove optimize Make classes FIND-CLASSable early, for MOP programming, * pcl/defs.lisp (class): Add kernel:instance superclass so * pcl/braid.lisp (ensure-non-standard-class): Handle the case Update CLOS STRUCTURE-CLASSes on structure changes. * pcl/std-class.lisp (shared-initialize): Check that reader Name local functions (FLET ...) or (LABELS ...). * pcl/pclload.lisp ("PCL"): Remove references to the * pcl/std-class.lisp (ensure-class-using-class): Pass initargs Add defclass-forward-referenced-class.0. Fix TYPEP/SUBTYPEP problems with unfinalized and * pcl/rt/defmethod.lisp (defmethod-forwared-referenced.[01]): * tools/pclcom.lisp: Remove reference to the slot-accessor-name * pcl/std-class.lisp (update-class-can-precede-p): Rewritten. * compiler/ir1tran.lisp (find-in-bindings-or-fbindings) The SEQUENCE-COUNT type was previously used in c:fndb, but since Don't export a class DIRECTORY from CL. Fixes ANSI test case Fix CONDITION-x-SLOTS* ANSI test failures. * src/pcl/dfun.lisp (cache-miss-values-internal): * src-head/code/type.lisp (type-might-contain-other-types-p): * src-head/pcl/dfun.lisp (cache-miss-values-internal): Test Mention condition fixes. Speed up the type system. Further speed-up of the type system. Avoid compiler notes. ANSI fixes. Fix test cases CONTINUE.2, STORE-VALUE.2, USE-VALUE.2 from Paul Fix for COMPUTE-RESTARTS.9 from Paul Dietz' test suite. Fix for RESTART-CASE.29, RESTART-CASE.30, RESTART-CASE.31 *** empty log message *** Return block names for PCL function names. From Eric Marsden. Further fixes for making SUBTYPEP work with forward-referenced Make condition readers/writers generic functions, as required by Fix for RANDOM-NSET-EXCLUSIVE-OR test case. NSET-EXCLUSIVE-OR Fix for LAMBDA.{27,28,29,50,32,33,34,35}, FLET.{57,58,59,60} Add destructuring support to &REST, &BODY, &WHOLE. Detected *** empty log message *** *** empty log message *** Wrong package. * src/code/interr.lisp (invalid-array-index-error): Signal Fix ELT.1B, ELT.14 from ansi-test/compiled. *** empty log message *** Fix for compiled MULTIPLE-VALUE-CALL.2 ANSI test case. * src/pcl/ctor.lisp (slot-init-forms): Ignore duplicate instance * src/pcl/rt/make-instance.lisp (make-instance.32): New test. Fix ANSI test SPECIAL-OPERATOR.2. Fix for Paul Dietz' ANSI test CLASS-07.10. Make the type system more forgiving wrt to unknown types. Fix for Paul Dietz' ANSI test CLASS-15.1. Final fix for -0d0/0d0 and member types from Christophe * src/pcl/init.lisp (make-instance): Undo last change. * src/compiler/fndb.lisp (write-sequence): Use sequence * src/code/type.lisp (number): Use equalp instead of equal Fix for CLASS-20.[12], CLASS-21.* ANSI test cases. * src/pcl/rt/ctor.lisp: Really do what the last change * src/code/debug-int.lisp (x86-call-context): #+nil the "Both ANSI test fixes, interpreted code. *** empty log message *** MOP bug fix for problem with (SETF SLOT-VALUE-USING-CLASS) (SETF SLOT-VALUE-USING-CLASS) fix. Test cases CLASS-0203.[12]. SLOT-MAKUNBOUND not returning Test cases CLASS-REDEFINITION.[12] from Paul Dietz' ANSI tests. CLASS-04.[2345], CONDITION-27-READER-IS-GENERIC, compiled. Avoid Fix for compiled test cases of the form (PROGN (FBOUNDP 42) T), * src/compiler/fndb.lisp (nconc): Change arg types to T ANSI test CLASS-0211B.1. Initforms of shared slots inherited * src/compiler/array-tran.lisp (svref, schar, char): Define * src/pcl/slots-boot.lisp (ensure-accessor): Initialize the slot's Make DIRECT-SLOT-DEFINITION-CLASS and EFFECTIVE-SLOT-DEFINITION-CLASS Make ALLOCATE-INSTANCE work on structures defined with DEFSTRUCT. Fix for various ANSI test cases that fail when compiled because * src/code/error.lisp (condition-slot): Add documentation slot. * src/compiler/ir1tran.lisp (get-defined-function): Remove Boot file for new condition slot documentation. * src/code/profile.lisp (unprofile): Default names to Compile-time checking of calls to FORMAT. * src/pcl/dfun.lisp (saut-class-eq, saut-eql): Use * src/compiler/srctran.lisp (check-format-args): Use compiler-note Compile-time check for ~{ and ~? argument counts in FORMAT control * src/compiler/srctran.lisp (format): Always give-up, never Test case SHARED-INITIALIZE.5.1 from Paul Dietz. For the same problem that SHARED-INITIALIZE.5.1 from Paul Dietz * src/code/error.lisp (compute-effective-slots): Use :key with Make slot locations more intuitive; preserve slot locations of * src/code/defmacro.lisp (parse-defmacro-lambda-list): Detect odd-length keyword argument lists, invalid keyword *** empty log message *** Code cleanup. Use EXTENSIONS package to reduce clutter. &ENVIRONMENT variable is bound at the start, regardless of *** empty log message *** Generate inline code for keyword argument processing in methods. * src/pcl/boot.lisp (bind-args): Fix last change. * src/code/hash-new.lisp (internal-sxhash): Treat conditions * src/pcl/boot.lisp (bind-args): Unod last change because * src/pcl/slots-boot.lisp (ensure-accessor): Remove unmatched ). * src/pcl/macros.lisp (/show): Ignore parameter. Add a deftransform for extracting slot vectors. This can be done Argh. Remove the debug output. * src/pcl/method-slot-access-optimization.lisp (pv-slot-value): Fix problems with THE detected by Paul Dietz' tests. This also * src/compiler/ir1tran.lisp (the) <IR1 translator>: The spec * src/pcl/std-class.lisp (update-shared-slot-values): Test * src/compiler/ir1tran.lisp (the) <IR1 translator>: Don't * src/pcl/init.lisp (shared-initialize): Initialize shared slots Found by Christophe Rhodes: *** empty log message *** SLOT-EXISTS-P is supposed to work on conditions. Detected *** empty log message *** Make condition slots readable with SLOT-VALUE. *** empty log message *** If encapsulation is :default, encapsulate if we know function-end More SLOT-VALUE etc. on conditions. REMOVE-METHOD.1 test from Paul Dietz. Inspect CLOS instances. * src/code/tty-inspect.lisp (describe-standard-object-parts): Use * src/code/defstruct.lisp (defstruct): Handle uninterned MAKE-INSTANCE.[12] tests from Paul Dietz. * src/pcl/cache.lisp (dfun-arg-symbol, slot-vector-symbol): * src/pcl/rt/ctor.lisp (call-generator): Adapt to change * src/pcl/ctor.lisp (constructor-function-form): Don't * src/code/profile.lisp (compute-time-overhead): Use Functions used in the implementation of TRACE can be traced using Let TRACE and PROFILE ignore package locks. * src/pcl/braid.lisp (make-class-predicate): Use Replace ENCAPSULATION-INFO with a funcallable structure Missing MAKE-LOAD-FORM methods detected by Paul Dietz. Bogus MAKE-LOAD-FORM-SAVING-SLOTS detected by Paul Dietz. Remove the bogus defgeneric for make-load-form-saving-slots. Bug reported by Lynn Quam on cmucl-imp. Methods with &optional args could be called with too many Paul Dietz' DEFGENERIC.ERROR.4. Check for repeated lambda DEFGENERIC.ERROR.[34] from Paul Dietz' tests. *** empty log message *** *** empty log message *** * src/code/eval.lisp (lambda-list-keywords): Add c:&more. Allow (SETF SLOT-VALUE) on read-only structure slots, like LW and Store user-specified slot names in DEFSTRUCT-SLOT-DESCRIPTIONs, Move PCL's declaration identifiers SLOTS, AUTO-COMPILE, boot11.lisp * src/pcl/rt/inline-access.lisp (auto-compile-declaration.2): Use * src/pcl/clos-bench.lisp: Change PCL declarations to EXT. * src/pcl/macros.lisp (pcl-internal-function-name-p): New Add fwrappers. Rewrite TRACE and PROFILE to use fwrappers. Add fwrappers. Rewrite TRACE and PROFILE to use fwrappers. * src/code/fwrappers.lisp (encapsulated-p): Copy/paste error. * src/docs/cmu-user/extensions.tex (section{Function Wrappers}): CLHS 7.6.5 keyword argument checking for calls to generic *** empty log message *** * src-gf/pcl/boot.lisp (invoke-effective-method-function): Add * src-gf/pcl/methods.lisp (function-keywords): Use * src/pcl/cache.lisp (with-local-cache-functions): Add a reference * src/code/foreign.lisp (load-object-file): Print more * src/pcl/low.lisp (compile-lambda): Add &key name and inline. Fix code signaling type-errors which did not have :datum and/or *** empty log message *** Make adding new PCL declarations easier. Structure slot names can be any symbol. Found by Paul Dietz. For-arithmetic is allowed on NUMBERs. Found by Paul Dietz. Support for inlineing of methods in effective methods. * src/compiler/generic/new-genesis.lisp (emit-c-header-aux): Building with cgc. * src/compiler/generic/new-genesis.lisp (emit-c-header-aux): A generic function can have more than one name, via * src/pcl/rt/defmethod.lisp (defmethod-setf-fdefinition.0) * src/pcl/cache.lisp (check-wrapper-validity): Handle :invalid * src/code/defmacro.lisp (parse-defmacro-lambda-list): () means * src/code/defmacro.lisp (parse-defmacro-lambda-list): Undo last CALL-NEXT-METHOD when used without arguments, should always use In safe code, signal an error if the set of methods applicable to * src/pcl/info.lisp (split-declarations): Declare arg * src/pcl/boot.lisp (pcl::%check-cnm-args): Fix the policy * src/compiler/envanal.lisp (find-non-local-exits): Deal with FIND-METHOD.ERROR.{9,10} from Paul Dietz' tests. *** empty log message *** Tests ADD-METHOD.[12] from Paul Dietz' test suite. * src/pcl/methods.lisp (#+loadable-pcl): Return new method. Fix a bug in constant-value dispatching found by Paul Dietz. *** empty log message *** * src/compiler/saptran.lisp (foreign-symbol-address) Various problems with TYPE-OF found by Paul Dietz. Problems with class precedence lists found by Paul Dietz. * src/code/unix.lisp (map_anonymous) [#+freebsd]: Define. * src/code/unix.lisp (unix-mmap) [#+freebsd]: Use 2 unsigned-longs Use int64-t for off-t on BSDs for large file support. Apply type declarations to special variables. The example *** empty log message *** Ease disassembling closures and funcallable instances. Class redefinition and proper class names. Found by Paul Dietz. *** empty log message *** *** empty log message *** Remove an unused slot from classes. SLOT-UNBOUND.[12] tests from Paul Dietz. * src/code/ntrace.lisp (*trace-encapsulate-package-names*): Add * src/pcl/env.lisp (describe-object) <class t>: Print if * src/pcl/rt/system.lisp (toplevel): Make Fix for (search '(1 2) '(3 4 0 1) :test #'<), which should Remove the "" nickname of the KEYWORD package, as per ANSI. * src/code/reader.lisp (read-token): Fix last change. * src/code/reader.lisp (read-token): Fix last change. SLOT-VALUE, (SETF SLOT-VALUE), SLOT-BOUNDP, SLOT-MAKUNBOUND not * src/code/profile.lisp (profile-1-function): Call fwrap * src/pcl/pkg.lisp ("PCL"): Export no-primary-method. * src/docs/cmu-user/macros.tex (defgeneric, defmethod): * src/pcl/rt/slot-missing.lisp (slot-missing.[345]): Change * src/pcl/slots.lisp (slot-value, set-slot-value, slot-boundp) * src/pcl/slots-boot.lisp (ensure-accessor) <setf>: Call Remove package nicknames USER from COMMON-LISP-USER. Add a new * src/code/fwrappers.lisp (fwrap): Coerce constructor to function. * src/tools/pclcom.lisp: Delete the symbol * src/tools/setup.lisp, src/tools/worldcom.lisp: Move the setting Add (SETF WEAK-POINTER-VALUE). From Paul Foley on cmucl-imp, Structure predicates used to signal an error when applied to an *** empty log message *** * src/bootfiles/18e/boot13.lisp (relative-package-name-to-package) * src/compiler/disassem.lisp (fun-address): Use #. in the case Make circular constant lists dumpable by checking for the list in * src/compiler/array-tran.lisp (%check-bound): Fix an off-by-1 * src/pcl/ctor.lisp (slot-init-forms): Declare safety 3 to NTHCDR and NTH are specified to accept unsigned-byte. * src/compiler/fndb.lisp (cerror): First arg may be a function. * src/pcl/ctor.lisp (toplevel): New function name syntax * src/code/type.lisp (function :simple-union) (compile nil '(lambda (x) (typep x '(not (member 0d0))))) recurses * src/code/macros.lisp (c::%defun): Save inline-expansion (DESTRUCTURING-BIND (X . Y) () ...) did not signal an error. * src/code/defmacro.lisp (dotted-list-length): New function. * src/code/byte-interp.lisp (invoke-xep): Signal program-error * src/code/array.lisp (%array-row-major-index): Signal * src/code/hash-new.lisp (internal-sxhash): Don't fail * src/code/byte-interp.lisp (invoke-xep): Use function * src/compiler/main.lisp (compile-file-pathname): Default * src/code/defmacro.lisp (dotted-list-length): Declaim inline, LAST, BUTLAST, NBUTLAST accept bignums. Found by Paul Dietz. Method definition takes something like O(n^3) time. *** empty log message *** * src/code/macros.lisp (with-output-to-string): Add and *** empty log message *** * src/tools/hemcom.lisp (toplevel): Set The debugger computes active restarts in a dynamic environment (compile nil '(lambda (s) * src/code/ntrace.lisp (trace-1): Encapsulate if * src/pcl/methods.lisp (print-object): Specialize on (aref (make-array nil :initial-contents nil)) returned 0 instead Get rid of the 64 bytes that are shown as being consed when * src/hemlock/main.lisp (ed): Undefined variable used with LDB backtrace for x86, first steps. * src/lisp/validate.c (validate): Remove a debug fprintf. * src/code/time.lisp (*in-get-time-consing*): New var. * src/compiler/srctran.lisp (format): Don't define deftransforms CLtS effectively forbids method load-time precomputation of * src/lisp/backtrace.c (print_entry_name): Print symbol package, Loading gray-streams lead to a vicious metacircle because Improve LDB backtrace on x86. * src/pcl/methods.lisp (real-add-method): Warn about invalid (deftype string-and-number () '(cons string (cons number null))) Remove the function definition of FIXNUM, which it must not * src/code/type.lisp (hairy complex-=): Do some more work for DYNAMIC-EXTENT rest args. Currently for x86 only. Speed must be * src/compiler/x86/macros.lisp (allocation): Use >= speed safety Control viability of dynamic-extent declarations with a Dynamic-extent closures for x86. Use boot15.lisp for * src/compiler/ir1tran.lisp (*suppress-dynamic-extent-declaration*): * src/code/format.lisp (%min/max-format-args): Handle ~<...~:> Some tests from Paul Dietz' test suite, like (MAX (FIND-PACKAGE * src/compiler/main.lisp (convert-and-maybe-compile): Don't Lisp executable support. From Fred Gilham. * src/code/print.lisp (output-array-guts): Parts of the output Format string checking for ERROR, WARN, and others. * src/pcl/braid.lisp (bootstrap-meta-braid): Add missing * src/code/fd-stream.lisp (fd-stream-read-n-bytes): Take unread * src/code/numbers.lisp (truncate): Use bignum-truncate * src/code/fwrappers.lisp (funwrap): Delete all fwrappers Lisp executable support. From Fred Gilham. * src/code/numbers.lisp (round): Handle the case truncate * src/code/numbers.lisp (round): If remainder is zero, Debugger signalling an error when a function parameter is (defun foo (n d) Lazy signaling of errors because of invalid method qualifiers, Dynamic-extent support for x86. Use boot16.lisp for Changes in generic function's method combination don't take Type error being signaled in volatile-info-lookup. *** empty log message *** *** empty log message *** * src/code/byte-interp.lisp (byte-interpret-byte): #+nil the * src/code/byte-interp.lisp (byte-interpret-byte): Declare *** empty log message *** * src/code/byte-interp.lisp (*eval-stack*, *eval-stack-top*): * src/code/byte-interp.lisp (byte-interpret-byte): Use logbitp (loop for i in '(4 8 9 a 13) *** empty log message *** Handle display names which don't specify a host differently. * src/tools/build-and-install, src/tools/chop.c: (ext:parse-time "Fri, 04 Apr 2003 01:36:12 0200") * src/ldb/, src/assembler/: Removed; dead code. * src/code/unix.lisp (unix-mmap): Allow null fd, as the rest code * src/code/signal.lisp (:SIGPROF): Set to 27 as kill -l tells. * src/compiler/srctran.lisp (number-sign): Rewrite sligtly to get * src/compiler/srctran.lisp (convert-member-type): Don't construct (/ 1 0.0) not signaling a divide-by-zero on FreeBSD. (apply #'+ 1000 <some-list>) byte-compiled into a call * src/pcl/ctor.lisp (call-ctor): Consider only ctors whose TeX fixes from Adam Warner. * src/compiler/byte-comp.lisp (annotate-full-call): Don't * src/code/numbers.lisp (two-arg-gcd): If one parameter *** empty log message *** * src/code/numbers.lisp (two-arg-lcm): If one arg is zero, value * src/code/numbers.lisp (two-arg-+/-) <float/complex>: * src/code/numbers.lisp (two-arg-+/-): Fix last change. 12.1.5.2 * src/pcl/methods.lisp (reinitialize-instance): Remove Silence warnings about free ignore declarations in method (defun foo (x) (float x 1f0)) (parse-integer " 1 ") => 0, 2 instead of 0, 3. *** empty log message *** * src/code/reader.lisp (parse-integer): Handle displaced strings. Fix formatting. * src/code/numbers.lisp (logior, logxor, logand, logeqv): (compile nil '(lambda (x) (declare (bit x)) (+ x #xf0000000))) * src/compiler/fndb.lisp (logbitp): Index is unsigned-byte. * src/compiler/srctran.lisp (%ldb): (unsigned-byte 0) * src/compiler/srctran.lisp (%dpb-derive-type-aux): Extract from * src/compiler/srctran.lisp (%mask-field): (unsigned-byte 0) * src/lisp/alloc.c (alloc) [GENCGC]: Define as alloc_pseudo_atomic. Disable dynamic-extent. Fred Gilham has been observing a problem * src/lisp/gencgc.c (alloc_pseudo_atomic): Wrap alloc in * src/lisp/gencgc.c (GC_ASSERTIONS): New define for activating GC * src/lisp/elf.c (map_core_sections): Add missing stream argument (compile nil (compile nil (compile nil '(lambda (b) (compile nil '(lambda (c) Improve interrupt safety. (compile nil FIXME: Dead code elimination sometimes leaves spurious references (funcall (compile nil (compile nil '(lambda (a) (compile nil '(lambda (a c) * src/code/type.lisp (cons) <simple-intersection>: Fix for (funcall (compile nil (compile nil '(lambda () ANSI test misc.9 and others ANSI test misc.16 ANSI test misc.14 (defun foo (c) (compile nil (compile nil '(lambda (c) (funcall (compile nil '(lambda () * src/compiler/debug-dump.lisp (compute-1-debug-function): * src/compiler/ir1util.lisp (delete-lambda): Don't mark * src/pcl/rt/ctor.lisp: Adjust to changes in ctor code generation (eval '(block b3 * src/code/error.lisp (handler-case): Delete unused old version. * src/compiler/eval-comp.lisp (compile-for-eval): Delete Suppress slot access and gf-call optimizations for method *** empty log message *** (defun lexical-symbol (symbol &optional prefix) (with-open-file (stream "test.123" :direction :output FIXME: There's a quirk somewhere when recording this * src/code/fd-stream.lisp (output-raw-bytes): Same theme (defclass data () ((name :accessor name))) (in-package :cl-user)
hallgren (123): Changed HANDLE-BREAKPOINT-AUX to correctly handle the case in which all Added :new-assembler to features for the new assembler. Changed move instructions to fmove for the new assembler. Instruction definitions for the new assembler. Fixed bounds check in emit-compute-inst for branch disp. New instruction definitions for the new assembler. Added :new-assembler to *features* Fixed mfc1 to add 1 to the fp-reg instead of the i-reg. Insts file with most of the disassembler working. The new disassembler. Insts file with most of the new disassembler working. Fixed setting reads and writes in the define-instruction macro to use Turn off the scheduler before running backpatches and choosers. Was forgetting to clear out the dependencies of branch instructions when we Explicity qualify C:EMIT-NOP as being in the C package because we don't use Export BRANCH and FLUSHABLE for use as backend instruction attributes. Wrap NEW-ASSEM:WITHOUT-SCHEDULING around the multiple value full call entry Added DISASSEMBLE-BLOCKS and the code with it for use of disassembly in the Changed NATIVE-COMPILE-COMPONENT to output the disassembly to the trace file Added patches from Miles to make function headers print correctly and a fix Added a couple fixes from Miles. Cosmetic changes from Miles fixing the fact that disassemble blocks was Changed the call disassem:disassemble-blocks to Corrected spelling of call to disassem:disassemble-assem-block. There is Added patches from Miles for an aligment problem and lra and function Added disassembler info. Another patch from Miles to fix the alignment problem and avoid some other Changed strings to symbols so *print-case* will work correctly. Bug fixes to the disassembler stuff. Added patch from Miles to handle the specialize commands from the old Fixed the call to note-assembler-routine Added all the info for the scheduler. Added all the info for the scheduler. Redefined li with Take out call to SETUP-DYNAMIC-COUNT-INFO since it's handled differently now. Export IR2-COMPONENT-DYNCOUNT-INFO, IR2-BLOCK-BLOCK, and VOP-BLOCK for Export *COMPILE-COMPONENT* for use by new-assem.lisp for collecting dynamic Export *ASSEMBLY-OPTIMIZE*. Make it fasl-validate-structure any dyncount-infos before dumping. Partial new dyncount.lisp with the new dyncount-info structure. Add slot collect-dynamic-statistics to the segment structure. Added :cost 0 to instructions that were 0 but were defaulting to 1. Fixed the cost incrementer to work with the new block numbering. Changed o_creat, o_trunc, and o_excl under hpux since they're different. Added support to compile code/hpux-os.lisp under hpux. Added support to load code/hpux-os under hpux. Fixed the :printer in define-branch-inst Comment out (load "code:inspect") cause it isn't used and it has errors. Added hpux sigcontext structures and routines. More changes (constants, etc) for hpux. Fixed return-multiple. Added hpux support in setup-input and reset-input. Fix off by one error in DEFAULT-UNKNOWN-VALUES. Fix backwards arguments Added DEFINE-FULL-REFFER and FUNCALLABLE-INSTANCE-LEXENV. Change eql to = for EQL/{SINGLE,DOUBLE}-FLOAT. Fixed GET-TYPE Initial revision Initial revision Changes to sigcontext structure references and stick the trap handler on Flush the icache in TRANS_CODE so genesis works when it gc's. Change two Make SC_REG, SC_PC, and SC_NPC work under hpux. Change BLOCKABLE under hpux. Initial revision Various additions and deletions for hpux (ifdef'd, of course). Remove os-common.c from SRCS since hpux doesn't use it. It's now in the Add os-common.c to OS_SRC. Include hpux-os.h if under hpux. Change register names so the hpux compiler will take it. Initial revision Fixed the constants for hpux. Fixed getrusage to return the user and system times. Fixed errors in last checkin (fixing getrusage) and added getpagesize. Added hpf and axpf to the list of filenames to ignore. Added support for alpha/osf1. Added support for alpha/osf1. Added support for the alpha. Added support for the Alpha. Added NEW-ASSEM to the use-package list in NEW-BACKEND. Changed return to return-from assert-definition-type. Updated for the Alpha. Initial revision Fixed the hacked offsets. Change offsets again, and add back line which originally was supposed Alpha support: Added sap-ref-64 stuff and added 64 bit size for sap-int and int-sap. Added alpha support. Also bind *coalesce-contants* to t since it was Added alpha support. Initial revision Changed long and unsigned-long to 64 bits on the Alpha. Added Alpha support. Added: Initial revision Updated for the Alpha. Updated for the Alpha (took out denormals). Fixed a delay slot problem in return-multiple. Fixed emit-compute-inst. It was sign extending a value to 2 bits instead Changed -26 to -28 in :jump in the mips case. Added SGI support. Added SGI support. Fixed the last checkin. Updated for the SGI. Changed to compile irix-os.lisp when :irix is a backend-featurep. Changed to load irix-os when :irix is a backend-featurep. Fixed a typo. Added breakpoint support. Added sgi support. Changed #.(fixnum 1) to 4 so it could be cross compiled. Fixed sxhash-simple-substring for the sgi. It was messed up since the Updated for the sgi. Fix the sgi update... Updated for the sgi. Also changed package stuff on the pmax. Updated for the sgi. Initial revision Updated for the sgi. Updated for the sgi. Initial revision Updated for the sgi. Initial revision Updated for the sgi. Took out the error on returning from arch-do-displaced-inst under irix. Don't call undo_foreign_function_call in breakpoint_do_displaced_inst Added breakpoint support under irix. Store zero in t8 before calling into lisp. Fixed which saved regs to zero out in call_into_c. Fixed for the alpha.
mbb (1): Added :initial-element nil to a make-array call.
moore (9): Changed compile-time behavior of DEFCONSTANT to work like DEFMACRO and Add features to multiprocessing that make it more compatible with ACL. These Support for dynamic loading in FreeBSD 4.0 and later. This involves moving Bootfile for FreeBSD dynamic loading fix. In reality this isn't enough; a cross compile is required. Fixed #+ conditional so object file loading for the Elf static FreeBSD case On x86 FreeBSD and Linux, change the way foreign symbol addresses are resolved. Fix foregin object braindamage noted by Pierre Mai. Fix a typo in apply-with-bindings. Remove cruft from last checkin.
phg (25): Dired Up Directory modified to reflect changes to pathnames in X3J13 Dired Up Directory corrected ':UP -> '(:UP) in nconc. Adjust-array has been updated to be ANSI compliant by allowing arrays which *** empty log message *** This commit was generated by cvs2svn to compensate for changes in r5209, Updated function merge-dirs to reflect updated pathname-directory returns a Logical pathname functions added to bring CMUCL up to the ANSI X3J13/92-102 Modifications to support logical-pathnames. unparse-unix-piece includes Cleanups of logical pathname code which include comments and CMUCL formatting. *** empty log message *** Change to the function components-match to permit versions to match on :wild Change to the function %enumerate-files to permit versions to match on :wild Delete-package function added according to X3J13/92 specification. Initial revision Removed an unnecessary clause in delete-package. September-16-92-PCL-e has been incorporated into the CMUCL sources thanks September-16-92-PCL-e has been incorporated into the CMUCL sources thanks Changed definition of *subtypep to speed up method definition Changed the definition of force-cache-flushes by removing unnecessary Logical pathnames for UNIX filesystems have been added. Note that logical- Batch mode handling for ILU support added including read-eval-print loop handler. Enable batch mode support for ILU with appropriate init-function selected by Added command line switch -batch to support batch mode where input is read from Batch mode documentation added. *** empty log message ***
pmai (194): o Fixed the implementation of INVALID-METHOD-ERROR and METHOD-COMBINATION-ERROR Fixed buglet in the argument processing for the :METHOD-CLASS option to Fixed bug reported by Marco Antoniotti in the call to Fixed bug reported by Erik Naggum on comp.lang.lisp, where printing of Fixed a bug in the pretty-printer for vectors, where the handling of ANSI conformance fix from António Leitão via Joao Cachopo: Fixes a bug in short-method-combination handling reported on Change the condition that is signalled by odd-keyword-arguments-error This change causes archives passed as a file argument to load-foreign Trivial spelling fix. From a patch by Eric Marsden. o When created displaced arrays, MAKE-ARRAY (unlike ADJUST-ARRAY) Inserted missing :element-type option to call of MAKE-ARRAY with This change brings the defaults for CMUCLLIB and the default core on Fixed AMOP conformance bug of ensure-class-using-class reported by DTC's fix for catch failing to accept immediate tags, like fixnums and Added specialised port to OpenBSD (2.9). Many parts of the original Added clean pseudo-target. Let GNU make handle the generation of Depends automagically. o This fixes Bug#122135 from the Debian bug-tracking system: The setf Add ISO 8601 conformant style :iso8601 to FORMAT-TIME. Fixes for a bug reported by Matthew Danish that allowed special Added -nositeinit commandline switch, that suppresses loading of the Make fmakunbound clear compiler info database entries as well. This Committed user-supplied fix to Debian Bug#123208, which caused an We can't have complex forms in worldload, since we might be building a REQUIRE and PROVIDE are not allowed to downcase symbolic module Add PROVIDE form, now that CLX can be loaded via REQUIRE. Add REQUIRE form to ensure that CLX is loaded, now that CLX can be Fix redefinition of constants as special variables via defparameter, If we were compiled with CLX loaded, we add a suitable REQUIRE form to o Remove unnecessary code duplication for INVOKE-DEBUGGER Add missing PROVIDE for :clm, now that (require :clm) works. Reactivate the definitions of COMPILER-MACROEXPAND-1 and Define the ANSI-mandated macro STEP as an entry-point to the debugger Fix bug reported by Lynn Quam, which caused (pathname "*") to fail Several cleanups to the export lists, so that those better match what This change causes the *batch-mode* flag to be reset when saving a o Slight rewrite of output-float and output-float-aux to reduce some Adjust the CMUCLLIB setting to reflect more clearly the default paths that Change the save-lisp to respect the target: search-list, so that the Added specialised port to NetBSD (1.5.2) on x86. Since the code-base Added specialised port to NetBSD (1.5.2) on x86. Since the code-base As part of the NetBSD port, merged back the special load-foreign.csh Added font files from the distribution that were missing in the repository. Added various library files from the distribution that were missing from the Print a warning if we can't find a core file in the specified CMUCLLIB Fixed a bug reported on comp.lang.lisp, where handler-case failed to o Adjusted the mentioned paths to match up with current practice. Allow users to disable tail-call optimization by setting a debug Made the checking of ELF OS/ABI information compliant with the ELF Fixed the documentation of weak-pointer-value to match its doc-string Added limited handling of subtypep for hairy and types, so that we can In the handling of GF definition for a name with an existing non-GF Fix the treatment of colon package delimiters for the ~/ formatting Add documentation of the batch-mode keyword argument to save-lisp, Add the copyright and permission notices for the MIT/Symbolics LOOP Added an emergencystretch amount of 5pt, which gives TeX a bit of Remove unbalanced closing paren. Change the new FASL format code to use a new FOP for the long version Added intern that is needed prior to loading exports.lisp due to later Added missing documentation files for release tarballs. Fix bug that caused initialization functions to fail after a call to Fix from SBCL: This merges the fix in SBCL for overflows in the index calculations of the Changed the OpenBSD port to use dlopen+ld for FFI linkage, like Changed :no-compiler conditionals to include :runtime, since the This fixes BUG 140 of the SBCL BUGS file, where redefining a class Make change-class ANSI-compliant, by allowing the passing of This fixes a bug noted by Nicolas Neuss, where executing a defclass Corrected a small byte-ordering issue in the new definition of Temporarily reverse the fix to SBCL bug 140, which breaks certain This fix is derived from the corresponding patch by Alexey Dejneka Fix to make method-combination options work for the long form of Patch from Gerd Moellmann to bring error detection of defclass in line Slightly mangled patch by Gerd Moellmann to remove PCL's own version Removed outdated warnings about :writer/:accessor possibly not being Added export of internal error code constants to internals.h, so that Fixed suspected bug on HPPA, as confirmed by Christophe Rhodes. Added simple-program-error function that works like error, except that Added missing export of simple-parse-error. Merged patches by Eric Marsden and Gerd Moellmann to improve error Fix by Bob Rogers to correctly handle files with pathnames longer Patch by Gerd Moellmann to remove PCL's variant of once-only, Missed part of the SIMPLE-PROGRAM-ERROR changes to PCL, which Added boot file to unexport the symbols COMPILER-MACROEXPAND and Huge patch by Gerd Moellmann that removes PCL::ITERATE and PCL::GATHER* Conservatively removed some unused files in the pcl directory. Most of Another cruft removal from PCL. Slightly frobbed patch from Gerd Moellmann that eliminates the function Patch by Gerd Moellmann to remove unused functionality from macros.lisp. Patch from Gerd Moellmann to modify more simple-program-error sites to Patch by Gerd Moellmann to turn old-style into new-style eval-when's in A number of smallish changes to the new linkage-table code: Removed the shadowed version of dotimes from PCL, replacing it with Committed patches by Gerd Moellmann to eliminate PCL's without-interrupts Patch by Gerd Moellmann to remove the unused function MAKE-PROGN, Patch by Gerd Moellmann to remove the unused make-specializable function, Patch by Gerd Moellmann to remove further unused code from defs.lisp. Renaming of do-short-method-combination to make-short-method-combination, The recent changes which made system:without-hemlock a simple progn if Fix to correctly reference the disassem::offset type, from Brian Spilsbury's Add result-value form to dovector, to bring it in line with dolist. Improve layout depth conflict error message. From the unicode patch-set Minor indentation fix. The removal of the OLD-XX package nicknames for the VM packages causes Slight reformulation of the make-sequence code, which makes the overall Patches by Gerd Moellmann to improve checking of GF lambda lists for This commits various patches submitted by Gerd Moellmann to remove unused Committed patch by Gerd Moellmann to add the AMOP-mandated generic function This change, based on a patch by Gerd Moellmann, improves keyword argument Fix the call to coerce in dump-vector to use a type that is a recognizale Checked in a fix from SBCL for the "exporting symbols breaks PCL" bug, Committed Gerd Moellmann's patch to remove the pre-allocation of GF caches, Committed Gerd Moellmann's patch to turn various errors related to Committed patches by Gerd Moellmann to make the :arguments option to Added comment on the generic function compute-effective-method explaining Committed patch by Gerd Moellmann to rename the constant *slot-unbound* to Committed patch by Gerd Moellmann which removes the unused function Minor improvement on the previous commit. Committed patch by Gerd Moellmann to replace the logic of analyze-lambda-list Merged patch by Gerd Moellmann to replace (load-truename) with Committed patch by Gerd Moellmann to check generic function declarations Committed two further patches by Gerd Moellmann to remove superfluous Entomotomy Bug: redefined-classes-and-subtypep Entomotomy Bug: documentation-generic-function-wrong-argument-precedence-order Entomotomy Bug: sxhash-on-pcl-instances-returns-42 Entomotomy Bug: pcl-code-too-obfuscated Entomotomy Bug: pcl-exports-obsolete-pre-ansi-symbols Committed modified patch by Gerd Moellmann (from SBCL changes), that removes Entomotomy Bug: no-next-method-unimplemented Entomotomy Bug: generic-function-declarations-unimplemented Entomotomy Bug: sxhash-on-pcl-instances-returns-42 Entomotomy Bug: sxhash-on-pcl-instances-returns-42 Fixed long-standing unmatched close parenthesis in expand-defgeneric that Removed now obsolete and incorrect type declaration for the FUNCTION argument Flushed the #+copy-&rest-arg controlled copying of rest arguments, since Entomotomy Bug: call-next-method-lexical-args Entomotomy Bug: pcl-gf-cache-cacheing-not-needed Entomotomy Bug: slot-definition-allocation-not-amop-compliant Entomotomy Bug: pcl-error-reporting-unhelpful-on-missing-primary-method Entomotomy Bug: slot-definition-allocation-not-amop-compliant Entomotomy Bug: adjust-array-initial-contents-type-wrong Entomotomy Bug: define-method-combination-returns-method-not-name Entomotomy Bug: define-method-combination-arguments-broken Undid slipup in previous commit that introduced an empty line at the top Entomotomy Bug: finalize-instance-not-being-called-on-class-finalization Entomotomy Bug: finalize-inheritance-missing-method-on-forward-referenced-class Entomotomy Bug: redefining-class-breaks-accessing-of-class-slots Entomotomy Bug: typep-on-some-array-types-returns-two-values Added bootstrap file to make compilation of current CVS with a lisp Entomotomy Bug: condition-reporting-not-via-print-object Corrected missing bits in the previous commit. Moved lockf over to lockf64, too, and enabled/exported unix-lockf and friends. Added lockf64 for non linkage-table builds. Added recording and printing of time and host the current core was saved on, Undo exporting of *cmucl-lib* and friends, since this requires bootstrapping, Change herald info on CLOS, to indicate non-trivial changes to CLOS/PCL. Commit nontab-lossage fix missing from earlier commit. Fixes by Brian Uhrain for the alpha port: Fixes to deal with ABI differences between glibc 2.1 and glibc 2.2 for Fix deftransform for foreign-symbol-address to match function definition Fix handling of alien names on ports that have a non-identity function for Added missing exports which could cause repeatedly differing internals.h Applied patch by Raymond Toy to make pathname-host ANSI compliant. Fix stub definition of eval:internal-eval to conform to the lambda list of Added missing exports for the UNIX package. Merged back important fix from 18e release branch. Code typo fix contributed by Aleksandr Skobelev. Fix symbol-atom, and handling of WM protocol callbacks, as submitted by Merged changes made during the 18e freeze period back into the main branch. Fixed bug in boot file, and removed erroneous comment. Added bootstrap file for cross-compiling type-union related changes to the Made bootfile work for old lisps which are still missing fdefn-or-lose. Made bootfile work when export.lisp isn't loaded prior to bootstrap.lisp Corrected faulty previous commit. Replaced bootfile with new version from Gerd Moellmann. Removed redundant code from boot11.lisp. Changed genesis (actually emit-c-header) to signal warnings of the newly Special case the processing of the -quiet command-line flag in order to Port of the *module-provider-functions* extension to cl:require from SBCL. Finish conversion from hardcoded sigcontext to os_context_t, as initiated First merge of the C side of the OS X/Darwin port. Besides adding Darwin Fix multiply defined strcasecmp for Darwin, uncovered by the recent Commit of the compiler backend portion of the PPC/Darwin port. Remove all package locks on setup for recompilation. When setup.lisp is Add support for Darwin/PPC when guessing the proper configurations. Make loading of foreign-linkage conditional on the presence of the Added configuration for PPC/Darwin. Now that foreign-linkage.lisp is only built and loaded conditionally, This commit adds the remainder of the outstanding PPC/Darwin port merge. Added example cross-compile scripts for x86 to ppc and ppc to ppc. Frobbed Darwin configuration slightly to work with current Fink OpenMotif. Change second step of cross-compilation instructions: Creating a directory Small clean up of exports.
pw (337): initial post 1.3.7 merge initial post 1.3.7 merge initial post 1.3.7 merge initial post 1.3.7 merge initial post 1.3.7 merge initial post 1.3.7 merge initial post 1.3.7 merge Fix failure of typep on instance with changed PCL defclass This commit brings the PCL repository up to release 17f and also includes Previous fix to class-typep failed to consider case where 'type' was some random class Move misplaced hpux conditional that caused undefined symbol warning on non-hpux boxes. Peters fix for multiple comma problems Add ANSI lambda macro From: Douglas Thomas Crosher dtc@scrooge.ee.swin.oz.au In maybe-diddle-case, when working on a PATTERN object, the original PARSE-LOGICAL-PATHNAME was returning a directory component Adds 17f release to trunk. Also adds minor fixes from x86 port /tmp/msg This file should be loaded before recompiling on x86 as some Initial support for unix interval timers This is a replacement for the previous boot.lisp (for x86). Now, Add the backquote and commas in macrolet damnit Adds some forgotten error messages and a few misc fixes DIRED was bombing when attempting to delete a marked file Revert remprop to previous behaviour and change doc string Remove my copyright and place in public domain Add a few inhibit-warnings decls to reduce noise in compile-clx.log Peter's fix for FP control word. Add :abort t to some CLOSE calls in process-close This fixes the mess in load-foreign-symbol-table and removes Change .word to .long in two places fixes alignment troubles. Small enhancement to sanity check in previous fix. Some compilers don't like #ifdef 0 set fpu control word for Linux Limit result of 32bit-logical-not to 32 bits. Restore C Stack pointer before returning into C. Add Config.x86 for x86 port. Ray Toy's fix for reading very large/small FP numbers small patch to get GET-SYSTEM-INFO working Add missing reference to DLL for Linux cgc.c with :signed-array support. Some fixes for cross compiling. Alpha/osf1 doesn't have setquota either. Some fixes from folks working the linux port Misc fixes from Ray Toy Maybe temp fix for building system with default IEEE behaviour (no enabled traps except :invalid) Fix small ~E lossage from previous change Prevent warnings from eg (case key (t)) /tmp/m.tmp Fix struct termios for BSD & OSF1. Note maybe broken for other platforms. Fix some lossage to struct stat on alpha and hpux. Fix describe-package used-by list (from Alexander Petrov). UNIX-CREAT fixed to call int-syscall. DIRED copy now works. New shiftf from Bruno Haible fixes problem with duplicated places. defindent for with-accessors and print-unreadable-object. Peter's fixes for Linux 2.1 Changes so far for DEC alpha support. Not done yet. Changes so far for DEC alpha support. Not done yet. Fix typo in recent defindent change Change lunux to linux in termios def fix cpp concatenation operator generic-* botched (* most-negative-fixnum 2) Remove #-alpha from denormal constant defs Get alpha-assem.S into alpha-assem.s needed by CC. add rev 1.3.2.1 to mainline fix SOFTWARE-VERSION to use uname instead of non-existent Remove blank first page from man pages. Generalize package finding in profile-all. Use ext:htonl to get results of get-best-authorization in correct order. Back out a hack around xlib::get-best-authorization failing on unix: hosts. Removed descriptor-reg from arg types of arithmetic vops as it was Add defindent for LOCALLY Fix FORMAT directive in call to temporary-pathname. Backout rev 1.3.2.1 and 1.4. Better fix moved to clx-ect.lisp Yet a better fix for X authorization with unix: hosts - from Fred Gilham Minor doc changes to delete-duplicates and remove-duplicates. Fix spelling of zeroth Fix documentation for symbol-macrolet From Timothy Miller: I just finished making load-foreign work on SGIs, along with fixing calling of From Timothy Miller Correct a few FreeBSD constant definitions in the last unix change, These changes were part of the stuff Timothy Miller sent and committed Relocate NUMERIC-TYPE-REAL-P to a place where it gets Minor change to inhibit compiler notes about dead code removal From: Juliusz Chroboczek jec@dcs.ed.ac.uk From: Timothy Miller tsm@cs.brown.edu Add debug support code COMPONENT-PTR-FROM-PC. Remove :cgc restriction on *trace-encapsulate-default* Add deftransform for CIS. This set of changes enables the use of forward referenced classes in PCL. Add IGNORABLE to PCL's known declaration list Use IGNORABLE declaration for .ARGS-TAIL. to kill spurious Calls to set-values resulted in multiple calls to XtFree on same address From Timothy Miller: Rewrite the package file to use defpackage. Clean out conditionals Use defpackage instead of in-package. Fix a programming error that was flagged by Python unreachable code warning. Use defpackage instead of in-package Let open-display work with host name args "" and "unix". From Ray Toy. This change silently removes ignore declarations for arguments in While loading an :around method when no primary method exists, a compiler Update to Ray Toy's modified version. Requires LaTeX2e and three Export find-class, class-name, class-of and builtin-class from MOP An assortment of fixes from dtc for the alpha backend. I now have Oops, managed to hose rev 1.5 with the last change. This gets things Add doc string to ENSURE-DIRECTORIES-EXIST Get rid of the CLOS-MOP package when compiling PCL from a system String streams were returning non-existent type 'string-char instead Remove obsolete type string-char from From Fred Gilham, pressing certain keys (eg control or function) would Fix (software-version) to return just the version string, and Fix some typos in the exports list and prototype defs. Bind *print-readably* to NIL in PRINC. Spotted by Sam Steingold. Correct spelling typo of funcallable-instance. Noted by Karl Hegbloom. Add define-condition UNBOUND-SLOT. Default method for slot-unbound Export UNBOUND-SLOT and UNBOUND-SLOT-INSTANCE from :common-lisp Change condition READER-ERROR to be a subclass of PARSE-ERROR Backout export of BOOLEAN from :common-lisp as it conflicts badly Changes for ANSI compliance -- Noted by Paul Dietz. Correct spelling of UNLESS in new gensym (was WHEN). Remove :common-lisp from the use list of the SLOT-ACCESSOR-NAMES package. Removing simple-condition from the CPL of READER-ERROR broke A long-reg SC constraint snuck into the fexpm1 VOP that was Get rid of some files that erroneously snuck into the repository Add mmap and munmap to the syscall list. Add defindents for add-fd-handler,with-fd-handler,destructuring-bind, Export type boolean from common-lisp package. Allow a character to be a valid parameter to make-package, find-package, This revision alters the condition type hierarchy to be in compliance Fix too many close parens in last revision. Patch from Douglas. Fix for read-stream; can only use read-n-bytes to read into Error handling in DEFPACKAGE is now in more conformance with ANSI spec. Fix minor spelling typo. Revision 1.43 neglected to entirely purge flushed 'append-unique' In put-image, fix a call to put-image that supplied a non-boolean In violation of my own rule, I commited the last change without actually Fix spelling of "CREATE-WORKING-DIALOG". Main loop waiting for client connections was ignoring possibility Fix a few more things that needed to take a character or package as Fix defsetf of ROOT-RESOURCES. Short form was used when long form required. Ldiff takes args of (list t), not (list list). Add ALLOCATE-INSTANCE to common lisp package. Elt now signals TYPE-ERROR when index is too large. Required by ANSI spec. ldiff, tailp, butlast, nbutlast now handle dotted lists as required by ANSI. Fix defknown for parse-integer and read-from-string to know about Changes to with-package-iterator to properly handle :inherited Arrange for ANSI compliance in error processing. Fix GENSYM to signal a type-error when NIL is supplied as an arg. From Ken Olum: Remove obsolete :x86-lra feature dependent code. Fix for attempts to print specialized arrays readably. From Ray Toy. Remove an error check in real-remove-method prohibited by ANSI spec. Backout a previous hack of adding format-{control|arguments} protocol This revision merges in many of the fixes for ANSI condition types Fixes and improvements to July-14 commit dealing with condition types Fix a few minor typos. SLEEP was broken for real arguments greater than one, sleeping for In get-tables, change declaration for 'name' and 'class' from Correct a type problem in safe code. From Peter VanEynde. Fix ENSURE-CLASS-VALUES so that (defclass myclass(standard-class)()) works Backout previous change to ensure-class-values. There is more to Modifies EXPAND-DEFCLASS to substitute pcl::standard-class for FD-STREAM-READ-N-BYTES was incorrectly returning 0 in the case FILE-NAMESTRING now returns NIL instead of "" when applied to a In SET-SLOT-VALUE, pass the new-value argument to SLOT-MISSING so a The click-count slot in button callback structures was typed as fixnum, but /tmp/z.tmp Changes for Linux running on Alpha. Remove a cast that was inserted for Alpha/Linux but generated a compiler Minor change to #include validate.h instead of x86-validate.h This set of changes removes nearly all references to the dylan language. Move compiler-let from COMMON-LISP package to EXTENSIONS. It is no 1) unix-getpgrp no longer takes an argument on FreeBSD, and maybe never Cleanup of the PCL directory. Removed files and conditional code Remove dead files and dead conditionalized code for dead platforms. Callable functions for primitives c::%weak-pointer-value and signal(SIGCHLD,SIG_IGN) for SVR4 (solaris) Fix minor spelling typo in doc string For solaris (SVR4) SIGCHLD and SIGIO had wrong definition. Get rid of dead dylan-function-p entry Fix minor spelling typo in doc string fix find-class (when called with nil second arg) to be silent Revision 1.12 for FIND-CLASS broke the PCL build process. This is a Fix for multiple uses of (:use ...) in defpackage. From Marco Antoniotti. Remove all #+ and #- conditionals from the source code. What is left Add documentation for the optional arguments to unix-namestring. From Ray Toy: From: Raymond Toy toy@rtp.ericsson.se Move first use of malloc() (definition of T and NIL) to after Remove prepending "_" to global names on FreeBSD V3+ systems. Note In lookup-maybe-prefix-foreign-symbol, do not preprend "_" for Fix alignment method for FreeBSD V3 (ELF) to use units of bytes DEFAULT-STRUCTURE-PRINT was puking on certain cases of structures that This change allows 'motifd' to correctly read a multi-packet message Add code to implement sending long strings to the motifd server. Final installment of support for multi-packet messages and read/write Return proper ANSI specified values from compile-file depending on Backout previous revision. Mr Mai advises his previous patch was From Tim Moore; FreeBSD 4.x has new sigcontext code which can be accessed Support for FreeBSd 4.x version of struct sigcontext conditionalized Add support for FreeBSD-ELF systems (FreeBSD version 3.x and 4.x). Fix expand-defgeneric and expand-defmethod to notify compile environment These changes remove some obsolete and unused type system interface codes, Disable new code in inform-type-system-about-std-class which seems In stream-init, give *debug-io* its very own stream to tty rather Seems unix signal 6 is named SIGIOT but both FreeBSD and Linux Change typespec for args to fcntl from (unsigned-byte 16) to (unsigned-byte 32) Backout previous offensive revision. In fcntl, make arg types to syscall agree with function arg declarations. Fix define-walker-template for compiler-let to target ext:compiler-let. Change :data-gram protocol keyword to :datagram. Put an explicit progn around forms in handler-bind. Fix edit-source-location to not signal an error when editing a Fix ext:remove-oob-handler so it actually works. Fix butlast and nbutlast to be correct for NIL argument. Tailor the stack trace ambiguity code in x86-call-context a bit Rework previous fix to edit-source-location to use *read-suppress* Fix environment hacking code to feed symbol-macrolet variable Insert a defvar to silence compiler warning. In decompose-string, fix error report generated when :error-on-mismatch Add a defensive declaration to PARSE-SPECIALIZERS. Minor spelling correction in comment. Handle the case of lisp running on a remote system and the network connection Handle the case of the user closing the display using a window manager Silence compiler warnings about undefined function <hairy-make-instance-name> From Paul Foley Fixup some of the errno names for modern BSD. From Mike McDonald Seems like a missing ")" in the previous commit. Don't know how this This set of changes fixes EVAL-WHEN to work according to the ANSI spec. Move defvar for *original-%deftype* to toplevel. Fixes to make proclaim and declaim work as in ANSI spec. Add facility to archive boot files needed to compile new deltas. Change most PROCLAIMs to DECLAIMs. Add #+long-float to a couple of otherwise unused bindings. Fix spelling typo in comment line. Retract bogus previous revision. Add inhibit-warnings declaration to macro ASSOC-GUTS to suppress A few well placed inhibit-warnings declarations to suppress noise in Change reference to load-logical-pathname-defaults (pg 20) to From: Ole Myren Rohne ole.rohne@cern.ch Fix a few small bugs, remove LPN autoload pending rework. Add Fix typo in unparsing wild versions in new scheme; ".~~*~~" => ".~*~". Libralize extract-name-type-and-version to allow ".*" as a version wildcard. Add Mike McDonald's revised changes to permit autoloading logical Fix extract-name-tape-and-version to honor rule that a leading "." First step in removing some CLtL1/CLtL2 exports from COMMON-LISP package. Change a defvar to proclaim as defvar now requires the compiler be loaded. Change toplevel PROCLAIMs to DECLAIMs. Logical-pathname-p is no longer in the CL package so don't use it. Replace defknown for obsolete get-setf-method with one for Move get-setf-method to extensions package. Will need to load Do what I mean, damn it! Remove reference to obsolete bugs mailing list. Aid removal of extraneous non-CL exports and moving of get-setf-method Change calls to obsolete define-setf-method to define-setf-expander. Somehow omitted a key component of rev 1.44. This fixes find-logical-host From Eric Marsden From Eric Marsden and Pierre Mai: Add defmethod print-object specialized on structure-object so that ANSI Add support for ANSI specified :print-function and :print-object Emit a warning if the :name or :type argument to MAKE-PATHNAME for a unix Marco Antoniotti says: From Pierre Mai From Tim Moore Fix guard against "/" in pathname name or type to consider that Add missing "*" around type declamation for *fasl-file*. Reported From Pierre Mai: Freom Pierre Mai: Fix unix-kill and unix-killpg to return either T or (values nil errno). Add a declaration to process-kill to avoid sigfault with :small cores Add a few inhibit-warnings declaration to reduce noise in compile-lisp.log. Add arg type declaration to other public process functions. From Ray Toy: From Ray Toy: From Ray Toy: From Pierre Mai: Fix a glitch in last revision. Call fflush after printf. Helps when stdout is a pipe. Minor tweaks. From Ray Toy: From Ray Toy: Reinstate an eval-when around a defvar that I had stupidly removed (a) Add a new target 'initial-map' that can make a 'lisp.nm' file from A slight refinement of previous commit. From Fred Gilham: From Tim Moore: From Fred Gilham: Fix FIND-LOGICAL-HOST to honor optional errorp argument even when Fix COMPILE-FILE to run TRANSLATE-LOGICAL-PATHNAME on its output file spec Previous revision had missing space resulting in bogus symbol name. Fix defknown for parse-namestring to allow STRING as a type for optional Fix print-function for logical-host so it outputs something meaningful. When LOAD calls MERGE-PATHNAMES on its input file, use :default-version From Tim Moore: From Pekka P. Pirinen via c.l.l From Eric Marsden: From Eric Marsden: From Eric Marsden: From eric Marsden: Oops, backout misplaced prin1 function in previous revision. Sorry folks! From Eric Marsden: From Eric Marsden: From Eric Marsden: From Eric Marsden: From Eric Marsden: From Paul Foley: From Paul Foley: Fix wrong sense of boolean test for RUNTIME feature. This was causing Changes requested by Paul Foley to support advanced command processing work. First commit to new cvs server. I hope it works! Second attempt at using new cvs server. Hopefully mail system config This revision turns on INFORM-TYPE-SYSTEM-ABOUT-STD-CLASS which Remove "E" from extensions package export list. Was it ever used? Increase FD_SETSIZE for FreeBSD from 256 to 1024. Valid since FreeBSD 3.x. Fix PROCESS-IGNORE-DECLARATION to notice variables which are From Eric Marsden: Add defgeneric forms for stream-read-sequence and stream-write-sequence. Backout previous change for wrong use of symbol-macrolet as it DTC's fix for right shifting (unsigned-byte 32) values by amounts > 31 bits. Flip args to stream-*-sequence to be (stream sequence) so we agree with dtc's fix for (describe #c(1 1/2)). Fix ext:connect-to-inet-socket to not consume resources if Improved version of connect-to-inet socket from John Wiseman. Add EXTERNAL-FORMAT keyword to COMPILE-FILE, and ignoring it. Remove defsystem from future consideration. It is better supported From Eric Marsden: Add forgotten file. Fix some lossage from rev 1.58 causing read-byte on multi-byte element From Iban Hatchondo: Fix read-sequence for specialized arrays to handle case where Fix system::alternate-global-address to actually pass the right FreeBSD now wants O_NONBLOCK and keeps O_NDELAY for compatibility. Tested on FreeBSD 4.7 and open-motif-2.2.2. Tim Moore says linux-stubs is not needed with LINKAGE-TABLE so open-clx-display: use :protocol :unix in call to xlib:open-display
pwerkowski (3): Back out improper use of condition SIMPLE-TYPE-ERROR in AREF. Set pesky *make-condition-accessor-methods* Fix bogus cast noticed by FreeBSD 7 GCC compiler
ram (2974): Added some package hackery so that things will still compile in the new ALPHA Initial revision In COMF, flushed code that was periodically doing a FORCE-OUTPUT. This is no Fixed SUBSEQ's END arg to be SEQUENCE-END rather than INDEX, i.e. NIL is In ANNOTATE-COMPONENT-FOR-EVAL, changed the local call function test to look ...and also fixed the slot accesses in that branch to be BASIC-COMBINATION Added definition for %PROGV. In ANNOTATE-COMPONENT-FOR-EVAL, also ignore references to :CLEANUP or :ESCAPE When handling %UNWIND-PROTECT, don't pop and discard the cleanup function, In ANNOTATE-COMPONENT-FOR-EVAL, added an assertion that we never see :ESCAPE In the UNWIND-PROTECT case of EMIT-CLEANUPS, fixed to use %FUNCALL instead of Changed LOAD to recognize "fasl" as well as "nfasl" file types. The real Fixed up to compile in new compiler system. Added some comments in [RAM: ...] Changed LEAF-VALUE to make a cached EVAL-FUNCTION when the lexical environment Added LAMBDA-EVAL-INFO-FUNCTION slot. Changed time into the %TIME function, and made TIME just expand into a call of Oops... In LEAF-VALUE, I was looking at the wrong closure to see if the Changed to only load the XXXmsgdefs files when there is no XXXuser.nfasl, and Flushed evalhook and applyhook interfaces, since we aren't going to support Flushed :TRANSLATE options for REALPART, IMAGPART, NUMERATOR and DENOMINATOR, Defined cell accessors for ratio, complex. Added source transforms for REALPART, IMAGPART, NUMERATOR and DENOMIATOR which Flushed NUMERATOR, DENOMINATOR, REALPART and IMAGPART, since these are now Changed STRUCTURIFY from a macro to an inline function so that interpreted Fixed broken argument type declaration in CHECK-OPERAND-TYPES. Initial revision Added SIMPLE-STRING transforms for SUBSEQ, COPY-SEQ, REPLACE, CONCATENTATE, Fixed broken arg type declaration in SET-UP-VOP-INFO. Changed DOCUMENTATION to use INFO instead of plist hackery. Added new info types for online documentation. Moved TYPE-EXPAND to eval from here. Moved TYPE-EXPAND here, and made it use INFO instead of plist hackery. Changed DEFTYPE to use INFO instead of plist hackery. Fixed %COMPILER-DEFSTRUCT to clear any old DEFTYPE expander. Made %DEFMACRO set the interpreted function name to "DEFMACRO <name>" rather Fixed a comment. Fixed the unwind case of %UNWIND-PROTECT to push a bogus values list on the Changed the interpreted function caching policy so that any function used more Changed OUTPUT-FUNCTION-OBJECT of interpreted functions whose name is NIL to Changed INTERPRETED-FUNCTION-LAMBDA-EXPRESSION to not return the lambda as the Changed COMBINATION-NODE to recognize the funny function case by the :UNUSED Changed ASSIGN-LAMBDA-VAR-TNS to make environment-live TNs for non-let Added the *COMPILE-TIME-DEFINE-MACROS* flag so that we can compile Added binding of C:*COMPILE-TIME-DEFINE-MACROS* to NIL around compilation of Fixed type in last edit. Frobbed the function hacking stuff so that it has a chance of working, and so Fixed SYMBOL-PACKAGE def to say the result is (OR PACKAGE NULL), not just Changed stuff to dump locations in the new packed binary format. New stuff for packed binary representation of locations &c. Flushed UNSTRUCTURED from the imports list, since this Alien type is no longer Added some missing commas in the interpreter case of the PROGV IR1 convert Added support for the :ENTRY fixups in the functions constants. In the IR2-COMPONENT structure, added documentation for the :LABEL load-time Fixed up DESCRIBE-FUNCTION-PARTS a bit. It still doesn't return any Added some missing commas in DEFTYPE. Fixed a use of the obsolete %FUNCTION-CONSTANTS-OFFSET constant. Fixed function name. Fixed another bogus argument type declaration. Added some missing commas in COMBINATION-NODE. Added code to %DEFINE-INFO-TYPE that bumps up *TYPE-COUNTER* so as to prevent Fixed READ-VAR-STRING to bump the index past the characters. Fixed bug in the access form for INFO's DEFINE-SETF-METHOD where it was passing Fixed some typos and stuff. Deleted reference to the obsolete CATCH-ALL type. In CONVERT-EVAL-FUN, fixed inverted sense in the computation of the Quietly arg Added code to set up the new INFO types TYPE DEFINED-STRUCTURE-INFO and Changed OUTPUT-STRUCTURE to use INFO TYPE PRINTER. Changed STRUCTURE-TYPEP to use INFO TYPE DEFINED-STRUCTURE-INFO. Changed SHARP-S to use INFO TYPE DEFINED-STRUCTURE-INFO. Changed the type bootstrapping hacks for DEFSTRUCT-DESCRIPTION and Changed to use INFO TYPE DEFINED-STRUCTURE-INFO. Added new TYPE PRINTER and TYPE DEFINED-STRUCTURE-INFO types. Made Fixed STRUCTURE-TYPEP a bit. Fixed typo. Commented out load of logical-names.lisp so that we can build from different Made VOP-INFO-SAVE-P :COMPUTE-ONLY compute the save set the same as T. Allow :COMPUTE-ONLY value for SAVE-P. Changed DEFSTRUCT expansion to only use #' on non-symbol PRINT-FUNCTIONS, so Changed TYPE PRINTER to allow symbols. Bound *compile-time-define-macros* to NIL around compilation of compiler macros Cleaned up some crud in the CONCATENATE/SIMPLE-STRING transform. Fixed kill/yank lossage in addition of :LABEL load-time constant support. Fixed stuff so that we can make locals be allocated in environment TNs. Corrected import of %ALIGNED-SAP. Added NODE-TLF-NUMBER. Changed documentation for NODE-SOURCE-PATH to reflect the form-number being in Fixed NODE-TLF-NUMBER to return the last element rather than the second. Fixed yet more crud in CONCATENATE/SIMPLE-STRING. I think I finally have the cleanup computation in NODE-ENDS-BLOCK right. We Changed FIND-ORIGINAL-SOURCE to skip over the form number which is now the Fixed yet more crap in CONCATENATE/SIMPLE-STRING. Fixed DEFPRINTER for CLEANUP to print the CONTINUATION-USE of the start rather In the NODE-ENDS-BLOCK cleanup computation, we should associate the cleanup Changed LET-CONVERT to call MERGE-CLEANUPS-AND-LETS after INSERT-LET-BODY so The the macrolet for defining string/=*, string=* transforms, comma in the name Changed stuff to correspond to the new interface to IR1-TOP-LEVEL and Changed COMPILE-FOR-EVAL to call FIND-SOURCE-PATHS, now that IR1-TOP-LEVEL no Made FIND-SOURCE-PATHS an interface again, and moved its calling out of Fixed comment. Made the definition of UNDEFINED-VALUE not be compile-time evaluated in the new Similarly disabled all the other EVAL-WHEN COMPILEs when under the new Initial revision Changed stuff to guarantee that code for a function is contiguous in emit Added :VOP-VAR DEFINE-VOP option. Also added new DO-ENVIRONMENT-IR2-BLOCKS and Added VOP-SAVE-SET and IR2-BLOCK-LOCATIONS. Flushed obsolete In CONFLICT-ANALYZE-1-BLOCK, changed the save set computation to store a bit Added code for noting interesting locations and dumping debug blocks. Also Fixed a bunch of bugs in localify. We call GC-GROVEL-STACK before doing Added definitions associated with the packed binary representation of Added compilation of assem:assem and assem:assembler. Added compilation of genesis in new compiler. Allow the COMPILED-DEBUG-INFO-FUNCTION-MAP to be null temporarily (when In WRITE-PACKED-BIT-VECTOR, fixed syntax of WITH-ARRAY-DATA call. Put in hack in DEBUG-INFO-FOR-COMPONENT to specify 0 as the In %INITIAL-FUNCTION, set initialize *GC-INHIBIT* to T and don't clear it. GC Flushed hacking on *ALREADY-MAYBE-GCING*. Instead, we call GC-ON in the Fixed DEBUG-INFO-FOR-COMPONENT to specify the OLD-CONT and RETURN-PC. Though Changed the default for DEBUG-FUNCTION-RETURNS to :FIXED so that we can create Really fixed the WITH-ARRAY-DATA syntax this time for sure, truly. Fixed some compiler errors. Fixed WRITE-PACKED-BIT-VECTOR to be defined as a function, not a macro. Moved *new-compile* compilation of macros from the end to the same place where Initial revision Merged with working code version as of 2/22/90. This was for *gc-verbose*. Initial revision Added FORCE-OUTPUT in DEBUG-PROMPT. This brings us up to date with respect to Merged in fix to PRINT-CONTROL-ERROR from working code version. .../systems-work/code/reader.lisp, 10-Feb-90 13:14:40, Edit by MBB. .../systems-work/code/macros.lisp, 10-Feb-90 13:06:45, Edit by MBB. .../systems-work/code/array.lisp, 08-Feb-90 17:46:53, Edit by Chiles. .../systems-work/code/defstruct.lisp, 07-Feb-90 16:41:55, Edit by Chiles. Back-merged my type fixes into the working code version as of this date. Initial revision Merged in new %TOP-LEVEL from working code sources. Initial revision /usr1/lisp/ncode/print.lisp, 29-Nov-89 18:44:35, Edit by Chiles. .../systems-work/code/stream.lisp, 16-Jan-90 11:47:26, Edit by Wlott. Initial revision /usr1/lisp/code/list.lisp, 11-Sep-89 09:08:11, Edit by Chiles. Initial revision /usr/mbb/x3j13-changes/current/time.lisp, 11-Jul-89 20:20:04, Edit by Mbb. /usr/lisp/code/tty-inspect.lisp, 31-Jul-89 11:09:38, Edit by Mbb. /usr1/lisp/ncode/seq.lisp, 12-Jul-89 13:19:40, Edit by Chiles. Back-merged type declaration fix into working code version as of this date. Initial revision Initial revision Fixed SUB-FIND-SOURCE-PATHS to recurse on itself rather than FIND-SOURCE-PATHS. Picked up new SIGMASK from working code version of syscall.lisp. .../systems-work/code/lispinit.lisp, 18-Jan-90 22:52:28, Edit by Chiles. .../systems-work/code/lispinit.lisp, 20-Sep-89 00:27:29, Edit by Chiles. Backout of last revision, since requiring Hemlock to compile code seems Added fd-stream and serve-event, flushed machio. Working code version as of 2/23/90. .../systems-work/code/alieneval.lisp, 22-Oct-89 22:36:51, Edit by Wlott. LTN-Bit-Vector => Local-TN-Bit-Vector. Fixed some stuff. Ripped out old stuff and added some DEFVAR's that used to be elsewhere. Fixed up handling of default print functions a bit. Use of the default print In FIND-ORIGINAL-SOURCE, moved the exit test to the head of the loop so that we Added support for FOP-INT-VECTOR (so we can have debug info in code load.) Fixed typo. Fixed merge lossage. Fixed merge lossage. Removed FUNCALLABLE-INSTANCE check in LIST branch of Fixed description of compiled debug location representation a bit. It seems we Mucho debugging of debug-location dumping. Check for the successors being the Allow LIST for all function valued attributes in #-new-compiler conditional Flushed code in EMIT-MOVE that directly called ERROR2. Instead, the copy-bit-vector => bit-vector-copy. Defined PREPROCESSOR-MACROEXPAND. This function correctly macroexpands Fixed some typos. In POSITION, changed use of STRING-CHAR-P to TYPEP. Changed iterations over the save set to use DO-LIVE-TNS. Changed save Fixed comment in TN structure to describe new convention for save TN Fixed DO-LIVE-TNS to check for null local TNs entries. Fixed Made GENERATE-ERROR-CODE note the internal error location for debug-info. Made miscops note the return location for debug info. Oops... We weren't dropping results from the live set, causing "saving" code Brought up to date w.r.t. the new top-level functions. Moved vm-tran.lisp later so that it can contain IR2-convert optimizers. Added uses of NOTE-THIS-LOCATION to node return PCs for debug info. Changed people to use the new interface to GENERATE-ERROR-CODE, Changed ILLEGAL-MOVE to signal an error. Changed to note the non-local-exit entry points. Changed to use the new GENERATE-ERROR-CODE interface. Moved source-transforms from funny functions => %primitive to here from Changed let of *ALIEN-EVAL-WHEN* to be (COMPILE EVAL) rather than just In DO-LIVE-TNS, :ALWAYS-LIVE => :LIVE. So always-live TNs were never Moved bootstrap hacks out of this file so that they can be compiled afterward Initial revision Changed to new logical names. Moved serve-event before lispinit so that Moved *display-event-handlers* defvar to serve-event so that server Moved defvar of *display-event-handlers* here so that it is defined even Changed make-immediate-type of random number to CODE-CHAR. Flushed defvar's of GC flags in favor of PROCLAIM, since there are DEFVARs FIxed paren error in output-random. Changed NOTE-NON-LOCAL-EXIT to add a use of the NLX continuation to the In CONTINUATION-DELAYED-LEAF, removed the hack that checked for the Changed comment in NLX-INFO to reflect the fact that environment analysis now Initial revision This commit was generated by cvs2svn to compensate for changes in r386, Start work on better non-descriptor support. Put in fix from wlott for unread-char/read-line interaction lossage. Added :COMPUTE-ONLY to the legal values for VOP-INFO-SAVE-P. Added code to emit the IR2-ENVIRONMENT-ELSEWHERE-START label. Changed to new logical names. Added dumping of START-PC and ELSEWHERE-PC in DEBUG-INFO-FOR-COMPONENT. Changed the ENTRY-INFO-OFFSET to be a GEN-LABEL rather than the BLOCK-LABEL Pass the ENTRY-INFO-OFFSET label to the ALLOCATE-FRAME VOP so that it can Flushed unused BLOCK argument to COMPUTE-SAVE-SET. Fixed it to ignore Changed to new logical names. Fixed DENOMINATOR and IMAGPART to return the right thing for Added ELSEWHERE-START and ENVIRONMENT-START slots to IR2-ENVIRONMENT. Added NOTE-ENVIRONMENT-START. Added start label arg to ALLOCATE-FRAME. In COERCE-TO-SMALLEST-ELTYPE, coerce to a SIMPLE-ARRAY, not just a VECTOR. Added TARGET-BYTE-ORDER and NATIVE-BYTE-ORDER. The latter should be moved to Changed DUMP-I-VECTOR to use a new semantics for FOP-INT-VECTOR: only exact Changed to understand the new FOP-INT-VECTOR. Changed to understand the new FOP-INT-VECTOR. The old version was inconsistent Fixed COMPILE-FILE to not delete the error file when the compile is aborted by .../code/fd-stream.lisp, 08-Mar-90 17:58:17, Edit by Wlott. Fixed order of args to DESC-DOC in DESCRIBE-FUNCTION-COMPILED so that we look Added the FILE-COMMENT macro for RCS header usage. In WRITE-VAR-INTEGER, fixed inverted sense of the test for 32bits. In FOP-INT-VECTOR, fixed computation of the i-vector access code and Changed TRANSPORT-FUNCTION to transport all objects in the constants, not In %COMPILER-DEFSTRUCT, made the structure copier and predicate at least Macroified I-vector dumping a bit. Fixed computation of i-vector access code in fop-int-vector. Added code to make known calls unknown if there is an argument with Made VALID-FUNCTION-USE match CONSTANT types when they appear in the arg Initial version. Added DEBUG-SOURCE-COMMENT. When describing a compiled function, print the file comment (if any.) ALso, Changed WITH-COMPILATION-UNIT to hack delayed unknown type warnings. Fixed paren error in CHECK-ARG-TYPE. CHECK-ARG => CHECK-ARG-TYPE Deleted some wlott debugging code. Fixed missing stream arg in OUTPUT-RANDOM. Initial revision Noew and fixed features. Brought up to date w.r.t. trunk. cont-tn -> fp-tn Fixed temporary spec in pointer- to specify a SC restriction. Changed stuff to use the new non-descriptor stuff for move/coerce. This commit was generated by cvs2svn to compensate for changes in r624, Changed stuff to use the new non-descriptor stuff for move/coerce. This commit was generated by cvs2svn to compensate for changes in r626, Fixed typo. Changed to do debug-info 2 rather than 0. Flushed move-arguments, move-results. Added code to set the LEAF-TYPE of functionals to the DEFINITION-TYPE Added represent and pseudo-vops. Moved char earlier. Made error checking stuff recompute the operand costs and compare with Added definition of PARSE-UNKNOWN-TYPE condition. Changed stuff for new argument passing convention. This commit was generated by cvs2svn to compensate for changes in r655, Moved POINTER-COMPARE here, since this is now loaded before system. Changed n-arg miscops not to allocate ARGS. Moved ILLEGAL-MOVE here Many changes amounting to nothing. Added MAKE-NLX-SP-TN interface. Changed people to use FP instead of CONT. Moved POINTER-COMPARE to char, since it is now loaded first. Allow arg to RESTORE-STACK-POINTER to be DESCRIPTOR-REG, since we now move-full-call-args => move-tail-full-call-args Flush constant SCs for stack and string-char-stack. This commit was generated by cvs2svn to compensate for changes in r663, Fixed spilling in load-tn packing to handle spilling around conditional merged non-descriptor branch: Merged non-descriptor changes: Merged non-descriptor changes: Merged non-descriptor changes: debug-dump.lisp Merged non-descriptor changes: debug.lisp Merged non-descriptor changes: Merged non-descriptor changes: Merged non-descriptor changes: Merged non-descriptor changes: Merged non-descriptor changes: Merged non-descriptor changes: ir1util.lisp Merged non-descriptor changes: Merged non-descriptor changes: revision 1.2.1.2 Merged non-descriptor changes: revision 1.5.1.1 Merged non-descriptor changes: Merged non-descriptor changes: Merged non-descriptor changes: Merged non-descriptor changes: Merged non-descriptor changes: Merged non-descriptor changes: Merged non-descriptor changes: Merged non-descriptor changes: Merged non-descriptor changes: Merged non-descriptor changes: revision 1.1.1.2 Merged non-descriptor changes: Merged non-descriptor changes: Merged non-descriptor changes: Flushed frobbing of IR2-COMPONENT-VALUES-GENERATORS, since that slot Fixed the hand-coded call to FDEFINITION for SETF functions to use the Made TAIL-P be cleared in all nodes that aren't TR calls. Fixed some junk. Added code to any emit coercion VOPs before the move-argument VOPs in a call Moved computation of the VALUES-GENERATORS here from ltn. Fixed comment. Added a comment describing how NODE-TAIL-P is cleared. Added a DEFINE-MOVE-VOP :MOVE-ARGUMENT for moving from string-char to Fixed some ARGS noise to be OLD-FP in unknown value receiving. Changed ESCAPE-ROUTINE to explicitly handle 4 arg calls, with the 4'th argument Changed LTN-DEFAULT-CALL to clear NODE-TAIL-P if there is an IR2-CONVERT Rewrote LOAD-TN-CONFLICTS-IN-SB yet again. The dubious assumptions about number-stack => non-descriptor-stack In local call, pass in the ir2-environment instead of the return-pc Changed local call VOPs to take the callee ir2env instead of just the Changed the magic SB from NUMBER-STACK to NON-DESCRIPTOR-STACK. Changed INIT-SB-VECTORS and GROW-SC to work when a SB has no locations Fixed typo. Pass the callee into ALLOCATE-FRAME so that it can tell whether to allocate a Changed ALLOCATE-FRAME to accept the callee as an info arg so that we can Fixed TRULY-THE to set the NODE-DERIVED-TYPE only on uses of the CONT that are CONT -> FP. New debugger user interface based on the debug-internals primitives. CONT -> FP Added debug-int Moved debug-info earlier in the compilation. Fixed PRIMITIVE-TYPE on union types to return the right value. In %COMPILER-DEFSTRUCT, added an explicit check for an included type being Fixed order of args to ALLOCATE-FRAME. Fixed SPILL-AND-PACK-LOAD-TN to recognize uses of load TNs now that they are in Changed CONSTANT type to be CONSTANT-ARGUMENT. Moved CONDITION defstruct here from error. Moved CONDITION defstruct to struct. Made ESCAPE-ROUTINE allocate an extra word so that we don't trash what the Changed to new logical names. In CONFLICT-ANALYZE-1-BLOCK, when processing :FORCE-TO-STACK SAVE-P values, Added OPTIONAL-ARGS marker to the c-d-f-arguments. Added description of the OPTIONAL-ARGS marker in the c-d-f-arguments. current-cont -> current-fp. CONT -> FP Merged in stuff from Bill: But don't call CONVERT-TO-ENVIRONMENT-TN on TNs that are already :ENVIRONMENT. Zap some syms bugging the debugger. Export some DEBUG syms. Added code that uses the DI interface to find the name of the function in which In DEBUG-FUNCTION-FOR-COMPONENT, fixed error in the determination of whether a Added support for pre-analyzing top-level lambdas so that we don't have to Added MERGE-TOP-LEVEL-LAMBDAS and changed FIND-INITIAL-DFO's handling of Changed JOIN-BLOCKS-IF-POSSIBLE to join when the first block's last-cont is Fixed IR2 block printing to do a better job of recognizing overflow blocks. Changed stuff to delay compilation of top-level forms, and mash them into Changes to support new top-level form handling: references in top-level Changed to OR in the result of STRUCTURE-PREDICATE to be an IF, since that is Fixed some stuff in the top-level lambda hackery. Changed a copy-seq to bit-vector-copy for no particular reason. Fixed closure referencing to understand the new :TOP-LEVEL-XEP functionals. Added REPLACE-TOP-LEVEL-XEPs so that we don't have to leave around IR1 Changed to understand :TOP-LEVEL-XEP functionals. Added alloc. Initial revision Fixed JOIN-SUCCESSOR-IF-POSSIBLE a bit in the new case of the first block Added a stream arg to the FORCE-OUTPUT in COMPILER-MUMBLE. Added new :TOP-LEVEL-XEP FUNCTIONAL-KIND. Changed constructor names for freelisted structures to be REALLY-MAKE-xxx. Hooked into the new alloc stuff. Reduced TOP-LEVEL-LAMBDA-MAX to 10 Added new and missing functions and flushed old ones. Added debugger package hackery. Picked up some bug fixes from Chiles. Also the "F" command. Picked up some tweaks to debug-variable functionality from Chiles. Fixed argument order to EMIT-CONTEXT-TEMPLATE in EMIT-ARG-MOVES. Fixed broken type declaration in IR2-CONVERT-IF. Added some force-output's and moved run-program to after the initial Changed local call VOPs to not set FP in the branch delay slot, since the new Deleted INLINE proclamation for REFERENCE-TN. Now that MAKE-TN-REF is inline, Added new *META-SC-NAMES* and *META-SC-NUMBERS* and corresponding -OR-LOSE Added some stuff. Fixed up info for COMPILE and COMPILE-FILE args/values. In CHECK-VOP-REFS, flushed check for all args coming after all results, since Added some hacks to defeat type checking so that this stuff will work Fixed debug-function dumping so that unnamed optional-dispatches get the Made leaf printing understand the new top-level XEP functionals. Fixed broken type declaration. Fixed broken slot type declaration in the UNDEFINED-WARNING structure. Made new meta namespace stuff work. Fixed stuff to work with the new interface to FIND-INITIAL-DFO. Rolled back to 1.2, since there seem to be serious problems with the Merged in MV-BIND type inference from the mips branch, and fixed to handle set Merged in the VALUES and LOGXOR derive-type optimizers from the MIPS branch. Initial revision Fixed type of the optional arg to file-position. Flushed incorrect assertion in DELETE-BLOCK that the continuation have Enchanced error messages: Added some more globals, these used by Hemlock. Added type check weakening (conditional on policy), and made type checks Added ALWAYS-SUBTYPEP, since it is no longer defined internally for When checking the number of VOP args supplied, don't expect there to be Added hash caching of values across the entire current *info-environment* Enhanced let optimization: Fixed "declared inline but no expansion" not to say the declaration is Changed the unsafety check for symbol accessors to be (= safety 0). Moved vm-tran later so that it can define VOPs. Changed check for flushing arg count error to be (zerop safety). Only use unsafe policies when safety = 0. Added :VARIABLE as a undefined warning kind. Added %NOTE-TYPE-DEFINED and made %COMPILER-DEFSTRUCT call it. When checking that the number of args match the number of arg types, Fixed output type assertion on logical operations to be * rather than T, Added some hacks to support the STRUCTURE-VECTOR type, so that implementing Added caching of the PRIMITIVE-TYPE via DEFUN-CACHED, and also reordered Changed DEFTYPE to expand into %DEFTYPE, and made %DEFTYPE call Added hash cache support: DEFINE-HASH-CACHE, DEFUN-CACHED and Fixed EMIT-ARG-MOVES to emit the COMPUTE-OLD-NFP VOP correctly. Flushed broken INGORE declaration. Initial revision This commit was generated by cvs2svn to compensate for changes in r1014, .../systems-work/nnclx/input.lisp, 12-May-90 16:13:04, Edit by Chiles. This commit was generated by cvs2svn to compensate for changes in r1016, .../systems-work/nnclx/gcontext.lisp, 12-May-90 16:07:22, Edit by Chiles. This commit was generated by cvs2svn to compensate for changes in r1018, .../systems-work/nnclx/dependent.lisp, 12-May-90 15:07:52, Edit by Chiles. This commit was generated by cvs2svn to compensate for changes in r1020, .../systems-work/nnclx/depdefs.lisp, 12-May-90 14:27:05, Edit by Chiles. This commit was generated by cvs2svn to compensate for changes in r1022, .../systems-work/nnclx/defsystem.lisp, 12-May-90 14:20:02, Edit by Chiles. Initial revision Type warnings only inhibited when brevity = 3. Added #-new-compiler load to eval-when so that macro will be defined in Fixed closure TN allocation to allocate *any-primitive-type* when the Fixed JOIN-BLOCKS to combine many optimization flags it was ignoring. Type warnings are inhibited when brevity = 3. Tweaked error message format a bit. Fixed FIND-TEMPLATE to do what the comment said with :CONDITIONAL templates, Fixed the MEMBER transform to be correct, and to generate somewhat more Fixed FOLD-TYPE-PREDICATE to specify one arg rather than two so that it Fixed paren arror. Added %PROCLAIM for semi-safe policy, and set *PRINT-PRETTY* to NIL Fixed FIND-ORIGINAL-SOURCE to consider the original source form itself as a Changed IR1-TOP-LEVEL to use the current value of *CURRENT-PATH* when Form has Changed COMPILE-FOR-EVAL to bind *CURRENT-PATH* to nil. Added a limit on the number of times that IR1-PHASES will loop, and simplified Changed type check weakening not to choose supertypes that are union types In SUBSTITUTE-SINGLE-USE-CONTINUATION, we also punt if either continuation has Changed said EVAL-WHEN to be unconditionally LOAD so that inline expansions Fixed VALID-FUNCTION-USE to return T, T when the call is valid, instead of T, Changed PROBABLE-TYPE-CHECK-P to return T when we are unable to determine when Made CONT and OLD-CONT be registers once again so that we don't have to Don't clear *SOURCE-PATHS* in CLEAR-STUFF, since this must carry across Oops... We can't negate a check and weaken it too. Choose whichever is Changed MAYBE-WEAKEN-CHECK to accept a type if there is a predicate for that Changed info cache initialization to directly do the necessary stuff at Added UNSIGNED-BYTE declarations in DOTIMES to help type inference. Improved IR1-TRANFORM-< to expand to NIL in some interesting cases where the Changed ALLOCATE-FULL-FRAME and DEFINE-FULL-CALL to only load/save the new FP Fixed note in SOURCE-TRANSFORM-HAIRY-TYPEP to turn the type into a type Fixed PRINT-ERROR-MESSAGE to not try to print the enclosing source when there In FAST-ASH/FIXNUM, when shifting right, we must negate N before considering it In FAST-ASH/FIXNUM, load the argument into the result *before* we shift the Call CLEAR-STUFF with a NIL arg, so that we don't trash the debug id Fixed return values for FIND-SYMBOL and INTERN to allow :EXTERNAL. Fixed export of *converting-for-interpreter*. Fixed negated sense of NODE-DELETED. When *CONVERTING-FOR-INTERPRETER*, convert multi-ref calls even in top-level Made clearing of debug-id tables by CLEAR-STUFF optional so that we can Changed %PROCLAIM to use a FBOUNDP conditional rather than #-new-compiler Flushed some old UNIX-PIPE package hacks. Added semi-safe optimize proclamation. Added MAYBE-LOAD-STACK-TN. Changed local call and known return to not use load-tns for loading the Added PUTF. Only hack on TYPE-PRED-ALIST in the bootstrap env. Changed PRIMITIVE-TYPE to return FUNCTION for random complex function types. Fixed DEBUG-FUNCTION-FROM-PC to correctly deal with PCs in elsewhere code. In DEFINE-CONDITION, allow slot specs to be omitted. Init *BEFORE-GC-HOOKS*, *AFTER-GC-HOOKS* and %SP-INTERRUPTS-INHIBITED Flushed commented-out PUTF macro. Added STRUCTURE-VECTOR to TYPE-PRED-ALIST, and changed it to be a Added %PUTF, currently defined to just call the PUTF miscop, pending Fixed backquote lossage in DEFINE-FULL-CALL. *** empty log message *** *** empty log message *** *** empty log message *** *** empty log message *** Added NO-FUNCTION-VALUES-TYPES and made people use it so that they aren't Commented out all the :derive-type optimizer specs. Fixed LABELS/FLET parsing a bit. Set *TYPE-SYSTEM-INITIALIZED* so that we know when we can start using the Fixed broken arg type declaration for FINISH-DEFPRINTER Tweaks and fixes to new error output. Changed FBOUNDP conditionals to test *TYPE-SYSTEM-INITIALIZED* instead, Fixed VALUES derive type method to call VALUES-SPECIFIER-TYPE. Fixed KNOWN-RETURN to use the temps, now that we have loaded the args When finding the source file, require the FILE-WRITE-DATE to be = to the Initialized *TYPE-SYSTEM-INITIALIZED* to nil. Fixed FORMAT transform to not convert call CONTINUATION-VALUE on a string *** empty log message *** This commit was generated by cvs2svn to compensate for changes in r1223, Added use of *unparse-function-type-simplify* to prevent complex function Fixed some broken declarations. Now we recognize constraints from explicit conditionals. Block now has a TEST-CONSTRAINT slot used to represent the constraints Added primitive-type args back to restricted & wired TN constructors, since Changed comment to decsribe the new format of VOP-INFO-xxx-LOAD-SCS. Merged in changes from the MIPS branch, mainly the primitive-type-aliases Make the locations for a continuation according to the proven type when Changes to do type checking at the DEST rather than at continuation uses, Made load-tn packing only pack in SCs allowed by the operand primitive-type, Changed to understand the new load-scs format, and to not attempt coercions Flushed many now-suprious descriptor-reg SC restrictions in VOPs with CODE-CHAR result must be restricted to STRING-CHAR so that coercion Added back primitive-type args to TN constructors. COERCE-TO-FUNCTION => FAST-SAFE-COERCE-TO-FUNCTION. Added initialization of the BLOCK-TEST-CONSTRAINT slot. Only add test constraints on blocks with a single predecessor. Fixed some junk. Added CATCH-BLOCK primitive-type. Fixed CATCH-BLOCK primitive-type to use the CATCH-BLOCK SC instead of INTERN can't return NIL as its second value. Fixed Kill set computation. We were computing the kill set in the initial Fixed a bug in SSET-UNION-OF-DIFFERENCE that prevented the difference from Changed the :INIT-FUNCTION to SAVE-LISP to be the compiled Changed source context stuff to use the TLF number to do N reads to find Changed to use pointer< and sap+ instead of >= and + when operating on Added some var, and also filled everything, so I don't know what I changed. Deleted obsolete *file-input-handlers* from export. Changed type-of to use header-ref on structures rather than SVREF. Changed compiler error contexts to hold stringified source forms so that This commit was generated by cvs2svn to compensate for changes in r1417, Fixed ALLOCATE-RESOURCE-ID to not declare the types of the macro args, This commit was generated by cvs2svn to compensate for changes in r1419, Allow TRANSLATE to be NULL in DEFINE-KEYSYM. This commit was generated by cvs2svn to compensate for changes in r1421, Fixed SET-WM-PROPERTIES to set the WM-HINTS-WINDOW-GROUP to the This commit was generated by cvs2svn to compensate for changes in r1423, Fixed arg order to MAP-RESOURCE in MERGE-RESOURCES. This commit was generated by cvs2svn to compensate for changes in r1425, Fixed declarations in computation of LEFT-BITS in READ-PIXARRAY-1. This commit was generated by cvs2svn to compensate for changes in r1427, Flushed bogus macro arg type declaration in DEFINE-GCONTEXT-ACCESSOR. This commit was generated by cvs2svn to compensate for changes in r1429, Broadened the EXCL conditional on INPUT-STREAM and OUTPUT-STREAM in BUFFER New compilation hacks. This commit was generated by cvs2svn to compensate for changes in r1432, New compiler compilation hacks. This commit was generated by cvs2svn to compensate for changes in r1434, Supply some legal variable initial values and flush a bogus simple-vector This commit was generated by cvs2svn to compensate for changes in r1436, Flushed spurious ignore declaration. This commit was generated by cvs2svn to compensate for changes in r1438, Fixed line hackery to work in new compiler (and be portable too..). This commit was generated by cvs2svn to compensate for changes in r1440, Deleted some spurious ignore declarations. This commit was generated by cvs2svn to compensate for changes in r1442, Flushed bogus ignore declaration. This commit was generated by cvs2svn to compensate for changes in r1444, Fixed bad syntax in array type declarations. This commit was generated by cvs2svn to compensate for changes in r1446, Supply some legal initial variable values. This commit was generated by cvs2svn to compensate for changes in r1448, Supply some legal initial variable values. This commit was generated by cvs2svn to compensate for changes in r1450, Made FAST-FONT-MARK-P be FONT-MARK-P. This commit was generated by cvs2svn to compensate for changes in r1452, Supply some legal initial variable values. This commit was generated by cvs2svn to compensate for changes in r1454, Supply some legal initial variable values. Added CONSTANT-CONTINUATION-P assertion to CONTINUATION-VALUE so that we don't Check that the arg to %TYPEP is constant; evidently it isn't always. And let the %TYPEP arg be a CTYPE structure too, since William seems to like Fixed FIND-ORIGINAL-SOURCE not to bogue out when there is an atomic top-level William's initial version of FP instruction support. Added MAKE-xxx-STACK-POINTER-TN functions and moved Merged in William's changes of using special functions to make SP TNs, Merged fixes from the MIPS branch. Do operand type consistency checking even Added code to delete the lambda when we delete the combination for a let. Added a hack to prevent DEBUG-FUNCTION-FROM-PC by being confused by the Moved macros and vmdef earlier so that they are compiled before the macros Added WITH-FIXED-ALLOCATION macro. Derived from the SAP allocation, so this is Fixed OPERADN-RESTRICTION-OK to only call CONTINUATION-VALUE when the Added coprocessor branch instructions for FP conditionals. Added support Fixed syntax in the ODD-FP-REG argument type definition. Special-case printing of code pointers, so that we don't choke on internal code Added knownfun back into the compilation. Un-commented-out loading of CLX, instead making it conditional on the CLX Changed ABS to be an IR1 transform that only runs when the arg is a RATIONAL, Initial revision Initial revision Changed the float operand-types to work. Added some float format constants. Ripped out dummy float move functions. Added some number support exports from kernel and VM. In TN-VALUE, flushed the assertion that the TN is not in the CONSTANT SC. Changed the basic numeric equality to be EQL, and changed the numeric Added a hack to move-to-signed/unsigned to accept a CONSTANT operand, Added :move-argument VOPs. Initial revision Added notes to float VOPs so that we get efficiency notes if they can't be Changed two-arg-* to call MULTIPLY-BIGNUM-AND-FIXNUM instead of using Merged in my version of MULTIPLY-FIXNUMS with tests for a 32bit result before Ripped out unncessary NUMBER declaration in %NEGATE. Fixed CONSTRAIN-REF-TYPE to not lose when we substitute one variable for Added new bignum floating code. New interfaces are BIGNUM-TO-FLOAT and Ripped out exports and put them into exports.lisp. Updated BIGNUM exports and added some more VM float stuff. Added some new FP constants. Changed BASIC-COMPARE to optimize the case of comparing floats to 0. Changed Changed RATIONAL to special-case 0 so that we don't spuriously create a 128 bit Fixed decode/scale float stuff to handle zero correctly. Fixed up DUMP-FLOAT to make 0d0 be dumped so that it will be loaded as a double Fixed ASH to return 0 rather than -1 when there is a large negative shift, but This commit was generated by cvs2svn to compensate for changes in r1660, Fixed stuff to work with the new float, fixnum formats. Fixed FAST-ASH to correctly handle large negative shifts, and fixed some Fixed FAST-ASH to correctly right-shift unsigned arguments. Added %DIGIT-LOGICAL-SHIFT-RIGHT. Added DIGIT-LSHR which translates BIGNUM::%DIGIT-LOGICAL-SHIFT-RIGHT. Initial revision This commit was generated by cvs2svn to compensate for changes in r1689, *** empty log message *** Initial revision *** empty log message *** This commit was generated by cvs2svn to compensate for changes in r1699, *** empty log message *** Fixed defprinter stuff to not lose when the charpos can't be determined. Fixed KNOWN-CALL-LOCAL to call NOTE-THIS-LOCATION after emitting the LRA, Picked up 16x32 divide stuff from Bill (but it is conditionalize out). Also This commit was generated by cvs2svn to compensate for changes in r1740, *** empty log message *** Swapped costs of FAST-EQL/FIXNUM and FAST-EQL-C/FIXNUM so that the -C Changed the DEBUG-SOURCE-NAME to be of any type, since it can be the FLushed world-load-init-function and made SAVE-LISP turn on GC, since Uncommmented-out hemlock loading, and specified the right base file Deleted function-does-not-return test, since that is now done in COmmented out the WITH-... macro use, since it is causing some sort Changed to use new lexical environment stuff. Fixed ALIEN-BIND to work, Changes for new lexenv changes. Also clear more stuff in the (vain) hope Flushed cleanup hackery, since the lexenv changes make this unnecessary. Changed stuff to use BLOCK-ENVIRONMENT instead of the obsolete BLOCK-LAMBDA. Use NODE-HOME-LAMBDA instead of obsolete BLOCK-LAMBDA. Misc changes for new lexenv structure. Only dump TNs as always-live Changes for new lexenv structure. Fixed broken PROCLAIM. Added some Misc changes for lexenv stuff. Added comments in top-level lambda merging. Lexenv changes. Misc changes for lexenv stuff. New lexenv hackery and also NLX cleanup changes. lexenv changes and associated NLX changes, and also changes to support Deal with :block and :tagbody being seprate cleanup-kinds now. Lexenv changes, mostly usage of new block-flags block attributes instead Added SYMBOL-MACRO-LET. Error message stuff much changed for new source context stuff. New Changes for new lexenv stuff and :block/:tagbody cleanup-kind. Use block-environment instead of obsolete block-lambda, use block-start Lexenv changes: block-lambda => block-home-lambda, etc. No longer Change cookie hackery for lexenv changes. Lexenv changes, added support for (SETF xxx-ATTRIBUTEP) as a way to Fixed some broken declarations. Tweaked undefined warning stuff a bit; Lexenv changes. New lexenv structure. In the node, there is a new Use block-home-lambda instead of the obsolete block-lambda. Use block-environment instead of the obsolete block-lambda. Use block-start Use block-environment instead of the obsolete block-lambda. Use EVAL-IN-FRAME (conditional on *auto-eval-in-frame*) in the debug Changed MACROEXPAND and friends to hack LEXENV's as the environment arg. Mucho changes for interpreted code debugging. Also a couple of stack Fixed the DATA-VECTOR-REF transform for random SIMPLE-ARRAYs to transform In PROPAGATE-LET-ARGS, propagate the arg type to the refs before When substituting for the result continuation in let conversion, intersect In KNOWN-RETURN, target the OLD-CONT and RETURN-PC into the temps so Flushed old (and broken) DEFKNOWN for %UNARY-TRUNCATE. Fixed complex <,> to error on complexes. Fixed complex/real = to This commit was generated by cvs2svn to compensate for changes in r1861, Fixed broken declarations. Added support for TN-COST and TN-ENVIRONMENT. Deleted destruction Added code to recognize :DEBUG-ENVIRONMENT TNs as always-live, but only Added support for :DEBUG-ENVIRONMENT TNs and the new representation Changed some comments. Changed stuff to not allocate passing locations anymore, and to use Added new DELETE-FUNCTIONAL interface so that we can delete functions Mucho changes to local call argument passing to improve efficiency: Changes to support :DEBUG-ENVIRONMENT and :ALIAS TNs, and new Added code to LOCAL-CALL-ANALYZE to delete functions that were never Added code to CONVERT-AND-MAYBE-COMPILER to place the current value Flushed special support for :ENVIRONMENT TNs, since they now look Added support for :ALIAS TNs. Added support for :ALIAS, :DEBUG-ENVIRONMENT and :SPECIFIED-SAVE TNs. Flushed special-casing of :ENVIRONMENT TNs in DO-LIVE-TNS. Changes to support new :ALIAS, :DEBUG-ENVIRONMENT and :SPECIFIED-SAVE TNs. Changed the return-pc/old-cont save TNs to be DEBUG-LIVE. Added REGISTER-SAVE-PENALTY. Fixed ENTRY node printing to know about new entry node format. Deleted old TN-ENVIRONMENT. Support for stack parsing now that the old-cont/return-pc aren't always Added CLEAR-IR1-INFO which clears the refs for global variables. Added %CALLER-FRAME-AND-PC. Fixed PACK-TN to use the specified save TN even when the FSC is in that Fixed FRAME-DOWN to pass the real frame into GET-CONTEXT-VALUE, rather Changed ENVIRONMENT-ANALYZE so that it doesn't always give multiple Fixed typo in MERGE-ALIAS-CONFLICTS where I was using the initial value Fixed GENERATE-TYPE-CHECKS to always give a warning when any use of Added *FAILED-OPTIMIZATIONS* to the hashtables we create in Moved charmacs earlier in the compilation order. Changed alias and environment TN stuff to work with TNs that have no Fixed IR2-CONVERT-LOCAL-CALL to work when we have a non-tail call to a Fixed DESCRIBE-FUNCTION-LEX-CLOSURE to use GET-CLOSURE-LENGTH instead of Fixed PARSE-INTERPRETED-DEBUG-VARIABLES to hack uninterned variable names Fixed a bug in MERGE-ALIAS-CONFLICTS where conflicts could fail to be Fixed problem in rational X float truncate. Fixed some residual character bits lossage that was causing #\a to Initial revision Made DEF-IR1-TRANSLATOR set the SYMBOL-FUNCTION of special forms to Fixed FILE-COMMENT processing to actually work. Put interpreted function printing back in the printer after William Fixed uses of %ARRAY-DISPLACED-P to be guarded by ARRAY-HEADER-P. Tweaked float parameters to prepare for support for infinities, denorms, Fixed the :POLICY keyword to DEFTRANSFORM. Eliminated the IR1-FINALIZE interface and made the previously internal Eliminated call to IR1-FINALIZE in favor of separate handling of free Changed the EQL transform to not give an efficency note when we know Fixed FUNCTION-LAMBDA-EXPRESSION to return the right thing now that Changed the float exponent DEFTYPEs to allow for denormalized floats. Fixed DEFINE-FULL-CALL to work when the named call name is a static Changed the float-exponent and float-digits types to just glom onto Added support for printing denorms, infinities and NaNs. Moved float operations to float.lisp. Initial revision Added cfc1 and mfc1 instructions for float exception hackery. Added some exports for float parameters. Added support for reading and setting float variables. Initial revision Added FLOATING-POINT-INEXACT and FLOATING-POINT-INVALID conditions. Moved trap stuff to float-trap.lisp and conditions to error.lisp. Added stuff to read and set floating-point modes, and added calls Added notes for the data-vector-{ref,set} VOPs so that there will be Fixed use of IR1-FINALIZE, now use MAPHASH of CHECK-FREE-FUNCTION. Fixed reference to IR1-FINALIZE. Fixed some problems with interpreted alien access. Changed DEFOPERATOR to represent the function definition of an operator Added the :ENABLE-GC option to SAVE-LISP so that GC can be turned on Changed NOTE-FAILED-OPTIMIZATION to reflect the new format of Changed the failed optimization stuff to record one note for each Changed the ARRAY-DIMENSION transform to not print out a CONTINUATION Fixed SINGLE-FROM-BITS and DOUBLE-FROM-BITS to make negative floats Added *efficency-note-limit* and *efficency-note-cost-threshold* to Added REVERT-SOURCE-PATH and made %DEFUN and %DEFMACRO ir1 translators Added stuff to give an efficency note when we would like to be able Changed SXHASH to use the float-bits primitives instead of integer-decode- Added new FOP-SINGLE-FLOAT and FOP-DOUBLE-FLOAT faslops so that we can Changed DUMP-FLOAT to use the new FOP-SINGLE-FLOAT and FOP-DOUBLE-FLOAT Totally nuked the efficency note in the EQL transform, cuz LTN will give Changed NOTE-FAILED-OPTIMIZATION to redo the check for whether the type Fixed some broken declrations. Fixed some broken declarations and the file header comment. Inhibit substitution of let variables whenever the arg variable type is Added stuff to make DELETE-BLOCK print a note when it seems that we are Deleted some dead code that the last change detected (!) Added stuff to check for spilled TNs so that the debugger knows they In NOTE-REJECTED-TEMPLATES, moved the increment of COUNT inside of the Strengthened the type on SSET-ELEMENT-NUMBER to (or index null) so that Changed the does-not-return tail recursion inhibition to only apply to Fixed the creation of the initial globaldb cache vector to be the right Changed save optimization to either restore all live TNs at an Added DECLAIM macro. Changed OPTIMIZE declaration to allow any real Tweaked bit-vector make-array to not do generic arithemtic. Added IR2-COMPONENT slots to track spilled TNs for debug-info. Also, Added a declaration. Fixed typo in fboundp/setf transform. Commented out fboundp/setf stuff, Fixed variable describing. Made function describing better. Added some fixnum declarations. Changed ELT and %SETELT to check that the index is less than the LENGTH, Changed the ELT and %SETELT transforms to only change to AREF when Fixed paren error in last edit. Fixed SAME-LEAF-REF-P to check whether the value of the leaf can Fixed structure describing to use STRUCTURE-REF. Changed uses of COMPILER-ERROR to ERROR, since we can't use Force type check conversion of continuations that may be forced to Implemented ASSERT-DEFINITION-TYPE to apply a FTYPE proclamation Changed the DEBUG-SOURCE-NAME to be a vector of the top-level forms Cleaned things up a bit. Made sure that we were consistently using Changed INFO TYPE KIND be more correct in determining whether the type Fixed CHECK-FREE-FUNCTION to not blow away :DECLARED types when we Made CONSTANT-REFERENCE-P be an interface in the comment. Many fixes and some enhancements. Made *debug-print-XXX* go to *print-XXX* if they are NIL. Changed comment on debug-source-name to describe new convention for Changed FUNCTION-LAMBDA-EXPRESSION to use the DEBUG-SOURCE-INFO so that Made DEFTYPE warn if redefining a structure and flame if a primitive Made string input stream support file-length and file-position setting. Exported misc error printing control variables. Changed the comment in the IR1-ATTRIBUTES definition to reflect a new Exported efficency note variables. Fixed DEFUN to respect NOTINLINE declarations as inhibiting self-recursive Changed comment to describe the new use of LEXENV-TYPE-RESTRICTIONS Many changes for more robust redefinition of DEFfoos to DEFbars. Parameterized COMF by TARGET-FASL-FILE-TYPE. Added a new SOURCE-INFO arg to FIX-CORE-SOURCE-INFO. Fixed some This commit was generated by cvs2svn to compensate for changes in r2162, Changed compiler interface stuff to interface to Python. Fixed This commit was generated by cvs2svn to compensate for changes in r2164, Fixed compiler notification to dink the error/warning count. Added use-package of extensions so that we can define conditions exported Added SIGFPE-HANDLER. Fixed some condition signalling in SCALE-FLOAT-MAYBE-OVERFLOW, and Changed the SIGFPE handler to be VM:SIGFPE-HANDLER, which figures out Allow any kind of constants in the interpreter. Also, put back the Fixed REOPTIMIZE-CONTINUATION to set BLOCK-TEST-MODIFIED if the Changed UNLINK-BLOCKS and CHANGE-BLOCK-SUCCESSOR to set Added stuff to compute the right cost for simple type predicates that This commit was generated by cvs2svn to compensate for changes in r2194, Added CMU to the negative conditional on the DEFINE-CONDITION for Added some stuff to %DEFSTRUCT to notice when a structure is being Changed defstruct redefinition a bit. We are now more explicit about Changed def-c-record to make the field-info-type always be a c-type, Changed SOFTWARE-VERSION to run "version", rather than returning the Changed nsubstitute-if-not to not declare the :END argument as FIXNUM. Fixed CONCATENATED-READLINE to not declare variables to be Changed %REDEFINE-DEFSTRUCT to copy the old INCLUDED-BY into the new Added the REQUIRED-ARGUMENT function for squelching type warnings Changed DO-TYPE-WARNING to ignore uses whose type is NIL, and also Changed VALID-FUNCTION-USE to complain more intelligibly about args Fixed a bunch of problems revealed by the compiler now that it compares Changed THE/VALUES processing to not complain when the intersection Yet more structure redefinition hacks. Mostly rewrote UNDEFINE-STRUCTURE Changed comment about ENTRY-INFO and slot types to reflect the early Changed top-level component hackery to deal with components that had Changed entry annotation to use any existing ENTRY-INFO created by Changed PRE-ENVIRONMENT-ANALYZE-TOP-LEVEL to not gag on non :TOP-LEVEL In IR2-CONVERT-CLOSURE, create an ENTRY-INFO to represent a forward Changed COMPILE-TOP-LEVEL and COMPILE-TOP-LEVEL-LAMBDAS to deal Changed FIND-TOP-LEVEL-COMPONENTS to not make components that might In LOCAL-CALL-ANALYZE-1, added an explicit test for :CLEANUP functions, Added transforms to pick off the real cases of the irrational functions Made all the C stubs be exported and maybe-inline. Put the generic Fixed FIND-LAMBDA-TYPES to notice when the arg count changes. Added float contagion transforms so that mixed rational/float arithmetic Added stuff to backpatch core function objects so that there can be Moved assertion that the fasl file patch table was empty to be done at Upped *efficency-note-cost-threshold* to 5 so that we don't get Changed slot defaults for APPROXIMATE-KEY-INFO to use REQUIRED-ARGUMENT. Added representation selection efficency notes to warn when we are doing Added notes for the move and coerce VOPs for representation selection Broke the coercions to and from word integers up into multiple VOPs Made the C callout stubs for the math library routines be inline, since Generalized float contagion a bit to reduce the possiblity of quiet When doing keywords with hairy defaults, make the type of the main-entry Added *suppress-values-declaration* so that we can compile CLX, pending This commit was generated by cvs2svn to compensate for changes in r2348, Added *terminal-baud-rate*, which defaults to 9600. If true, this value Changed ADJOIN-TEMPLATE to operate on a list arg, rather than always Added new :TN arg to OPERAND-RESTRICTION-OK so that we can use it updated comments in the SC structure to correspond to the new usage of Added stuff to allow multiple move VOPs per SC pair, with selection ebing Added operand type restrictions on the fixnum<=>word coercions so that Ripped out old listen-iterations-hack. Fixed WORTH-USING-INSERT-MODE so that it does the right thing. We must Fixed the CALL-FORIEGN-FUNCTION IR2-Convert optimizer to understand the Changed variable dumping to realize that a TN can have no refs even Added call to COPY-PROPAGATE. Initial revision Added test that inhibits substituting for local call args, as this defeats Removed #+nil on the CONSTANT case for loading ARG-FUN in DEFINE-FULL-CALL. In the lifetime post-pass, added stuff to ensure that all results are Fixed REPLACE-TOP-LEVEL-XEPS to return T in a few more cases so that we Cleared up the explanation of keyword default types in Fixed handling of keywords with non-null constant defaults and supplied-p Updated for save optimization and copy propagation. Added the INTERPRETED-FUNCTION-TYPE interface so that the compiler Added stuff to make INFO FUNCTION TYPE on a function name that is defined Changed COMPILE-FILE to set *COMPILER-ERROR-OUTPUT* to *ERROR-OUTPUT* Fixed keyword parsing to iterate over the more arg in reverse order. This Added a funcallable-instance object for better PCL support. Added defknowns for FUNCALLABLE-INSTANCE-P and Added :alloc-vop for funcallable instance so that the constructor is Added funcallable-instance-p source transform. Added set-funcallable-instance-info VOP. Changed "does not return" note to only be done when brevity is 0. Fixed FUNCTION-ARGLIST to call INTERPRETED-FUNCTION-ARGLIST rather than Removed suprious duplicate binding of CODE-GENERATORS in Changed MAKE-TOP-LEVEL-FORM to only insert an EVAL-WHEN when necessary, Changed stuff to know that we have setf functions. Removed "encapsulation" of DESCRIBE, since our describe now calls Added some FUNCTION declarations to the funcall/apply stuff so that Changed to call PCL::DESCRIBE-OBJECT on standard instances and Changed random object printing to call PCL::PRINT-OBJECT on funcallable Added a source-transform for STD-INSTANCE-P that knows there are no Changed some SETF\ PCL\ functions to be real SETF functions. Changed set-symbol-function to recognize funcallable instances as When we see a package frobber, we need to compile pending top-leve Get the fasl file type from the right place, rather than wiring it in. New version that uses a special funcallable-instance object resembling Fixed funcallable instance printing. Changed DEFCLASS to declare the automatically defined slot accessor Fixed environment stuff to use the correct environment format. Fix lossage. Fixed setf'ers to return the right value. Changed environment-macro to return the original "LAMBDA" rather than Changed MAKE-LAP-CLOSURE-GENERATOR to use LOCALLY (OPTIMIZE ...) rather Added WITHOUT-INTERRUPTS. Initial revision Moved constants describing the floating point modes to here from Implemented floating-point-modes and set-floating-point-modes. Defined ldfsr and stfsr for manipulating the floating-point modes. Added constants defining the format of the FSR for floating point Generalized enough to support the SPARC as well as the PMAX. Added SIGCONTEXT-FLOATING-POINT-MODES for finding the floating-point Improved syntax error checking for the :TEMPORARY spec to DEFINE-VOP. Made check-fixnum be the type-check VOP for FIXNUM. The whole area of Fixed scale-float to signal underflow and inexact at the right times. Added GET-FLOATING-POINT-MODES to read the floating point modes. Made FLOAT-FAST-BIT be 0, since we aren't supposed to set that bit. Added float-fast-bit defined as 0, since there isn't any such floating *** empty log message *** Merged systems-work sources as of 12/10/90. Changed DO-NODES to work even when multiple next nodes are deleted. Fixed broken declaration. This commit was generated by cvs2svn to compensate for changes in r2660, In NEW-CACHE-ATTRIBUTE, moved the error check earlier so that we do it This commit was generated by cvs2svn to compensate for changes in r2662, Fixed "Delete Previous Character Expanding Tabs" to set the error flag Put some defconstants in eval-when (compile load eval) so that subsequent In %INITIAL-FUNCTION, added call to SET-FLOATING-POINT-MODES to enable Changed ROUND to call %UNARY-ROUND when the second arg is 1. Added %UNARY-TRUNCATE-{SINGLE,DOUBLE}-FLOAT/FIXNUM functions, but then Made ROUND source transform like the one for TRUNCATE, and also used Added ROUND => %UNARY-ROUND transform like that for TRUNCATE. Changed the existing %UNARY-TRUNCATE VOPs to be %UNARY-ROUND, and added Made CEILING and FLOOR be maybe-inline instead of inline so that by Fixed FORMAT-UNIVERSAL-TIME to not call DECODE-UNIVERSAL-TIME with a NIL Initial revision Initial revision Initial revision Changed MAYBE-NEGATE-CHECK to allow weakened checks to be simple when Changed CONTINUATION-TN to call CONTINUATION-CHECK-TYPES instead of Added new CALL-LEXENV slot to CLAMBDA so that we can remember what Changed :STRICT-RESULT conditionalization to see whether the policy FIND-INITAL-DFO to delete components with no entry points, as this Changed stuff to use NODE-HOME-LAMBDA, since now that lets can be Ripped out :policy specs in unsafe transforms, as this semantics is Made VALUES not foldable so that the new MV constant folding won't choke. Added INFO TYPE FROZEN which enables fast structure type test compilation. Mucho enhancements. Made local function inline expansion mark the leaf as ever-used so that Changed NODE-ENCLOSING-CLEANUP work now that lets can be deleted. Added efficency note for when a rest arg prevents local call conversion. Tweaked template selection so that it will pick cheap safe templates even Added :RESTART-P key to DO-NODES that provides for robust iteration in Added support for the FREEZE-TYPE declaration. Added special-casing of structure types that have been declared frozen Removed the STRUCTURE-PREDICATE function, as this is now done directly Fixed EXPT to correctly return complex results for negative numbers Fixed frozen structure type test stuff to allow any subtypes of the Changed LET and LET* to allow var specs like (VAR), as allowed by some Changes to get fasl file type from backend. Changed PROCLAIM IR1 convert to drop unknown declarations on the floor, Fixed the last fix. Another fix to the fix. Fixed a broken FUNCTION proclamation. Fixed broken declarations. Eliminated arg type declaration in FIND-FREE-VARIABLE so that a Mark XEPs as EVER-USED so that we don't get spurious unused function Fixed VALUES IR1 optimizer to do the REOPTIMIZE-CONTINUATION before Added stronger declaration on the SC-ALIGNMENT. Added transforms to canonicalize the result arg to bit-vector ops. Made these functions INLINE so that they can be open-coded. Added new EVAL-NAME keyword to DEFTRANSFORM to allow simple use of closures Added some missing declarations. Added transforms to inline simple-bit-vector logical operations. Changed bit-array functions to use the compiler transform for Fixed bit-array canonicalizing for the T case to have the right type. Various tuning tweaks, primarily the addition of an output buffer, and Changed LDB-TEST to use MASK-FIELD rather than LDB so that it won't do Picked up Bill's change of CASE to ECASE to suppress type warnings. Like, some new words, man. Initial revision Changed SC-CASE to print the offending SC in the error message. This commit was generated by cvs2svn to compensate for changes in r2793, Fixed EDITOR-COMPILE-REGION to use the :SOURCE-INFO arg to Words. Fixed "Universal Argument" to not call CHAR-CODE on NIL. This commit was generated by cvs2svn to compensate for changes in r2800, Fixed COMPILER-ERROR to not assume that all :COMPILE-FILE notes have a Buffer Changed COMPACT-INFO-ENVIRONMENT to sort the entries for names by their address Called SET-FLOATING-POINT-MODES in REINIT in hopes that this will make Merged Dan's DEFPACKAGE, and fixed it up a bit. Added Dan's NTH-VALUE macro. Added COMPLEMENT and CONSTANTLY functions from FUNCTION-COMPOSITION cleanup. In DELETE-LAMBDA-VAR, reoptimize the continuation so that we get a change Changed package function argument types for cleanup. Added transforms for CONSTANTLY and COMPLEMENT. Changed CONVERT-KEYWORD-CALL to CONVERT-MORE-CALL, and made it work when Fixed SHADOW to accept a single stringlinke thing as well as list. ignore => ignore Unconditionalized out some CLX stuff in SERVE-EVENT. Fixed paren error that was breaking keyword arg parsing. Commented out generic <=, >=, since these shouldn't exist after source Added the LAST-N X3j13 cleanup which gives LAST an optional arg for the number MOVE-{TO,FROM}-WORD/FIXNUM allow DESCRIPTOR-REG in their DEFINE-MOVE-VOP so Changed GET-INTERNAL-REAL-TIME to subtract out the time of the first Added IR1-OPTIMIZE-MV-COMBINATION, which dispatches to various In TN-IS-COPY-OF, allow copy propagation whenever there is an intersection Added ASSEMBLER-RESOURCES slot. Added SC-RESERVE-LOCATIONS slot. Added support for :RESERVE-LOCATIONS in DEFINE-STORAGE-CLASS. Fixed FIND-MOVE-VOP to do the arg/result type intersecting correctly. Added stuff for freelisting INSTRUCTION structures. Changed to use the new interface to the assembler that allows Added uses of the new ENTRY-POINT funny instruction which prevents New version of the instruction set definition that sets up attributes Added uses of :RESERVE-LOCATIONS in the SC defintiion. Added use of the ENTRY-POINT instruction to prevent bad code motion Added export for backend-assembler-resources. Fixed people to not destructively modify the USE, USED-BY and Fixed FIND-SYMBOL-OR-LOSE to work on NIL, and also to intern the New file header with RCS header FILE-COMMENT. This commit was generated by cvs2svn to compensate for changes in r2851, Changed to cache the LINE-LENGTH in the stream instead of querying Changed for new version of ts-stream that caches the line length. For This commit was generated by cvs2svn to compensate for changes in r2855, Added new header with RCS FILE-COMMENT. Added new header with RCS FILE-COMMENT. Changed DEFPACKAGE to expand into stuff that will have the package effect at Added some uses of REQUIRED-ARGUMENT. Added a use of REQUIRED-ARGUMENT. Added error check to squelch type warning. Added use of REQUIRED-ARGUMENT. Added INHIBIT-WARNINGS declaration in DEFINE-CONDITIONAL-VOP to suppress the Fixed syntax lossage in defallocators use. Moved fasl format constants out of this file into vm-macs. Removed some old vars and added some new ones. Made %PRIMITIVE translator look in the OLD-C package if it exists Moved NOTE-NAME-DEFINED out of here an into proclaim.lisp. Removed some #-new-compiler conditionals in eval-when compile's, since Moved NOTE-NAME-DEFINED here and changed it to see if *UNDEFINED-WARNINGS* Moved SC-NUMBER-LIMIT to vm-macs. Initial revision Removed package frobbing of CURRENT-SP. Moved some stuff to vm-macs. Put backward-compatibility TN-OFFSET defconstants in eval-when (compile Added some uses of required-argument. Fixed file header comment.. Fixed file header comment.. This commit was generated by cvs2svn to compensate for changes in r2883, Made *TYPE-CHECK* be false for CMU, and also made TYPE? just be typep. Merged systems-work source as of this date. The main substantive change Merged systems-work sources as of this date: .../systems-work/code/eval.lisp, 09-Aug-90 15:23:35, Edit by Chiles, Rob, Wlott. .../systems-work/code/query.lisp, 14-Jun-90 21:46:58, Edit by Chiles. This commit was generated by cvs2svn to compensate for changes in r2890, In set-root-resources, changed the default for :WRITE to be #'PRINC so Fixed TN-IS-COPY-OF some more. Fixed some broken arg type declarations.. Fixed IR1-OPTIMIZE-MV-CALL not to convert calls with more than one arg, Added vm-macs and assem-opt. Allow DESCRIPTOR-REG where we allow ANY-REG, since we might be Allow DESCRIPTOR-REG when we allow ANY-REG in move-to-word/fixnum .../systems-work/code/reader.lisp, 26-Apr-90 16:19:15, Edit by Chiles. .../systems-work/code/char.lisp, 20-Jun-90 14:25:00, Edit by Chiles. Fixed PROCLAIM IR1 translator to hook in NIL if the spec is not constant, Fixed the fix to call %proclaim rather than doing nothing. Fixed TS-BUFFER-SET-STREAM to pass the stream back when it calls Weakened assertion in IR1-CONVERT-MV-CALL. Undid LOCALLY because it was tickling a bug. Fixed some float operations to have the right read and write values New file header with RCS stuff. New file header with RCS stuff. Added BASIC-SAVE-TN which must be used in lieu of SAVE-COMPILEX-WRITER-TN Fixed THEREIS to not be broken, and to work. Fixed some loop syntax and typos and stuff. Fixed TN-OVERLAPS in LOAD-TN-OFFSET-CONFLICTS-IN-SB to make the upper bound Added RETURN-FROM around the calls to ERROR in the NUMBER-DISPATCH expansion so /usr2/ch/lisp/format.lisp, 13-Mar-90 19:02:12, Edit by Christopher Hoover. Changed some broken explicit argument type checking in [N]BUTLAST to Added *assembly-optimize* flag so that we can easily turn this off to Changed CLEAR-STUFF to not clear the live TNs unless debug-too, so that Revamped :save-once TN stuff to work now given the (long ago) change Changed FASLOAD to check that there is something in the stream before it drops Deleted some uses of REQUIRED-ARGUMENT. dd-constructor -> dd-constructors now that there can be more than one Merged with systems-work sources as of this date. This mainly picked up Changed the default for *check-consistency* to be NIL to reduce compile times. Checked in mucho changes from william's play area. Initial revision Merged in many changes from william's play area (mostly ripping out Checked in many changes from William's play area. Initial revision Merged in William's changes. Mostly new logical names and COMF Initial revision Merged the times for the pack phases into a single number. Similarly, Added an assertion in single-use continuation variable substitution. In find-free-function, added an assertion that the result is not a Added MAYBE-REMOVE-FREE-FUNCTION and made XEP deletion call it so that Fixed IR2-convert-closure to work in the presence of forward references Added an assertion that a function that we are converting a call to Fixed IR2-CONVERT-CLOSURE to not attempt initialization of slots Fixed let var substitution to not attempt to substitute references in different Changed to look in the tools directory for worldload.lisp Increased the size of the environment so that I can build cores that William Don't increment note count when the note is inhibited by the INHIBIT-WARNINGS Moved some stuff out of here and into ir1final. Changed to call the new ir1-finalize function. Added new IR1-FINALIZE function that combines a bunch of stuff previously Changed to call IR1-FINALIZE instead of CHECK-FREE-FUNCTION and Changed compiler-version to 1.0, and made it a defvar so that core building can Changed backend version to 1.0. Support for new minimal debug info format to reduce space use. Tweaked DEFUN to work better on functions defined in a non-null environment. Changed stuff to note functions defined even when they aren't currently in Tweaked %DEFUN translator some more. If the function is :NOTINLINE, then Made the output stream for a process buffer be full buffered rather than line Made REDISPLAY-WINDOWS-FROM-MARK punt if there is any input. This allows the Changed TTY listen to try calling SERVE-EVENT before returning NIL. This Moved defknowns and exports to vm-fndb. Symbols are now exported from Moved debug defknowns and exports here from mips/debug. Symbols are now Removed export of CURRENT-FP from C, now that it is exported from KERNEL. This commit was generated by cvs2svn to compensate for changes in r2973, Added GET-TERMINAL-ATTRIBUTES to get the terminal size and speed from unix. Call GET-TERMINAL-ATTRIBUTES to get the terminal size and speed from the OS. Added SPEED slot to the TTY-DEVICE. Frobbed COMPUTE-TTY-CHANGES a bit. We don't clear the flags and delta here, Export CODE-DEBUG-INFO from KERNEL. Changed REDISPLAY-LOOP to check for pending input before display of Changed standout mode start for the modeline to be inside the protected Some changes to make things work better in the face of display aborting Changed INPUT-METHOD-MACRO to loop calling redisplay until it returns NIL Changed smart and semi-dumb redisplay to always call smart-clear-to-eow when Fixed XEP finalization to not gag on string function names. This commit was generated by cvs2svn to compensate for changes in r2994, Fixed MARK-TO-CURSORPOS to call MAYBE-UPDATE-WINDOW-IMAGE in case the buffer Added call to EXPAND-PSEUDO-INSTRUCTIONS now that this has been spilt Disabled hack, since it was losing for some reason. Moved tail annotation back here from ir1final, since it must be done after Moved tail annotation from here back to envanal, since it can't be done yet. Added *in-redisplay* flag which inhibits recursive invocations of redisplay Added a switch the disable the complementing optimization of type checks Fixed CHECK-KEYWORDS not to print "zeroth". Spiffed up FAILED-TO-PACK-LOAD-TN-ERROR to print out how each possible location Fixed my fix to spilling for multi-location load TNs. Added DELETE-COMPONENT and fixed DELETE-REF to do the right thing for When deleting blocks in FIND-DFO, set DELETE-P first. Removed deleting of never-used functions from here, since this is too Added a new assertion in DELETE-COMPONENT. Added support the the ANSI *COMPILE-VERBOSE*, *COMPILE-PRINT*, Added new COMPILE-FILE keywords. Added :VERBOSE, :PRINT and :PROGRESS keywords to COMPILE-FILE and Fixed up %DEFUN translator to do block compilation. Added support for the minimal debug function format. Added block compilation declarations. Added use of the SMALL feature to cause compilation with debug-info 1. Fixed scope error in DEBUG-INFO-FOR-COMPONENT. Ooops... Removed some debugging code. Fixed STRUCTURE-USAGE to work with the new structure format. Frobbed package Added a call to eval:flush-interpreted-function-cache before the call to purify Added FLUSH-INTERPRETED-FUNCTION-CACHE so that we can prevent interpreted stuff Added derive-type methods in the defknowns for the sap setters. Changed %DEFKNOWN not to ignore the derive-type methods. Added some Changed NOTE-REJECTED-TEMPLATES to print out somewhat more info in the case Fixed FAILED-TO-PACK-LOAD-TN-ERROR to know about conflicts with component Compile the backend with safety 0 and debug-info 1, conditional on the SMALL Made the proxy form for a compile time read error be a CERROR rather than an Really made the back end be compiled unsafe when the SMALL feature is present. Added PRINT-ALLOCATED-OBJECTS, for groveling around in memory to check VM Added CODE-PACKAGE-BREAKDOWN and UNINTERNED-SYMBOL-COUNT. Tweaked STRANGE-TEMPLATE-FAILURE to extract the names from the argument Fixed FIND-MOVE-FUNCTIONS to allow unbounded SCs to appear in the SC Uncommented out the float array VOPs, and converted for them for the RT. Changed OUTPUT-RANDOM to print the name of code objects and the value of value Initial revision Generalized CODE-PACKAGE-BREAKDOWN to also do breakdowns by file, and changed Added PRIMITIVE-TYPE-VOP for CHECK-FIXNUM so that this template actually gets Fixed some broken computations of the address of stack locals. Have to add in Added support for the OPTIMIZE-INTERFACE declaration and context-sensitive Added support for the LEXENV-INTERFACE-COOKIE and added Use the interface cookie when converting an XEP. Treat the interface cookie pretty much the same as the ordinary one. Added support for the interface cookie. Added support for the OPTIMIZE-INTERFACE declaration. Fixed WITH-COMPILATION-UNIT keyword to be :OVERRIDE instead of :FORCE. Changed WITH-COMPILER-LOG-FILE to pass through any keyword arguments to Changed to always compile external interfaces and external macros safe, but to Changed to use context-dependent safety, and to compile various guts unsafe Fixed up the logic in SUB-GC somewhat so that it will always reset the GC This commit was generated by cvs2svn to compensate for changes in r3150, Added "Slave GC Alarm" variable (default :MESSAGE) which controls how obnoxious If the SMALL feature is present, clear the BACKEND-PARSED-VOPS. This prevents Fixed last change. Changed WITHOUT-GCING to use UNWIND-PROTECT instead of MULTIPLE-VALUE-PROG1 so Added a (OPTIMIZE (SAFETY 1)) in LEAF-VALUE so that we get unbound errors in This commit was generated by cvs2svn to compensate for changes in r3170, Reduced INITIAL-WORD-TABLE-SIZE from 10 to 2. The average utilization of this Added Recursive and Explicit-Check attributes, which control compilation of the Made the guts of EVAL safe. Added some declarations to the dummy xxx-carefully functions for safety. Made the synonym stream methods safe so that we will get unbound errors even in Added many uses of the explicit-check and recursive attributes. Also, Made internal setf inverses safe, and fixed some WCU syntax. Added context sensitive declaration stuff and more SMALL conditionalization. Added context sensitive declarations and SMALL conditionalization. Added a CONTINUE restart in LOAD that returns NIL. Changed DEFUN to apply declared types to definitions of functions as long as Don't print warnings about recursive calls to known functions with the Deleted some broken vestigial syntax. Fixed a context declaration to be a keyword. Changed PRINT-ALLOCATED-OBJECTS to be able to print conditional on Made SYMBOL-FUNCTION and SYMBOL-VALUE safe. Changed GENSYM to use Fixed negated sense of explicit-check test in %DEFUN translator. Changed DO-COERCE-EFFICENCY-NOTE not to use GET-OPERAND-INFO, as that makes it In last fix, print position one-based, not zero-based. Ripped out support for CHECK-FUNCTION-OR-SYMBOL, since the definition was wrong Flushed CHECK-FUNCTION-OR-SYMBOL. Changed ONCE-ONLY to use LET* instead of LET, cause I was tired of not being Rewrote ONCE-ONLY to be less twisted so that I could make it sequential. Changed the WITH-xxx-STRINGs macros to use simply WITH-ARRAY-DATA, now that it Reimplemented WITH-ARRAY-DATA to pick off the simple case and call Replaced FIND-DATA-VECTOR with %WITH-ARRAY-DATA, which does bounds checking, Added derive-type method for %WITH-ARRAY-DATA Converted over nearly all of the old derive-type methods to corresponding new Generalized RESULT-TYPE-SPECIFIER-FIRST-ARG to be a functional that results a Changed read-from-string and parse-integer to use with-array-data so Changed PARSE-NAMESTRING to use WITH-ARRAY-DATA. Made SEQ be compiled safe because I don't feel like putting in all that Use debug-info 1 with SMALL feature. Added NO-COMPILER, just for grins. Added missing close paren. Changed to repeatedly exec rlog instead of just calling once, as it seems to Fixed broken syntax. Fixed lifetime bug in binops, and fixed comparison. Fixed accessing of mc68881 control registers. In double-float-{high,low}-bits, we need to do a double store, not a single Changed to ignore SET and TYPE-CHECK-ERROR (in addition to MOVE) when selecting Made ONCE-ONLY differently twisted so that it still implements LET* semantics, Added profile.lisp to the compilation. Added profile to the load. Add room to the compilation. Load room.lisp Spiffed up formatting in SPACE-USAGE and STRUCTURE-USAGE so that ROOM Made ROOM be much more verbose, calling MEMORY-USAGE and STRUCTURE-USAGE in Changed the "Room" command to let WITH-RANDOM-TYPEOUT figure out the number of Moved load of room to after compiler, and made it conditional on the Checked in new version which computes the time overhead on first call In MAYBE-LOAD-STACK-TN FP-TN => CFP-TN. Changed block compilation stuff to ignore block declarations if Changed TAIL-CALL and various local call VOPs to allow fixed args Saved out the buffer this time... Fixed MAYBE-LOAD-STACK-TN to accept word-pointer and non-descriptor regs. Weakened an assertion in STACK-SIMULATION-WALK, and explained it in the Changed macroexpand to expand symbol macros. Added (SETF BIT) and (SETF SBIT). Renamed %APPLY-ASET to (SETF AREF). Flushed Initial revision Added compile of setf-funs. Added load of setf-funs. Flushed some old commented-out stuff. Suppress generation of some silly (and broken) setters: (SETF LDB), etc. Changed DEFSETF and DEFINE-SETF-METHOD to call a common subfunction, Changed VALID-FUNCTION-USE to say "exactly" when there is an arg count error Frobbed SETF a bit more. We still always call GET-SETF-METHOD to let it do its Initial revision Added argument type restriction on move-to-word/fixnum so that we don't use it Fixed CONVERT-MORE-ENTRY to use the interface policy when determining whether Fixed up concatenate, map and make-sequence-of-type to handle DEFTYPE'ed types This commit was generated by cvs2svn to compensate for changes in r3288, .../systems-work/clx/input.lisp, 25-May-90 15:08:42, Edit by Chiles. Changed unrenamed TTY-INSPECT from INSPECT. Added inspect to the compile (conditional on CLX). Added inspect to the load order. Added a dummy definition of INSPECT for when we have no CLX. Change ENTRY-INFO to allow function type and args to be omitted. If debug-info is < 1, then don't dump debug-args or function type. Inhibit continuation substitution when the let and ref have different policies, Convert aux bindings with the interface policy, mainly so that proper type Fixed the local call VOPs to do the MAYBE-LOAD-STACK-TN for tne new FP last so Really fixed output type stuff this time. Now in the fall-through clauses, we Fixed the bug in local call (which showed up on the RT) where the CFP was being Fixed the bug in local call where the CFP was being trashed before the stack Added WARNING-FUNCTION option to ASSERT-DEFINITION-TYPE, and use it to flame Changed %DEFUN to pass a warning-function to ASSERT-DEFINITION-TYPE, which Fixed set-recentering-for-typescript-windows to work on non-typescript buffers. This commit was generated by cvs2svn to compensate for changes in r3310, .../systems-work/clx/dependent.lisp, 24-May-90 16:00:24, Edit by Chiles. This commit was generated by cvs2svn to compensate for changes in r3312, Added CMU code to determine implementation endianness. Somewhat surprisingly, Merged with systems-work sources. The only change was to make Added :EOF support in listen method, and fixed a few comments. Added notes for sap moves, fixed file header package. Changed to work now that the display-input-stream is really a stream. Changed FD-STREAM-READ-N-BYTES to block in unix-read rather than select so that This commit was generated by cvs2svn to compensate for changes in r3322, Flushed old CMU internal buffer slots, and made the in/out streams This commit was generated by cvs2svn to compensate for changes in r3324, Changed stuff to use fd-streams instead of weird kludges for i/o. Added a Declared the stream slots to be functions so that we don't have to mess around Made bits, bytes, etc., be defined in the null environment so that they can be Added many declarations indicated by efficiency notes. In check-approximate-fixed-and-rest, say "second" instead of "two". Added declarations & used block compilation to reduce the amount of number Fixed "Track Buffer Point" to use (current-window) instead of the unknown Fixed CONNECT-TO-INET-SOCKET to check that we successfully looked up the name Changed to deal with debug arguments being unspecified. Circularly link the echo hunk in its own next/prev chain. Changed SERVE-EVENT to not try to serve X events when the FD is in the FD Fixed a problem I introduced in WAIT-FOR-EVENT where if the timeout wasn't an In %unary-truncate, kill some more time before doing the fcvt to ensure that Tweaked serve-event some more. Handling of queued X events in not inhibited by Fixed another use of display-input-stream to call fd-stream-fd. Changed describe-function-compiled to work when the debug args are NIL When doing the labels hack in converting global inlines, respect :NOTINLINE Added support for the CONSTANT-FUNCTION declaration. Changed structure predicate transform to inhibit inline expansion of the Fixed COMPUTE-1-DEBUG-FUNCTION to work correctly with DEBUG-INFO levels between Oops... In global inline expansion, we have to substitute for all references Added :PACKAGE constext declaration. Added :TIMEOUT argument to MAKE-FD-STREAM. The SYSTEM:IO-TIMEOUT condition is Changed the debug-info level for internal functions to be .5, which now Changed small debug-info to .5 to suppress debug args and types. Changed internal debug info to .5 to suppress debug arglists. Changed internal debug-info to .5 Made internal debug-info .5, and made external interfaces fully safe. Changed MAKE-ARRAY and ADJUST-ARRAY not to assign their arguments so that type Changed STRING-xxxCASE to not assign arguments. Deleted spurious CHECK-TYPE in RENAME-PACKAGE. Changed readtable hackery functions to not assign their arguments. Changed exported funs not to assign their arguments. Changed PROCESS-OPTIMIZE-DECLARATION to recognize the correct DEBUG quality, as Added optional NOTINLINE-OK argument to CONTINUATION-FUNCTION-NAME. Changed function continuation annotation to allow NOTINLINE references to be Tweaked stuff to work now that notinline function references can be delayed. Fixed argument order to BOOLE. Fixed MAKE-ARRAY :INITIAL-CONTENTS to be a sequence, rather than only a list. Tweaked PRINT-HERALD to print the backend version, and to say to send mail to Changed to use target/VERSION instead of the date if it exists, and to only Changed version hackery. Now we only prompt for the Raised the *hemlock-version* to 3.5 (.1 greater than the last old RT core.) Fixed typo in error message. In NOTE-FUNCTION-USE, make allowp be T-or-NIL, instead of a random Bind *block-compile* to NIL in COMPILE. Fixed a problem in EMIT-ARG-MOVES. If we do a coercion + move-arg, then the Fixed FORMAT-PRINT-NUMBER to correctly insert commas for negative numbers Added :call-site and :single-value-return code location kinds. Added :call-site and :single-value-return code locations. Fixed COMPILE-FILE doc string to say that the :ERROR-FILE default is NIL. In system-setters combined the BASE and TEMP temporaries to keep the poor Don't allow targeting into reserved locations. Possibly a pessimization, but Added note about needing (load (open ...)). Fixed get-setf-method to only inhibit for local functions, not local macros Deleted some bootstrapping setf hacks. Deleted setf bootstrap hack. Deleted some setf bootstrapping hacks. Undid last change, and radically changed how load-TN packing recovers when Merged Simon Leinen's fix to OUTPUT-SYMBOL. This amounted to deleting an Added sun4 conditional to not use the FxTOIR instruction. Instead there is a Made sigcontext-pc a synonym for sigcontext-iar. Added rt-arpa-fasl-file-implementation. Set up the backend differently, conditional on the AFPA feature. Added assignment to *target-float-hardware*. Removed initial value for *target-float-hardware*. Moved WITH-FP-TEMP here. Moved WITH-FP-TEMP to macros.lisp so that the AFPA stuff can use it too. Added AFPA support. Initial revision Added conditionalization for RT AFPA support. Added load-time frobbing of the AFPA feature. Changed LOCAL-CALL-ANALYZE to call DELETE-FUNCTIONAL when it comes across a Fixed some bugs with multi-location load-tn packing. Merged Mile's fix to remove-duplicates :from-end. Merged Simon Leinen's fix to generic-function-type-from-lambda-list which makes Changed EVAL to use the recorded CONSTANT-VALUE when evaluating constants so Added SHARP-P. Fixed all recursive READ calls to specify eof-error-p T. Changed pathname printer to use #P. Merged Simon's fix to local-call-analyze-1 to make it work on maybe-inline Make all random atoms self-eval. Added check-pack-consistency, which checks that SC restrictions have really Added code to compile the argument to TIME when possible, and print a warning Added call to CHECK-PACK-CONSISTENCY, updated call to DUMP-SEGMENT. Added call to SEGMENT-CHECK-REGISTERS, conditional on *assembly-check.* In allocate-full-call-frame, don't save the result on the stack if First cut at semantic annotation. Mainly lifetime info at this point. Swapped compare less and greater because that seems to be how things Conditionalized some float array hackery on AFPA. Added compilation of assem-check and RT conditionalization of the float file to Added load of assem-check. Fixed the fix for maybe-inline to really be a fix. In FIND-REFERENCE-FUNCTIONS, don't return :DELETED functions. This was causing In GET-LAMBDA-ENVIRONMENT, clean out any deleted variables that where optimized Fixed a bad declaration in COALESCE-MORE-LTN-NUMBERS. The TN-REFs list can be Removed redundant $header. Moved PATH search list initialization to save, since that's where it's called. Site and OS portability improvements in environment query functions. We now Added support for the CMUCLLIB/library: search list. Added load of If CMUCLLIB is not defined, use /usr/misc/.cmucl/lib/. Use get-page-size instead of vm_statistics. Moved foreign-segment-XXX Use GET-PAGE-SIZE instead of vm-statistics. Changed to use search-lists instead of absolute pathnames for finding the Merged Axmark's changes to make TIME find the time&consing overheads of the Initial revision This commit was generated by cvs2svn to compensate for changes in r3678, If the terminal rows/columns are 0, then return NIL (meaning value unknown.) Added compile of mach-os or sunos-os, #+ conditionalized. Added mach-os and sunos-os, #+conditionalized. Fixed FORMAT transform to warn if there are to many or too few args. Fixed ENSURE-BLOCK-START to set up the new block's start-uses. Make user-homedir-pathname just return home:. Changed ENVIRONMENT-INIT to initialize "home:". Fixed VALUES declaration to work correctly when zero values are specified. Use EXTENSIONS package. Made CAREFULLY-ADD-FONT-PATHS expand search lists. Replaced absolute pathnames with library: pathnames. Changed termcap-file from This commit was generated by cvs2svn to compensate for changes in r3696, Find dictionary file with library:. This commit was generated by cvs2svn to compensate for changes in r3700, Removed directory from "Slave Utility Pathname". Hopefully we will find lisp Removed /usr/cs and /usr/misc directories from default paths. We should be Fixed EXPT to handle double-float x ratio combination. When deleting unreferenced closure vars in GET-LAMBDA-ENVIRONMENT, watch out Added code to clear LAMBDA-VAR-INDIRECT (to handle the case where sets to a Fix to make unreferenced arguments in local call work. We were correctly Updated description of the REDISPLAY return value. Added description of terminal initialization (size and speed.) Fixed UNPACK-FOR-LOAD-TN not to unpack *totally* random TNs (like restricted Fixed load-tn-offset-conflicts-in-sb to return the load TN if that is Deleted BOGUS temps. Changed SAP-SYSTEM-SET to be special-cased, because Moved static and dynamic spaces to correspond to changes in ldb (for Mach 3). Fixed bug in FIND-REFERENCE-FUNCTIONS introduced by the last change. Ignoring Oops... I really meant to use NARGS, not NL0. Changed ordering of CHAR-NAME-ALIST to prefer NEWLINE, ESCAPE and DELETE to Added :KEY argument to REDUCE. This commit was generated by cvs2svn to compensate for changes in r3762, Fixed not to print echo area messages "Error in NIL ..." This commit was generated by cvs2svn to compensate for changes in r3764, Changed to count notes and display in completion message. Added "Typescript Slave Status". This commit was generated by cvs2svn to compensate for changes in r3767, Added TYPESCRIPT-SLAVE-STATUS & status interrupt handler. Documented "Typescript Slave Status". Changed SYMBOL-MACRO-LET to SYMBOL-MACROLET. Changed (fixed?) argument/result parsing to default lifetimes, SCs and targets In save-dynamic-state, init the NPF result even if there isn't any NFP. Might Use CODE-TN instead of allocating a temporary in CODE, which is rather random, Fixed MFMQSCR annotation to write its operand rather than reading it. Fixed SAP-SYSTEM-SET some more. Increase the size of the environment that we allocate. Added preference to move-argument VOPs. In addition to being pessimal, it was This commit was generated by cvs2svn to compensate for changes in r3780, Fixed sentence-offset-forward to work at the end of the buffer. Added REDUCE :KEY. Put back EXPORT call that seems to have been dropped in the last edit. Added doc strings for DEFTRANSFORMs. Changed IR1 transforms to be represented by TRANSFORM structures rather than an Changed IR1 transform stuff to use TRANSFORM structures instead of conses so Changed NOTE-FAILED-OPTIMIZATION to print the transform note explaining what Added support for DEFTRANSFORM doc strings. Fixed COMPUTE-OLD-NFP and ALLOCATE-FRAME to not store the NFP result if it Initial revision Initial revision Initial revision Changed hemlock init file loading to accept .hemlock-init as well as Added note about imported packages (CLX, etc.) Added hardware requirements section and note about the function type cleanup. Added marker for the place that the 14c beta release was done. Initial revision Added notes for 15a, and deleted old installation info in the 14c notes. Initial revision Fixed distribution size note, and softened the sentence about memory This commit was generated by cvs2svn to compensate for changes in r3835, Added a missing ~ in the echo area message. Oops... Added mention of the .hemlock-init name for the hemlock init file. Deleted spurious blank line. Fixed FTP instructions to say username@host rather than "real user ID". Changed section beading. This commit was generated by cvs2svn to compensate for changes in r3841, *** empty log message *** Initial revision Merged with latest PCL version. Initial revision Added changes for 15b. Fixed TAGBODY not to consider NIL to be a tag. Added octet INET addresses to the names of the gateway machines. PRINT-BIGNUM tables need to be 37 long, since bases go up to 36. Added :UNIX to the features list. Make USER used the PCL package. Changed flash-window and flash-border to do a display-finish-output in the Added note about FILES and source distributions. Added a template for Hemlock source file directory translation, and improved Added code-component-p, lra-p and a dummy scavenger-hook-p. Changed font specs to use point size instead of pixel size so that they work on Tweaked assert-definition-type error messages not to always assume that the Changed FTYPE declaration handling to be able to deal with a FUNCTIONAL in Deleted spurious line at EOF due to non-newline termination in merge. Added ignorable declarations on some spurious variable bindings. Fixed newline merge lossage. Fixed newline eof merge lossage. Shadow SYMBOL-MACROLET, and don't export it at CMU. Put renaming of setf functions under CMU conditional. Un-commented-out an unused function, to be like the distribution. Deleted #. in export to be like the distribution. Fixed CMU parameterization of *pcl-directory* to be more consistent with Fixed load-truename tweak. Fixed DOUBLE-FLOAT-LOW-BITS to be different from DOUBLE-FLOAT-HIGH-BITS when Fixed TYPEP SATISFIES to always return T-or-NIL, regardless of what the Fixed EXPT to deal with SINGLE-FLOAT x SINGLE-FLOAT arg type combination. Updated for 15b and mentioned source distributions. Merged Lange's enhancement to NTH-VALUE; it now doesn't cons for non-constant N Merged Lange's declarations for nthcdr/butlast/nbutlast. Add ALLOWP and KEYP to OPTIONAL-DISPATCH printer. Fixed IR1-CONVERT-HAIRY args to correctly handle &key with no keys specified. Added INLINE MEMBER declarations in the set functions. Suppress argument assignment warning if the function type doesn't give us any Added FUNCALLABLE-INSTANCE-P VOP. Added :LOWTAG option to TEST-SIMPLE-TYPE. Changed TEST-TYPE to handle tests for function header subtypes (i.e. Added FUNCALLABLE-INSTANCE-P. Updated to understand function header subtypes. Added EXPLICIT-CHECK attributes to FDEFINITION frobbers. Added CHECKING-SYMBOL-FUNCTION to cause undefined errors to be signalled when Deleted FUNCALLABLE-INSTANCE-P transform (now a VOP.) Added some SXHASH Fixed REVERSE-FIND-VOP to correctly handle searches in overflow blocks. Changed to use :EVAL-NAME and closures instead of macros for the string Instead of saying Allegro, say "commercial implementations." Added EXT:*TOP-LEVEL-AUTO-DECLARE*. Added generalized source context parsing with EXT:DEF-SOURCE-CONTEXT. Added a Added DEFTYPE for PERQ-STRING and NULL-TERMINATED-STRING. FIxed VECTOR-SAP to Added optimize (safety 1) to make sure that some sort of syntax checking is Declared the argument types to concat-names so that they will be type-checked. Added type check on conc-name option. CLX R5 changes. Added :SCS (DESCRIPTOR-REG) to the more operand of full-call VOPs Added :SCS (DESCRIPTOR-REG) to the more operand of full-call VOPs Changed FTYPE proclaim to ignore slot accessors, instead of undefining Use ASSERT-DEFINITION-TYPE in local FTYPE declarations. Improved representation selection by not toally ignoring references If environment analysis trashes the DFO (i.e. by inserting cleanup code) Added loop rotation optimization. Added new package file, and made XLIB package renaming conditional Inhibit loop rotation in functions with NLX targets, since it gets Fix PCL DEFMETHOD source context. Fixed sub-check-in-file to specify "-u" as a list. Added NIL-FUNCTION-RETURNED-ERROR for flaming about functions that returned, Added NIL-FUNCTION-RETURNED-ERROR. Move any extra links from the initial component tail to the new component Defer walking blocks whose successor is the component tail, so that Link NLX points to the component tail, instead of leaving them with Link tail full calls to the component tail, instead of leaving Fixed comment. Mostly rewrote FINISH-IR2-BLOCK. We now recognize blocks that don't Added MAYBE-TERMINATE-BLOCK, which looks at a combination node to see When converting an OK combination, call MAYBE-TERMINATE-BLOCK (unless Inhibit loop rotation when the loop head is also the head of the current Changed the move to/from base-char VOPs to hack descriptor-reg operands. Tweaked BAD-COSTS-ERROR not to totally die when it is called on a more operand. Changed the :EVAL-NAME option to DEFTRANSFORM to also eval the argument and Quoted arg/result types in :EVAL-NAME DEFTRANSFORMs. Added a RANDOM derive-type method. Added derive-type methods for ASIN, ACOS, ACOSH, ATANH and SQRT which figure Use RESULT-TYPE-FLOAT-CONTAGION on irrational functions whose result is real Added RESULT-TYPE-FLOAT-CONTAGION. Deleted MAYBE-MUMBLE'ing. Moved clearing of COMPONENT-REANALYZE in FIND-DFO from the end to the start Pass an explicit flag to MAYBE-TERMINATE-BLOCK indicating that we are in IR1 Added DFO-AS-NEEDED, which iterates calling FIND-DFO as many times as is Set COMPONENT-REANALYZE when we delete a lambda. Frobbed DELETE-UNREFERENCED-TNS to correctly handle deletion of environment When optimizing combinations, don't do the "efficiency hack" of checking Changed FLUSH-DEST to *not* delete continuations that are Added check for random blocks having the component tail as a successor. Fixed CONVERT-MV-CALL to be like CONVERT-CALL in that it converts the call to Made MAYBE-TERMINATE-BLOCK more cautious about using continuation type Changed to use DESTRUCTING-BIND instead of WITH-KEYWORDS, so we get some error Initial revision Added disassem.lisp. Added BACKEND-DISASSEM-PARAMS. Added load of disassem. Added Miles's disassembler annotations. Changed MERGE-TOP-LEVEL-LAMBDAS to work now that there are additional links In MAYBE-TERMINATE-BLOCK, don't try it if either the block is DELETE-P Fixed the VALUES IR1 transform (which discards unused values forms) to work Fixed DEFKNOWN for ATAN to allow two arguments again. Deleted some orphaned code. Deleted some confusing dead code. Generalized LABELS style indentation to reference the variable Fixed DELETE-UNREFERENCED-TNS to be less broken. Load disassem before assembler to set up packages. Added new alpha release notes. Changed BookmanDemi to SouvenirDemi. If we see a reference to a named constant that isn't a number or charcter, Fixed named constant dumping to allow direct references to interned symbols. Changed DATA-VECTOR-SET to make sure that the new value is checked to be of the Changed IGNORE and IGNORABLE to recognize #'fn-name. Exported IGNORABLE from Compile compiler/debug with full safety and debug info. Changed to zero the table pointer at the end of each group so that we can Changed MEMBER transform to always return the correct tail of the list, instead Clear out NODE-DERIVED-TYPE in references to escape functions before substution In CONSTRAIN-REF-TYPE, clear out the old NODE-DERIVED-TYPE in the IF case to Made the documentation for CMUCL_EMPTYFILE clearer by saying how you can use Fixed indentation for FLET&c to check that we are actually in the first arg In DEFPRINTER, ignore the depth since it is no longer used. Added comment. If we undefine a structure type, unfreeze it also. Fixed function dumping to understand that it is now the TAIL-SET-INFO Changes to deal with :ASSIGNMENT lambdas. We can directly drop through Changed debug dumping stuff to use the ANSI pprint interface. Added Fixed MERGE-TOP-LEVEL-LAMBDAS to deal with missing return nodes. It turns Delete all unreferenced functions after cleanup generation (including Fixed to deal with new TAIL-SET semantics. All lambdas now have tail-sets, Give a warning in DERIVE-NODE-TYPE when we prove inconsistent types. This In NODE-ENDS-BLOCK, set COMPONENT-REANALYZE, since we are introducing a Added conversion of :ASSIGNMENT lambdas. Majorly changed LET stuff to support assignments. Added Updated for new TAIL-SET semantics. Added a call to DFO-AS-NEEDED immediately before control analysis so Added :ASSIGNMENT FUNCTIONAL-KIND. Changed NODE-TAIL-P to be Updated source pointers for new tree organization. Restored code in MERGE-1-TL-LAMBDA which was inadvertently lost in the last Don't use RETURN-INFO-TYPE NIL to decide when not to assign a RETURN-INFO. In *** empty log message *** Changed DEFINITION-TYPE to use the TAIL-SET-TYPE instead of the continuation Fix type. Added LEGAL-IMMEDIATE-CONSTANT-P. Changed CONTINUATION-DELAYED-LEAF to not Moved code for determining whether named constants can be referenced directly Made undefined read macro errors be ignored when *read-suppress* is T. Changed *** empty log message *** Qualify kernel:*current-level*. Fixed SET-FUNCTION-NAME to correctly set interpreted function names. Reenabled method-not-found hack. Substantially rearranged function describing to make it more consistent, and Inserted calls to %CLEANUP-POINT in the dynamic scop binding forms to ensure Added %CLEANUP-POINT. Added IR2-CONVERT method for %CLEANUP-POINT (which doesn't need to do Changed MAYBE-RCS-CHECK-CHECK-OUT-FILE and status line hackery to call Fixed COMPILE-FILE to explicitly allow T & NIL for the optional filenames, now As a temporary hack until we fix purify to know what structures are R/O, added Changed EQUAL and EQUALP to compare pathnames with PATHNAME=. Deleted some Deleted walker::walk-template from implementation properties, since the package Added FOLLOW-LINKS to DIRECTORY. Fixed DRIBBLE to monitor *ERROR-OUTPUT* as well. Added FOLLOW-LINKS argument to DIRECTORY which inhibits the final call to Upped the safety and debug-info for pathname and filesys. This commit was generated by cvs2svn to compensate for changes in r4290, When we reallocate vectors to grow them, clear the old vector so that it won't Don't print "NIL documentation". Always put value cells, funcallable instances and weak pointers in static Flushed old mention of *used-documentation*. Do inconsistent derived type warning only when *CHECK-CONSISTENCY* is T. It Changed DELETE-FILE to signal an error if the file doesn't exist. Added DISASSEM:SET-DISASSEM-PARAMS so that the file will compile again. Fixed RESET-STACK-POINTER to use WORD-POINTER-REG instead of ANY-REG. Fixed comment about WORD-POINTER-REG SC. Fixed DUMP-DATA-BITS-MAYBE-BYTE-SWAPPING to not reference the source vector out When computing costs for references by MOVE VOPs, don't signal an error if a Changed WITH-PATHNAME to call PARSE-NAMESTRING on the result of FILE-NAME. In COMPILE-FILE use PATHNAME of the output stream rather than TRUENAME of the Fixed syntax in ED arg types. Added NO-OP definition of %CLEANUP-POINT. *** empty log message *** *** empty log message *** Fixed CODE-BREAKDOWN to format properly now that source-info-file is a string, Fixed REVERT-PATHNAME not to call FILE-WRITE-DATE on NIL if there it no Added dummy conditional for RT breakpoint inst so it will compile. Syntax. Fixed unbind-to-here to work when there are > 1 bindings. A branch needed to Changed the BSP to not be included in the dynamic state, to be consistent with Tweaked formatting in code-breakdown. Added check that the CLX event handler returns true (i.e. did something.) Made sigcontext-floating-point-modes always return 0 (instead of getting Fixed OUTPUT-VECTOR to not consider *PRINT-ARRAY* in string printing. This commit was generated by cvs2svn to compensate for changes in r4319, Deleted EVAL-WHEN (COMPILE) around DEFINE-SEARCH-KIND and Initial revision When we have a :SAFE VOP, flush result type checks when the result has only a Fixed result type assertion on the :SAFE (tagged add) VOPs. The result type This commit was generated by cvs2svn to compensate for changes in r4327, Don't call NAMESTRING on NIL in REGION-COMPILE. In parse-debug-blocks, fix typecase to look for I-D-FUNCTION, not BLOCK. When computing interpreted debug blocks, ignore successors to the component Fixed internal documentation pointers. Added notes for float move/coerce VOPs. Added notes for SAP coercion VOPs. Fixed cost for MOVE-FROM-SAP. Added notes for character move/coerce VOPs. Updated the integer move/coerce VOPs to correspond to the MIPS version. Typo. Don't prefetch symbol in the unbind-to-here loop delay slot, since on the RT, :node -> :note. Added code to load CLX if it has not been loaded yet. Changed FEATUREP to barf if it is passed a list form with a strange CAR. Type. Fixed error context stuff to know that the source-info-name for a file is now Moved INFINITE-ERROR-PROTECT to interr. Made all the ERROR functions use this Moved INFINITE-ERROR-PROTECT here from error.lisp, and made INTERNAL-ERROR use Deleted call to ERROR-INIT. Moved interr before error. Fixed FIND-CALLER-NAME and FIND-INTERRUPTED-NAME to actually use the same Changed the 68881 load and store pseudos to include a mc68881-wait in the Deleted all uses of mc68881-wait, since they are now implicit in the load/store 15c notes. Added NODE-SOURCE-FORM, CONTINUATION-SOURCE-FORM. Initial revision In FIND-RESULT-TYPE, don't call MAYBE-CONVERT-TAIL-LOCAL-CALL on like, changes, man. Prefix Hemlock doc names with "hemlock-". Updated for 15c release. Added pointer to the README file for site Changed NCONC to signal an error if a non-null ATOM appears other than as the Removed no-longer-necessary mc68881-waits. Added AFPA float vector refs. Fixed REQUIRE-ARGUMENTS to work on functions with no argcount info. Fixed integer comparison VOPs to be appropriately prioritized by cost. When seeing to replace a transform, check that it has the same note as well as Added some bogus float trap constants to make float-trap compile. Updated for 15d Updated for 15d. Added more explanation of tmpfs lossage. Changed source tree Changed COMMUTATIVE-ARG-SWAP to actually splice in the constant arg, so that Fixed (- x) to expand directly to (%negate x), rather than going by the Changed REQUIRED-ARGUMENTS to recognize closures and funcallable instances, and More changes Used a hack to keep the magic $header string from appearing in the script Fixed to work once again now that the fasl dumper is more anal about dumping More tweaking of arithmetic identities. (* x 0) transform is also Added READTABLE-CASE. Added a print-function for READTABLE. Added support for READTABLE-CASE in symbol printing. Added some missing array Properly qualify kernel::*values-specifier-type-cache-vector* in BOUNDP check Put log file in target:. Use target:clx/ instead of clx:. Compile tools/rcs. Process the command line before printing the herald so that we can eval some New super-whizzy compile-everything script. Takes all kinds of command-line Fixed (typep x '(and ...)) to not always return NIL. Make SET-FUNCTION-NAME return the function, even when called on interpreted Added all the float limit constants to the exports. Added UPGRADED-COMPLEX-PART-TYPE. Added UPGRADED-ARRAY-ELEMENT-TYPE. Added upgraded-{array-element,complex-part}-type. Changed LET* and &AUX to allow duplicate variable names. Added MAYBE-INLINE declaration for all functions where it makes sense. Fixed some SAP-consign in MAP-ALLOCATED-OBJECTS. Eliminated some annoying Specify stream when printing unbound marker. Don't look at the LAMBDA-TAIL-SET of deleted functions to find out the result Export new variable *ignore-extra-close-parentheses* if true (the default), Changed all macros which ignore the numeric arg to warn if there is one. Changed to use %READER-ERROR. Added DECIMAL-STRING function for use in getting the string for float Changed FLONUM-TO-STRING to consider widths < 1 to be 1 to prevent infinite Print a error summary even when *compile-verbose* is false. (This is only Call PURIFY multiple times & make multiple info environments. Hopefully this Fixed a bug that caused an internal error when a never-referenced function Load GENESIS if it isn't already loaded. Added %PUTHASH. Added explicit context declaration patter to safely compile %PUTHASH and a few Fixed spelling of "efficency" Mucho changes. We now accumulate statistics as floats in structures. PRINT-UNREADABLE-OBJECT returns NIL, not #> Added IF-SOURCE-NEWER keyword. Added a doc string for LOAD. Added ANSI features *LOAD-TRUENAME*, Changed load to deal with source files having NIL type more reasonably. Added Print the package name instead of NIL when we can't find a package in symbol Changed *LOAD-VERBOSE* initial value to T. Flushed -x flag, and made print the features list. Removed warning about RCS tree reorganization w.r.t. the internal document, Use LOCALLY to frob the debug-info level for COMPUTE-TIME-OVERHEAD-AUX, since a In INTERNAL-LOAD, load the TRUENAME, not the pathname, since in the Initial revision ;;; 11/9/90: Added *GC-RUN-TIME* accounting. Added some declarations, primarily for the Conditionalize the optimize declaration on DECLARE-UNSAFE. Fixed call to UNIX-UTIMES. Changed TIME to use *GC-RUN-TIME* to print the amount of time spent in GC. Changed unsafeness conditional to be DECLARE-UNSAFE to be consistent with other Initial revision Put back my !#$^% fix to PRINT-SUMMARY. Added an assertion that we don't join components with random kinds. Bind *PRINT-LINES* around compiler error output to *ERROR-PRINT-LINES*. When checking if the call we are about to convert is going to be deleted, look Added :DELETED component kind. Added :FROM option for date cutoff. Made default output pathname default all Oops. Fix spelling. Fix #- syntax. Really make sure compute-time-overhead-ax has function type info. *** empty log message *** Added description of cmu-user.info. *** empty log message *** Update for 15e. Moved release notes into the release notes. Added mention of cmu-user.info in *** empty log message *** Weakened component kind type assertion in JOIN-COMPONENTS. Added some dimension type checking to array type parser. Allow storing of (* char) in c-strings so that we can initialize c-string Allow (* char) in the c-string lisp-rep as well. Added support in TYPE-OF for alien-value structures. Export SYSTEM-AREA-POINTER from ALIEN for consistency. Changed LOAD-FOREIGN to be exported from ALIEN. Changed it have keyword args Added NULL-ALIEN and many doc-strings. Make stuff work when conc-names make a subtype slot accessor have the same name If dsd-accessor is NIL, don't define any accessor. Changed DSD-ACCESSOR comment. FREEZE-TYPE ALIEN-VALUE, and make a half-assed fix to ALIEN-SUBTYPEP of Declare the BACKQ-mumble's INLINE to avoid gratuitous pessimization. Fixed PARSE-1-DSD to correctly recognize conc-name accessor duplication when Avoid repeated calls to MOD when searching down a collision chain in Changed WITH-SYMBOL package hashtable lookup to not repeated call REM when Convert SIMPLE-STRING SEARCH to %SP-STRING-SEARCH. Fixed %SP-STRING-SEARCH to actually work, and to have some reasonable In PARSE-1-DSD, don't blow away the accessor when we are just redefining the In TIME, fixed display of consing and page faults in the case where no GC time Put random state in the file so that it really is deterministic. Supply legal Added (in-package "USER") Added optimization which deletes MV-BINDS when all variables have been deleted. Apply global function type declarations to calls and definitions of global Fixed RETURN-VALUE-EFFICENCY-NOTE not to flame out when some functions in the Changed SUBSTITUTE-SINGLE-USE-CONTINUATION to not substitute if the BARF is not return type NIL, since it calls CERROR. Deleted unnecessary special-casing of LET calls and bind nodes in DELETE-BLOCK. Added UNCONVERT-TAIL-CALLS step in LET conversion which marks calls as no Removed debugging code and fixed some misleading comments. Added a source transform for FUNCALL with directly converts to %FUNCALL when Don't substitute out LET variables when the initial value is a reference to a Added an assertion that we don't try to local call convert when the caller and Backed out of the last change and tried another cut. We maintain the Fixed SOURCE-TRANSFORM-STRUCTURE-TYPEP to return T-or-NIL in the frozen Changed assertion to use MAIN-ENTRY instead of writing it out. Like, more words. Inline expand %MAKE-ALIEN and FREE-ALIEN to avoid spurious Alien-value consing. Initial revision Updated user manual documentation pointers. Fixed to actually allow tracing anonymous function objects. Changed to allow Need a NOP in READ-CONTROL-STACK. Fixed FRAME-CATCHES to work again now that frame pointers are SAPs. Removed compilation of clx-ext and inspect. These are now compiled by clxcom. Smash together all the fasls into clx-library.fasl. Compile and load inspect This commit was generated by cvs2svn to compensate for changes in r5120, Blew away defvar inits forms for variables also assigned in re-init-key-events. Compile and load key-event and keysym-defs from hemlock, since the X inspector Moved package initialization here from loadhem. Removed compilation of key-event stuff, as that is now part of CLX (there is Load CLX and Hemlock from the combined -library files. Set up the Hemlock version in the defvar init, and call %INIT-HEMLOCK at EOF Oops... Fixed some pathname hackery in the fasl smashing. Fixed some pathname hackery in the fasl smashing. Added missing ". Fixed version hackery. When smashing fasls, supersede the old version. Supersede old version of smashed fasls. Put hemlock hacks in #+hemlock. Add a HEMLOCK feature when we load Hemlock. Put charmacs in CLX since key-event uses it. Compile key-event and keysym-defs :load t. Moved NUMBER-STACK-DISPLACEMENT here from call, since it is used more than one Moved number-stack-displacement to parms, since it is used elsewhere. Don't stick the lisp-implementation version on the compiler version. Defined new parameterized PRINT-HERALD, exported *HERALD-ITEMS*. Set up herald to display the version. Set up herald to display the version. Don't put lisp version in Put version in the herald. Made function-end breakpoints for known-return functions signal an error, since Fixed ACTIVATE-BREAKPOINT to build the breakpoints list in forward order to Uh, more changes. CPI estimate, whatever. Substantially rewritten. TRACE has a new syntax. It now subsumes the old Initial revision Changed cmu-user back to a PS file, since some people don't understand DVI. Initial revision A node line was missing in the debug-internals chapter, causing most of Change herald to suggest reporting to local maintainer. Updated for 16d, including description of the configuration process for Started new file, with old releases pushed to the omega notes Note that the hardcopy documentation is out of date. Initial revision Delete mention of XP. Fix release date... Updated pathnames to be relative to library:, deleted support, mentioned Encode pairs with shifting, not multiplication. Efficiency tweaked gelm. Fixed variablep not to choke on ||. Deleted calls to load, because we're smashing together the fasl files. Initial revision Merged Mile's fix to MAKE-PATHNAME so that it knows the difference between This is March-92-PCL-2a. Fixed an occasional NIL not CONTINUATION error in DELETE-CONTINUATION when the In UNCONVERT-TAIL-CALLS, don't unconvert the tail calls for the assignment we Changed assertion in FUNCTION-CONTINUATION-TN to be more like *I* would have Updated comment for IR2-CONTINUATION-PRIMITIVE-TYPE. In FUNCTION-CONTINUATION-TN, always annotate with the derived type (function), Add :SETF to the features list for new PCL. Set COMPONENT-REANALYZE in MAYBE-TERMINATE-BLOCK if we do terminate. Changed not to barf if a block has no predecessors. This really shouldn't Added setting of COMPONENT-REANALYZE all places where we do UNLINK-BLOCKS and Note the environment start location as :non-local-entry. This is maybe kind of Don't destructively modify the breakpoint list in SUB-ACTIVATE-BREAKPOINT so Have to specify :save-p... Fixed dispatch macro characters to be case-insensitive, and to disallow digits Moved tail-set merging here from IR1-OPTIMIZE-RETURN, since it wasn't being Moved tail-set merging out of IR1-OPTIMIZE-RETURN into LTN. Changed Added a -interactive switch which sets *interactive* to true when compiling. Fixed RANDOM derive-type method when the class is NIL, or is FLOAT and FORMAT Changed CONVERT-CALL-IF-POSSIBLE to not attempt to convert when the call is in Rename the slot-accessor-name package too... Update for new TR number, use cmu-titlepage style. Don't override \maketitle, since we seem to have gotten the cmu-titlepage Merged Olssons fix to WITH-ENABLED-INTERRUPTS now that it doesn't change Exported variables *use-block-starts-only* and *print-code-location-kind* Changed to use PRINT-FRAME-CALL instead of the internal PRINT-CALL-FRAME-1. Changed #a reader to allow arbitrary sequences instead of just lists. Changed BREAK to accept a condition as well as a format string. Change $* to $@ Fixed IR2-CONVERT-ENTRY to correctly handle tagbodies with more than one tag More words, man. Added hfill as a latexinfo no-op. Added new debugger breakpoint commands and new trace documentation. Changed default base file name for load-foreign to be the name used to run Changed timeout handling to work for non-integer timeouts. Moved Added new syscall* macro which signals an error instead of returing errno. Clarified that CMUCL_EMPTYFILE must be a file. We must do merge-tail-sets before potential let-conversion so that we will Added checking for potentially TR local calls with different tail sets. Added Fix typo. Don't call CONTINUATION-CHECK-TYPES if PROBABLE-TYPE-CHECK-P returns NIL. Make the analogous change to CONVERT-MV-CALL. Make that "$@" In RECOGNIZE-KNOWN-CALL, reconvert the form if it has an inline expansion or Conditionalize deletion of unreferenced :optional entry points for the byte This is July 92 PCL If *byte-compiling*, only do compile-type type error checking. No check Initial revision Added function definitions for some random functions like two-arg-char=. Byte compile if :MAYBE and SPACE or CSPEED is 3. Added support for :TYPE-PREDICATE load-time fixups in byte code. Added support for :TYPE-PREDICATE fixups in byte code. Add type checking support. Gag bound-but-not-referenced warnings when brevity = 3. Make the PCL package after we rename it so that early package hackery Fixed VPRINT command to actually be verbose. Don't try to reconvert calls to SETF functions with inline expansions *** empty log message *** Changed to use dolist/destructuring-bind, instead of LOOP destructuring, since Changed loop destructuring to destructuring-bind. Change from loop to destructuring-bind, use the real REAL type now that we have Added UNIX-FAST-GETRUSAGE which is inline, only returns the system and user Changed GET-INTERNAL-RUN-TIME to use UNIX-FAST-GETRUSAGE to avoid Eliminate load of trace.lisp (the old tracer.) Update for 16e. Add 16e notes. Set *ENVIRONMENT-LIST* to NIL before we start to push things on it in Deleted compilation of trace.lisp This is CLX R5.01 Fixed some lossage revealed by last change. Changed backq-list, etc., from being inline functions to compiler-macros, since Fixed a problem with conflict analysis of :more TNs (which are created Changed ASSEM to NEW-ASSEM in BOOTSTRAP conditional. Changed DOLIST not to introduce the spurious let around the result form when Changes to handling of inline expansion/inlinep information. Deleted REF-INLINEP initialization. Handle :ERROR COMBINATION-KIND. Changed erroneous calls to be :ERROR kind, not :FULL Changed not to use :NOTINLINE as a way to mark calls we are counting on Fixed MAKE-INTERPRETED-FUNCTION to pass the arglist in so that it isn't Moved ASSUMED-TYPE recording here from IR1tran so that we have the best Added block compilation declarations. Moved some stuff around to get Added block compilation declarations and moved stuff around for better Added EXT:*INLINE-EXPANSION-LIMIT* and INLINE-EXPANSION-OK. Now local-call conversion is responsible for copying lambdas for Handle :ERROR COMBINATION-KIND. Deleted binding of *FAILED-OPTIMIZATIONS* (now component-failed-optimizations Flushed *failed-optimizations*. Added ftype declarations for the profiled functions so that it works Deleted unused slots. Added missing type declarations Changed argument count determination to parse the function type and This commit was generated by cvs2svn to compensate for changes in r5497, Fixed doc string. Fixed WAIT-UNTIL-FD-USABLE to correctly borrow from the timeout seconds when Added VARIFY-LAMBDA-ARG and MAKE-NEW-INLINEP to their block's entry points. Fixed START-BLOCK, END-BLOCK and recognized declarations to be ignored in Make PROPAGATE-TO-REFS an entry point. delete-lambda => delete-functional, since only the latter is an interface Added interpreter stub for value-cell-ref (for load-time-value). Make propagate-from-sets an entry point. Changed a delete-lambda call to delete-functional, since it isn't inside the Changed compiler-macro-function to work w/o LEXENV-INLINEP slot. Moved setting of DEFINED-FUNCTION-FUNCTIONAL into IR1-CONVERT-LAMBDA-FOR-DEFUN Catch LOCAL-CALL-LOSSAGE around the call to ir1-convert-lambda when inline Pass inline-ok argument to IR1-CONVERT-LAMBDA-FOR-DEFUN. Added COMPONENT-REANALYZE-FUNCTIONS. Add functions to COMPONENT-REANALYZE-FUNCTIONS when we convert new local Analyze functions in COMPONENT-REANALYZE-FUNCTIONS as well as the Upped *inline-expansion-limit* to 50 and fixed format string. Call LOCAL-CALL-ANALYZE in IR1-PHASES if there are functions to be reanalyzed. Inhibit assignment conversion (as well as let conversion) in calls to named Type. Changed MAYBE-REANALYZE-FUNCTION to always add to REANALYZE-FUNCTIONS (unless Allow descriptor-reg for the count result from more-arg-context. In IR1-OPTIMIZE-MV-COMBINATION, only call MAYBE-LET-CONVERT if we suceed in Only save inline expansion in output file when :INLINE... Don't compile load-time-value lambdas if they've already been compiled Merged William's change to load-time-value to not include make-value-cell Added a hack to compiling of type system code to prevent interpreted Added a hack to IF-IF optimization to hopefully prevent some spurious Really clobber %deftype. Fixed to look for defined-functions in *FREE-FUNCTIONS*. Fixed hash-table make-load-form to use the right keywords, and also Compiler inline changes, misc bug fixes Fixed inline-syntactic-closure-lambda to actually work with a non-null Clear out functional-entry-function in the top-level lambda before calling *** empty log message *** Fixed FIND-RESULT-TYPE to correctly handle assignment conversion. Enhance comment. Initial revision This is September 92 PCL. Prevent recursive opportunistic inline expansion during IR1 conversion by In FINALIZE-XEP-DEFINITION, if not the current global definition, just leave Export ARRAY-DISPLACEMENT. Exported various slot accessors of streams now part of the standard. Made Export FILE-STREAM from LISP as a synonym for FD-STREAM. Add :INTERACTIVE-P This commit was generated by cvs2svn to compensate for changes in r5648, Add :interactive-p misc method (always returns T). Added COPY-STRUCTURE. ext:floating-point-invalid => cl:floating-point-invalid-operation floating-point-invalid => floating-point-invalid-operation Exported FLOATING-POINT-INEXACT from CL, and renamed & exported Added :'s on all keyword names. Allow non-keyword keyword names when the &key keyword is specified separately Delete #+CLX conditional on HANDLE-QUEUED-CLX-EVENT, since we want to be able Fixed GENTEMP to use its own counter, instead of *gensym-counter*. Weaken type declaration on third SELECT result, since it can be NIL if we get Add load of module.lisp for provide/require. Compile module.lisp again. Replaced occurrences of "^L" with real control-L's. Changed "environment too big" message to suggest probably a sparc 10. Update for 16f. Add notes for 16f. Added DO-HASH Moved DO-HASH to extensions. Fixed a problem with ASSERT-DEFINITION-TYPE when we have a keyword arg with a *** empty log message *** *** empty log message *** Initial revision *** empty log message *** new structure hacks new structure hakcs New structure hacks add fop-layout New structure hax. New structure hax. New structure hax. New structure hax. New structure hax. New structure hax. instancep => %instancep move undefine-function-name back to proclaim, misc fixes misc fiexs. new structure type system hax. add init-form arg to define-hash-cache. Fixed VALIDATE-CALL-TYPE to correctly handle calls where there is no *** empty log message *** Initial revision Call typedef-init and class-init. *** empty log message *** New structure hax. Initial revision Export typedef-init, ctype *** empty log message *** Lose old character, compiled-function deftypes. Don't try the (SETF (APPLY ...)) hack for functions with non-fixed args, since Tweaked the global set macros inhibition for local functions to work correctly Make type compiler-layout default to the current layout. Updated find-free-function accessor hackery to work with CLASS ACCESSOR-FOR New structure hax. Allow CLASS as FOR in SLOT-ACCESSORs. Update structure type hackery function-header-code-offset => function-header-code-offset Fix %'s in instance-length. Increment fasl file version. Finish edit & change object-not-structure to object-not-instance. Compilation error cruft.. New structure hacks. named-types become built-in-classes. structure Add %layout-invalid-error and fix some stuff. Add some documentation & make T translated. Many changes to make it compile and sort of work. Lots of bootstrapping Bring back a pseudo-general named type-class & make T one so that Recognize T as a named-type in TYPEP.. object-not-structure-error => object-not-instance-error Added new exports. Flushed some random IMPORT-FROM cruft. Flush %primitive error source transforms. Make error VOPs translated normally Add some class operations. Qualify some more stuff as KERNEL:, also fix a trunk bug with Suppress simple-vector bounds check in structure type test, since Add raw-{set,ref}-{single,double} base-character -> base-char. Changed the alien-type structures to explicitly specify an &key BOA new structure hax for sxhash. Add class stuff boot hax. *** empty log message *** tweak warning messages. add back base-char class. fix fixed stuff qualify kernel:class-proper-name export class-typep, fix typo in equalp. fix args to write-string. fix paren lossage *unparse-function-type-simplify* is NIL by default. Add support for Flush spurious eval-when Fixed #S and removed a residual reference to the STRUCTURE type. base-character => base-char Add another keyword BOA so that we can look at other arg values. missing comma fix structure-pointer-type => instance-pointer-type Translate CHARACTER class to BASE-CHAR. Fix FIND-NAME-INDICES. typo. typo. One more try at the BOA constructors, this time handling inclusion. Alien type constructor arg hack. tyop. Don't use load-time-value to get layout in the constructor, instead new structure hax. milkshake. Oops... gotta return second value T in named-type =. If bootstrapping, set the layout-info in the old layout when null. Flush extra ). Don't unnecessarily set compiler-layout in bootstrap hack. Fix old mentions of TYPEP-TO-STRUCTURE. Put %COMPILER-ONLY-DEFSTRUCT Look for compiler-layout in bootstrap hack. Compiled with efficency notes & fixed generic arith. Real-valued Tweak cold-load initialization. Added some missing type declarations for efficeincy. Fixed a type error Fixed raw constructors to work again. Changed copy-structure to check Changed copy-structure back to copy-type-class (which is hackishly defined Fix layout-layout initialization & dump layouts in map file. Fix typeerror. When struct bootstrapping, need to convert symbol structure types Added type decls from efficeincy notes. Added type decls from efficency notes. Tweaked interface to insured-find-class so that it takes a predicate, Tweaked interface to insured-find-class so that it takes a predicate, added type declarations from eff notes. made digit-char-p and digit-weight class-proper-name shouldn't error if class is not defined. In ENSURE-STRUCTURE-CLASS, don't check for inconsistency if Fix negated sense of test on raw-type in %defstruct. Inheritance depth of T is 0, not 1. Fixed LET* to correctly use the internal policy (not the interface policy Need to register layout if it was forward referenced but not yet Fix uses of print-unreadable-object not to have two #<'s. Add PURE layout slot. Move STRUCTURE-OBJECT defstruct here so that it runs first. Restored Added call to CLASS-FINALIZE after all top-level forms & other Fixed PACKAGE-OR-LOSE to work on symbols again. In local call VOPs, must load CALLEE-NFP with MAYBE-LOAD-STACK-TN, since it This commit was generated by cvs2svn to compensate for changes in r5926, Say KEY-EVENT instead of STRUCTURE, since that's what we mean. type-specifier, not specifier-type in unknown type test eff note. Except when otherwise noted, CTYPEs are :PURE. Debug-info structures are pure. Move structure-object to type-boot. Add support for pure structure types Add LAYOUT-PURE slot. Add arg type declarations. (wlott) divide array Weaken (not (component-new-functions component)) assertion to allow COMPACT-INFO-ENV is pure. Fix slot accessor redefinition warning. structure -> instance structure -> instance This commit was generated by cvs2svn to compensate for changes in r5937, Member & hairy types aren't pure, but key-info's are. fixed layout invalidation to actually work. In CTYPE-OF, don't return standard-char anymore, since it is just new structure branch & tuning, see new_struct new structure branch & tuning, see new_struct new structure branch & tuning, see new_struct Flush old in-buffer support. new structure branch & tuning, see new_struct delete compilation of type system stuff. new structure mods. Finshed ripping out in-buffer stuff. Add an unread method for region streams which is needed now that the Clobber the vectors of the VOLATILE-INFO-ENVs after we compact them, since remove load-time dependence on the compiler. Add list-allocated-objects delete spurious purify Hmmmn, try shrink-vector on the tables, since some of them still seem to hang o.k., the actual problem was that hemlock was being purified w/o compressing Add %raw-set-{single,double} Add layout-invalid-error, fix local call operations to use dink fasl version structure => instance structure => instance, add raw-{set,ref}-{single,double}, fix local call callee-nfp, increment fasl version. Move ISQRT to numbers.lisp Replaced ISQRT with a much faster version off the net. Tweaked declarations. Fixed load to not always consider files with NIL type to be source files. If Spin VOP MAKE-VALUE-CELL off into a sub-function & add an event counter for Initial revision Compiler byte-interp. Load byte-interp. Compile byte-comp. But we can't call that function make-value-cell... Fix to work with structure classes. Added type codes for internal object types such as CODE-COMPONENT. Ripped out rip out ns-boot conditionals. Rip out NS-BOOT conditionals. Load byte-comp. Fixed some lossage. Improved usefulness of CODE-BREAKDOWN :HOW :FILE by subdividing the files by Change block numbering to the one computed at ir2-conversion time & Add FIN-FUNCTION Updates to *collect-dynamic-statistics* support. Always renumber Add functional-plist, update comment on block-number, export block-number. Add %set-funcallable-instance-info and some exports. %'ed funcallable instance accessors and stuff, Flushed funcallable-instance-lexenv, since the define-primitive-object should Fix let scope. Fixed exports. Compile class safe & w/debug info for now. Put back FUNCALLABLE-INSTANCE-LEXENV VOP so that we can VOP it. Frob exports. Add basic-structure-class abstract superclass & funcallable-structure-class. Removed init-args for funcallable-instance function & lexenv. First cut at funcallable-structure support. %funcallable-instance interpreter Fix fin-lexenv Fixed info-hash to work again on weird lists. Fixed BOA constructors to ignore package when determining if a slot appears as Set LAYOUT after %REDEFINE-DEFSTRUCT, since it might have elected to use some pathname and filesys no longer compiled with full safety and debug info. Change generic-function to funcallable-instance, add support in layout-of. Fix up FIN type testing, and sealed classes in general. Added %make-funcallable-instance stub. Don't add in slot for layout in fin, Remove function & lexenv from %make-funcallable-instance. Delete unused binding. Export funcallable-structure-class predicate & constructor so that the can be Export FIN-FUNCTION. Deleted bogus declaration. generic-function -> funcallable-instance funcallable-instance -> generic-function Make funcallable-instance-p a primitive predicate. Make funcallable-instance-p a primitive predicate. Fix class-typep layout Made layout-of guts unsafe. Unmade funcallable-instance to have a primitive-type specified, since it isn't Actually define a funcallable-instance primitive-type. Moved print-function into basic-structure-class. Changed DEFAULT-STRUCTURE-PRINT to work on funcallable structures (always Updated OUTPUT-INSTANCE to handle funcallable instances & to look for Fixed FORMAT-EXP-AUX to correctly handle variable width fields when the Delete residual references to string-char. Export basic-structure-class-print-function. Type. Fix arg order to print-unreadable-object use in output-instance. Fix arg order to print-unreadable-object. Simplified CTYPE-OF to use CLASS-OF more. Added EXTRACT-FUNCTION-TYPE and made Delete obsolete #-reload conditional. Moved stuff to get the function type out of a function into Fixed a bug in type inference which seems to have generally prevented anything *** empty log message *** Fixed FREEZE-TYPE to seal all subclasses. Updated for new assembler and block-compiler ir1opt. Fixed call to CONTINUATION-DERIVED-TYPE to be CONTINUATION-TYPE so that we Tweaked some more dispatch funs. PCL:PRINT-OBJECT has two args. Moved class symbols from PCL's exports to its shadows. Changed FIN-FUNCTION special form to be a new kind of LAMBDA so that we Don't do assumed function stuff if we have a :NOTINLINE function. This Moved def-source-context for DEFMETHOD to PCL sources. Changed PCL class ops to be :: qualified, since they aren't currently exported Fix up structure inspecting for new structure format. Add VOP defs for funcallable-instance-info. Do the last change in a way that maybe actually works on the sparc. Don't load code/inspect if we are loading clm. *** empty log message *** Turn on *assembly-optimize* by default. Change the policy test to only Really really fixed get-setf-method-multiple-value for local macros. Also, in Augment comment for lambda-calls. Use ~C instead of ~A when printing float exponent marker so that print-readably Added FLOAT-RATIO for precise ratio floating (as need by the float reader.) Deleted float-bignum-ratio, which has been superseded by kernel::float-ratio. Add random transforms. Tuning make stuff faster. Random double floats are now much, much faster. When iterating over the lamdba-calls in unconverting tail calls, have Have to clear the constant info between compiling each byte-component too. Factored out set-tail-local-call-successor into a separate function Have to add in vm:code-constants-offset when computing byte-component Added an event counter for when control analysis deletes a block. Protect vm:core-breakdown against the debug-source being missing (shouldn't Added support for loading machine-independent fasl files. Made *load-print* do If debug-info for a code object is a string, print it (for byte code) instead Moved definitions of byte-functions (formerly byte-xep) here from byte-comp so Update transforms to inhibit ones which pessimize byte code. Add support for machine-independent fasl files. byte-xep => byte-function. When byte-compiling, don't do any inline expansion, and only do ir1 transforms Add support for When attribute of IR1 transforms. Add support for :when DEFTRANSFORM argument. Added support for :BYTE-COMPILE argument to compile-file. If T, we Pass in the code length, since we need to finialize assembly earlier. Added little & big-endian fasl file implementations. Moved byte disassembler here from byte-interp. Enhanced disassembler & dump changed byte functions to be funcallable instances. Added with-debugger-info Changed byte-function loading to use funcallable instances. fix exports list. Changed byte function dumping to use funcallable instances. Eliminated Changes for FIN byte functions.. typo. Fix FNI defs. More FIN sixing. Fix stuff. Fix add missing * needed for :when. Fixed stuff. fix call to %funcallable-instance-info Only need one function called backend-byte-fasl-file-type.... missing c: Fix load-code check-version to actually indicate success. Changed *byte-compiling* to (byte-compiling), since during IR1 conversion we're *byte-compiling* => (byte-compiling) In inline expansion, *byte-compiling* => (byte-compiling) Add (byte-compiling) function. byte-compile always returns nil if :byte-compile nil is specified. paren lossage Fix up funcallable instance initialization. Don't byte-compile top-level forms in cold load. Moved definition of *eval-stack* here so that we can use byte code w/o the Moved *eval-stack* to code/byte-interp, since that is loaded first. Fixed byte-apply to compute the arglist in forward order when nargs >=8. Changed PRE-ENVIRONMENT-ANALYZE-TOP-LEVEL to return true if it discovered any If any top-level vars are closed over, and *byte-compile* is :maybe, then If WHEN not supplied to %DEFTRANSFORM, defaults to :NATIVE, not NIL. #+gengc'd scavenged-hook object definition. Changed to check code format at fop-code-format time, not at fop-code time. vop => fop Missed a references to cold-verify-code-format. Actually return the super-layout when we're mapping. Bind *unparse-function-type-simplify* to T when getting the type specifier for Bind *unparse-function-type-simplify* t when getting the type specifier for Turn off byte compilation for the guts Turn off byte compilation for the guts. Changed to byte-compile most commands and all macros. Changed to use Byte compile all macros. Use cat-if-anything-changed. Byte compile macros. Compile guts unsafe when small. Take into account header when computing slots in byte-function. Fix disassem-byte-fun for FINs. Need to annotate the mv-bind continuation as fixed-values. Also, when In PROGV ir1 convert, also use %PROGV for byte compiled code. At NLX EP, annotate the stack as empty (ignoring any stuff pushed earlier in Added stuff to load CLX if it isn't loaded. Another cut at the last fix for unwind-protect. Also, don't add uninteresting Moved compilation of top-level forms in compile-top-level inside binding of Moved compilation of spell stuff after commands so that we can use When computing block numbering for debug info/profiling, don't increment until Un-:both'ed the transformation to string<>=*, since increasing the number of Use an auxiliary function to make the condition for arg count errors to save Fix comment. Allow fdefinition system constants. Add some popular functions to system Made current-stack-pointer a macro so that we won't blow out the inline Actually compute the NUM-MORE-ARGS slot in functions with more args. Fixed stack-copy to deal with overlapping upward copies. Fixed some index & Byte compile macros. Moved %PROGV here from eval-comp. Moved %PROGV to code/byte-interp. In %PROGV ir1 convert, *byte-compiling* => (byte-compiling), since we haven't When we tail-call native code from byte code for multiple values, we must Fixed function-debug-function to work on closures. In do-tail-call, move the call to byte-interpret inside the scope of the LET so In delete-breakpoints-buffer-hook, if no wire (server died), then don't do Export COMPILER-MACRO documentation kind. special-form-p -> special-operator-p. Nuked compiler-macroexpand[-1] because special-form-p -> special-operator-p Nuke compile-macroexpand, special-form-p -> special-operator-p Changed renamed get-setf-method-multiple-value to get-setf-expansion and simple-condition-format-string -> simple-condition-format-control. Flushed format-string -> format-control format-string -> format-control Changed stuff to use EOF-OR-LOSE for signalling EOF. Changed EOF-OR-LOSE to signal the END-OF-FILE condition. Added degenerate versions of stream-external-format, file-string-length and the Added report method for end-of-file. Exported cell-error-name. Made DYNAMIC-EXTENT declaration recognized & ignored. Added style-warning and parse-error conditions. Added PRINT-NOT-READABLE condition and made people use it. When computing restarts, pass in the condition. When computing restarts, pass in the debugged condition. Also pass the Implemented CONDITION-RESTARTS ANSI cleanup & WITH-CONDITION-RESTARTS macro. Changed uses of RESTART-CASE to be detectable calls to error. special-form-p -> special-operator-p edit lossage Fix DYNAMIC-EXTENT ignoring to work. Use WITH-CONDITION-RESTARTS in CERROR. Add stuff to initialize the layout hash. Add standard-class and Tweaked compilation of an incompatible defstruct definition to compare to the Made cold-load of rand unconditional on gengc, since we need it to initialize Fix error proxy to not always say FORM as the error form. Fixed a few bugs in DELETE-PACKAGE, and gratuitously rewrote it. Inline the changed %deftype to use interface functions instead of (info type class ...) Made CLASS-TYPEP no longer an interface. Added FIND-CLASS-CELL which use find-class-cell instead of INFO TYPE CLASS Changed MAKE-LAYOUT to initialize (or arrange to initialize) the Compile as structures anything where the layout-info is a Remove ns-boot conditionals. Use FIND-CLASS instead of INFO TYPE CLASS. Allow load-time forward referencing of classes passed to TYPEP. Guard NOTE-UNDEFINED-REFERENCE's use of POLICY with a BOUNDP check, Bind *break-on-signals* to NIL when we call BREAK in SIGNAL so that Add a make-load-form for CLASS-CELL. Fix PCL describe to work again. Add transform for constant FIND-CLASS & change class TYPEP to Mace structure slot accessors not foldable, because that was causing Added SIMPLE-STYLE-WARNING, and spiffed up the simple-condition hacks so that Make compiler error functions use the condition system. This ANSI cleanup has Added with-compiler-error-handlers. Moved condition handler binding into with-ir1-namespace, since that is Don't call FIND-CLASS with constant name during initialization, since the Add another simple-condition hack. Don't use %%TYPEP, since it is now block-internal. Tweaked source-path-context to check if the source path in in bounds for the Add bounds checking for the form-number when printing source locations More simple-condition hacks... Don't say "previously compiled" unless we really have compiled it before. More simple-condition fixes. Add new kernel/lisp exports. Move standard PCL exports to LISP. Changed BACKQ-UNPARSE to check for improper lists instead of getting Changed to use standard-object type instead of pcl::std-instance. Flushed uses of "pcl:", since those symbols are now external to LISP (and not PCL also shadows DOTIMES. Don't try to compile XLIB inspector anymore. Make a library file of all the fasls. Don't call build-toolkit-interface Load the CLM library file instead of individual fasls. Add new exports. Changed BEEP flashing to use SLEEP 0.1 instead of DISPLAY-FINISH-OUTPUT because Changed DEFPACKAGE to do only one call to EXPORT so that we can proceed Change debug-info quality to debug. debug-info => debug debug-info => debug In CODE-LOCATION-DEBUG-SOURCE, check for there being any source info so that we debug-info => debug debug-info -> debug Bind compiler-warning-handler around compiler-warning calls in PRINT-SUMMARY so unqualify print-object, since it is from LISP now. Don't handle compiler-errors, since the compiler should handle them. Add support for loading Motif stuff. Initial revision Add mention of Motif and the graphical interface. Updated for 17b. Add 17b stuff. Mention motif stuff some more. Add Herald display item. Add :MOTIF feature. Add standard file header. Fixed some types and stuff. (numeric-contagion single-float real) => float, not single-float Changed %COMPILER-ONLY-DEFSTRUCT to be magically called by IR1tran, since Add translator for kernel:%compiler-only-defstruct to do the compile-time-only Fixed "can't edit source" message not to throw you in the debugger Added support for parsing :WILD and :WILD-INFERIORS. Fixed :WILD-INFERIORS Improved integration of logical pathname support with the rest of pathnames. Add COMPILE-FILE-PATHNAME function. Reverted make-pathname diddle-args case computation, cause it was right before. Actually pass the byte-p argument to open-fasl-file so that it really does renamed shutdown to server_shutdown to avoid HpUx name conflict. Added stuff to blow away the old class definitions of any loaded PCL. This commit was generated by cvs2svn to compensate for changes in r6450, Fix initialization of print-representation attribute so that characters Pad double-float slot offsets w.r.t. DD-RAW-LENGTH, not DD-LENGTH. Changed file-info-name and untruename to be pathnames rather than namestrings. Changed compiler-error-context-file-name to be consistent with new type If file-info-untruename is already absolute, then dump it instead of the Changed lisp: search-list to target: for consistency with all other Changed LISP: search-list to TARGET: Typo. Fix file-name hack. fix stuff. Freeze-type logical-pathname and logical-host. Changed ENUMERATE-MATCHES (hence all filesys code) to do Fixed enumerate-files to hack :wild and :unspecific name&type. Fixed stuff. Fix default-structure-print to just call the accessor (so that it handles raw Load PCL if not loaded. Add :MOTIF to features, not :MOTIF-TOOLKIT. Use target: instead of pcl: Undid last change, because that's the wrong place to put it. Make %ENUMERATE-SEARCH-LIST call TRANSLATE-LOGICAL-PATHNAME. Changed :FILE-NAME back to a misc method. Added fd-stream-pathname slot to Fixed things now that FILE-NAME returns a pathname, not a namestring. Deleted vestigial documentation in rename-file about files that are open but In %ENUMERATE-SEARCH-LIST, only translate-logical-pathname on logical Unmade FILE-NAME a misc method, since it needs to work on closed streams. Fix stuff. Allow :UNSPECIFIC and :WILD in pathname name, type and version. Fixed %enumerate-directories to hack :WILD and :WILD-INFERIORS (somewhat.) Changes for more informative output (mostly from Sean.) Add os-common to OS_SRC. Add FIXNUM declarations to INIT-SB-VECTORS, since this function is taking Flushed call to scrub-control-stack, since doing it every form Added scrub-control-stack before call to sub-gc in Tweaked GENSYM so that the CONCATENTATE is open-coded. Un-inline assq and memq so that we can transform assoc and member to them Fixed DELQ to be less stupid. Added some missing simple-string declarations. Tweaked WITH-ARRAY-DATA to test for (not (array-header-p )) instead of Made SINGLE-VALUE-TYPE inline, since it's not that long, and highly used. Improved type testing and declared some functions inline. Add assq, memq and delq. Export dyncount-info type & predicate. Move reporting stuff to code/cprofile. Added some :test #'eq args. Tweaked reoptimize-lambda-var. Changed lexenv-find default test to EQ Transform member, delete and assoc to memq, assq and delq when possible. Typo. Boo-boo. Typo. Declare MEMBER/ASSOC inline in MEMQ/ASSQ to keep them from infinitely recursing Re-declared stuff in gensym. Made QUICK-INTEGER-TO-STRING only handle the FIXNUM case so that it really is Add check that SC alignment is a power of 2. Added profiling counters to the hash-cache stuff. Add clear-ltn-bit-vector & make people use it. This macro and Block compilation and type declarations. Move BIT-UTIL early in compilation. Add declaration in profile code. Tweak init profile stuff uff. Add finite-sb-last-block-count slot to reduce reinitalization overhead. Stuff stuff. Reduce redundant initialization in init-sb-vectors. Add more declarations. Decls, entry-point. Flush check for random things having the tail as their successor, since that is In CHANGE-BLOCK-SUCCESSOR, if we change a successor of IF to the component Changed assertion in NOTE-ASSUMED-TYPES to a normal conditional, since it isn't Add :CALLERS option to PROFILE which counts the most common callers Initial revision Increment warning count after re-signalling so that we don't double-count Wrote MAP-INTO. If byte-compiled, call the byte disassembler. Moved NAME & SOURCE slots from COMPILED-DEBUG-INFO to supertype DEBUG-INFO Byte-closure needs a different print function from %print-byte-function. Added support for describing byte-compiled functions. Add support for :EXECUTE keyword to EVAL-WHEN Removed hack for printing byte-code objects, now that they have Dump a debug-info for byte code objects containing only the name Don't dump debug-source start positions when *byte-compile* t. Recognize the new :keyword EVAL-WHEN keywords. Fix from Mike Clarkson. In the alien type= method for function, call Delete :CMU18 from *features* defvar. Instead, we add these features Changed COMF to allow any COMPILE-FILE options to be passed through. Changed Move defvar of hi::*in-the-editor* to lispinit. Moved defvar of hi::*in-the-editor* here from sysmacs. Reduced the number of recompiled profile encapsulations. Recognize the PCL::CLASS declaration. Don't load meta-vmdef and assemfile. Add some INDEX declarations in bit-bash hacks. Turn off byte-compiler for SIGNAL, ERROR, etc. Flush calls to backq-init and sharp-init, since they are no longer Byte-compile clx-ext. Byte compile a bunch of files. Folded together the N-times-duplicated Byte compile some more files. Use :BYTE-COMPILE T instead of just Byte-compile defsys and all functions beginning with EARLY- or BOOT-. Removed sysmacs. Byte-compile some files, including some in the cold load. This is done Flushed obsolete comment. Load sharpm and backq. Load byte-compiled When byte-compiling error, :byte-compile :maybe, since we want to native Wrote byte compiled error as bc-error.fasl Load bc-error.fasl. When -clean, delete .fasl too. Flush carefully-add-font-path call. If people want library:fonts/ in their Changed directory-translation skeleton to be target: search-list. Can't write-line a pathname... Call pointer-hash instead of %primitive in cache-hash-eq. Make cache-hash-eq a macro. Unmade clx-ext byte-compiled. Load assem-file. deleted files moved to worldload. Moved run-time utilities into lispinit so that they can be native compiled. Moved ERROR &c (that wants to be native compiled) into lispinit. Moved some functions here that want to be native compiled (and in the cold Load error.*bytef, not bc-error.fasl. Make error and defmacro compilation less special-cased, since we don't need Fix assemfile load. Typo. Do FIND-CLASS transform even in byte code. Hmmn, don't randomly do eval-when eval all the time. Paren lossage. :where -> :when Set *break-on-signals* in %initial-function, since we've moved the defvar. Add some missing loads, and don't use file-comment until extensions is loaded. frob stuff Moved stuff around some more. Flushed :XEP load-time constant kind, since it is no longer any different from Merged William's dylan hacks. Removed :XEP load-time-constant support from Define meta-sb-or-lose, meta-sc-or-lose so that they can be used Move meta-sb-or-lose, etc., to vmdef. Actually move meta-sb-or-lose, etc., here, since we really need them. Flushed "redefining debugger command" warning. Flushed call to count-vops (static statistics), since it doesn't work anymore, Byte-compile %print- functions. Move VMDIR function here from comcom, since it seems somewhat more generallty Changed CODE-BREAKDOWN to recognize the file of byte-compiled code objects. Flushed sharp-init. Instead hack *readable* directly at top-level. Flush BACKQ-INIT. Flushed calls to backq-init and sharp-init. Initialize std-lisp-readable from Bulletproof output-instance a bit. Typo. Increase *inline-expansion-limit*. Add %setf-instance-ref inline op. Add stuff to deal with filling in placeholder args when a local call is made to compiler-constantp -> constantp. Moved various run-time functions it ir1until. Flushed compiler-constantp. Moved some functions here that want to be native match -> :match Changed the stream arg to DISASSEMBLY to be a keyword arg, since it's Update args for compile-file and disassemble. With keyword args, eval the default before sticking in keys list. Enable funcall -> %funcall IR1 transform for byte compilation. Have to deallocate stuff when calling byte code in DO-TAIL-CALL. Added some system constants. Fixed deleted local arg stuff to correctly Spiffed up extract-function-type to hack byte functions. Added misc kernel:%mumble stubs. Added byte-function-type. Flushed mumbling about argument syntax in describe-function-byte-compiled, Also allow the %coerce-to-function efficiency note in byte code. Add some float subprimitives. Move stubs for single-float-bits, etc. out of this file. Changed block printer to use print-unreadable-object. Make OLD-PCL and OLD-SLOT-ACCESSOR-NAME be nicknames during loading. tweak doc string. Fixed semantics of various type-classes (CL arrays, numbers, functions & Byte compile instruction printers if :small. Changed various compilation policies, including reducing safety and debug-info Debug-info -> debug. Use :byte-compile t, not just policy for compiling interface stuff. Add printer for CLASS-CELL to make compiler progress prettier. Stack analysis didn't really work in the presence of non-local exits. Two inhibit-warnings -> ext:inhibit-warnings Fix compiler warnings. Initial revision Updated stuff to correspond to what is actually defined in code:. Fix compiler warnings. Flush warning. Fix another unqualified inhibit-warnings. This commit was generated by cvs2svn to compensate for changes in r6675, Fix compiler warnings. Fix compiler warnings. This commit was generated by cvs2svn to compensate for changes in r6678, -1 -> spell-deleted-entry Really fix IN-PACKAGE usage. Really fix IN-PACKAGE usage. This commit was generated by cvs2svn to compensate for changes in r6681, Typo. Fix in-package usage. This commit was generated by cvs2svn to compensate for changes in r6684, Change to use DEFPACKAGE, move spell-deleted-entry defn here. This commit was generated by cvs2svn to compensate for changes in r6686, Fixed in-package usage. This commit was generated by cvs2svn to compensate for changes in r6689, Move defpackage to spell-rt, cause it's first. This commit was generated by cvs2svn to compensate for changes in r6691, Fix IN-PACKAGE usage. This commit was generated by cvs2svn to compensate for changes in r6693, Fix in-package usage. Moved forcing out of pending top-level forms from COMPILE-LOAD-TIME-STUFF to Moved print-function from basic-structure-class to new superclass slot-class. Change output-instance to use SLOT-CLASS instead of BASIC-STRUCTURE-CLASS. Flushed CONDITION defstruct (now in error.lisp, & different.) Added support for non-hierarchical "structures" when defining default accessor Update to new DEFINE-CONDITION syntax. Changed conditions to be non-structure (but also non-PCL) instances that Missed a use of UNDEFINE-STRUCTURE. This commit was generated by cvs2svn to compensate for changes in r6726, Update for new define-condition syntax. DEFINE-CONDITION Slot list is not optional. Slot list not optional in DEFINE-CONDITIOn. When initializing byte functions, push them in a list in the "trace table" slot Initialize byte "trace table" to NIL so we can push byte functions into it. Don't want to push each byte closure in the function list. Only signal *parse-unknown-type* when *type-system-initialized* Moved define-condition for parse-unknown-type to error. Added some cold-load hacks & moved parse-unknown-type define-condition here. Moved error after type system file in load order. Write map file by default. Added stuff to check for incompatible layouts. define-condition slots not optional. Don't use define-type-method in define-superclasses, since nested DEFINE-SUPERCLASSES complex intersection method needs to delegate too. Type. In PROPAGATE-LOCAL-CALL-ARGS, be prepared the possibility that other refs to Hack to prevent type-intersection from delegating infinitely. If old layout not yet registered, do it. Add :CLX-ANSI-COMMON-LISP feature. Delete package setup for optional subsystems (hemlock, etc.) Flush residual reference to PCL package. Um, so I guess we need the PCL package. This commit was generated by cvs2svn to compensate for changes in r6760, Changed to use defpackage. Byte compile printers. Squelch some type warnings. Remove extra ) Fix make-type-load-form to use its argument. Update for new define-condition syntax and re-frobbed condition structure a Really fixed define-condition syntax. Don't consume for lexical breaksups that are dumpicates. Init byte code "trace table" to NIL so we can list byte function objects. Fix declaration syntax. Tweaked the define-superclasses for ARRAY for Dylan semantics. Update FUN-DEFINED-FROM-PATHNAME to understand byte functions. Fresh-line before calling describe-object method. Flushed #+CLX again (somehow reinserted during branchmerge), since we may load Generalized condition effective slot computation so that we can find slots with Typo. Braino. Fix arg order to GETF... Fix stuff some more. Add (optimize (debug 2)) Fix SXMASH util for SXHASH to not be stupid. Fixed COUNT :TEST-NOT to actually negate the test. Change "inline expansion count exceeded" warning to be a note. Increase *inline-expansion-limit* from 50 to 200. Don't inline expand when *converting-for-interpreter*. Added documentation for CMU-specific pathname stuff. Deleted old X Declare hi::%set-variable-value to be a function so that we don't get undefined Different workaround for Hemlock not being loaded. Don't pass CFLAGS to the linker, since this may clash with the Compile and assemble with -O, not -g. Changed rcsci and rcsco to ci and co, which now work at CS, and Changed from using sed to ul in the "Manual Entry" command, since Now called net-README.txt, not sunos-README.txt, pending eventual HP updated for 17c Hasn't been checked in for a while. Add lisp-sun1 to FTP hosts. Compile -O Updated somewhat for non-Mach environments. Changed query-readline to be a function & to force output. Fix comment for component-new-functions. Call local-call-analyze whenever there's new-functions. This got lost Added all of the ANSI CL features that seemed plausible. Any non-ANSI Fix LOAD-TN-CONFLICTS-IN-SC to work for multi-location SCs. Moved bind-to-nil In propagate-local-call-args, don't do anything if there is an In UNCONVERT-TAIL-CALLS, do ENSURE-BLOCK-START so that we can manipulate the In read-n-bytes, only signal EOF when we read and got 0 bytes, not never read Re-frobbed fd-stream-read-n-bytes to preserve the property of returning less Like, more examples. Gratuitous tweak. Un-broke (coerce x 'single-float) Tweak CONVERT-CALL-IF-POSSIBLE to not try to convert calls in top-level code Clobber functional-entry-function too in delete-component. Add DELETE-IF-NO-ENTRIES to blow away components that can't be reached before Add MAYBE-BYTE-LOAD and BYTE-LOAD-OVER functions for controlling loading of Changed stuff to use :RUNTIME feature to suppress loading everything, and to When NO-RUNTIME feature is absent, compile various subsystems byte-coded as Change PROGV IR1 convert method to pass :CONSERVATIVE T to BYTE-COMPILING to Add :CONSERVATIVE option to BYTE-COMPILING. Also, always return T when Fix purify #-no-hemlock to #-(or runtime no-hemlock) Add tty-ixon for HPux. Some extra protection against recursive invocation of the windowing debugger. Tried to make starting the Motif server more robust, or at least give some Copy new_compiler branch to trunk. Move over new_compiler to trunk. Delete :conservative arg to BYTE-COMPILE, since it is to damn conservative Delete :conservative arg to byte-compile. Allow pretty-printer to work without compiler loaded. Move defhvars for highlight font names to rompsite so that they can be given Move all font name defhvars here and give them the actual default as their Flush Hemlock font change hack, since it was causing problems. Don't call pprint-init yet, since it calls backq-pprint-init, which isn't Always call pprint-init, since it doesn't depend on the compiler anymore. Change herald hack not to use SETF so that it will work w/o the full eval. Add dummy stubs which signal errors when the IR1 interpreter hasn't been loaded Don't try to do verbose room if it isn't loaded. Export EXT:PURIFY and remove the :CONSTANTS argument. Move environment compacting here from worldload.lisp to make it available to Update for the new purify interface. Move environment compacting to PURIFY. Avoid spurious purifies. Change FBOUNDP test from EVAL:INTERNAL-EVAL to COMPILE, since there's now a Typo. Put in a weird GC hack in hope that it will prevent us from retaining lots of Try a different GC hack for flushing vop-parse info. Update for 17e Bind *break-on-signals* to NIL even before doing the type test so that we don't Changed ~A to ~D when formatting socket file in case the base isn't 10. Add INVOKE-TTY-DEBUGGER. Don't try to invoke motif debugger if we didn't Print warning in status hook when server dies. Simplified boolen expression. Added some fflushes. missing ; Added declaration. Changed assert-definition-type to quietly ignore non function-types. Deleted incorrect type declaration in process-1-ftype-proclamation. Deleted Allow stream arg to compile-file. Do DFO-AS-NEEDED in BYTE-COMPILE-COMPONENT (as it is done in Updated startup code bootstrapping section a bit. Don't byte-compile if not :small. *** empty log message *** Add -I/usr/mach/include Initial revision Update for 17e Merged HP and runtime mumbling from net-README Deleted some setting of *hack-hunk-replace-line* to T, since we may want it Tweak read-line to work better on a non-persistent EOF (e.g. ^D on TTY) Allow separate specification of source and destination releases. Delete unused variable. Don't call valid-function-use on mv-combinations. Don't annotate mv-calls to Enhancement from Harris to not abort printing of a frame when printing one arg In OUTPUT-INSTANCE, check for the layout being invalid before calling the print Make load-tn-conflicts-in-sc a block entry point so that error routines can Fixed FAILED-TO-PACK-LOAD-TN-ERROR and DESCRIBE-TN-USE to work when there are Fix spelling of :compile-toplevel and :load-toplevel in eval-when. Add ignore handler for client-message events. Made pathname functions non-foldable, since they all depend on Don't warn about probable error unless both initarg and initform are missing. Update for infix and flush slave-like stuff. If compile-file is :block-compile T, then ignore start-block/end-block Don't flame out in USE-STANDARD-RETURNS if a reference to the function has no Fix for LOOP RETURN option, from Miles bader, via Joerg Hoehle. In OPEN, fixed :direction :io :if-does-not-exist :create to actually create. When closing composite streams (broadcast, etc.), don't close component In read-line, put the actual stream in the call to eof-or-lose, not the Increment *foreign-segment-free-pointer* by the round-up-to-page value. I'm Fixed adjust-array to not flame out on arrays containing a zero-length Tweak include path. Fix compiler-macro expansion to correctly handle macros that pass (by returning Fixed last tweak to block compilation to actually work in the normal case. Changed *before-save-initializations* to once again be done before saving. Don't use the PCL package because we don't need to anymore, and it causes name *** empty log message *** This is CLX R5.02. Backed out the dylan slave support, since we're no longer using that Fixed way broken INSPECT-CLOS-PANE according to patch from Marco Antoniotti. Fix from Marco Antoniotti to actually remove handlers from the table in Fix to toolkit-write-value to allow it to write either signed or unsigned Patch from TSM for calling dynamically linked foreign routines. Support for HPPA from TSM. Fix documented order of the list form of alien names to agree with what was Initial revision Changed (typep Its-tream) to ts-stream-p so that we can declare it to be Add stuff to squelch warnings when compiler w/o hemlock or clx loaded. Flush old-style in-package. Squelch assignment warning on open args (by &aux, YES!) FIx old-style in-package. Load PCL before CLX so that it can use PCL stuff. Change the position of dylan mode in load order since it now depends on Scribe Fixed :format-string to be :format-control in recursive error handler. Add defpackage of ANSI-LOOP. Move loop after module because the bolix loop uses provide. Fixed simple bit-vector transforms to not assume binding semantics for LOOP. Added back compilation of code/globals so that we can suppress hemlock-related Initial revision Fix loop syntax. Tweaked to not clash with stuff being compiled. add some more exports. Fix old-style in-package. Flush extra ) Add special decl for *breakpoints* (use before definition.) Initial revision Solaris patches. Merge solaris patches. Solaris changes (generalize #+irix to #+svr4). Solaris changes (try dynamic dymbol lookup.) Changes for Solaris. Mainly changing #+irix to #+svr4 #+irix => #+svr4 s-context => sigcontext solaris patch. solaris patches. solaris patches. Solaris patches. Also, delete obsolete compile of assembly/sparc/bit-bash. Dynamic segment limit patch. Some kind of changes to make directoris relative or somethng. Initial revision solarispatch. Solaris patches. This commit was generated by cvs2svn to compensate for changes in r7093, Initial revision Make arch_get_bad_addr args by a cpp macro. Solaris patch. Solaris patches/posix signal support. Solais patches. Solaris/posix support. Solaris patches. Rationalized trampoline name lookup a bit, and changed to no longer prefix Solaris patches. Call extern-alien-name so that prefixing is done right. Use backend-featurep, instead of reinventing it. Solaris patches. Solaris patches. Change some conditions from !defined everything to Oops. SPARC really does store non-raw function in fdefn raw function slot. Don't try to grow in-place in os_reallocate. This routine is only called by Include os.h. Also, I guess ??? in a string literal means something funny in HpUx now too seems to complain about extern getenv declaration. Lets try Still need to declare variables. First cut at merging solaris patches. Tweak stuff up a bit. add import for $$dyncall SVR4/solaris changes. Update absolute path of gnu includes. try that again. Ummn, fix stupid stuff. tcsetattr is SVR4 Frobbed eval-when compile hackery of *class-table* so that the same updates are Semi-gratuitously changed setf of *type-table*, etc., to defparameter. Changed defvars for *type-table*, etc. to declaim special, and moved the missing comma. Nother missing comma. Always build-toolkit-interface. Flush s-context export. Initial revision Flush rcsupdate and -clean features. Add RCS header. Flush the "if you want to use this or any part...". Timeout support from Marco Antoniotti. Initial revision Add compilation of timer-support and precom. Move plamform specific make stuff to Config. Always load PCL if not loaded unless the no-pcl-clx feature is present. Need to load PCL before CLX. fix syntax error. Put all compilations in a single with-compilation-unit. hack, hack. spell timer-table consistent.y fix some problems. comment out timer-support, at least until it works. no timer support for now. Fix of-type to weaken declaration when the init is not of the right type. More correct declaration hack. Add DEPEND_FLAGS hack for broken header file lossage. Add a DEPEND_FLAGS variable containing flags passed only to make depend. add ignore decl print-object, etc. add svr4 to features. Allow coercing to float (meaning single-float.) Check that numeric Fix float-bignum-ratio to return correctly. mode-t is int, not long on Alpha. Compile PCL before CLX, since it now depends on it. Changed some things from ifndef SVR4 to SOLARIS. Nother SVR4 bits the dust. load PCL first, since clx depends on it now. Only call wait under mach. Initial revision fcntl command is not (mod 7) in general. Initial revision Fix headed boilerplate. Fix headed boilerplate. Fix headed boilerplate. Clarify EOF-ERROR-P handling in read-n-bytes. Default library: path is now /usr/local/lib/cmucl/lib on all non-Mach Change default library path to /usr/local/lib/cmucl/lib on all non-Mach Initial revision Fix arg type in %set-raw-bits so that it will consistenly be Don't enhance safety under :small anymore except for ir1tran and debug. Flush spurious reference to /usr/misc. Do -DSVR4. Need -Xlinker for -Bstatic. Purify after loading PCL. Purify after loading pcl and clx. Purify after loading pcl,clx Include /usr/openwin/include Initial revision Build the spell dictionary. Link lisp in archive (non-dynamic) format so that we can use ld -A Update project status. Add documentation for read-n-bytes, purify, Added some code on HPux to test for the correct magic number, since we get Split off body of foreign-symbol-address so that we can call it in Update bugs, platforms, spelling of XKeysymDB. update project status. Update for alpha, sgi. Add mublage about compiling from sources. gartuitous checkin. update for 17f. install spell-dictionary.bin too. Path from TSM to make format able to print english numbers of up to type Got conditional backwards in setting up Library:. rename cmu-site-*f to site-init.fasl when copying (so that it can have the name Added comment about beware of Gnu "as". Fix pprint-setq not to call LENGTH on what might be an improper list. Fix bogus simple-vector arg type in sub-output-array-guts. Fix compilex rational subtract. Add another call to internal-redisplay in editor-input-method-macro. It Don't try to set write date on systems w/o times. Add note about alpha /sbin/swapdefault Add ext:*batch-mode* In move-to-word/integer, always do arithmetic shift on fixnums, since Fix parse-namestring of pathnames. Tweaked *batch-mode* stuff a bit. Attempt to deal with FINs that have FINs as their functions. Interesting Added a suite of signed byte output routines because the unsigned ones weren't Update hacking GCC include pointer that we're not supposed to need. Fixed batch-mode stuff to have a chance of working. defswitch for batch-mode should be at top level. Fixed up hackish duplicate copy of QUIT. Fix defmacro not to give bound-but-not referenced warning when we say &key with Merge patch to print local var names as symbols. Patches for destroy callbacks from Timothy Scott Milner. Changed ~E, ~F, ~G to treat non-numbers like ~A. Patch from Harris to help compiling PCL when already loaded. Patch from Jeurgen Weiss to translate-key-event which makes it deal better with Fixed arg type checking to be done on functions which have an IR2-convert Merge fix from tsm to allow (setf function) names as args to compile. Merge fix from Douglas Crosher to make acosh and atanh return the right thing. Fixed MAKE-SEQUENCE to not specify make-array initial-element when it is not Merged DTC's patch to string<>=*-body which fixes various problems that arose Fixed tree-equal as per DTC's patch. Formerly the test would be randomly Merged patch from PW that is supposed to fix decode universal time after 2000. Merged patch from PW that makes PRINT-DIRECTORY handle broken Don't use SPECIAL as an internal function name, because SPECIAL is an external Add an error check in def-alien-routine for pointer-like types being used with Check if we have a funcallable instance before we check if we have an instance Fixed process-kill to work on PTYs under HPUx by using TIOCSIGSEND added TIOCSIGSEND. Currently only on HP/Ux. Added TIOCSIGSEND Delete some half-edit gunk. Fix process-kill some more. Hmmmn, checked in the wrong version of TIOCSIGSEND somehow. Werkowskis source kit 1.03.7 source kit 1.03.7
rswindells (13): Cross build script for NetBSD/i386. Use sigcontext as name for signal alien struct in NetBSD/i386 too. Use -iquote. Make it build again for NetBSD. Update script to match cross-x86-x86.lisp. Add new FPU interface code. Switch from X11R6 to X11R7. Add Config to match GNUmakefile. Update to match cross-x86-x86.lisp. Test fpu_mode instead of calling arch_support_sse2() to match Add NetBSD support to other_space_p(). Return address from os_sigcontext_fpu_reg(), make sigsegv_handler compile Add a test for whether the operating system supports use of the SSE2
rtoy (1873): Disable erroneous translation for the instance-set VOP. The VOP The annulled branch instruction didn't have an instruction printer Make the def-source-transform and defoptimizer for max and min Fix PCL call-method-list problem reported by Ole Rohne on cmucl-imp. If it's already a logical pathname host, don't need to check if From Helmut Eller: Helmut Eller notes on cmucl-imp on 2004-04-24 that Lynn Quam on cmucl-imp on 2004-03-30 says Fix typo: 6.4 should be (* pi 2) Fix typo. Need a quote on .call-method. Boot file for new sxhash function. Requires a cross-compile. Implement the one-at-a-time hash algorithm designed by Bob Jenkins debug-dump.lisp Add WITH-UNBOUNDED-INTERVAL-ON-ERROR macro to catch errors Add support for source location recording, from Helmut Eller on Update notes: Implement one-at-a-time hash for x86, as for sparc. Merge in the mod-arith-branch with support for x86 and sparc. Change (unsigned-byte ,width) to (integer 0 ,(1- (ash 1 width))) If the file-info doesn't exist, we return nil for the o Remove unused modular-arith code Use (logandc2 x y) instead of (logand x (lognot y)). Add support routines for converting (truncate x d) for constant d from Implement the signed and unsigned truncation operations as given in o Trust dynamic extent declarations by default. Oops. We want a logical right shift, not arithmetic! Get rid of some compilation warning by exporting the exported symbols Signal an error if a CASE uses T or OTHERWISE as key designators. Signal a TYPE-ERROR when FILE-LENGTH is used on the following streams: o Modular arithmetic More ANSI test fixes: Remove some junk that was inadvertently checked in. Fix ansi-test bug on read-sequence and echo-streams. Based on code o Remove old version of gencgc allocation macro. Allow stack frames larger than 4096 bytes to be used. (Was a Change the default print names for the characters #^\, #^], #^^, Record toplevel forms too for source location recording. Remove the call to aver. Don't trust dynamic-extent declarations, even when dynamic-extent o Fix the float printer to print correctly: Oops. Remove unused code. Add a couple of comments. o Fix typo in output-ratio that was causing incorrect output when Fix up printing of symbols with :capitalize. Fix up printing of symbols. Passes Paul Dietz's symbol printing Update notes for ANSI fixes. The CLHS says OPEN should signal a FILE-ERROR if the pathname is Change the ~A to ~S in FIND-COMPONENT-NAME, in case the context cannot Fix typo in READ-TOKEN. We want stream::%read-char for Oops. FLONUM-TO-STRING is still used by FORMAT. (Should replace this o Add a note to the dynamic-extent section that dynamic-extent is off Enhance PICK-OUTPUT-ROUTINE and PICK-INPUT-ROUTINE to support byte ANSI fixes. Increase static and read-only space to the maximum of 256 MB. (We o Update some paths. This causes an error: o Add some notes on additional steps to build tarfiles like the Clean up printing of generation info to handle the larger heaps we Use an alternate signal stack for delivering signals. Check to see if we are getting a segfault from a stack overflow and Compute column widths so the columns of the profile report line up Fix typo. 0s0 is not a single-float. (Well, it is in CMUCL, but not SET-PPRINT-DISPATCH is supposed to accept either a function or a Merge in documentation changes from the 19a branch. From Helmut Eller: Merge in the 19a changes containing Helmut Eller's implementation for Add some info about generational GC and some of the functions that can Fix typo with extra misplaced paren. From Lynn Quam: Cross-compile file for bootstrapping the weak-pointer optimization. Fix some issues with the complex functions with signed zeroes. See Fix a typo and correct the table of space addresses. o Add some comments on register usage o Use the gtemp register for LOAD-CONSTANT. This allows the Add support for storing the symbol hash into a slot in the symbol Bootstrap for the sparc symbol-hash change. Change the deftransform for sxhash on symbols to use the symbol-hash LOAD-STACK-TN and STORE-STACK-TN macros use the gtemp-tn register to Don't use G7 as the register name for GTEMP-TN. Make the symbol hash slot contain the sxhash of the symbol name Implement lazy computation of the symbol hash. The hash is set to Add some comments on what we're trying to do here with sxhash on a Implement lazy computation of the symbol hash. The hash is set to Use -1 instead of 0 as the uninitialized hash indicator. %MAKE-SYMBOL actually takes a fixnum hash value. The SYMBOL-HASH vop actually returns a fixnum, not a positive-fixnum, Enable the sxhash transform for x86 too, to get lazy symbol hash Export WEAK-POINTER-MARK-BIT-SLOT. Upcase path components when given a logical pathname. Preserves print/read consistency and fixes (I think) an issue with ASDF and logical pathnames From Juan Jose Garcia Ripoll: Update notes. CMUCL intended to support things like [abc] in namestrings, but a typo Merge in 19a-branch fix for the atanh bug. Add sigsegv_handle_now (and segv_handle_now) to handle segv's that Make %unary-ftruncate preserve the sign of the arg, so -0.0 is EXPT sometimes returned NaN when the power was 0 instead of 1. Make sxhash is supposed to return the same value for -0.0 and +0.0 since Implement a much faster and much less consy bignum printer and a Fix an overfull line. o Replace " with `` or '' as appropriate. Briefly document weak-pointer object. Add -xlibmieee to get better IEEE754 floating-point results. Less consy ROOM function. Also fixes an issue where ROOM appeared to o Fix a misplaced declaration in %unary-ftruncate/single-float Bootstrap file to export simple-stream-error. Export SIMPLE-STREAM-ERROR. Get rid of some compiler warnings about comparing a pointer and an Get rid of a few more warnings about making pointers from integers and o Fix BIGNUM-LOAD-BYTE so that it works with signed and unsigned Extra values were not correctly handled by the values setf expander. Add -D__NO_CTYPE so builds on glibc 2.3 will run on some older Remove the sigemt_handler which hasn't been used in years because Backquote pretty-printing was modifying its argument. Probably don't Changes from Robert Swindells to support NetBSD. Correct some comments for NetBSD memory map. Add -Wall flag to gcc. Clean up some compiler warnings: Fix more compiler warnings: Fix more compiler warnings: More compiler warning fixes: More compiler warning fixes: More compiler warning fixes. More fixes for compiler warnings about printf arg types, implicit Make genesis print out the space start constants as unsigned hex Fix more compiler warnings: Include stdlib.h to get functions like exit() defined. Fix more compiler warnings: o Add support for read-sequence and write-sequence for byte sequences Initialization of condition class metaobjects no longer creates an Fix bug in write-char and write-chars. (Ported from sbcl.) o %write-byte marks stream as dirty Data read in from a file could have been changed if the stream is Initial set of regression tests. Add a few tests for read-sequence. Forgot to include some more notes. Oops. Get rid of "work in progress". Initial revision of notes for next release of CMUCL. Oops. Correct the version numbers. Read commit logs and add some notes to the release notes. Document the module-provider extension to REQUIRE. Add modular arithmetic support for (- x), aka (kernel:%negate x). Add large-file support for Solaris. Simple testing done, and Solaris Update. Forgot to implement lseek64. Don't need the %negate-mod32 function and defknown. Clean up vops a %dpb-derive-type-aux needs to do a continuation-type on the args Modular %negate for x86. Compute more accurate bounds for logand, logior, and logxor. Update the min-*, max-* routines to support any size unsigned integer Fix typo in min-xor. After almost 1 year of gencgc on sparc without encountering a gc Fix a few typos. Add script to massage nm output to get rid of the U lines that genesis (defun foo () (zot)) when compiled and run gave a silly message about Fix typo introduced in previous fix. Some interrupt fixes. sigill_handler was enabling all interrupts in lispregs.h, sparc-lispregs.h: o Fix too much copying and not enough thinking in sigcontext-lr. Initial support for modular arithmetic for PPC. More modular arithmetic stuff for ppc. Fix boot3 too. #ifdef out strcasecmp for everyone. Try not to crash if the envvar PATH is empty or non-existent. Support for modular multiplication. Fix bug where things like (truncate x 0) were getting converted into a FIND-PC-FROM-ASSEMBLY-FUN is not used for x86's. On sparc, undefined_tramp and closure_tramp are foreign data, not Port of Juho Snellman's faster bignum-gcd, which uses Euclid's Fix for make-instance bug reported by Axel Schairer on cmucl-help, Comment better on the relationship between the LINKAGE_ADDR_REG here Define allocation macro to handle allocation. Use it. (Incomplete, Always allocate 2 words for move-from-unsigned so we can use Bootstrap file for ppc allocation macro. Don't understand why this is Use allocation macro instead of modifying alloc-tn directly. Use with-fixed-allocation to allocate a bignum instead of modifying Remove old, unused vop. Remove old, unused macro, with-fixed-allocation. Add some comments Fix typo, indent neatly. Oops. logxor was incorrectly computing the result type as o When searching for our files, check to see if the lisp binary is Recognize -debug-lisp-search switch. Incorporate Juhu Snellman's modifications to the Karatsuba Port Juho Snellman's implementation of Kenneth Weber's accelerated o Add a VOP for INTEGER-LENGTH for (UNSIGNED-BYTE 32) Need actual function for vm::ash-mod32 support for modular ash with Fix bug where (FORMAT NIL "~2f" 1234567.1) returns "1000000." instead Fix a bunch of FORMAT bugs caught by ansi-tests: FORMAT-FIXED-AUX was not printing the sign of negative zeroes (because PRIN1 and "~F" sometimes produces different printed results due to Upcase some of the character names so that ~:C and ~S produce the same Update with recent changes. Update with info from commit logs. o COMPUTE-TAB-SIZE was off by one (I think) in deciding if the cursor COMPUTE-TAB-SIZE forgot to handle the case of :section-relative Apply patch from Jan Rychter that implements return-from-frame COMPUTE-TAB-SIZE: o Move definition of MAKE-SMALL-BIGNUM earlier so it can be inlined in In UNIX-READ, go through and touch every page contained in BUF to make Fix for some ansi-tests. Catch uses of ~<...~:;...~> form of ~<...~> in the same format string Oops. Really do need to write out the space character. Pathnames are supposed to be printed with #P, not #p. (CLHS COMPUTE-TAB-SIZE was incorrectly computing the tab size for o PPRINT-INDENT should accept any real for the indentation. We The CLHS entry for *PRINT-LENGTH* says The deftransform for random was not handling the case when NUM could Print out logical pathnames using #P"..." instead of Port lazy sxhash on symbols and one-at-a-time hash to ppc. Use o Change the def-type-translator for COMPLEX to fix some confusion in Make UPGRADED-COMPLEX-PART-TYPE return RATIONAL for rational parts. (COMPLEX NIL) is the empty type, so handle that. ~^ inside a ~:{ loop was exiting the whole loop instead of stepping to Signal a print-not-readable condition when a pathname can't be printed When printing arrays readably, we don't need to do anything special if Port of SBCL's float-accuracy compilation policy. Intended to make Instruction printers for lddf, ldqf, stdf, stqf can use extended FP o Was not correctly parsing "~*~" to mean a wild-card version. I think we need to enable SIGILL when we get a breakpoint interrupt The optimizers for double-float and single-float were causing errors PICK-INPUT-ROUTINE was not correctly reading in positive bytes because We were missing a few more places where SIGILL needs to be enabled Update with info from commit logs. Add some missing exports. When creating an eql specializer, tell the type system aboout this eql Do not signal errors when a version is given without a name. This (remove-duplicates (list 0 1 2 0 1 2 0 1 2 0 1 2) :start 3 :end 9) => Borrow SBCL's ARRAY-READABLY-PRINTABLE-P function and use it to Fix bug in profile-all not being able to profile all symbols because Update from commit logs. Align with a NOP byte instead of the default 0. Helps the Add a deftransform for count for simple-bit-vectors. FOR-AS-ON-LIST is specified over lists, not proper lists, so remove Don't use NTH to determine if a list is a named structure because the Remove the slot named SLOT from the UNBOUND-SLOT condition. Also Tell CMUCL how to pprint EXT:COLLECT and Oops. When adding the allocation macro, the move-from-unsigned vop o Add vop for INTEGER-LENGTH of (UNSIGNED-BYTE 32). o Make opcode column width a bit larger because some instructions are o Add a pprinter for HANDLER-BIND. Use it to handle HANDLER-BIND and o Need to wrap an UNWIND-PROTECT around PPRINT-LOGICAL-BLOCK guts so Add MFTB and MFTBU instructions to read the low and high words of the Enable the cycle counter for ppc. It seems the time-base counter is o Don't try to scale the time-base value by 16 to get cycles, because MAKE-SYMBOL is supposed to take STRINGs not just SIMPLE-STRINGs. PPRINT-POP is supposed to return NIL when the list arg to Signal a type-error instead of an error when we cannot determine the Undefined conditions should signal type-error, not simple-error. We were incorrectly looking up local definitions for macros because of In PREPROCESS-FOR-EVAL, don't signal a debug condition when there are Apply Helmut Eller's patch (cmucl-imp, 2004/10/05) to make backtrace Oops. We were handling the case of an OTHERWISE key, but we forget to Move the loop pretty-printer to its own file because of the MIT Weak pointers can also be circular, so check for that too. Increase the size of the read-only, static-space, control-stack, and Export some symbols from the unix package that we export there. EXTRACT-NAME-TYPE-AND-VERSION: CMUCL was computing the values of asin, acos, and atanh on the branch Signal a PACKAGE-ERROR instead of ERROR when uninterning. Check to see if the loop iteration variable has already been used. Update to set the :cmu19 and :cmu19a features. Move the static space location for ppc/darwin. For some reason, OS X Cross-compile script for moving the static space for ppc/darwin. Fix loop initialization bug reported by Bruno Haible, cmucl-imp, Add some pprinters for COND, DEFSTRUCT, DEFCLASS, RESTART-CASE. Update from commit logs. The default value of EOF-ERROR-P arg for READ-FROM-STRING is supposed o Add pprinter for DEFPACKAGE, DEFMETHOD, and WHEN. Change RESULT-TYPE-OR-LOSE to signal an error if the sequence type is o Make NAMESTRING-PARSE-ERROR also be a TYPE-ERROR. This is a work o CALLBACK-ACCESSOR-FORM was totally broken because it forgot to parse The generated callback function was not doing a very good job in Use a non-descriptor-reg for the header tn in var-alloc. (From SBCL. Port Thomas Burdick's port of cmucl's callbacks to sbcl/ppc. Update. Define a new condition class, COMPILER-READ-ERROR, a subtype of Add Rob MacLachlan's loop analysis code. Incorporate the loop analysis code into cmucl, based on similar work Compiler was not accepting type specifiers like (float low high) where Export COMPATIBLE-FUNCTION-TYPES-P. Update from logs. Set the fill-pointer to NIL for arrays. Bug and fix from Helmut ir1util.lisp: After doing a READ-VECTOR, FILE-POSITION was returning the wrong value As reported by Rolf Wester, cmucl-help, 2004-12-06, 1d23 was causing o As a stop-gap for (concatenate 'fixnum '(a b c)) sometimes causing Add a derive-type optimizer for MAP. Add a new socket-error condition type, a subtype of error, and use it A directory component containing :WILD was not being handled correctly CREATE-INET-LISTENER was missing call to htonl. o Remove the :derive-type option from the defknowns for concatenate Fix some format bugs in ~{ and ~@[X~] bugs found by ansi-tests. Many Add a pprinter for defgeneric. o Make (formatter "~vR") behave like the interpreted version. Clean up ~^ expander and interpreter for the 3-arg case. Fix the order of evaluation for REMF, INCF, and DECF, as specified by Update from commit log messages. Enable loop analysis code. But the default is loop analysis is not Assign TN loop depths in SELECT-REPRESENTATIONS. (coerce #c(1 2) '(complex float)) was causing an error. Fix it. Enable defgeneric pprinter. ANSI CL says when "*read-suppress* is true, read, Allow parse-time to parse times like "2004-12-23T09:48:30z". MAKE-PATHNAME will now accept an explicit :HOST arg of NIL, which will Update from commit logs. Export CALLBACK-FUNCALL and document it. From Helmut Eller, cmucl-imp, 2004-10-05: Oops. The derive-type optimizer for logior incorrectly derived the This function from the misc.492 test from ansi-tests: Add type checks (THE) to the data-vector-ref and data-vector-set USER is not a nickname for COMMON-LISP-USER anymore, so remove that Use WITH-STANDARD-IO-SYNTAX when creating the string for arglists, in Change call to compiler-note to a call to efficiency-note, so we can Add AMOP style custom slot allocation. o With the heaps larger than most-positive-fixnum bytes, Add support for datagram networking. From a debian bug 290503, Fix the count deftransform. It was not correctly handling the case Scott Burson, cmucl-imp, 2005-01-26 says pre-gc-dyn-usage is sometimes Update from commit logs. Initial revision. Fix some floating point printing bugs. Based on the version in sbcl. Martin Rydstrom reports that CMUCL with the default heap size doesn't Note that Solaris 10 should work now. On sparc, round up the dynamic-space-size to the nearest multiple 8 Fix typo. READ-N-BYTES is in the SYS package, not EXT. Export COMPATIBLE-FUNCTION-TYPES-P for PPC. Temporarily disable recvfrom and friends on Darwin. Initial support for linkage-tables on PPC/Darwin. This is a Bootstrap file for adding linkage-tables to the ppc/darwin port. Use * code/internet.lisp, code/unix.lisp: Turn off a debugging statement inadvertently enabled. o IGNORE some unused args The array header length slot is array rank + 6, not 5. Print out slots in a complex array header, including dimensions. Symbols use the unused slot for a hash value now. Print out more slots of a Weak pointer. SCAVENGER-HOOK-P wasn't updated when the sparc port got gencgc. Make Add a simple printer for scavenger hooks for gencgc. (Without gencgc, Save FP register args before calling lazy_resolve_linkage. (Might not Note linkage-table support for PPC. For solaris, add the constant +sc-getgr-r-size-max+ and use it in As noted by Dan Corkill, cmucl-imp, 2005-02-08, :unspecific should be Signal a socket-error instead of a general error when a socket Update. Add vops for signed and unsigned truncate using multiplication instead Add a space between the args of an instruction to make it easier to Use register L0 (aka r26, aka %i2) instead of %g7 for the global temp * assembly/sparc/assem-rtns.lisp, compiler/sparc/call.lisp: Update to add :linkage-table and :modular-arith the the new backend Update to add :linkage-table and :modular-arith the the new backend Oops. Bad commit. Revert to rev 1.4. In dump-symbol, don't do anything special when the symbol is in the Oops. L0 is no longer a boxed register. In some situations, the compiler spends an enormous amount of time Apply Lynn Quam's proposed enhancements to fd-streams allowing input Remove extraneous character in docstring for trace. o Fix typo. Update from commit logs. Update the :WHEREIN option of TRACE to support method calls. To use a Workaround for bug reported by Lynn Quam, cmucl-imp, 2005-02-25. The A sequence type of NULL isn't too hairy for the sequence functions. Fix an overfull box warning. Document tracing of methods better and include an example of using the Update the date to reflect the snapshot. Update from commit logs. Use REQUIRE instead of LOAD when loading up our system libraries so we REQUIRE should not disable package locks when loading the desired Export MAKE-INDENTING-STREAM and INDENTING-STREAM-P from EXTENSIONS so Change printer for the unimp/illtrap instruction to print out its data Implement tracing for the known-return convention. This is basically Port Helmut's trace/known-return to ppc. Fix some bugs along the way Oops. Remove some debugging formats that we don't need anymore. Update from commit logs. DYNAMIC_SPACE_SIZE was too large and causes the heap to overlap Clean up #ifdef. o Add some notes about how breakpoints and trace work. Fix typo that prevented correct type derivation when ~G output always had a zero for the last digit when using exponential Add a few comments on what FLONUM-TO-DIGITS does. The START and END arguments and the return value for READ-VECTOR and Change how the CMUCL extension enabling both character and binary I/O Update for 2005-04 snapshot. The ppc port no longer uses the ppc-fun-hack where the Add support to print out some disassembly notes for static functions Add additional disassembly notes to code/load.lisp: lisp/lisp.c: Update. New pseudo-atomic scheme that looks more like sparc where we use the Gdb on OS X 10.2.8 (at least) doesn't like local variables names with Bootstrap file for cross-compiling the pseudo-atomic change for ppc. Based on some discussions on #lisp, allocate-vector for ppc needs to The second value from READ-FROM-STRING was wrong when the string was a Add an invalid trait for constituent characters and apply them to the Fix ansi tests FORMATTER.COND.13 and |FORMATTER.COND:.6| where ~V[ Update. MAKE-DISPATCH-MACRO-CHARACTER is supposed to return T, not some Rob Warnock reports on c.l.l that The deftransforms for STRING<*, STRING<=*, STRING>*, and STRING>=* Don't clear out the last word of the allocated array. It seems to The return type of COPY-SEQ is a CONSED-SEQUENCE which includes Fix the strange-template-failures in many cmucl-type-prop tests. APROPOS and APROPOS-LIST don't take the EXTERNAL-ONLY optional arg Update. MIN-AND was incorrect implemented compared to the version in Hacker's The SCALE-FLOAT defoptimizer was getting confused when the number was Oops. Fix typo. It's '*, not just *! Don't use MAP_FIXED so we don't clobber existing mappings. If we Signal a reader-error condition if a ratio cannot be represented. For Should close up any open alloc regions before purification. This bug Catch malformed (dotted) lists when reading vectors. (Are there other Remove defoptimizers for scale-single-float and scale-double-float and Oops. Fix typo and remove bare #if. Update from commit logs. o Signal a reader-error if a float can't be represented. Fix typo. * should be :maybe since array-type-complexp slot can only Undo rev 1.30 that close regions before purification. This was *HERALD-ITEMS* is NIL when -quiet flag is used, so check for that Oops. There's no L0 register anymore. Use the register number Update date for snapshot. Update from commit logs for snapshot. When cd'ing, make sure any output is discarded. This was causing Fix disassembler to be able to handle closures. The disassembler was NIL was matching keyword args when it should match. Don't signal a reader-error when *read-suppress* is true when reading Use array-dimension instead of length when creating the result array, Use array-dimension instead of length when printing the length of a Some WITH-FIXED-ALLOCATION calls had empty bodies, which probably Complex arrays of any type, not just complex arrays of type :maybe, code/lisp.lisp: The :datum for check-type should be the place-value, not the place. The WITH-FIXED-ALLOCATION body is empty in MAKE-VALUE-CELL. We Change the datum value from X to 2ND because we've already trashed X o Make VALID-FUNCTION-NAME-P the function name, even if it's not a Give a type-error instead of error if we can't disassemble a Supply a pathname for simple-file-error in make-pathname when we have Update from commit logs. Add a pprinter for declare. We were print declare like Setting the value of the value-cell-header-slot should probably be Use WITH-FIXED-ALLOCATION in FIXED-ALLOC, like sparc. Oops. OTHER-POINTER-TYPE is supposed to be LOWTAG. From Gerd Moellman, cmucl-imp, 2005-05-15: From Gerd Moellman, cmucl-imp, 2005-05-15: Update with some fixes from src/tools/README. Correct some other Removed. Necessary info is in src/BUILDING. Change pprinter for declare to line up the variables neatly, if they Update fasl file version to #x19b. Oops. Need a space to separate the various type forms if they're Patch from Gerd Moellmann, cmucl-imp, 2005-05-21: Patch from Gerd Moellmann, cmucl-imp, 2005-05-21: Patch from Gerd Moellmann, cmucl-imp, 2005-05-21: Bug from cmucl-imp, 2005-05-17 by Fredrik Sandstrom: Include the fasl-file-version in the lisp-implementation-version Update from logs Initial version of build script. Oops. Remove that set -x line. Add some info about simple builds using the new src/tools/build.sh The CALLERS-P slot of PROFILE-INFO was sometimes set to a Fix typo. (From Gerd.) Need to quote $VERSION when calling load-word.sh so it gets the right Fix for compute-slots, from Gerd, cmucl-imp, 2005-05-28. The test Fix typo. Make cmucl buildable on Mac OS X Tiger (10.4). Try to figure out default values for the architecture and OS if the o Update from release notes Fix CALL-METHOD used outside of emf from. Oops. Remove sh -x. We don't need to see it being executed. Add very, very rudimentary documentation about the datagram functions. Save xref information to fasls. o Definition of DEF-CALLBACK didn't include &body. (Noted by Luis From Gerd, cmucl-imp, 2005/06/11: Some fixes for floating-point printing bugs reported by Bruno Haible, Clean up some warnings. (format nil "~9,,,-7E" pi) was not printing any significant digits. Revert this back to rev 1.35. This change had nothing to do with AMOP Allow :internet as a valid protocol for open-x-stream. Fixes a typo Fix a few bugs in printing the pseudo-atomic notes in the Need to check for the pseudo-atomic interrupted bit AFTER the Add a new VOP for DOUBLE-FLOAT-BITS, like on sparc. A From Gerd, cmucl-imp, 2005-06-18: * code/foreign.lisp (load-object-file): Take the truename of FILE Update from 19b-branch. Merge from 19b-branch: Add unix-uname. Merge from 19b-branch to get %unary-ftruncate fix for regression of Was not noticing that printing -0.0 takes an extra character for the Initial revision. Fix one missing place where a compiler message wasn't preceded by a FreeBSD patches from Eduardo Munoz: FILE-POSITION on string input streams did not accept :START and :END Update from commit logs. Update from commit logs. From Vladimir Sekissov, cmucl-help, 04 Jul 2005. Oops. Add support for netbsd for unix-uname. From Robert Swindells. Revert previous change so we don't call truename on the given file. Fix for update-dependent on gfs, from Gerd Moellman, 2005-06-26: The FTRUNCATE derive-type optimizer was not correctly deriving the The default value for keyword args in deftype is '*, not NIL. Make it Add default implementation of ED, as required by ANSI CL. This does Build support for FreeBSD, based on patches from Eduardo Munoz. Add some missing DOCUMENTATION and (SETF DOCUMENTATION) functions for MULTIPLE-VALUE-SETQ is supposed to always return the primary value, Display start and end times for builds. From Eduardo Munoz. Ignore any errors we get from computing a bound and pretend we got a CLHS says (setf macro-function) and (setf compiler-macro-function) are The deftransform for - should be constrained to operate only on Update from commit logs. Add c::*enable-modular-arithmetic*, defaulting to T, that controls Fix typo in error message. Update date to snapshot. Update. Exit if malloc fails in make_var. From Carl Shapiro. o CLHS 22.3.3.2 (~E) says prin1 omits the plus sign of the exponent if No functional changes. Just clean up the code a little. Funcalling a special form signals an undefined-function error, but the Fix issue with callbacks when given args shorter than int. The reason Fix issue with callbacks when given args shorter than int. The reason Change ## to the traditional /**/ so that we can compile CMUCL on Change CC to gcc so we can use the default version on both Mac OS X Change :interface to :host to match implementation. Apply patch from Matthias Koeppe adding annotation support to pretty Signal a program-error instead of error when the number of arguments Add a restart to ENSURE-DIRECTORIES-EXIST to retry directory Update from logs. ASIN and ACOS were getting errors when given NaN's. Check for that o Fix a bug in %unary-ftruncate/single-float and Update to 19c fasl file version. Fix typo so we recognize the -? option. Fix for bug in alien enum types reported by Nicolas Neuss, cmucl-imp, (enough-namestring #p"/a/b/c/" #p"/") was returning #p"/a/b/c/" Update from logs. Correct the usage message. o The branch instructions were missing the branch attribute. Move the Darwin-specific timebase_init stuff from lisp.c to Darwin-os.c, tools/build.sh: Fix some issues with printing (make-pathname :directory '(:relative)), Update from logs. Pathnames with NIL hosts now use the host from Convert extended LOOP constructs in pprint annotations to equivalent GNU indent options used for indenting C code. Indent all source files using GNU indent using the config in TRANSLATE-PATHNAME should signal an error if (pathname-match-p source o Print out the host name when we're printing out LOGICAL-HOST Forgot to remove one other use of PATH2. Add support for multi-arch (fat) shared libs for ppc. (From James Update from logs. code/filesys.lisp: Update from logs. ENOUGH-NAMESTRING did not work with search-lists. Now just look at Oops. ENOUGH-NAMESTRING is supposed to return a namestring, not a The defaults arg for PARSE-NAMESTRING is a pathname designator, not a extract-name-type-and-version: Make SXHASH handle PATHNAME objects better by having it hash all the Fix bugs noted by Luis Oliviera on cmucl-imp, 2005/09/26. o A PATH-DESIGNATOR includes a file-stream, not a plain stream. All the instructions with an spr field had the wrong value for Remove the blrl instruction macro and replace it with the real The default case in the typecase in CALLBACK-ACCESSOR-FORM was The callback trampoline needs to save at least r13 and r24 to prevent Clean up code callback trampoline code: For all intents and purposes, pathnames with :version nil and :version parse-unix-namestring: Update from logs. Fix a couple of issues with ENOUGH-NAMESTRING not returning the Remove GRINDEF from the exports for the EXTENSIONS package. It Use fpu_control.h and _FPU_SETCW to set the FPU control word. Mostly Add a note about gdb 4.18 is the last debugger known to work with DUAL-CHANNEL-SIMPLE-STREAM's are missing the mode slot, which is Remove some (char *) casts because gcc 4.0.1 gives an error about Tracing with :encapsulate nil is rather broken on ppc. So change the If the pathname for PROBE-FILE is actually a directory, have If the pathname for PROBE-FILE is actually a directory, have o Adjust CALLBACK-ACCESSOR-FORM to handle 64-bit integer and Update bootfile directory version to 19c, since we're fasl version 19c Fix a bug in compute-restarts failing to compute the correct Update from logs. Update from logs (again). Revert previous change for now. It causes some additional ansi-test Port SBCL'S support for detecting when destructive functions (such as Bootstrap file for the port of SBCL'S support for detecting when Fix some issues with two-arg log function. (log 17 10f0), (log 17f0 The stack pointer is supposed to be on a 16-byte boundary, so make The stack pointer is supposed to be on a 16-byte boundary, so make Slight modification so we don't cause underflows when the CLHS 2.3.1.1 says if " token with the syntax of a number cannot be WITH-INPUT-FROM-STRING should not modify the index if it does not exit Fix typo. It's ":-", not "-:"! A name that is a declaration cannot be the name of a deftype, CMUCL cannot readably print a pathname with just a version component, Oops. A version of nil, :newest, or :unspecific is ok without a Fix ansi-test logical-pathname.error.2 which was failing because Compiler was not handling things like the following: o Only need to save r13 and r24 because the linkage-table entry uses Update from logs. (These should be moved to release-19d!) Add some vops to handle logand of signed and unsigned. Based on the Signal an error when trying to create a namestring if the name or type A pathname name may contain a dot if a pathname type is given. DESTRUCTURING-BIND is confused sometimes if a circular list is Add :modular-arith to desired features. Export CONSTANT-MODIFIED. CLHS 22.3.3.2 says for ~E: Add an extension to allow printing pathnames using the syntax o Make HEAD version of release-19c.txt match the actual release-19c.txt Change how the important-result stuff is implemented. We no longer Oops. Remove unused function, and make sure we have an array type Oops. It helps actually to check to see if the result of SORT or Fix warning: :precision-control isn't used, except on x86. Add more precise checking for results not used for functions like compiler/globaldb.lisp: Fix bug in peek-char for Gray streams. Reported by Walter Pelissero, Alignment of objects inside of structures is weird on Mac OS X. The Bootstrap file for adding documentation type for typed-structure info CMUCL wasn't properly calling C varargs functions because it wasn't Update from commit logs. Add LONG-LONG and UNSIGNED-LONG-LONG types to the C-CALL package. Remove some unused macros and stuff. From Carl. Fix a minor typo in the Mode line. Don't try to copy the FP arg to the stack. This isn't working yet; it Merge changes from the 19c branch. Fix up issues with calling varargs functions. (There is probably a Modify DOTIMES macro so that it always iterates the specified number Fix the long-long callback issues reported by Luis Oliveira, We were not properly creating a unsigned 64-bit int from the two halves. We were not properly creating a unsigned 64-bit int from the two halves. Style change: use let instead of let*. Update from logs. Do not signal an error when trying to retrieve the documentation for a A single leading dot in the name portion is ok when printing the Remove the dependency in DESCRIBE-PARTS on PCL. We do this by Fix bug reported by Drew McDermott, cmucl-help, 2005/12/07. The boxed register reg_FDEFN is r10, but r10 is one of the registers o Change :cmu19a to :cmu19c Make ppc port look a little more like sparc by making Remove unused code. Instead of putting the static-function-offset into LIP, put it in For a full call, copy the function to code-tn, which is what the sparc Fix typo with missing paren. Add a few debugging printfs. Missing a nop in breakpoint guts. Change initial value of *trace-encapsulate-default* to be :default for Fix a couple of typos in the names of the lisp registers. Sun Studio 11 understands .S so comment out that rule. Add support for sysinfo on Solaris. Update from logs. o Add new condition REFERENCE-CONDITION which is used to include Fix bug in parsing times. Things like "Tue Sep 7 18:56:57 UTC 2004" WITH-SLOTS and WITH-ACCESSORS should probably be pprint'ed more like (multiple-value-bind 1) caused an error while pretty-printing. Make Update from logs. INTERVAL-MERGE-PAIR was incorrectly merging the interval [-0.0, -0.0] DESCRIBE had the test for adjustable arrays backwards, so it said all EVENT-LISTEN is not an external symbol of XLIB. Merge ppc_gencgc_branch to HEAD. Implement UNIX-GETGRNAM and UNIX-GETGRGID. Identical to the versions Oops. Indent code according to style. Fix some issues with ppc callbacks. Update for ppc callbacks. Change pprinter for flet/labels so that it prints like a list if the Implement tracing of flet/labels functions. This probably needs more Mention tracing changes. Update from logs. Add pprinters for pseudo-atomic, without-scheduling, Initial revision. Add some notes about doing a cross-platform cross-compile. Remove some blank lines. And test of new cvs-mailcommit. o Test new mailcommit o Test new mailcommit o Test new mailcommit o Test new mailcommit o Test new mailcommit. o Test new mailcommit. o Test new mailcommit. o Test new mailcommit. o Test new mailcommit. o Test new mailcommit. o Test new mailcommit. o Test new mailcommit. o Test new mailcommit. o Allow disassembly of flets/labels functions Signal an error if we try to trace flet/labels functions using o Change the *print-level* and *print-length* for disassembly to allow When scavenging interrupt contexts, we need to scavenge LR and CTR Oops. Fix a couple of typos (missing paren) and reindent Update from logs. Don't declare the stream type so the etypecase can detect bad The mcrxr instruction is very, very slow on a G5, so don't use it. Update from logs. Testing cvs-mailcommit. o Disable gencgc consistency checks for DARWIN (but leave asserts Convert more simple-error's to socket-error's so usocket and do fpu_restore was missing a blr instruction. (Noted by Cyrus Harmon.) Export UNIX-GETGRNAM and UNIX-GETGRID for ppc. Fix pprinter bug in format string when outputting badly formed slots I think we should make the code-tn be set before we set the ctr LOOKUP-HOST-ENTRY returns a second value now. If LOOKUP-HOST-ENTRY Use a pprint-newline :linear style instead of :miser when printing out Handle circularity detection in logical blocks better. (Ported from Update from logs. The CLHS entry for SET-SYNTAX-FROM-CHAR is also supposed to copy the Fix up some more Ansi test failures with SET-SYNTAX-FROM-CHAR. This Fix properties of #|. It is a multiple-escape character, but its Remove the unused and bogus check for a valid pc. The information we Oops. Restore ability to trace setf functions, which was broken when Oops. Register A0 was not properly initialized for the undefined When reverting a file, don't delete the file if there was no Update from logs. Linux (just x86?) doesn't have h_errno. But it has __h_errno_location o Add docstring for *IGNORE-WILDCARDS*. Fix a few compiler warnings pointing to real issues: lisp/Linux-os.c: o Remove unused HANDLE-ADD-INST. Update from logs. Try to extract any declarations for the loop counter in DOTIMES and src/save.lisp: CLHS 22.1.3.1.3 says at least one digit must be printed after the CLHS 22.3.3.2 that if d is omitted, no trailing zero digits may appear Update from logs. code/format.lisp: Update from logs. It seems we need kernel::%sqrt to be defined for sparc. It's used, ppc/arith.lisp: More updates for disassemble of flet/labels functions. If the Tell compiler about disabled package locks too. This solves (works Don't produce a continuable error in INTEXP, if we're raising 1 to Oops. Fix stupid typo which causes a type error when disassembling Add comment about what this is trying to do. Fix symbol-macrolet + declare ignore bug found by Pascal Costanza, o Update from commit logs in preparation for snapshot This large checkin merges the double-double float support to HEAD. Oops. Defined the MOVE-COMPLEX-DOUBLE-DOUBLE-FLOAT-ARGUMENT vop but Random double-double floats. Fix bug about LISP::SOCKET-ERROR not being a valid class. From Craig Include the bounds for double-double-float when we specify bounds for Oops. We can only apply the sqrt deftransform for Export KERNEL::DD-PI, and import it into the EXT package and re-export Add a function to describe a double-double-float, including its compiler/float-tran.lisp: Make a note that double-double arithmetic is no longer inlined by The subtype_Names array had one extra slot, so that Print the identity when printing out weak pointers. Oops. Use 0d0 instead of 0w0 when creating a double-double-float in Merge in changes from the cross-compile scripts used for the Add support for double-double-float. Minor change so we can cross-compile a Cheney GC version from a gencgc On a C stack overflow, call segv_handle_now instead of Don't add bounds for double-double-float component of float. This Forgot a case for double-double floats in verify_space. Initial import. Add the trig argument reduction routines from Sun's fdlibm so we can Add better trig arg reduction via Sun's fdlibm. Just add some comment about the routines implementing accurate sin, Update from logs. o Remove unused code in ABS for double-double-float Implement accurate arg reduction for the trig functions sin, cos, tan, Oops. The argument reduction routine doesn't like negative numbers, Compile in k_rem_pio2.c. Compile in k_rem_pio2.c. Compile in e_rem_pio2.c and k_rem_pio2.c. Port sbcl's changes to room to handle gencgc allocation better. Include whether a hash-table is weak or not when describing a When freeing a hash entry, reset the kv-vector entry to empty. If we Don't hardwire the :EMPTY symbol all over the code. Element 1 of the Add a new function scan_weak_objects() to can weak pointers and weak Update from logs. Weak pointers were being scanned too often such that the weak pointer Update to match the cross-compile script used for double-double Add one more place where we scan the weak hash tables, because we Add a note about vectors that the data portion of the header word is Instead of using :empty to denote empty hash entries, use Weak pointers should be scanned after weak tables because entries in o Print a warning when creating a weak hash table with a test other Update from logs. code/hash-new.lisp: Oops. Enable :double-double and :gencgc, by default. Add support for weak value, key-and-value, and key-or-value hash Oops. Add new static symbols needed for new weak hash table types. code/hash-new.lisp: Oops. Forgot to define hash_vector. Aargh! Was filling the wrong entry in the hash_vector when freeing an Add BASE-CHAR and CHARACTER to o Update from logs Print out what kind of weak hash table we have. Some very basic support for signed zeroes for DOUBLE-DOUBLE-FLOAT. We code/ntrace.lisp: Document :wherein-only option for trace. Add a note on how to trace Add a target to create a tar file of the html files. Plain "<foo>" doesn't do what we want. Use \var{foo} instead. Fix pdf bookmarks (for more recent versions of pdftex). Oops. Change = to ==. Handle forward-referenced classes. This is needed to build McCLIM This set of changes removes the constraint of the READ-ONLY space assembly/ppc/assem-rtns.lisp: Put some newlines in the messages from red-zone-hit and Restore alloc-tn and null-tn in interrupt_handle_space_overflow. Update fasl file version to 19d for snapshots. Floating-point fixes for ppc. SIGCONTEXT-FLOAT-REGISTER should return a single-float if the FORMAT Implement GET-FP-OPERANDS so that more information can be printed out Initial revision of release notes for 19e. code/float-trap.lisp: Match ppc changes. Update from logs. The value for an ADDIS instruction can be negative. Make it positive Change default dynamic space size to 256 MB. Implement faster logcount, using same algorithm as Sparc. Previous fix for negative values was wrong. Fix it. Apply Martin Rydstrom's fix for forward-referenced classes. This code/float-trap.lisp: Fix the bug reported by Madhu on cmucl-imp, 2006/12/16: Fix issue reported by Albert Reiner, cmucl-help, 2006/10/20, and fix Micro-optimization: abs of 32-bit integers can be done without Update Version numbers should not start with 0. This causes problems DOUBLE-DOUBLE-FROM-BITS was returning the low part with the incorrect Fix trac ticket #8: 2-arg log function can't compute some logs. Merge LOG2 and LOG2-DD into one function. Update from logs. Remove double-double helper functions used to get two-arg arithmetic Fix expt derive-type optimizer. The compiler was deriving the result Only run psset if psset is available. Otherwise, just copy the file. Add footnote that FWRAPPERS were independently developed, but modelled Add footnote that Paul Foley contributed cmucl's simple-streams Update from logs Fix bug in expt type derivation. Provide :gray-streams. compiler/ir2tran.lisp: Add support for dynamic-extent for ppc. Document tracing for FLET/LABELS in the docstring. Was not getting the right instruction for the faulting floating-point dd-%expm1 was computing the wrong values. Fix it so that it works. Export DOUBLE-DOUBLE-FLOAT from the VM package. Export GET-FP-OPERANDS on ppc. Better conversion of bignums to double-double-floats. Also fixes the The TN lifetime and targeting stuff appears to be broken for o Oops. Offset for second word of a Fix the stack part of the MAKE-COMPLEX-DOUBLE-DOUBLE-FLOAT vop. It Oops. Put back the lifetime and targeting stuff for Get the lifetime right for the lo arg to the vop INTEGER-decode-double-double-float was not combining the two parts Fix typo. o Remove some extraneous (typo) parens for MAKE-COMPLEX-DOUBLE-DOUBLE-FLOAT doesn't handle the case where the arg o Fix typo handling complex-double-double-reg-sc-number case. SHADOW takes "a designator for a list of string designators". This Update from logs. Oops. It's fldd, not fld, to load up double-floats. In MAKE-COMPLEX-DOUBLE-DOUBLE-FLOAT Update from logs. Use unix-mmap from unix.lisp because mmap can return "negative" values, Make parse-time recognize output from asctime/ctime. Replace double quotes with appropriate TeX quotes. Fix MOVE-COMPLEX-DOUBLE-DOUBLE-FLOAT-ARGUMENT vop: Allow descriptors for COMPLEX-DOUBLE-DOUBLE-FLOAT-VALUE. This gets Allow descriptors for COMPLEX-DOUBLE-DOUBLE-FLOAT-VALUE. This gets Oops. MOVE-COMPLEX-DOUBLE-DOUBLE-FLOAT-ARGUMENT was using the STQF o Reinstate :load-if for MAKE-COMPLEX-DOUBLE-DOUBLE-FLOAT. It seems Update header tags with latest version. o Allow descriptor regs for COMPLEX-SINGLE-FLOAT-VALUE and o Allow descriptor regs for COMPLEX-SINGLE-FLOAT-VALUE and Update from logs. Update comments because the foreign linkage space and dynamic space Trac ticket #9: parse-time mishandles invalid number of days in a Apply fix for default-initargs where initialize-instance and o Update from logs. When purifying the static space, change the loop condition from != to o when verifying a space, print out both the closure_tramp and The arguments of the A instruction format were in the wrong order. compiler/ppc/float.lisp: Trac ticket #10 Oops. Forgot to add the type code for complex-double-double-float. I DD-COMPLEX-ASIN was returning the wrong value for real z and z < -1. DD-COMPLEX-ATANH was returning the wrong value for real z and z > 1. o Make DD-%ATAN2 handle signed zeroes. This is needed to get branch Make scale-double-float maybe-inline so it can be inlined if needed. o Remove some unused constants We were not correctly reconstructing double-double-float signed zeroes Revert the previous change to DD-COMPLEX-ATANH. If z < -1, just call Update version to 19d so we look in the correct directory for Fix typo. Bootstrap for fused multiple vops for ppc. DOUBLE-DOUBLE-FLOAT-VALUE VOP accepts descriptor-reg args now. Make DD-%SIN and DD-%TAN return -0w0 when the argument is -0w0. Some changes proposed by Madhu on cmucl-imp, May 3, 2007. DOUBLE-DOUBLE-FLOAT-VALUE VOP accepts descriptor-reg arg now. Update from logs. This checkin adds some debugging code for the x86 heap corruption No longer link libXm statically. We haven't been doing that for compiler/float-tran.lisp: Oops. Fix typo where some RETURN-FROM'S were returning from the wrong Displaced arrays should have element types that are type equivalent. Oops. Remove extra paren. More RETURN-FROM's returning from the wrong block. Fix bad phrasing. Make the reader faster when reading #1= constructs when there are lots o Remove a version of TWO-PROD that wasn't actually used. o Inhibit warnings for POLY-EVAL and POLY-EVAL-1. Update from logs. o Add support for Linux executables. Add initial support executables on Solaris with gcc. Executables are Oops. Don't need set -x anymore. Add comment that *current-region-end-addr* is a Lisp fixnum, but we Remove the sunos-map-file when linker.sh exits. o Declare undefined_tramp and closure_tramp as functions instead of Initialize variables to silence dbx runtime-checking notes: Update from logs. Export FUSED-MULTIPLY-ADD and FUSED-MULTIPLY-SUBTRACT for ppc to get Environment access functions from CLtL2. Not all of the functions Add (INHIBIT-WARNINGS 3) to various bits of double-double float code. VERIFY-WHEREIN in TRACE-1 was not using its first arg, so it wasn't Add (INHIBIT-WARNINGS 3) to get rid of unavoidable note. Declare optional arg of ED as ignorable. %TIME doesn't use the optional arg, so remove it. Use better gensym names for DEFINE-MODIFY-MACRO so that DESCRIBE can Update DECLARATION-INFORMATION to return values for DECLARATION. Not Add support for executable stuff using Sun C on sparc. The executable Solaris needs libgen.h to define dirname. Generate more informative gensyms. Tweak grammar. code/env-access.lisp: Ticket #11 Update for Trac ticket #11. Update from logs for 2007-09 snapshot. Apply patch from Walter C. Pelissero, cmucl-imp, 2007-09-05, fixing Update. Untracing of flet/labels functions wasn't working and neither was Oops. Really get rid of lisp::sxhash-instance. Fix bug noted by Chisheng Huang, cmucl-imp, 2007/09/24. Fix bug noted by Chisheng Huang, cmucl-imp, 25 Sep 2007. Update from logs. Fix bug in parse-time noted by Chisheng Huang, cmucl-imp, 24 Sep 2007: compiler/locall.lisp Update from logs. Fix for Trac ticket #1. Oops. Delete extra paren. The floating point precision was always getting reset to :53-bit, even "which gmake" returns values that confuses the script for some Fix problem with cross-compiles needing SXHASH-INSTANCE because TRACE print.lisp: o Make the implementation of the log approximation the same in Remove incorrect comment. If the number is exactly zero, make the printed exponent be zero, Fix typo. o Add RATIONAL-TO-DD, an accurate method to convert rationals to o Use new RATIONAL-TO-DD function to convert bignums to Update from logs. Slight reimplemention of how tracing of local functions is done. We Update from logs. Update to 19d. Import Paul Foley's external-formats support. Oops. Don't need -x flag anymore. Update from Paul Foley. Update from logs. This removes some code duplication by moving bref, etc. (accessors for Lynn Quam noted that callbacks did not work on his system. This Export symbols from xvidmode, xrender, and shape extensions. In UNIX-MMAP, replace FILE-OFFSET with (SIGNED-BYTE 32), since boot-1007-11-14-1.lisp: Fix some mistakes accidentally introduced in the sigcontext Export COMPATIBLE-FUNCTION-TYPES-P. To make single-float operations produce correctly rounded single-float Handle the case where which returns nothing if it can't find the Oops. Remove errant set -x o Add -p option to skip loading of PCL Update from logs. From Helmut Eller, cmucl-imp, 2007/11/29: This has the same issue with finding make as in build.sh. Copy over o We now have Darwin on x86 and ppc. Use uname to tell us which. See bug reported by Madhu, cmucl-imp, Nov 27, 2007 and the following Get rid of a compiler warning on sparc. On x86/darwin, tracing only works with encapsulation, so make the Tracing with :encapsulate NIL works on Darwin now. There are some Abstract out the access to the eflags register in a sigcontext. The null mcontext issue appears to be gone on Darwin. But leave a Update from logs. Update from logs. Export some symbols from the UNIX package for darwin/x86 to get rid of Clear the FPU status word before loading the control word from the Compile e_rem_pio2.c and k_rem_pio2.c with -ffloat-store on those Move the rules for e_rem_pio2.c and k_rem_pio2.c from GNUmakefile to code/bit-bash.lisp: Update from logs. o Add a new section for double-double-float numbers. Add /opt/local for Macports version of Motif. Fix typo. o Restructure the Floats section slightly and remove the sub section Update docstring to note that weak tables can be created only with a Add some rudimentary documentation for weak hash tables. Use "extensions", not "ext" as the package, to be consistent with o Fix typo (MT19937, not 87) o Fix typo Fix some overfull boxes by rewording a few items. Fix a format regression. (format nil "~21E" (expt 2d0 120)) was o Incorrect number of digits were printed for ~wF. Was failing to print enough digits for things like (format nil Rewrite the %single-float/singed and %single-float/double-float vops Enable new %single-float/unsigned vop too. Add new interface to ieee754_rem_pio2. No longer need to pass in an Fix issue with truncate with a double-double-float divisor. Bug noted Fix typo in accurate-scale-exponent. Was not handling o (format nil "~9,3,2,-2,'%@E" 1100.0) was printing %%%%%%. It should Minor tweak. dd is always positive in the fixed format case for Split CFLAGS into two parts. One contains all flags except Briefly document the :EXECUTABLE option to SAVE-LISP. Oops. Revert previous change and use the -fno-strict-aliasing option But ww-1-n can be negative, so clip it to 0, if needed. This doesn't Change fasl file version to #x19e. Use boot-19e.lisp to make this Update cross-scripts to :cmu19e. ASFLAGS should use $(GENCGC) and $(LINKAGE_TABLE). Compile e_rem_pio2.c with -fno-strict-aliasing. Revise again. Don't limit the fraction digits. Just print out Correct some comments. For ~w,dF, don't print out too man leading digits if the number is Change the range of when %sin-quick, %cos-quick, and %tan-quick is Replace some incorrect usages of with-empty-tn@fp-top with o frob OLD-SPARC:SIMPLE-ARRAY-COMPLEX-DOUBLE-DOUBLE-FLOAT-TYPE Nothing special needed in extern-alien-name. Remove redundant info. Make a note that hevea 1.10 produces odd looking html. Also note that Oops. It's OLD-X86, not OLD-SPARC! Need to export COMPLEX-DOUBLE-DOUBLE-FLOAT-TYPE, Need to export the following so cross-compiles work better: o Don't wrap the body in an #ifndef/#endif because this file is o In LOAD-FOREIGN-SYMBOL, the #+(or sparc ppc) stuff is really only o Update from logs. Make RATIONALIZE work for double-double-floats. (From an email today o Update date Ignore html Small tweak to SPLIT. Set the threshold between the two algorithms to Trac ticket #13. Merge fix for compact-info-env from release-19e-branch. Merge fix from release-19e-branch. os_validate should return NULL on Merge changes from 19e branch. Initial revision. Update from logs. Merge fix from release-19e-pre1 to fix ~g problem with printing 0.0 Fix bug in backquote printer. If the variable is @foo, we Try to derive the rank of the array even if the resulting array is not (format nil "~5f" 1d-10) was printing out way too many zeroes, Fix off-by-one bug in ~R which prevents printing numbers from 10^63 to Include iso/limits_iso.h to get UINT_MAX. Oops. It should be limits.h. Make compiler and interpreter handle slot-value the same. See thread Missed a place where flonum-to-string wasn't converted to use keyword Update from logs. Pprint ansi-loop::loop-body like a progn. Perhaps that's not right, o UNIX-GETPWUID is for all BSD systems. Merge changes from 19e branch. o Trac #13 is fixed in 19e. Oops. DERIVE-TYPE optimizer for EXPT was returning invalid type Enable double-double-float bounds for the FLOAT type translator. o Pathname printer was producing an error for (MAKE-PATHNAME :HOST NIL o Fix type-derivation for the basic DOUBLE-DOUBLE-FLOAT arithmetic Update from logs. Trac #14: cmucl.css missing from html tarball Ignore cmu-user-letter.ps. Actually implement the DATA-VECTOR-REF-C and DATA-VECTOR-SET-C vops sparc/parms.lisp: Export SINGLE-FLOAT-BYTES and DOUBLE-FLOAT-BYTES. When SCALE-FLOAT would underflow, return a floating-point 0 of the Use single/double-from-bits to create the result, to match the style Update version so we look in the right place for bootstrap files. Declaim vm::*note-sethi-inst* and vm::*pseudo-atomic-set* to get rid Move the GET-FP-OPERANDS stuff from compiler/sparc/float.lisp to Initial version. [cmucl-ticket] #16: Read-time hash-table issue Update from logs. Update fasl codes from the current values in load.lisp. Fix critical typo. We want to store the value, not the result. (In Have trace files contain a little more info. Make printing of the debug arglist a little more robust. An example: Update from logs. Include the object address when there's an error in printing the Double-double float bounds don't work on ppc/darwin for some reason. Add functions for fused-multiply-add and fused-multiply-subtract. Not o Add OLD-VM as nickname. Fix issue with slot-value-using-class and Update. Oops. Put that note in the PCL section. o Add a few comments RENAME-FILE should create the defaulted-new-name from merging new-name New external format stuff from Paul. Create a new search-list "ext-formats" that is initialized to Make DIRECTORY work faster when there are a large number of files. Cosmetic change to WITH-OPEN-FILE so that the macro argument looks Update from Paul: Use the length of CARDINAL-PERIODS instead of a hard-wired literal 21. Some cleanups from Paul Foley: Add convenience functions OPEN-NETWORK-STREAM and Add deftransform for %single-float and %double-float so we can convert compiler/float-tran.lisp: Should be period < length, not period <= length. Update from logs. code/rand-mt19937.lisp: More cardinal names. From Paul Foley. Update from logs Fix minor issue: Fix mistake in previous checkin. CARDINAL-PERIODS must have a leading Fix for Trac #17: LOOP NAMED NIL has no effect We always need a block NIL when there are no named loops because Oops. Fix typo. Export ACCEPT-NETWORK-STREAM and OPEN-NETWORK-STREAM to get rid of a Update docs, from Chun Tian, cmucl-imp, 2008/07/18. Add very rudimentary docstring for INET-SHUTDOWN. Add some better docstrings. Network updates from Chun Tian, cmucl-imp, 2008/07/21 and followups. Fix typo. For some reason the vm::ash-left-mod32 is never translated using the compiler/x86/arith.lisp: compiler/srctran.lisp: Like on sparc, change cost of FAST-LOGAND-C/SIGNED-UNSIGNED=>UNSIGNED Update digit-ashr, digit-lshr, and digit-ashl to support an immediate Remove unused code for multiplier recoding. This is now part of The character names listed char-name-alist need to be a capital letter Enable lookup of foreign function names using dladdr instead of just Simplify the definition of the modular functions by macroizing the Don't want to skip modular arith stuff if the result is known to fit compiler/sparc/arith.lisp: o LOGAND-DERIVE-TYPE-AUX was deriving the result to be too wide for Add VOPs for RAW-REF/SET for the case of a constant index. Try to read 627 random words from /dev/urandom when initializing the Oops. Last change didn't correctly handle the case where one of the o A seed of 0 should be ok in INT-INIT-RANDOM-STATE. Update from logs. A fix for the error that causes di::handle-breakpoint to complain Use new compute_offset for ppc too. Fixes the same unknown breakpoint New compute_offset is working on Solaris with Sun C now. Enable it. Add explicit rule for building version.o. Needed if you do parallel compiler/ppc/parms.lisp: Add UNIX-GETGRNAM to export list for the UNIX package for x86/darwin, Fix mistake; remove &optional. Fix long-standing bug where C-c sometimes causes a segfault on Update comments. Change how we handle function end breakpoints for non-x86. We don't Add a new section giving some examples of tracing. Clean up sigbus-handler. I don't think we should be calling Enable gencgc page protection for x86/darwin. interrupt_maybe_gc isn't used with gencgc, so don't compile it in when Oops. If we make clean, make sure lisp.nm is regenerated. Fix long-standing issue on sparc and ppc with linkage-tables. After building the C code, we need to run build-world again to create new-genesis.lisp: Fix typo. Should only need to run build-world a second time only for the first Minor tweaks. With the gencgc write barrier in its own function, we can enable Print out a warning message if we get a real protection fault. Minor tweak to aid cross-compile from systems that don't have o Only use one version of LOOKUP-SPECIAL-SYMBOL for all Add OLD-VM as a nickname for the old backend. Use the nickname Update from logs. Add some checks to bad eval-when situations. Print a warning if there Update from logs. Fix unix-openpty. The parameters should not include amaster and Export UNIX-OPENPTY. Cosmetic change: add vertical bars (or spaces) to separate octets when Move LOOKUP-SPECIAL-SYMBOL to get rid of some compiler warnings. Comment out the setquota entry so we can compile on Linux. (This Ticket #24. Speed up bignum-truncate by getting rid of the special variables Correct some comments referring to the (now) nonexistent *truncate-x* I think we can turn off debug 3 for KARATSUBA. o Add new condition type for exceeding the intexp maximum exponent. Update from logs. Update from logs: unix-openpty. code/float.lisp: Merge in SSE2 changes from sse2-packed-branch (tag Info on SSE2 support. *pcl-system-date* may not be long enough for subseq to work. Add a o Turn off complex contagion stuff because it breaks things like Re-enable :complex-fp-vops on sparc. The simple FFT butterfly is 2.5 o Enable the complex-contagion deftransforms o Fix typo in complex-double-float-*-double-float vop: unpcklpS -> If either FEATURE_X87 or FEATURE_SSE2 is set, build the C code with float-tran.lisp: Enable SSE2 when either FEATURE_X87 or FEATURE_SSE2 is set so the C Add back deftransforms for real+complex and real*complex when Indent a maphash neatly. No other changes. tools/make-dist.sh: compiler/srctran.lisp: The checks for a NULL mcontext in FIND-ESCAPED-FRAME are no longer For sparc we pretty much always have to run build-world twice. We PCL::SLOT-INIT-FORMS returns two values. Update tests to reflect that. Trac Ticket #26: slot-value type check. Fix Trac #25. Use SLOT-TYPE-OR-T instead of SLOT-DEFINITION-TYPE so we honor Initialize fpu_mode. os_sigcontext_fpu_modes should return a 32-bit int, not a long since Change type of fpu_type from int* to fpu_mode_t*. This gets rid of a Change how we put the FPU type into the core file. We can't use Fix tracing on Darwin. The jmp instruction at the beginning of Update from logs. Remove all references to SCALE-EXPONENT and friends. They've been Make the x87 core the fallback if the chip supports SSE2, but we can't Update for x87 fallback case. INNER-COERCE-REAL-BOUND needs to coerce to DOUBLE-DOUBLE-FLOAT, when Oops. Need to move %DOUBLE-DOUBLE-FLOAT from compiler/float-tran.lisp CLHS says the interval designator should have the same type as the Coercing the double-double-float bounds now works on ppc for the FLOAT Update for REAL and FLOAT type specifier changes. Add -mmacosx-version-min so the resulting lisp can run on older Use a two-byte jmp instruction in function_end_breakpoint_guts. This Apply patch from Stelian Ionescu on cmucl-imp, 2008/12/24 to allow Clean up Config, like in linux_gencgc, removing LINKAGE, GENCGC, and Replace $TIMER with time, everywhere. Support building and running on OSX 10.4 (Tiger). o Clean up min OSX version stuff. Add -I and -M options: No functional changes; just group some of the symbols in EXT together More EXTENSIONS symbols rearrangement. More cleanups: o Fix typo in defknown result type for %COMPLEX-DOUBLE-DOUBLE-FLOAT. o Group float extensions together Group the Spice Lisp extensions together. Fix for handling arithmetic errors with x87. o Move the 10.4 macro definitions outside the function. They're used code/commandline.lisp: Move defvar of *ALLOW-FUNNY-SLOT-NAMES* from std-class.lisp to Add cpuid function. Update from commit logs. o Add a VOP that runs the cpuid instruction and returns the results. cd - doesn't work in /bin/sh, so we need to run that part in a make-dist.sh: Oops. Don't need v flag when tarring up the files. o Minor tweak to CPUID tn lifetimes. Allows level to be packed into Oops. Make the default directory for the man pages man/man1 instead Document the -fpu option. Document the -- option. Config.x86_common: Use a float for the bounds of a float type specifier. Trac #29: make-condition doesn't accept class objects Fix typo with misplaced paren. Import BREF, BUFFER-COPY, BUFFER-SAP, ENDIAN-SWAP-VALUE, and Update script to support SSE2 builds. (Basically copied from the sse2 o Add a little text to unix-chmod docstring to describe the mode Initial revision for x86 linux config using x86_common. o Change default Linux config from linux_gencgc to x86_linux, to match Update from logs. Setting OSX_VERSION for 10.2 doesn't seem to produce an executable Initial version Merge changes from RELEASE_19f. Trac Ticket #31: pathname bug with :case :common code/irrat-dd.lisp: This big of code causes CMUCL to spend huge amounts of time trying to Look in the 19f directory for bootfiles. Carl fixed the aliasing issue in e_rem_pio2.c sometime ago so we don't linux-os.lisp: code/hash-new.lisp: Need to load x87-c-call if we're not running an sse2 build. Update from logs. Print out the length of the array for simple arrays. o Add some docstrings to READ-VECTOR and WRITE-VECTOR. Update Don't import CALLBACK-ACCESSOR-FORM and MAKE-CALLBACK-TRAMPOLINE from Merge change from unicode-utf16-extfmt-branch that fixes the end index Merge change from unicode-utf16-extfmt-branch that fixes a typo. Merge Unicode work to trunk. From label Make the deftransforms for sxhash for single-float and double-float Fix potential issue with spurious signals when dividing a complex by a Update complex vops so that the output of each vop clears out the code/numbers.lisp: For Linux, default to gencgc. Fix issue with complex contagion on sparc. The vops for complex+real o Fix deftransforms to do contagion correctly: Add DESCRIBE-CHARACTER function to describe characters. This includes compiler/float-tran.lisp: compiler/x86/float-sse2.lisp: code/string.lisp: Cleanups for non-unicode build. Merge portable-clx (2009-06-16) to main branch. Tested by running Merge portable-clx (2009-06-16) to main branch. Tested by running Compile in the new files screensaver, xinerama, and xtest. These are There is no external-formats library. Don't try to build it and don't Update example for target: search-list to work with the default CMUCL Update docstring for CASE and TYPECASE to mention that Otherwise can Compile and load unidata.lisp, even for non-unicode builds so that we SETF-SLOT-VALUE-USING-CLASS-DFUN was signaling errors when checking Change all references to char-code-limit to 256 when compiling on a Use a loop for %SP-BYTE-BLT for Unicode. This makes display work. Fix bug introduced when converting tables from hashes to ntries. From Actually implement cp1253 external format. (Was missing the table.) Update with data Unicode reference. Update all tables to use the data from the Unicode site. Fix FILE-STRING-LENGTH to handle unicode streams. From Paul. Update from logs. o Fix typo (extraneous backquote). Update STRING-ENCODE and STRING-DECODE to handle surrogate pairs GENTEMP sometimes generated the wrong symbol because the Update from commit logs. Make reading and writing from files work with unicode. (Of course, Oops. For x86 builds, we don't want to clean out everything on the o Oops. Make a note about allocation issue on sparc and ppc that has boot-2009-07.lisp: Fix precision bug. On x87 builds, the precision was set to 64 bits Update from logs. Treat Unicode symbol characters like characters without case so they Fix compiler warning on sparc. o Fix a compiler warning about inconsistent arg types. Add new config for sparc/solaris, matching what was done for x86. The unidata.lisp: Fix spacing for Unicode herald item. Use the same formula here as used in the deftransform for complex Protocol needs to be set for open-x-stream as well as Clean up a few compiler warnings about unused variables. lisp/lisp.c: Oops. Forgot a few places to set up c_symbol_name for non-Unicode Add enum for the linkage type code. Indent docstrings for read/write-sequence so it lines up like other Add pretty printer for stream::with-stream-class. Make simple-streams work with the new Unicode external format strategy.lisp: strategy.lisp: o Load simple-streams library if needed. strategy.lisp: impl.lisp: Remove *TRACE-PRINT-LEVEL* and *TRACE-PRINT-LENGTH*, which don't Update from logs. code/extfmts.lisp: Oops. Remove debugging print. Fix some typos. From Paul Foley. Fixes from Paul Foley: Document change to *default-external-format* and stream:set-system-external-format. Update from logs. Fix a few typos. Oops. utf16-string-p was returning NIL if the codepoint was Export SET-SYSTEM-EXTERNAL-FORMAT. Compile and load the external format code. o Put some comments back in. Don't want debug 0. Makes debugging much harder. Some symbol cleanups. When describing a character, indicate if the character is a surrogate There is no or function in my version of GNU make, so do it the hard Add a defknown for lisp::shrink-vector, just in case the compiling Bootstrap to get rid of stream::surrogates and import lisp::surrogates. Illegal surrogate sequences (leading surrogate without trailing When creating distribution binaries, use a "random" directory name Document the use of the GTAR enviroment variable to specify GNU tar if Fix a couple of issues with Update make-dist.sh and make-src-dist.sh so that the source code can Update from logs. Use :UP instead of :BACK. And use the correct number of them. Use more descriptive argument names for SURROGATEP and Oops. Remove junk at beginning of file. Document that an alias can also be a list, for composing external Add contrib directory to extra tarball. These were always part of the contrib/CATALOG.TXT: o Add *C-COMPILER* and *C-COMPILER-FLAGS* to hold default C compiler Add Gerd's sprof statistical profiler. o QSORT always sorts by <, so no need for a test parameter. Tell ROOM about the size of strings, which are larger now for Unicode! o RECORD-DYNINFO says we should run with GC disabled, so do it. Update from logs. Fix issue with installing sources to a directory. This was affecting Solaris. Comment out install-composing-format-character-strategy for now since Remove non-existent symbols DEFENUMERATION, DEFOPERATOR, DEFRECORD. Add support for flushing out any state in an external format when Add support for flushing out any state in an external format when Merge changes from 20a-pre1 (tag release-20a-pre1) to trunk. tools/build-unidata.lisp: Regenerated to include the new word break properties. norm-test.lisp: Document DEBUG:VAR and DEBUG:ARG functions in help, as a reminder on Add support for the Unicode word break algorithm for Oops. Remove old code that didn't support our UTF-16 strings. Change *testfile* to *normalization-test*. Add one test to check that we're handling surrogate pairs correctly. Initial version. Merge changes from 20a branch. Update version to 20a. o Update features to :cmu20 and :cmu20a o Update features to :cmu20 and :cmu20a Merge changes from the release-20a branch. From A.M.Raportirenko, on cmucl-imp, Sep 25, 2009: dirname Merge changes from 20a release branch. Fix Trac bug #33: get-dispatch-macro-character doesn't signal errors Add a few more aliases for utf-16 and utf-32. Oops. The type of code is not a 16-bit unsigned integer. It's a The character attributes for | and ` were set incorrectly which caused Add docstring for SET-SYSTEM-EXTERNAL-FORMAT. Add docstrings for the new alien functions getenv, setenv, putenv, and As reported by Robert Swindells, cmucl-imp, 2009-10-15, we should not UNIX-SYSINFO was broken for Unicode builds, which made MACHINE-TYPE Merge changes from unicode-string-buffer-impl-branch which gives Initial version, from the copy in o Fix critical issue where the conversion of integers to floats left Revert previous change. Instead, make the arithmetic vops for mixing Update from logs. This large checkin brings the amd64 port up-to-date with the current Use the right instruction for amd64 to get the fp. Revert previous changes. They were supposed to go on Oops. Really enable the type predicates for simple-arrays of Initial version for ASCII external format. o Update from logs. Fix typo in docstring for FINALIZE. Make the backend-version indicate whether the backend is using sse2 or Spell the processor name the way Sun spells it, and remove the OS Add support for static arrays that are not moved by GC. This is based Expand the docstring from MAKE-ARRAY. o Change allocation to use :malloc instead of :static, as suggested by First cut at GCing static vectors, including static simple-arrays. o Have MAKE-STATIC-VECTOR push the weak pointer onto *STATIC-VECTORS* Fix bug in SUB-UNIX-EXECVE. The call to execve needs to convert the Oops. When we continue from the intexp-limit-error condition and set Remove commented-out call to set-terminal-coding-system, which doesn't o Add another function to check for other places that can't be malloc code/unix.lisp: o Add linux support in other_space_p. Update from logs. Update documentation for RUN-PROGRAM to mention that the :OUTPUT can Comment out the :BEFORE-EXECVE option; it doesn't seem to exist Fix FILE-POSITION for fd-streams with a string buffer. It was If a trace-file or error-file is specified, open the file with the Oops. The string buffer contains characters, so to get the correct Fix handling of debug sources. When trying to read the source form Update from logs. Fix handling of the byte-order mark. The state was not getting set Always set the external format for the stream after calling :SSE2 should not be a runtime feature saved in internals.h. This is Oops. Last change to fd-stream doesn't actually compile because no For Solaris, detect which OS version we're building on and choose the STRING-ENCODE has start and end indices. Use them instead of consing Exit with code 1 if ldb wants to quit due to EOF on something other Oops. Debugging print for FREE-STATIC-VECTOR was in the wrong place. Combine the formats into one. Adjust TRANSLATE-DIRECTORIES to make the result be a relative or Update from commit logs. Add known issues with executables and FILE-POSITION with external Oops. Non-unicode builds don't have source-info-external-format. Set build.sh: Patch from Stelian Ionescu on cmucl-imp, 2010/02/01: Linux-os.c: o For DARWIN (and NetBSD), use the SpaceStart_* values for the Use appropriate flags for SunStudio 12. Add declaration for convert_lisp_string to get rid of compiler warning Simplify UNICODE conditionalization by using convert_lisp_string Ticket #22 Implement a fast fround for single and double floats. This is enabled GET-MACRO-CHARACTER was using the wrong readtable when figuring out Update from logs. o Make %unary-fround return a negative zero if the argument is a Export %UNARY-FROUND/SINGLE-FLOAT and %UNARY-FROUND/DOUBLE-FLOAT to Fix from Helmut Eller for a bug mentioned by Madhu on cmucl-imp, Update help string for debug commands: Include the dump time and host of the version of CMUCL used to create Fix critical bug in vop for multiplying a complex single-float by a o Fix issue where some instructions like MOVLPS would print the Fix issue where CMUCL does not correctly handle FLETs in DEFMETHOD Bind *readtable* to the standard table when compiling the external Update from logs. Wrap the call to compile-from-stream in WITH-STANDARD-IO-SYNTAX to In FUNCTION-LAMBDA-EXPRESSION, COMPILED-DEBUG-INFO-SOURCE can return For a compiled function, recompile from sources if the COMPILE will now update the macro-function if the specified name names o Update from logs. Make CMUCL signal a cerror if we try to redefine a slot accessor. If Update from logs. Merge intl-branch 2010-03-18 to HEAD. To build, you need to use Fix SSE2 bug when running Update from logs. extensions.tex: Bind intl::*default-domain* so that changes to intl::*default-domain* code/intl.lisp: code/print.lisp: MAKE-SYMBOL needs to convert the given string to NFC form to match PRINC-TO-STRING should bind *PRINT-READABLY* to NIL. pcl/defclass.lisp: pcl/boot.lisp: pcl/boot.lisp: pcl/defcombin.lisp: From Paul Foley. Translatable strings are recorded only if Enable translations when building the world and the utils. Update docs to match current implementation. o Modify DEFVAR, DEFUN, DEFPARAMETER, DEFCONSTANT, and other macros Remove _N"" reader macro from docstrings when possible. Remove _N"" reader macro from docstrings when possible. Remove _N"" reader macro from docstrings when possible. Remove _N"" reader macro from docstrings when possible. Remove _N"" reader macro from docstrings when possible. Remove _N"" reader macro from docstrings when possible. Change uses of _"foo" to (intl:gettext "foo"). This is because slime Update. Ticket 39 is closed. Regenerate pot and po files. Regenerate piglatin translation. Don't export *TRANSLATABLE-DUMP-STREAM*, which doesn't exist anymore. Update localization chapter with new functions. Change example to Add source location info for defstructs and deftypes. o Work around issue pointed out by Madhu on cmucl-imp, 2010-04-24. Regenerated. o CHAR-DOWNCASE was mistaken included with CHAR-TITLECASE. Add mac as an alias to the cr composing external format. Document CR composing external format. Update from logs. Regenerated. Fix typo. Fix gcd bug: (gcd 20286123923750474264166990598656 Update. Restore old defsystem.lisp. Add asdf2 and restore (and update) defsystem. PROVIDE DEFSYSTEM as well as MAKE so that REQUIRE won't load defsystem Update to asdf version 1.721. Primarily to get modules: added to the ASD file for contrib module. Update call to PROVIDE to use the module name. (Not really needed Remove the cmu-contrib module since the modules can be loaded using Demos depends on CLX, so load up CLX. Update to asdf version 1.722. This moves cmu's contrib modules to the code/commandline.lisp: Make the docstrings follow the CMUCL convention so that they are lined Add "target:contrib" to modules: search-list so that contribs can be Support localization for the docstrings for the switches. o Forgot to mark one translatable string. Regenerated. Remove all of the fuzzy translations that are totally wrong. Update from logs. Fix some typos. Add some Korean translations. lisp/x86-validate.h: code/macros.lisp: Update to version 1.728. This fixes some pathname merging issues, Too many args to NOTE-LOSSAGE message in Regenerated. Touch the fasl files for asdf and defsystem so that the object date is Output time in ISO 8601 format. Update with released version of asdf2. code/fd-stream.lisp: code/filesys.lisp: Fix issue where the debugger (and TRACE) would get the wrong Install the _ reader when cross-compiling. Revert the previous change to fix debug:arg/trace issue. Instead, use Make previous changes build for x87. Fix tracing/debug:arg bug. Testing and debugging by Alex. The trace/debug:arg issue is fixed for Darwin, Linux, and FreeBSD now. Add comment about what this is for. Add two more slots to an fd-stream to indicate how to handle errors Add initial support for signaling errors in external formats. Update external formats to include the new required error parameter Ignore cmu-user-html.tgz. Fix critical bug introduced in previous changes. Incorrect results Implement more of the external format error handlers. Oops. Remove stray character. code/extfmts.lisp: o Rearrange error calls so that error function can just return the code/extfmts.lisp: ascii.lisp: code/extfmts.lisp: o Add declaration to get rid of a compiler note. Add flush-state method to flush out the UTF16 state. This allows us In EF-FLUSH, we need to handle bare surrogates ourselves for the case Add :DECODING-ERROR and :ENCODING-ERROR keywords to OPEN function. Oops. Add types for :DECODING-ERROR and :ENCODING-ERROR keyword Fix some compiler notes by adding declarations and removing one extfmts.lisp: Update for external format error handlers. Document the error parameter for define-external-format. Oops. STRING-ENCODE now takes keyword args instead of optional args, Fix critical error in fast-read-char-string-refill where we didn't Oops. It's ~4,'0X, not ~4,0X. extfmts.lisp: Update with bugfix for bad buffering for decoding external formats. Fix issue where we get warnings about source being newer than object o Fix issue with decoding error call. The error function takes 3 Update po files after running msgmerge. Fix the check for overlong sequences. The constants appear to be Update to note that overlong utf-8 sequences are actually correctly Fix typo and put closing paren in the correct place. o When encountering an overlong sequence, a surrogate code, or a iso8859-2.lisp: extfmts.lisp: Add a documentation slot to external formats so that we can give a Only update translations on the last build. tools/build-world.sh: Add some comments, noting the author. Update translations from current code. o Update version to 2.004: Some docstrings in signal.lisp were conditionalized for different Regenerated from current code. Regenerated from current code. Regenerated from current code. Oops. Previous implementation of with-textdomain didn't actually Regenerated from current code. Update from building on Linux. Oops. All of these files should not be in the "cmucl" domain but the commandline.lisp: Regenerated. The strings in handle-breakpoint-aux are system-dependent, so set the Regenerate sparc message templates. Regenerate from current code. Regenerated from current sources. Update from current sources. Merge changes from sparc-tramp-assem-2010-07-19. This moves Fix code so it will compile on 8-bit versions. Basically, don't Need to precompile the ef slots for both unicode and non-unicode Update from logs. Enable support for external-format errors for non-unicode builds too. Get rid of the emacs local variables section. Add -G option to allow specifying GNU make in case "make" is not GNU make. Push :executable feature for sparc. This now works on sparc, at last. Fix bug in imagpart/complex-single-float. The vop was totally wrong. Update from logs about sparc :executable and SSE2 bug fix for Fixing interior pointers should ignore the lowtag bits. Fix long-standing compiler error when cross-compiling the new In the vops realpart/complex-double-float and Make executables work again on Linux. (At least on openSuSE 11.2). o Fix a really stupid newbie C mistake in maybe_static_array_p where a compiler/fndb.lisp: Executables are working on Linux again. The generated linker script was placed in the wrong directory and ld lisp/elf.c: Update previous change for sparc. Need to strip off any directory from the path to get the output file Change how Solaris executables set up builtin_image_flag. Instead of Config.x86_linux: Change how we build executables for Linux. We no longer need the New linker shell script to build cmucl executables for Linux/x86. Some cleanup for Linux executables. The value of the First cut at executable images on Darwin/x86. The resulting Some cleanup of the names of main functions for creating executable More cleanups. Only install the cmucl linker script if it exists. Update how executable images are done on Solaris to match Linux and Update with executable image info. For Linux and Darwin, we don't actually need to set the starting Put back the segment address for Darwin. If we don't, vmmap prints o Forgot to add :executable to save-lisp signature. Fix typos, clarify a few items. Since it's about time, and while we're doing the cross-compile anyway, If the fpu mode is specified, apply the fpu mode for the first build Tell user to use the -h option to get up-to-date info on each No functional changes. Just update and clarify comments. No functional changes. Just update and clarify comments. Update the date. Add a comment. Should work with gcc too. A simple test indicates that the given Let the linker remove the object files we created for the Lisp spaces. More comment cleanups. Initial version. o Update link to CL Hyperspec. o Add entry for ld-library-path search-list. Ignore some more filess created from running tex and/or hevea. Inhibit warnings around funcalls to error. This was generating too Correct the docstring for OPEN for the :ENCODING-ERROR and o Document the parameters to OPEN that are specific to Unicode. Forgot to export DESCRIBE-EXTERNAL-FORMAT from the EXTENSIONS Forgot to remove the work-in-progress line. Fix some typos. Fix typo. The packed shift instructions must have an xmm register as the FILE-POSITION returned the wrong thing for Unicode. The Trying to has a NaN causes an error. Don't add zero if it's a NaN. insts.lisp: utf-32-be.lisp: utf-16-be.lisp: In FLUSH-STATE, only flush something if the state has something to be extfmts.lisp: Fix file-position bug in trac #36. We add an array to keep track of When decoding-error is T, use a question mark for non-unicode builds Update from logs. Add some smarts to the EXPT derive-type optimizer so it can handle the Rearrange the last change to simplify the code a little so it's easier Forgot to handle unbounded integer powers. Oops. The upper limit for the octet-count array is one less than the Update from RELEASE-20B-BRANCH. o Update with new command line options Update asdf2 to version 2.007. general-info/release-20b.txt: code/x86-vm.lisp: Just add comment that we don't distinguish between SIGFPE between x87 Add -w option to allow user to specify a different script instead of Merge fixes for fast-read-char-string-refill from the 20b-branch. Merge changes from 20b branch. Merge changes from 20b-pre2. Correct docstring for OCTETS-TO-STRING to reflect what actually Clean up how (setf stream-external-format) works. This change Some small cleanups. Rename linker-x86.sh to linker.sh. tools/FreeBSD-cmucl-linker-script Executables work on FreeBSD again. Regenerated from current sources. Add function to convert a sequence of codepoints to a string and a Fix FD-STREAM-FILE-POSITION, which was returning the wrong thing for Canonicalize the external-format name when create the source-info for o Insert a Language field in the header. Regenerate files. Regenerate from current sources. o Add "Language: Korean" to the header. Alex says msgmerge on FreeBSD Add support for Unicode 5.2. The normalization and wordbreak tests pass. Pull out the range tests for CJK Ideographs and Hangul Syllables and Reverse the meaning of the -P option. Now, -P means don't generate Add note about using -crl for cross-build-world.sh to combine some Initial version. Remove redundant setting of MAKE_TARGET. (Noted by Alex.) o Unicode 5.2.0 lisp/GNUmakefile: o Fix typo in UNICODE-DECOMP. (It's hangul-syllable-p, not Add support for character completion. This is primarily intended to Note addition of character name completion functions. Optimize the completion of the Hangul syllables and the CJK unified Update to upstream asdf 2.008. exports.lisp: code/unidata.lisp: Simple refactoring: Add function to write out a dictionary and use it code/unidata.lisp: Some Hangul syllables were left out of the Hangul syllable dictionary. o Construction of the Hangul syllable codebook was wrong. To satisfy Oops. Fix long standing bug where the trie for Unicode 1.0 names was Regenerated with correct table for Unicode 1.0 names. Merge from 20b-branch for bug fix for Unicode 1.0 names. o Move %STR, %STRX and %MATCH around so that we can inline them Improve completion of Hangul syllables and CJK unified ideographs some Was mishandling the case where there are no more completions. In this Add support for external formats for RUN-PROGRAM, which now takes an This entire file should be in the cmucl-x87 domain, not cmucl-x86-vm. Update from latest sources to get new messages strings. Update from latest sources to get new messages strings from x86/float.lisp. Regenerate cmucl-x87.po and cmucl.po for each locale.from the latest o Inhibit warnings from SURROGATEP; I'm tired seeing the code deletion When there's more than one possible completion, we need to keep the Merge changes from 20b branch. o When changing external format from :iso8859-1 to another format, we Include libgen.h on Darwin/x86 to get rid of a compiler warning about Add :decoding-error arg to compile-file to specify how decoding errors Add some declarations to get rid of compiler notes. Set LANG=C before compiling the C code. For some reason on my Don't need to install the po files since they're not used by anything. Clean up code using FEATURE_EXECUTABLE. Since builtin_image_flag is Actually set the library search list to the saved value. Previously Regenerate from sources. Regenerate from sources. Fix typo: missing closing }. From release-20b, merge fix for typo. Add a function to create the key from two codepoints that can be used o Document the -S option better. Update to revision 2.009. In brief_otherptr, the name slot of a symbol was not printing out the Use lowtag_Bits - 1 instead of a bare 2 when converting a fixnum Fix typos introduced in last commit. Use lowtag_Bits -1 instead a hard-wired 2. Move all the string print stuff into it a common routine to print out Make read-char and read-byte signal errors when given the wrong kind Update with current changes for READ-CHAR/READ-BYTE/READ-SEQUENCE. Some changes to replace calls to gettext with _"" or _N"" for things tools/build.sh: Initial revision. Add DOCDIR variable so the location of the documentation files can be Oops. Need to include stdint.h to get uint16_t defined. Add trailing newline. Update from logs. Regenerated from current sources. Fix critical bug in realpart/imagpart. Handle -C option better, especially when given -C "" to denote the Update from logs. Command line processing didn't handle -- properly if it is the first Update from logs. Oops. Fix typo. Don't load site-init file. Update to 2.010. Correct the docstring for SAVE for the :LOAD-INIT-FILE argument. Oops. Don't need to translate "" (in lisp-implementation-version). Regenerated from current sources. Fix typo in ENUMERATE-MATCHES. It's verify-existence, not Update bootfiles version from 20a to 20b. There won't be anymore Add new slots to the backend to hold the foreign linkage space start Vops for adding a real to a complex was totally messed up. The real When storing strings to the core file, swap the bytes of Unicode Print out the PC when we get a real protection violation. Fix padding for stat64. st-pad2 was the wrong size to pad st-size to GET-BEST-AUTHORIZATION wasn't handling the case of a :local connection Signal a warning if ~:[ directive includes ~:;. From a message by Update from logs. o *FILENAME-ENCODING* was never getting set. Fix that. (From Paul Update from commits. Clarify entry on realpart/imagpart bug. It's an x86-only problem, and Initial version of script to cross-compile from x86 OSX to x86 Update from logs. Regenerated from current sources. Add comment. Support cross-compiling from x86 to sparc, unicode. Also fixes some Clean up implementation. Clean up implementation removing commented out stuff in Minor change to allow the script to work for cross-compiling No functional changes. Just update examples. Update to version 2.011. SUBSEQ was sometimes crashing lisp when the end index was less than Export some UNIX symbols for FreeBSD to get rid of a build warning. Revert some of the previous cleanups. They were preventing building Speed up building on sparc. Time taken is now almost half! This was Revert previous change. Instead of caching probe-file, have compiler/generic/new-genesis.lisp: Don't call dgettext if there's no documentation string. This used to On Darwin, SIGSTKSZ is 128K, not 8K like on most other systems. Oops. If the domain-entry-encoding is NIL, we just want to return Merge changes from cross-sol-x86-2010-12-20 which adds support for Oops. nuname is for Solaris/x86, not Solaris/sparc. Set maxima dynamic space size to 2.304 GB. Update conditionals so this does the right thing on Solaris/x86 so Update conditionals so we choose the correct compiler for Solaris/x86 Solaris/sparc and Solaris/x86 both use the same executable style so Support NetBSD. Recognize NetBSD defaults. Add support for NetBSD for the new executable image implementation. Fix os_sigcontext_fpu_reg to return the correct address for SSE2 o Oops. We want the xmm registers if index >= 8. Fix tracing for NetBSD. Function end breakpoints didn't seem to be Fix typo. Add implementation of SC_EFLAGS for Solaris/x86, but disable for now Use -xM1 so we don't include dependencies to /usr/include. The address computation for x87 registers was wrong. Fix them so. Document why SC_EFLAGS doesn't seem to work on Solaris/x86. Unintern removes the wrong symbol. See Allow more than one keyword constructor for defstruct. Bug and fix Update from logs. Solaris/x86 has a working dladdr, so we can use the fancy o The latest openmotif from macports appears to be linked against the NetBSD has a working dladdr, so we can use the fancy Fix typo in unix-uname. We want to use "uname" everywhere except on Oops. Forgot to tell getopts about the -B option. Changes to support building on Mac OS X 10.6. When compiled on 10.6, Transform (EQ foo NIL) to the equivalent (IF foo NIL T). Optimization For Darwin, we need to specify -arch i386 if we need to run ld so that Micro optimization: In SET-CMT-ENTRY, if the char-code is above Fix typo. The check for whether we were trying to use encapsulation Fix typo. We wanted to export the function DESCRIBE-EXTERNAL-FORMAT, Recognize i86pc from uname -m. Don't dump fdefinitions for local flet/labels functions. Suggested by Update from logs. The :OUTPUT-FILE for COMPILE-FILE can be a stream. Fix ansi-test failure OPEN.IO.28: Make the test for flet/labels functions more explicit. We were Fix bug where cmucl was no longer recognizing things like Need to define %sqrt for x86/sse2 so the compiler can constant-fold Remove commented-out DEFAULT-DIRECTORY written by fmg. Update from logs. Fix Trac #43: unread-char doesn't change file-position Fix Trac #43: unread-char doesn't change file-position Update to upstream released version 2.013. Second return value of compile-file should be true if style-warnings Update to asdf 2.014. Update to asdf 2.014.1 to fix an issue with SUBDIRECTORIES function on Update from logs Remove extra right parenthesis. Regenerated po files from current sources. Regenerate piglatin translation. Order the header in the same order as what the tools tend to produce Update so that linux can be used to cross-compile to freebsd. Automatically select arch and os on FreeBSD, if none given. Update so we can cross-compile from linux to solaris too. Add short description for build.sh. Ignore shell wildcards when determining next version. Add :CMUCL to *FEATURES*. Add -unidata option to specify unidata.bin file. Update from logs. Regenerated from current sources. Update to release 2.016. (require "asdf") loads asdf now. Add function to load all unicode data into memory. Allow specifying a core with an executable image. o Update for recent change. Revert last change to fix Trac #43. Update to Unicode 6.0.0. Regenerated for Unicode 6.0.0. Usability and internal restructuring. Update from logs. Regenerated from current sources. Fix Trac #43 again. o Trac #43 fixed again. Don't call dgettext with a NIL doc. Update from logs. Reduce consing of SAPs in ROOM. Improve type progagation for LOAD-TIME-VALUE. contrib/asdf/asdf.lisp Make the stack checking feature actually work on Darwin. Previously, Add os_init0 to allow for some really early OS inits. Oops. Need to check for gc write barrier before handling the sigbus. Insert line breaks in the yellow-zone message. Cleanup sigbus handler for stack overflow. Fix rounding for large numbers. Regenerated from current sources.
toy (583): Correct typo: should coerce 0 to the same type as the float! o Fix the declaration bug in complex-log-scaled For x86, need a float-wait to catch any FP exceptions that might have o Added new defvar *load-lp-object-types* to hold possible logical Fix a typo: the optional :pt argument for the branch instruction was o Sparc v9 instructions are longer so make the opcode column wider. For type tests, assume branches for test failures are not taken. ANDCC should also check for rs1 = %ALLOC before adding a note about Add :verbose option to load-foreign to honor *load-verbose*. (From Add some comments and update to use -DSOLARIS25 and solaris-os.c by Add constants for Use the constants for the fixnum tag stuff and fixnum size. o Use the constants for the fixnum tag stuff and fixnum size. fixnum-tag-bits is really one less than lowtag-bits. Boostrap for sparc. Renamed sparc-boot1.lisp to boot4.lisp, with appropriate changes so Declare %sap-alien and alien-sap as maybe-inline functions. Helps When unparse-unix-file is given a logical pathname, don't put ~'s Revert previous change. Use a deftransform instead. Update deftransform for alien-sap: Add disassembler support for printing out notes about static-symbols Initialize sparc::*note-sethi-inst* and sparc::*pseudo-atomic-set* Rewrite concatenate deftransform to use nested lets. This works Add MAYBE-NOTE-STATIC-FUNCTION to print a disassembly note about Add OFFSET-STATIC-FUNCTION to return the static function symbol given Print a disassembly note, if possible, about references to static Print a disassembly note about static function usage. o Small optimization for deftransform for complex/complex (one less Add defoptimizer for SIGNUM. For large functions and such, the tn-offset of stack variables may be o The vops for complex division had the branch condition reversed In the LOADW/STOREW macros, add an extra parameter for holding a temp Earlier versions of gcc on Solaris deletes some of the symbols we Add the stack clearing feature for sparc when allocating Lisp stack o Add the stack clearing feature for sparc when allocating Lisp stack Some updates for loadw/storew in case the tn-offset doesn't fit into Put back the special case of comparing against zero. This is very Export pseudo-atomic-trap so genesis will put it in internals.h for C Use trap_PseudoAtomic instead of the hardwired 16. o Use trap_PseudoAtomic instead of the hardwired 16. Export some of the exported SPARC symbols o Remove the unused check-fixnum code that used taddcctv. Patch stolen from SBCL bug 81. o Remove some unused code. Fix bugs in ash-right-signed, ash-right-unsigned. Should help o Change :external-format for LOAD back to :contents as it used to be. Bootstrap file for the sparc pseudo-atomic-trap change for o DTC's fix for right shifting (unsigned-byte 32) values by amounts > Update CFLAGS and LDFLAGS to the correct values for the Motif This causes problems when building on x86, so arrange it better for dotimes fix to enable optimization in cases of nested dotimes with This should work better now for building on Sparc and non-sparc Eric Marsden's updated CMUCL User's manual, split up into several From Eric Marsden for a bug found by Paolo Amoroso: From Eric Marsden: The main file is cmu-user now, not cmucl-user. Update appropriately. o Need to load the hyperref package before the html package because it Add constants and code to allow the user to select the rounding Initial revision All platforms support specialized arrays of signed-byte 8, 16, 30, and Oops. precision-control-alist should only be defined for x86. Don't make the document date the day latex was run because that makes o Delete the section on symbols because it's wrong and because we Document the -dynamic-space-size and -nositeinit command-line options. Correct some comments about the C heap size and add a note about vector-sap. Make URLs actually displayed in the print version instead of an o Make MT-19987 hyperlink actually displayed in the print version From Eric Marsden: Reduce consing in %naturalize-c-string. (We're already given an Remove the OLD-SPARC nickname from the SPARC package. (Should the From Eric Marsden: From Eric Marsden: From Eric Marsden: Marco Antoniotti's read-sequence and write-sequence routines that Revert the previous change pending a better solution. That change Make the pdf file have section numbers and have reader display 2 Compile with -O3 which gives a 5-10% performance boost. (From Eric Apply to the sparc port the x86 fix for catch failing to accept %ENUMERATE-FILES was not putting the version number on to pathname From Lynn Quam. The second value of ffloor, fceiling, fround, and ftruncate is Make FTRUNCATE faster and less consy by manipulating the bits directly Forgot to export the %unary-ftruncate stuff. Add defoptimizer for %unary-ftruncate so the compiler can derive the o Fix bug in %unary-ftruncate/double-float which was returning 0.5 for ~,1,6,$ was printing out too many pad (space) characters because we Micro optimization for Sparc. The ftruncate code using Make defoptimizer for ftruncate work (still need to figure out why the Reinstate the original definition of fround (calling round) because we %UNARY-FTRUNCATE actually takes a REAL arg, not FLOAT, so correct the Branch offsets are really 22 bits long, not 13. (Bug noted by Add documentation for heirarchical packages. (From Eric Marsden, with The deftransform for expt was not correctly handling the case of a profile:report-time doesn't print out a long list of functions that Update the trap instruction to support all forms of the trap Since all forms of the trap instruction are now supported, we need to Get rid of the compiler warnings from gcc about stuff at the end of a Declaim %UNARY-FTRUNCATE/SINGLE-FLOAT and Abstract all allocation through the ALLOCATION macro. Initial revision for bootstrapping the Sparc allocation changes. Rudi Schlatte noted that A ratio divided by zero was returning 1/0 instead of signaling an Correct a couple of bugs found by the CLOCC ANSI tests: From Christophe Rhodes: From Eric Marsden: Patch from Martin Cracauer. FLOAT-RADIX is supposed to signal an error if the argument is not a According to the CLHS, the lambda keyword &rest must be followed by a (pprint-logical-block (nil nil :prefix 42)) causes a bus error because GENTEMP is supposed to take just strings, not strings and symbols. Xauthority fixes from Hannu Rummukainen and Scott Fahlman, with From Eric Marsden: SHIFTF supports multiple-values, as required by ANSI CL. Definitions for two-arg-string< and two-arg-string> were wrong. These vops probably should not take stack args because the AND CLHS says compiler-macros should recognize calls of the form (funcall (coerce <rational> '(complex float)) is a (complex float), not a From Alexey Dejneka via SBCL: Give more meaningful messages for the continue and clobber-it restarts The recent extended loop changes requiring compound forms after do Only create a buffer for streams of type (unsigned-byte 8). Fixes the o Make the branch instruction for non-v9 accept additional args which ECASE and CCASE are allowed to use T and OTHERWISE as regular keys Target the unsigned-reg, not the signed-reg for If the sequence type has a length, we check to see that the length Disable the concatenate deftransform if safety = 3 so that we can From Eric Marsden: From Marco Antoniotti: compile-file-pathname now computes the Catch attempts to bind a special or constant variable with From Eric Marsden (additional change in main.lisp noted by Christophe o For the stream functions, declare the stream arg as a stream or Test for type file-stream instead of stream because a stream may not UPGRADED-COMPLEX-PART-TYPE: Try to handle more component type specifiers for type COMPLEX. Still From Iban Hatchondo: If a symbol names a type specifier, have DESCRIBE say so. A very slightly massaged patch taken from the SBCL patch by Alexey Release notes for 18e from Eric Marsden. 18d is no longer a work in progress. We were not honoring compile-file-pathname when given a logical Apply Alexey Dejneka's compiler fix for SBCL bug 120a which says: Apply Alexey Dejneka's compiler fix to allow another optimization pass Fix bug noted by Gerd Moellmann. DELETE-LAMBDA is used in locall.lisp---make it available. From Eric Marsden: Update with recent changes. Christophe Rhodes says "EMIT-REGISTER-INST call should have o Moved the definitions of LOWTAG-BITS, LOWTAG-MASK, and LOWTAG-LIMIT Oops. Undo previous change and put back LOWTAGS-BITS, LOWTAG-MASK, Add support for unboxed 64-bit integers that are available to us on a In the v8plus abi, we need to save the %o registers before calling Turn on v8plus abi when compiling. Change LOADQ/STOREQ to LOAD64/STORE64, since they're not quadwords. Give a better error message for atan when given an arg that isn't Forgot to remove the declaration for LEAF-FUN when we removed o DATA-VECTOR-REF-C/SIMPLE-BIT-VECTOR was not correctly getting o Fix a few note strings for unsigned 64-bit numbers The WITH-ALLOCATION-MACRO changes the code for allocation, and the Solaris needs the undefined (U) symbols in lisp.nm to build a working Treat pathname version :unspecific the same as :newest. From Gerd Moellmann: CONCATENATE and MAP were allowing output-type-specs of SIMPLE-ARRAY MERGE was directly comparing the result-type to 'LIST. We really Add a Karatsuba multiplication routine for multiplying big bignums. Update for some recent changes. When running pdflatex, add bookmarks for the sections. Correct a missing cross-ref. Don't mark cmu-user-letter.tex as .INTERMEDIATE because gnu make o Correct some spelling mistakes From Gerd Moelmann, with minor additions for sparc: o Reinstate gray-streams support for read-sequence and write-sequence Document the user-defined hash table extension. (From Robert Fix typo. Add some vpath directives so this Config works better with Pierre Add some vpath directives so this Config works better with Pierre Tell CVS to ignore some generated files. Port over SBCL's fix for the Entomotomy bug Port over SBCL's fix for the Entomotomy bug Port over SBCL's fix for the Entomotomy bug Port over SBCL's fix for the Entomotomy bug Port over SBCL's fix for the Entomotomy bug Fix for the Entomotomy bug Fix for the Entomotomy bug Fix for the Entomotomy bug Fix entomotomy bug o Port over Tim Moore's cool foreign linkage table stuff to sparc. Initial revision Oops. Comment out a debugging print statement. Change apply to reduce. This works around a bug noted by Peter Van CTYPECASE and ETYPECASE also accept T and OTHERWISE as keys, just like Don't make lisp::*linkage-table-data* a static symbol if we're not Use getcwd instead of getwd. Add getcwd. o Fix pushnew evaluation order. (Fix provided by Gerd Moellman.) Add a note that nsp-tn = %o6 = %sp. Ignore some more TeX-generated files. Entomotomy bug remove-malfunctions-with-start-end-and-from-end Reinstate the special case handling when PLACE is a symbol (and not a Make the profile report print everything in neat, uniform columns even PUSH and PUSHNEW support multiple values as places. o Remove the references to :propagate-float-type and o Add Tim Moore as maintainer Update date. Shorten the long lines to make TeX quieter. The previous checkin adding multiple-values support to push and Allow larger consing values when profiling by using two fixnums to Load meta-vmdef. Entomotomy bug macro-lambda-list-rest-overly-permissive: Use LinkageEntrySize from internals.h instead of LINKAGE_ENTRY_SIZE. Fix typo on the dfixnum profile changes so this works on non-x86 Bob Rogers suggests that default-directory return a pathname with an Make MAX_STACK_POINTERS bigger. Eric Marsden reports that in some Fix typo noted by Eric Marsden. MAYBE-LINK-TABLE-ADDR is an number, STREAM-READ-SEQUENCE and STREAM-WRITE-SEQUENCE was getting called with There is no dlsym_fallback on Solaris, so remove it and return Was not properly handling undefined foreign symbols: Add some #defines and macros to make it easier to create (and Fix typo: It's :defined, not xdefined! Make REMOVE and friends handle negative or bignum :count arguments. XFree 4.2 needs -ldl, as noted by Eric Marsden. Fix two loop bugs: Logical pathnames like "lpnhost:name.type" have directory component Update release notes. From Eric Marsden. From Eric Marsden: Bug and solution from Eric Marsden: Need to #include globals.h to get dynamic_space_size defined. A new and much improved Makefile from Eric Marsden. o Add rule for building the index for cmu-user-letter. Ignore more files that are generated when creating the documents. From Eric Marsden: From Eric Marsden: Fix a few typos/mistakes in the precise profiling update that changed Add definitions for the passwd routines. Add setpwent, endpwent, and getpwent for Solaris. o COMPILE-FILE-PATHNAME was returning the type of the input file for Alpha Linux support from Brian. Entomotomy: peek-char-wrongly-echos-to-echo-stream MAKE-SEQUENCE checks the length is compatible for the types 'NULL and MERGE checks the length of the result is compatible for the result o Remove the VECTOR-COUNT and LIST-COUNT and use VECTOR-COUNT-IF and SET-EXCLUSIVE-OR was not working correctly in some situations (shown DOLIST was not properly establishing a tagbody for the body, as shown o Check that the args are sequences for some, every, etc. MULTIPLE-VALUE-SETQ was mishandling variables that were symbol Reinstate the check for properly formed vars list. Comment out the latex2html stuff that we don't really support Better describe using :encapsulate for tracing. From rpgoldman. Add a short blurb that the reader supports reading of specialized :allow-other-keys is a valid keyword arg. Make it so. (This is PROGV was mishandling some cases with special variables, as Fix typo in MULTIPLE-VALUE-SETQ. Noted by Eric Marsden. From Gerd Moellmann: Don't delete the log file. PSETQ was not handling symbol macros. Use PSETF to implement PSETQ. From Gerd Moellmann, "canniablizing CVS SBCL": From Mario Mommer: Document CMUCLs internet functions. From Mario Mommer. Include internet docs. Add xref entry for file descriptor streams. Fix typo. From Eric Marsden. A better solution for the loop destructuring bug. From Gerd Moellmann From Gerd Moellman who ported the SBCL version to CMUCL. Entomotomy bug: macrolet-insufficient-syntax-checking Fix a long-standing typo wherein the macrolet for vop for subtracting Fix typo in vop name. Correct a few typos, add a label, clarify the out-of-band data Reference the out-of-band data stuff in internet.tex instead of From Gerd Moellmann, porting Christophe's SBCL's change, with a few From Eric Marsden: From Eric Marsden: Have %verify-argument-count signal a simple-program-error instead of a Signal undefined-function instead of program-error when funcalling the Fix typo. (From Eric Marsden.) o Fix spelling Port of SBCL's changes: o Make named :complex-subtypep-arg2 return T, T when the second type o A hack to make (subtypep 'keyword 'symbol) produce the right answer, Make "Newline" be the char-name instead of "Linefeed", as mandated by From Eric Marsden: From Eric Marsden: DEFSTRUCT was not recognizing the option :conc-name or (:conc-name). Update the exports to get rid of some warnings when compiling CMUCL. MACROLET needs to be expanded in the lexical environment, not the null Fix typo. From Eric Marsden. Coercing a number, make sure the resulting coerced number is of the Allow computation of log's of big integers that might not fit in a Initial revision Gerd Moellmann's port of SBCL's fix for the conc-name/structure Recognize UTC (as the same as GMT). Precede compiler messages with a semi-colon. Error messages don't o Was not properly printing out, readably, zero-dimensional arrays o Reinstate the printing of the callers-p results. Don't try to profile special-operators because we can't encapsulate Some changes from Eric Marsden for profiling the current compiler. Was losing precision for (log x) when x is a rational near 1. Handle Fix typo in computing log of rational where the numerator and From Eric Marsden: From Eric Marsden: Handle BOA constructors with keyword arguments of the form Functions and instances are constantp. REQUIRED-ARGUMENT is in the EXT package. Correct some exports. Remove some undefined exported symbols. From Gerd Moellmann: Export print_generation_stats. Entomotomy bug defknowns-for-bit-array-operators-wrong: Entomotomy bug array-in-bounds-p-integer-args Chrisophe Rhodes noted that (log 19/3) was losing precision. Fix that o Adds support for searching for the lisp.core file based on the Sparc-to-sparc cross-compile script for compiling lisp.core search Document the new -lib option, the CMUCLCORE envvar, and the core From Eric Marsden: o Make type (cons *) the same as type (cons t) by smashing (cons *) Recognize :allow-other-keys as a valid keyword arg for all functions, o Correct some deficiencies in INIT-RANDOM-STATE by using a new Enable support linkage tables in the runtime. UNPARSE-UNIX-ENOUGH: If the PATHNAME has no directory component or For CASE and friends, the OTHERWISE clause is an OTHERWISE clause only o Define \cmucl{} and use it everywhere Use \code{} instead of \verb to fix up some overlong lines. The deftransform for find should return the item we found, not the Fix bug when looping over hash values/keys where we were setting the Solaris dumps core when printing NULL strings, so don't do that. The RDY and RDTICK instructions are really FORMAT-3-REG, not Print the instruction cycle value with commas. Revived SGI MIPS port, from Mike McDonald. Ignore some generated files like dvi, pdf, aux, toc. Update to use wildcards to ignore all aux, cdx, dvi, fdx, etc. files. Revived SGI MIPS port, from Mike McDonald. Fix bug in Karatsuba multiplier for (expt 16 256). Was incorrectly To find name of a function, we need to look both in the foreign symbol Linkage table builds can have "negative" addresses that prevents Correct the typos in the cons simple-union method. Fixes Entomotomy Correct typos in the dotprod example. Adjust text a bit too. Fix typos so this can be processed by TeX. Update date to current "release" date. Put release number in as Use \textless and \textgreater for < and >, respectively. Preserve the case of the variable names in the environment. Note that we preserve the case of the environment variable names. Remove the explicit test for stream element type of character. Was The deftransform for ceiling with a divisor of the form 2^k was Add some comments that we should turn on AS_V8PLUS when the resulting Add vops to support multiplication by small immediate constants. The Sparc V8plus ABI allows use of all FP registers. Make them Recode multiplication as shifts and adds only if there aren't too Clean up code. Remove the bootstrap-conc-name reader conditional Fix typo. It's umul, not mul. o Add the prxregset structure and add support for the V8+ ABI changes Add functions to extract out the operation and args of a If the function VM::GET-FP-OPERANDS exists, use that to get the Allow the debugger to return a value from a function. Based on work Back out the debug return changes. It causes errors in some of the One is a valid length for a signed-byte length. Make append and copy-alist check for improper (dotted) lists. Rename &parse-body to ext::&parse-body so pmai's scripts work. Note that (complex single-float) and (complex double-float) are good Add section for noting the differences from and extensions to ANSI "Borrow" the fixed implementation of nset-exclusive-or from SBCL. Describe the return types of decode-float, decode-single-float, and o Fix up the instruction printers for FRSTOR and FUCOM which used to conflict. o Set up a wider opcode column width. Add function to print the inst space for a backend, defaulting to the Add instruction printer for the bit-test instructions. Borrow SBCL's new deftransform for map-into to speed up map-into. Printing of x86 inst space wasn't nicely lined up anymore. Remove all stuff relating to :negative-zero-is-not-zero which enabled Set the backend-version to "UltraSparc/Solaris 7" when compiled for Update this to look more like the gcc version. Incorporate Helmut Eller's callback support. Bootfile for callback support. Make the standard Sparc register names be symbols so that *print-case* Give names to the %g6, %g7, and %fp registers (which aren't defined by Remove some unused code left over from earlier experiments. Replace the section "Calling Lisp from C" with rudimentary info about Callback support. o CALLBACK-ACCESSOR-FORM should test the type with typecase. (Noted o Remove unneeded ALIEN package prefix. Oops. The 64-bit result should go to the %i registers, not the %o! Correct the type declaration for lisp-fn in the callback defstruct. Add control-stack checking for Sparc. Based on work from SBCL. o Oops. It's i386, not x86. When building dependencies, use all source files, not just the ones file-length returns two values instead of one, as required. Bug and o Correct the documented arg order for WITH-FD-HANDLER and Creating new files with :if-exists :new-version wasn't creating a new Fix typo. We need a HOLDING-LOCK macro for non MP systems too. Initial import of Paul Foley's simple-streams implmentation. Some o Note stack overflow checking added for Solaris. o Added map_noreserve, map_failed. More simple-streams updates from Paul Foley: Fix typo. Some changes from Paul Foley: * code/filesys.lisp (filesys-init): The version component of * code/filesys.lisp (purge-backup-files): Renamed from Renamed PURGE-FILES to PURGE-BACKUP-FILES. From Paul Foley: Enable vector-elt-width for all endians, not just non big-endian. Things like (ftruncate (the (single-float 0f0 100f0) x)) would cause o Give a description for the INVERSE function for IR1-TRANSFORM-<. Add vops for CHAR=, CHAR<, and CHAR< when the second arg is a constant Oops. Fix typos. Define DOUBLE-FLOAT-BITS function and VOP for sparc to return the bits Use DOUBLE-FLOAT-BITS to get the bits of the double-float in the right Export DOUBLE-FLOAT-BITS for everybody, not just sparc. (defun foo (x) Fix bug in ftruncate derive-type optimizer triggered by In the deftransform for %unary-ftruncate, the bounds could be lists Add new vops for data-vector-ref/set for the case of a constant index, Fix harmless typo in vop name to be more consistent with other Fix typo in double-float-bits where the wrong offset was used to get Fix indexing error in DEFINE-PARTIAL-SETTER that causes bad array Need string.h for sparc to remove some compile-time warnings about strdup. Port of SBCL patch by Christophe Rhodes to make MAKE-SEQUENCE, MAKE-STRING-OUTPUT-STREAM takes an ELEMENT-TYPE keyword arg. Make it Search PATH for the lisp binary and lisp.core as a last resort. Based Remove the x86 conditionalization of the dynamic-extent arg to Update the LISTIFY-REST-ARGS vop to include an additional In %ENUMERATE-FILES, also match if the file has no explicit version Fix bad disassembly note about allocating bytes when the add Add support for DYNAMIC-EXTENT &REST args. Update the ALLOCATION Update notes for dynamic-extent support, and some other missing ir2tran.lisp: Make make-closure use dynamic-extent for everyone Enable dynamic-extent stack allocation for MAKE-CLOSURE, just like on Initial port of gencgc to Solaris. FFLOOR bug from Paul Dietz on cmucl-imp: Only x86 has ALLOCATION_POINTER. Use Enable this to compile on Solaris. Solaris wants the same typedefs as o Compile with optimization. Merge sparc_gencgc_branch that adds support for gencgc for Solaris. Bugs and suggestions from Christophe Rhodes Note on gencgc for Solaris Merge the Sparc dynamic-extent changes to HEAD. Still not Remove the fprintf's where the hash table invariant wasn't true during sparc/parms.lisp: o Use lowtag-mask to rounding csp-tn to a lispobj size. Correct a few typos where format strings weren't given enough args. Paul Dietz's ANSI tests cause a compiler error in the signed-zero DEFTRANSFORM for FLOAT needs to check if the number is a float before Remove extraneous print Set *TRUST-DYNAMIC-EXTENT-DECLARATIONS* to T for all platforms, since Use the new variables from internals.inc to get the right compiler Add /usr/lib/cmucl to the default core search path. For x86/Linux Export ALLOCATION-TRAP for Sparc. The deftransform for - with a float and complex arg was negating the compiler/float-tran.lisp: o Fill branch delay slots Disable package locks when rebuilding the various parts of CMUCL. Add CASA and CASXA (compare-and-swap) instructions available for Sparc o Add symbolic names for the predefined ASI values Turn off the trap for floating-pointe underflow for all platforms. *** empty log message *** Don't blindly set current_dynamic_space_free_pointer in the Fix typo. Control stack grows up, not down! * src/compiler/sparc/macros.lisp (with-fixed-allocation): Extend #define CONTROL_STACK_END Fix a silly typo in the prefetch inst. Fix bug where the compiler was not correctly deriving the result type Convert another make-member-type to use specifier-type so that member Implmement Pierre Mai's idea of adding 2 macros for setting *FEATURES* Export *RUNTIME-FEATURES*, REGISTER-LISP-FEATURE, and Export *RUNTIME-FEATURES*, REGISTER-LISP-FEATURE, and Note addition of *runtime-features* and such. * src/compiler/byte-comp.lisp: Add features based on the current SIGNUM defoptimizer was returning the wrong thing for the following Fix typo in previous change to signum defoptimizer. Make backend-fasl-file-version be byte-fasl-file-version instead of Update fasl file version to #x19a, for our next release. It's ok for stack references to come from stack objects, because that o Clean up and correct description address map. Moved definition of SPARSE_BLOCK_SIZE to sparc-validate.h Fix the bug where undefined functions would cause bus errors on Sparc o The Sparc port was not correctly scavenging the interrupt handlers. Added constants pseudo-atomic-value and Added constants pseudo-atomic-value and Export constants beginning with "PSEUDO-ATOMIC" and "LOWTAG" to Use the new constants lowtagMask, pseudo_atomic_Value, and Export PSEUDO-ATOMIC-VALUE and PSEUDO-ATOMIC-INTERRUPED-VALUE. Oops. Fix typo in exports.lisp and parms.lisp. No hardwired constants for fixnumize. o Change print-name of JAL to the standard Sparc JMPL instruction Use the SIGNX and CLRUW synthetic instructions as appropriate instead Update to support linkage-table and gencgc changes, like Sun C needs to include alloca.h. Replace the __FUNCTION__ gccism with the actual function name. Sun C o Sun C doesn't like "const char const* argv0arg". Make is just const Convert some void* objects to char* objects so we don't try to do Changes so this will compile under Sun C: Convert a few more void* to char*. Add a few casts as needed to get o Change prefix for LOWTAG- symbols to lowtag_ instead of lowtag, to #ifdef out lowtag_Bits, type_Bits, and friends. They should be It's lowtag_Mask, not lowtagMask. Fix a few more compiler warnings about mixing pointers and integers. Make the offsets for SAP functions be bigger than fixnums since we can Use larger field width when printing out minimal room info so the o Change many of the fixnum declarations to use (unsigned-byte 32) to Changes for ROOM. Zap out any bits for pseudo-atomic stuff when getting the Need to disable interrupts when doing an allocation trap. The The pseudo-atomic flag was set/reset using add/sub. Replace this with Initial import of Pierre Mai's build scripts (slightly modified from o Handle OR and ANDN instructions so we can print out notes about o Modified create-target.sh to try to figure out what Config to use Add options to make-dist.sh: Collect usage info into the usage function. Give a description of Give a more complete description of what this does. o Give a more complete usage description Note Pierre's scripts have been added. Fix typo. Use the "natural" shift instructions instead of the V8 shift Oops. Remove a debugging "set -x" that was inadvertently left in. It's kernel:%class-layout, not kernel:class-layout. clruw takes at most 2 args, not three. (Left-over typo.) o Add a few more comments Add support for catching heap overflows, similar to the control stack Cross-compile script for heap-overflow checking on sparc. Add support for x86 heap-overflow checking. Cross-compile script for heap overflow checking. Note heap overflow checking. READ-SEQUENCE was returning too soon: *** empty log message *** Initial version. Don't need -c option for bzip2. Replace the magic 11's with 13 - fixnum-tag-bits, because that's what Use ldn/stn in loadw/storew. Define ldsw and lduw instructions appropriate for v9 and non-v9: Use ldn/stn when possible. Use ldsw when we really want a signed lowtag-bits was defined twice. Fix it. Print a note about possible LRA header words instead of printing LRA Fix typo. Fix typo in data-vector-ref-c/simple-array-complex-single-float. The o Add exports for the new symbols used for heap overflow checking. Use the LI instruction macro instead of sethi/add. Replace a magic #b11 with fixnum-tag-mask and a magic 3 with Add a dash so makewhatis doesn't complain and make "man -k lisp" If we can't open /dev/urandom and read the desired number of words, From Helmut Eller on cmucl-imp: a little patch to get nicer names for Per the parse-integer VOTE, revert parse-integer :junk-allowed Port over the foreign function land stuff to Solaris so it prints out Make sure conditions::*make-condition-accessor-methods* is T when Silently limit the minimum rehash-threshold to 0.1, like SBCL. This MACROLET can have declaration forms which we weren't allowing o C functions in backtrace Don't export or define DYNAMIC-SPACE-OVERFLOW-WARNING or WITH-FIXED-ALLOCATION must pass the temp-tn to ALLOCATION in all cases DIRECTORY is supposed to merge the given pathname with Revert back to the old LCM algorithm instead of using the reference given The EXPT derive-type optimizer was incorrectly deriving the type for When printing out the minimal ROOM info, include the max sizes for each space TRACE was broken if CMUCL wasn't built from a version that included Define globals to hold the sizes of the read-only space, the binding stack, Don't try to protect the hold for the dynamic_1 space when GENCGC is enabled, Fix the source tracking hooks to work correctly. Also print out the "kind" Put the space-start values into internals.h so we can refer to them. Then, Update to sparc gencgc so that alloc-tn holds the o Get the space_start values from internals.h Take out the fix for the problem of PCL optimizations being blindly applied The pathname for PROBE-FILE is supposed to be merged with Oops. It's i386, not x86. Add comment from Douglas about what DIRECT_SCAV means. Remove some unused code that we don't need anymore. Add a deftransform for ABS so that if the arg is known to be non-negative o INTERVAL-RANGE-INFO was not returning the correct result for -0.0. Make the PAGE_SIZE 32K for sparc since that give performance at least valid_addr shouldn't test against DYNAMIC_1_SPACE_START in gencgc builds Disable package locks when doing a cross-compile. o Enable heap-check-overflow in features. Cross-compile script for the faster gencgc allocator on sparc. Some micro-optimizations Get the starting addresses of spaces from Lisp via internals.h instead of o Make target-read-only-space-start, target-static-space-start, and Fix for (pprint '`(lambda ,x)) bug wherein the backquote Add docstring for read-cycle-counter. Use full path for nm, since we don't support GNU nm or another other nm. Update comments on address spaces. COMPILE-FILE needs to merge the given file with *default-pathname-defaults*. Revert previous change. It causes this function to infloop, blowing LOOP accepts NIL as the variable if arithmetic loops, such as o MAKE-PATHNAME signals an error for the invalid combinations (CLHS Update. PEEK-CHAR should determine whether a character is whitespace from the o Fix INTERVAL-RANGE-INFO some more. Put back the previous change Some ANSI compliance fixes found by Paul Dietz's tests. Update.
wlott (2848): Initial revision Initial revision Added constants for the magic registers. Changed ENV-OFFSET to LEXENV-OFFSET. Wrote DEFSLOTS macro. Added DEFSLOTS forms for most of the basic data Fixed definition of closure. Defined CURRENT-FRAME-SIZE, because the ``machine-independant'' version Changed ENV-TN to CODE-TN. Added more hacks for NOP and MOVE. Added FIXNUM function that takes a number and shifts it twice, after Wrote ERROR-CALL and GENERATE-ERROR-CODE macros. Fixed ERROR-CALL Made break look at entire field. Fixed LOAD-CONSTANT-TN to load fixnums correctly. Fixed to deal with FIXNUM immediates correctly. Initial revision Initial revision Fixed typo. Fixed MOVE macro to check ALWAYS-EMIT-CODE-P at compile time. Fixed DEFINE-INDEXER to define correct indexers. Removed wrong comment from COMPONENT-HEADER-LENGTH. The comment asserted Fixed LOAD-CONSTANT-TN to correctly pull constants out of the constant Export %mumble-slot constants from the VM package. Changed component dumping to the new object format. Wrote ``RCS Update Directory'' which prompts for a directory and updates Dump code objects in the new format. Added -u switch to rcs-check-in-file. Shouldn't have taken -U all the way Added LOAD-FOREIGN instruction that emits a LUI followed by a ORI with the Fixed bug in RCS update directory that caused it to flame out when the Fixed COMPONENT-HEADER-LENGTH to round the size of the component header up Removed random %'s from constants and fixed random typos. Removed % from start of the constants. Exported REGISTER-NAME and DISASSEMBLE-CODE-VECTOR. Added CONVERT-BYTE-LIST to list of functions exported. Make the DEFSLOTS macro record the entire structure definition somewhere so Removed duplicate definition of register names. Moved CONVERT-BYTE-LIST into assembler.lisp because neither Chris nor I Added error0, error1, and error2 VOPs. Tweeked the ERROR-CALL macro to no longer bind a gensym, but then never use Added new storage class: Interior Pointers. Added ALLOC and FLAGS regs. Changed explicit references to LIP-TN to :temporaries. Added interior primitive type. Changed register names. Added flags. Added PSEUDO-ATOMIC macro. Added noise to define mumble-size constants if there are no :rest t slots. Fixed bug in INITIAL-SYMBOL-OFFSET. Added other structs (bignum, complex, ratio, etc). Added alignment stuff. Added expand macro. Added gp-tn for use with call-out to C. Made ERROR-CALL index into REGISTER-ARG-TNS at run-time instead of Added pad-data-block macro. Added VALUE-CELL structure. Added automatic generation of allocation vops. Changed fast-safe to :fast-safe to make define-vop happy. Fixed reference to real-results to be real-result. Changed reference to stack to control-stack and fixed random typos. Exported VALUE-CELL-HEADER-TYPE. Changed interrupt-resumer to interrupt_resumer, 'cause it's supposed to be Fixed allocators to allocate correct amount. Export closure-function-header-type. Added lisp::*foreign-function-call-active* to the initial symbols. Moved TARGET-mumble-SPACE-START from Genesis. Added and exported PENDING-INTERRUPT-TRAP, ERROR-TRAP, and CERROR-TRAP. Changed :boxed t/nil to :c-type string. Added load-symbol macro that will load one of the initial symbols into a Changed LOAD-CONSTANT-TN to use the new load-symbol macro. Changed Immediate-Constant-SC to return the random-immediate SC for any Wrote bind and unbind. Wrote VALUES-LIST vop. Added %initial-function to initial-symbols. Changed BREAK instruction to look at only half the field to be consistent Changed BREAK instruction to be consistent with the rest of the world. Initial revision Validate a small amount of memory for dynamic space, the control stack, and Boosted max-depth my one, 'cause it was cutting off right before the Added static symbols needed for non-local-exit: lisp::*current-catch-block* Added lisp::*current-unwind-protect-block* to the static symbols. Changed hard coded number to constant in error-call. Changed compute-<foo>-from-<bar> instructions to use unsigned math instead Added definitions for a few non-heap data blocks (bindings on the binding Added macros for return-pc hackery. Initial cut at rewrite for mips. Not finished, but at least the VOPs will Initial revision Added (in-package "C"). Oops. Fixed ``inst return-pc-header'' to ``inst lra-header-word'' Added #+rt-target around syscall stuff. Have make depends emit depends for *.s files as well. Pass the correct args to lisp instead of skipping one. Changed type_OtherImmediate to type_OtherImmediate[01]. Wrap the pseudo-atomic around the entire list or list* form. We have to do Changed references to string-char to base-char. Changed references to type_Character to type_BaseCharacter. Added VOPs for fixnum=>t in addition to fixnum=>fixnum that use overflow Changed unbind vop to unbind exactly one binding, 'cause it was only ever Added assembler routine support: DUMP-ASSEMBLER-ROUTINE dumps the routine, Added instructions for LOAD-ASSEMBLY-ADDRESS and LOAD-ASSEMBLY-VALUE. Just Filled in the generators. Fixed name of *static-symbols* back to *initial-symbols*. Changed (move count nvalues) to (loadi count nvals) 'cause nvals is an Added definition of LIP-TN in 'cause assemfile needs it. Initial revision Wrote MIPS version of: Spiffed up error-call. Now it emits a description of what went wrong Wrote NLX-ENTRY-MULTIPLE. Added VOPs for many slots: numerator, denominator, real, imag, length. Stripped out error[012]. Added halt trap type. Export halt-trap. export: bignum-base-size array-base-size vector-base-size and Changed pointer-sap-{ref,set} to sap-system-{ref,set} to be consistent with Initial MIPS cut. Added :result-types for schar and (setf schar) vops. Added structure-index-{ref,set} VOPs. They are just like Changed result sc of sap-system-ref to no longer include descriptor-reg. Initial MIPS version. Simple strings hold string-chars, not base-characters (yet). This caused Initial revision Added a few static functions to the list of static symbols: Added :init :arg options to the numerator and denominator slots of ratios Modified test-simple-type to assume that base-characters and Added define-static-functions for two-arg-{+,-,*,/} and negate. Initial revision Put type flame error into invalid-move. Don't call primitive-type-or-lose 'cause the primitive types don't exist at Added search.o. Added symbol parsing to parse_lispobj. Initial revision Don't be quite as verbose. Added print-three-nums routine for use with debugging. Changed two-arg-+, etc to two-arg-plus, etc to keep genesis from generating Added def-source-transforms for %more-arg-context and Initail MIPS version. Mostly commented things out. Made the undefined function signal a continuable error. Initial MIPS version. Changed sap primitive type to system-area-pointer. Moved sap related stuff to its own file: sap.lisp Added support for continuable errors. Initial revision Changed name of sap primitive type checking stuff to system-area-pointer. Forgot to have the stub function for sap-ref-sap do anything. Oops. Added target slot to the ir2-nlx-info structure. This is needed so that Added LABEL info arguments to the NLX entry VOPs and made them emit the Added %proclaim to the list of functions that we need to know about before Forgot to enter structures into the EQ save table. Oops. Made FIXNUMP vop translate FIXNUMP. Fixed TRANSFORM-CALL to return T or NIL to indicate whether to attempt Added fast-ash-fixnum=>fixnum VOP. Check for end of lists by comparing with NIL, not NULL. Fixed inconsistency between usage of ``cname'' and ``name'' in the Tack on the .lisp extension when assembling files to keep from loading the Initial revision Changed a few constants to parameters. Initial MIPS cut. Actually, a totally new file, as nothing carries over. Fixed random typos, etc. Changed call of ``merge-pathname'' to ``merge-pathnames'' Spiffed up ASH derived type optimizer. If the shift amount is reasonably Removed debugging format that got left behind. Better handling for SIGTRAP. We now tell the use what lost (the error Fixed bind and unbind to store the symbol and value in different slots. Added ``fasl-dump-cold-load-form'' to assemble-file so that symbols get Nuked current-sp, cause it is no different from current-stack-pointer. Removed another debugging format. Converted DEFSLOTS (from cell.lisp) to DEFINE-PRIMITIVE-OBJECT which more Got rid of all DEFSLOTS, as DEFINE-PRIMITIVE-OBJECT supersedes it. We now Spiffed up the automatic accessor generation. If you specify a :set-trans Flag :rest-p and :setf-vop as an error. Wrote current-binding-pointer. Added :ref-trans and :set-trans options to the array primitive-object. Added defknowns for %array-mumble. LISTP makes a better predicate than LIST. Use ``lbu'' instead of ``lb'' to load the type byte. That way it won't get Mucho hacking; almost a complete rewrite. Added :type, :ref-known, :set-known options for slots. When specified, Expanded array primitive-object. Now all the slots have refers and Moved vector-word-length into array.lisp even though its not implimented Added deftransforms for various kinds of data-vector-{ref,sef}. Gee, if you supply an keyword as (), it shows up as nil. Therefore, added Changed vector-base-size to vector-data-offset. These mumble-base-size Spec the :setf-vop for symbol-value in addition to the :set-trans, 'cause Fixed header-ref hacks now that fast-svref is gone. Now we use Define-indexer did not fill the load delay slot when the index was not an Fixed a bug in base-character-move that caused it to trash the character Removed ``string-char-p'' and added ``base-char-p'' Translate characterp and %string-char-p into base-char-p 'cause we only Removed ``string-char'' and added ``base-character,'' ``single-float,'' and This commit was generated by cvs2svn to compensate for changes in r507, Added predicate for base-characters. Added notion of base-characters at the lisp type level. Deftype character to be base-character, 'cause they are one and the same. Added eval-when compile load eval around remhash of character from This commit was generated by cvs2svn to compensate for changes in r516, Only take continuation-value of constant-continuations in the %typep Make string-chars look like base-characters, but warn the bozos. This commit was generated by cvs2svn to compensate for changes in r526, Moved implementation specific predicates into a new VM specific file: Moved into KERNEL package. Initial revision Removed eval-when from around (remhash 'character *builtin-types*), 'cause Initial revision typo Qualify check-cons, check-symbol, and check-function-or-symbol as being in Moved DEFKNOWNS into vm-fndb.lisp. Changed LISP-JUMP and LISP-RETURN macros to frob the code object during the Don't use the LISP-RETURN macro, 'cause it now frobs the code object. Let the LISP-JUMP macro frob the code object. Fixed define-indexer to only use LIP as an interior register. Wrote sxhash-simple-string and sxhash-simple-substring. Import simple-array-p from the lisp package. Comment out predicate for simple-char, as it should never be used. Wrote make-array-header. VOPs work better when you don't name a temporary the same thing as one of Fixed TEMPLATE print function to not assume operand restrictions are always Changed lexical-environment type to just list instead of (or list Initial revision Added static function definitions for two-arg comparisons. Added :type random decl for non-descriptor temporary. Only emit some subset of the static symbols into the C header file. The Added :translate length for length static function. Added :ref-trans and :ref-known for vector-length slot accessor. In length, we can't keep cdring down the list until we hit a non-list Nuked special purpose vector length accessors, 'cause the general purpose Qualify binding-<mumble> constants as being in the VM package. Have the C package use the VM package. Export %array-<mumble>, %check-bound, genesis, data-vector-ref from kernel. Change negate static function to %negate to be consistent. Changed negate static function to %negate to be consistent. Ooops. Put a bunch of symbols in the wrong export list. Removed knowledge about different float formats, 'cause it was just making it The global pointer works better when it is loaded with the saved value Have push-values return the number of values as a fixnum instead of a raw Establish args and old-cont before calling the function. That way, they Exported data-vector-set and %negate from kernel package. Added two-arg-{and,ior,xor} to exports from kernel. Added define-static-functions for two-arg-{and,ior,xor}. Added two-arg-{and,ior,xor} to static symbols. Forgot to establish CONT for the callee. Added defenum of vector subtypes. Added exports of vector subtypes. Rob fixed something to do with environment TNs not being considered live at Rob fixed something to do with environment TNs not being considered live. set-vector-subtype was shifting the subtype right by two bits instead of left Random fixes: find the initial CONT from the signal context instead of Fixed structure mumbling. printf works better than print for printing Stacks are now only 1 meg, instead of 32 meg. That way, run away recursive Added hack support for number stacks: Current-frame-size returns two Changed {load,store}-stack-tn to use the correct stack. Deal with base-characters in {load,store}-operand. Boosted the sc number limit in preperation for adding floating point noise. Added bit-bash-<mumble> and type-init to the list of kernel exports. *** empty log message *** *** empty log message *** Added compiler-let of bootstrap-deftype around deftypes of single and long Fixed the move costs to exclude more bogus moves, like any-reg -> sap-reg Rolled back to original move costs, 'cause there seemed to be a problem with For some reason, {load,store}-operand wanted to be able to load/store Initial MIPS version. This commit was generated by cvs2svn to compensate for changes in r639, More random changes to try to get parts of it up on the mips. Initial revision Added :ref-vops for function and closure primitive data objects. Moved deftypes out of vm-type-init and back to the top level, 'cause the Initial revision Added constants for five more registers that are distinct from any of the Wire the temporaries of copy-more-args to locations that are known to be This commit was generated by cvs2svn to compensate for changes in r670, Initial MIPS version. This commit was generated by cvs2svn to compensate for changes in r672, Added bootstrap version of ctype-p. The real definition gets installed by Make sxhash-single-string return (unsigned-byte 27) so that we don't have Removed bogus :type fixnum declaration. Print each top level function as we funcall it so we can tell where we are If you put a load in a branch delay slot, don't try to use the loaded value This commit was generated by cvs2svn to compensate for changes in r739, Added fake definitions for careful-symbol-function and Don't assume that the block-number of the component-tail is the correct TNs are not longer deleted unless they are :normal, so don't complain if In note-rejected-templates, don't note a template if _it's_ note is NIL In select-location, give up immediatly if there isn't enough space for a Pass the vop to the move functions instead of the node. This allows the Changed note-number-stack-tns to actually iterrate across the tns instead Changed delete-unreferences-tns to only nuke the tn is it's :normal. Changed define-move-function to assume that the first arg is a VOP instead Changed ir2-block-count to look for the first block that has a non-nil Use ir2-block-count to determine the number of ir2-blocks, 'cause it has to Changed result types from t to * so that fixnum will be allowed. Lots of changes for the non-descriptor stuff. Only list one SC for temporaries. Lots of changes for the non-descriptor stuff. Put the 1+ back into ir2-block-count. (oops) Changed cont-tn to fp-tn. Changes for new-assembler. New assembler changes. Changed define-storage-classes to define (and export) constants holding the Export lisp::sap-ref-sap from system. Put constant back into ext exports. Added parse-unknown-type-specifier to the kernel exports. Removed left over call to finish-assembly Removed spurious node references. Fixed bug in allocator for varible length headered things. I was putting typo. fixed sap-{ref,set} in light of non-descriptor stuff. added foreign call vops. Removed a random node var that got left behind. many fixes. This commit was generated by cvs2svn to compensate for changes in r830, Mips version. Changed elt to schar. Removed sap-reg from the result SCs for sap-set, and made sap-system-set Fixed read-control-stack and write-control-stack to inherit the correct typo Added sap+ to system exports. Removed :translates for {alloc,dealloc}-number-stack-space, 'cause they Changed the pointer alien-access expert back to correct semantics now that This commit was generated by cvs2svn to compensate for changes in r842, More random hacks trying to get it to work. Bigest change is that Unintern sap+ so that we don't nuke the current macro. Fixed argument order for loads and stores. Spiffed up sap-ref and sap-set. Now they are much better when dealing with Changed {read,write}-control-stack to correspond with sap-{ref,set} changes. Forgot to save buffer before checking in last set of changes. Added #+new-compiler in front of system-area-pointer so that the old Nuke sap+ from the compiler package also. Wrote byte-blt. Dont dereference info->code if it's NULL. Moved num.lisp stuff into here, 'cause it was silly to start a new file. Changed raw-bits to a 32-bit reference. If the sc is listed for an argument, restrict that argument to that SC. Make the short and byte instructions use the short and byte formats instead Changed sap+ to take its argument as an unboxed value, so we don't have to Don't pass collect a constant initial value, 'cause it destructivly modifies Changed %raw-bits to 32 bits. Added 32-bit unsigned logical ops. Rob fixed some bugs that kept the nfp from being allocated even when it was Specify an offset in addition to an SC for the SAP args to byte-blt. Replaced several %primitives. Changed to use 32-bit units. Replaced calls to logand, lognot, etc, with This commit was generated by cvs2svn to compensate for changes in r883, Added magic to recognize pointer alien types. Introduced symbols 32bit-logical-{and,or,not,xor,nor} and merge-bits to Added unboxed-array type which is the union of all specialized array types Removed unused temporaries from rem. typo Added ``unboxed-array'' to the list of kernel exports. Added #+new-compiler in a few places to keep from clobbering stuff in the Left out the element type arg to def-data-vector-frobs for the typo in sap-. Added sap- Wrote several that were %primitives before. Rewrote rev-fnd-char-w/attr Fixed random variable name inconsistencies. Put #+new-compiler in front of defparameters for system-space-start and This commit was generated by cvs2svn to compensate for changes in r902, Rewrote sxmash to keep out of bignum land. Major rewrite. Much better support for non-descriptor numbers in addition Moved the guts of {get,set}-vector-subtype into {get,set}-header-data (in Don't use ldb (byte 16 16) in the old compiler, 'cause it will compile Added :alloc-trans for bignums. Added {get,set}-header-data VOPs that used to be {get,set}-vector-subtype Removed primitive-type-vops for fixnum, 'cause fixnum now comes in two Added all the bignum support routines. Added bignum types bignum-type, bignum-element-type, and bignum-index. Added define-type-predicate for {signed,unsigned}-byte-32-p Expanded fixnum primitive-type into fixnum and positive-fixnum. Added This commit was generated by cvs2svn to compensate for changes in r920, Use (ldb (byte 32 0) s-expr) instead of (abs s-expr) in sxhash of fixnums, Added bignum package and exports. Added :result-types spec to fast-truncate/signed so that there are the same Allow non-fixnum integer primitive types (unsigned-byte-32, etc) to be Import vm:bignum-type into the bignum package. This is so the same symbol Rob added code to keep it from spilling the NFP. Lots of changed to fix the untagged number and bignum support stuff. Fixed tail-call to restore the number stack pointer. Don't allow constants to be loaded into any-regs, 'cause it doesn't pay Added target-most-{positive,negative}-fixnum definitions. Do an and-immediate instead of a load-immediate/and-register. Added bignum::%{signed-,}digit-to-{single,double}-float defknowns. Don't include constant in any-regs list of :constant-scs. Only allow fixnum Added target-most-{positive,negative}-fixnum to the VM exports. Fixed a lifetime problem with nvals != 1 return. Don't use ash when trying to make fixnums, 'cause the old compiler gets it Print fixnums signed. Added noise to make sure all the system calls are linked in. Pack component restricted tns before normal restricted tns. Rob made some changes that make it less enthusiastic about allocating Moved the move/coerce stuff into move.lisp, so that it can go earlier in Moved compute-lra-from-code insts in local call, 'cause the callee return-pc Moved the number move-vops into this file so that they precede most every Changed the default policy to :safe. Rob added some stuff to keep inline functions that were let-converted (and Don't save/restore the NFP. Made the default fixnum-binops have a result type restriction. Fixed some random lifetime problems. Fixed :arg-types in light of fixnum->tagged-num changes. Added type-expand to the kernel exports. fixed a bug in single value return that I introduced while trying to fix a Fixed sub-w/borrow Added predicates and check-vops for the simple-array-unsigned-byte-n and Fixed bug in get-type. Changed setf functions to %set- to keep from having to call fdefinition Rob left out an argument in his last fix. Fixed a few placed I missed when updating to the new integer primitive types. call-out should have the NFP, 'cause nobody else will if it doesn't Added definition of simple-unboxed-array, very similar (but different) to Added primitive-translator for byte-blt that dispatches on the types of the Added exports of %dpb, %ldb, and simple-unboxed-array to the kernel package. Removed byte-blt primitive in favor of new primitive translator in vm-tran. Nuke ``REAL'' from the XLIB package, so we can export it from the LISP package. Added noise for complexp vop. Added static symbols two-arg-gcd and two-arg-lcm. Save the NFP across static function calls. Changed a SC restriction to be unsigned-reg instead of doing the shift Added two-arg-gcd and two-arg-lcm to the kernel package. Had the :gt test backwards. Rewrote the ASH vop. Now it operates on unboxed numbers instead of doing Fixed a bug in %subtract-with-borrow. Changed unknown-values-receiver to look for the values in old-fp instead Save the nfp-tn if there is one. Call debug_print instead of print, so that Added definition for the offset of $L1. Had to change the throw assem-rtn Had to explicitly wire assem-rtns' temps so that at least one ($L2) would be Lots of changes. Stripped out all the automactic TN allocation. It was Added defknowns for the four bit copying routines: bit-bash-copy, Fixed the byte-blt primitive translator. Forgot that bit-bash-copy, etc Enumerated all the different register offsets. Changed re new assemfile: All temps have explicit offsets and scs. Initial revision hanged re new assemfile: All temps have explicit offsets and scs. Added bitbash stuff. Initial revision When in the old compiler, bind *in-compilation-unit* to nil so that macros Wrote the i-vector and array dumping stuff. Actually, picked up Rob's Seperated the debug stuff into its own file. Fixed unwind and throw to pass the args pointer in old-fp instead of args, Lots of changes re call. Call-into-c and handle-now now allocate lisp stack Added debug_print, which prints a string in a terse manner. Wrote allocate-code-object. Fixed the argument order to tail-call-variable. Added ref-vops and set-vops for various code and function slots. Added various random code object frobbing vops. code-constant-set sets one Fixed two bugs. Clear the interrupted flag when a frame isn't interrupted, typo Moved code-constant-set from system.lisp into cell.lisp so that it would be Added :set-vop for the self slot in functions. Changed setf functions for sap-ref-mumble to be setf macros. Initial revision Added stuff to allow different using different functions for the srcs and dst. This commit was generated by cvs2svn to compensate for changes in r1118, First MIPS cut. This commit was generated by cvs2svn to compensate for changes in r1124, Wrote makeunbound. Added defuns for all the strange predicates that the new compiler needs to copy-more-arg didn't make sure that there were enough args to cover the Fixed the simple-string/null-terminated alien-access expert. It wasn't listify-rest-args was leaving a bogus pointer in a descriptor register. Had the source and result switched in the replace transform. Added keyword args to lisp-return to control whether or not it should frob Added :set-vop for the debug-info slot in code objects. Changed get-type to indirect function pointers in addition to otherpointers. Don't frob the code register when doing an unwind. Have makunbound return the symbol (instead of the unbound marker). When allocating code objects, take into account the normal header slots, Make sure the C stack always remains dual-word aligned. This commit was generated by cvs2svn to compensate for changes in r1206, When defining the indirect operator for pointer types, use the type Fixed pointer-compares to take args in sap-regs to that the actual Fixed make-array to round the length out to a dual-word boundry. Added pointer< and pointer> as functions and changed uses of %primitive Put the %primitives back in undef #-new-compiler. Forgot that this file Added pointer< and pointer> to the system package. Added C types for the various slots of unwind blocks and catch blocks. Fixed a load delay slot bug. You can't load something in a branch delay Nuke ``var'' and ``arg'' from the lisp package, 'cause we want to export Added debug and debug-internals packages. Can't have SC restrictions on the args to nlx-entry and nlx-entry-multiple Initial revision Removed package qualifier from error names. Removed package qualifier from error names. Removed package qualifier from error names. Changed the error-call stuff so that it looks up the error number at compile Initial revision Removed package qualifier from error names. Now that the error symbol doesn't get evaluated, we can't pass it in as Now that the error macros want the error symbol instead of a value, we Oops, deleted the (:variant-vars ...) option from the wrong def-vop. Make a sigcontext alien directly, don't make a *sigcontext alien and Fixed defvar of *meta-error* to be *meta-errors*. Added :ref-vop c::code-code-size. Finished bit, (unsigned-byte 2), and (unsigned-byte 4) data-vector-{ref,set}. Added other signals, like sigsegv and sigbus. Fixed object-not-weak-pointer to be object-not-weak-pointer-error. New weak-pointer description from Chris. Changed make-nfp-tn to return a wired tn instead of a restricted tn. Added export of object-not-weak-pointer-error Removed comments around part of the truncate stuff. (Anything that doesn't Added :translate and :policy for unwind. Fixed it so that we absolutly don't read any extra words to keep from Don't wire anything at args-offset, 'cause we want to reserve that for the Cant wire two temps to the same location, stupid. Added defknown of %make-weak-pointer. Imported many internal routines from the lisp package into the c package. Don't compile dispose-alien in the old compiler, 'cause we have uninterned Allocate number stack space in multiples of 8 bytes. Added *code-segment* and *elsewhere* 'cause they are needed before we This commit was generated by cvs2svn to compensate for changes in r1314, Wrapped truly-the system-area-pointer around %primitive foreign-symbol- Added code to find the function that was interrupted and pass it into Seperated the automatic primitive object generation stuff into the Import lisp::%set-sap-ref-{sap,32,16,8} into the C package. When a stack grows down, and you index off the frame pointer with positive Moved defsetfs for sap-ref-mumble from alieneval.lisp to macros.lisp. typo. Fixed ~A and ~S lossage were it assumed that nil got printed as "NIL" Fixed %floor. It is now 326 instructions long when we do everything we Fixed the data-vector-{ref,set} transforms for simple vectors of This commit was generated by cvs2svn to compensate for changes in r1375, Changed %set-search-list to allow anything pathnamable instead of just Fixed use of sc-load-functions to be sc-move-functions. Fixed a use of sc-load-functions to be sc-move-functions. Changed the place The fill value for alloc-g-vector must be passed in a descriptor-reg, not The throw target must be passed in a descriptor-reg, not an any-reg. The vectors for bit-bash-copy must be passed in descriptor-regs, not Moved definition of make-unknown-values-locations to the vm specific Changed the primitive-type printer to only print the lisp type if its Random changes necessary to incorporate load-tn fixes. Mostly making Added more random exports. Fixed alloc-g-vector to take the fill value in either any-reg or Allow multiple SCs to be speced for args and results. The wired temp uses This commit was generated by cvs2svn to compensate for changes in r1413, Initial MIPS version. Allow the args to unwind to be passed in either any-reg or descriptor-reg. Random typos. typo. This commit was generated by cvs2svn to compensate for changes in r1467, Added type assertions around/in %primitives so that fixnums get put in Added buttloads of :arg-types and :result-types. base-characters are not allowed in descriptor-regs. The length in the header word doesn't include the header word itself in the Added :arg-types and :result-types. Fixed defknown of %bignum-set-length. It returns the bignum, not the length. short/long float map to single/double float, not the other way around. Descriptor-reg shouldn't have the numeric immediate SCs listed in its Added lots of :arg-types and :result-types, now that the compiler lets you Added :arg-types and :result-types as necessary. Added :arg-types as necessary. Qualify def-buildin-type and make-named-type as being in the kernel Rob made some fixes to the error reporting stuff. Weakened the arg-types restriction on %listify-rest-args, so that the VOP Added :translates for sxhash-simple-string and sxhash-simple-substring. Added :translate for vector-sap. Added defknowns for %sxhash-simple-{sub,}string and vector-sap. Added :arg-types and :result-types to sxhash-simple-{sub,}string. Added %sxhash-simple-{sub,}string to kernel exports. Changed the hack in fixnum that was supposed to get around bignum lossage. Can't use #+new-compiler in FIXNUM, 'cause the wrong one will be used in Fixed several proclaims. Added a hack to get (setf sap-ref-32) to work. Basically, the result type This commit was generated by cvs2svn to compensate for changes in r1516, Added bootstrap versions of values-type-p and copy-type-class. This commit was generated by cvs2svn to compensate for changes in r1521, Fixed print-herald to check to make sure the version specials are bound This commit was generated by cvs2svn to compensate for changes in r1523, Don't use namestring unless the thing is a pathname. This is because Rewrote the define-compute-instruction macro to do the full blown correct Added the temp args to compute-foo-from-bar instructions. Added the temp args to compute-foo-from-bar instructions Added translates for get-header-data and set-header-data. Added the zero Added defknowns for get-header-data and set-header-data. Changed Added the temp arg to the compute-lra-from-code. Added (use-package "EXT") 'cause we need to get at symbolicate. Added temp arg to compute-lra-from-code, 'cause it might need one if the Random #+new-compiler changes to dump-array, dump-i-vector, and Fixed a bug introduced into default-unknown-values, where it would try to Nuked %displacedp and %set-array-displacedp, 'cause they were wrong and Added %array-fill-pointer-p to the kernel exports. Added a fill-pointer-p slot to the complex array header object. In call_into_lisp, allocate a frame size that is a multiple of 8 bytes Initial revision Moved constants and structures into core.h. Added necessary stuff for Removed the pseudo-purify so that the name will not clash with the real Added stuff to deal with save and restore. Ripped out all the throw_to_top stuff, 'cause it really fucked the lisp Don't rely on code being set in the interrupt handler, so we will still Initial revision Added save and purify. Ran ``make depends'' This commit was generated by cvs2svn to compensate for changes in r1567, Removed the #+nil in front of the call to purify or gc. Added install of SIGQUIT handler. Added exports of get-type, get-lowtag, and get-header-data to the kernel Extracted make-symbol from the automatic allocators and fixed it to set the Fixed mumble-code-header to compute the lowtag correctly for Added get-lowtag, which returns the lowtag of object. Made both it and Added defknowns for get-lowtag and get-type. Forgot to strip out the :init slot args for the slots in symbol. Hash-tables have to be invalidated when scavenged, not transported. Build a stack frame so we can backtrace reliably. Fixed to correspond to changes to interrupt.c Fixed some any-reg/descriptor-reg lossage. Added vop arguments to the internal errors. Added vop arguments to the internal errors. Added a note-this-location. Added note-this-locations to the error macros. Added vop arguments to the rest of the internal errors. Added exports of various float parameter constants from the vm package. Added :alloc-trans for %make-complex and %make-ratio. Added defknowns for %closure-index-ref, %make-complex, and %make-ratio. Added closure-index-ref. Added %closure-function, %function-header-arglist, %function-header-type, Added definitions for multiply-bignum-and-fixnum and multiply-fixnums. Fixed fneg to be fneg instead of fabs. Fixed defknown of make-double-float to spec the return type as double-float Added ext: in front of truly-the. Changed plusp to minusp in Augmented emit-error-break to not call note-this-location if the vop is Added NIL for the vop in all the error macros. typos. Added sap-ref-{single,double,descriptor}. Added sap-ref-single, sap-ref-double, and their setf methods. Added This commit was generated by cvs2svn to compensate for changes in r1638, Changed short/long-floats to single/double-floats. Changed the define-move-vops for the move-mumble-float-arguments vops to Added :single and :double sized to sap-ref and sap-set. Changed the return type of %fixnum-with-correct-sign to be (signed-byte 32) Moved float-format-digits from parms.lisp to here, because parms is only Moved float-format-digits from the vm package to the kernel package. This commit was generated by cvs2svn to compensate for changes in r1665, Initial MIPS branch. Just call the regular printer. Save the NFP before we trash CONT in known call. Added a copy-list to keep from modifying the source code in Added lots of #+pmax specific stuff. typo. Added a #-new-compiler in front of the defconstant native-byte-order to Added get-closure-length to the kernel exports. Changed (vop-info-name (ir2-block-last-vop 2block)) to (vop-info-name Changed closure-index-ref to expect function-pointer-type things as Added get-closure-length. Added get-closure-length, which is the same as get-header-data, except that Added the rest of the 32bit-logical-mumbles to the kernel package. Removed comments from around 32bit-logical-mumbles. Initial revision Speced the type of the vector length slot as being an index. This commit was generated by cvs2svn to compensate for changes in r1703, Added two functions, assert-user-package and initial-init-function, for Added %proclaim to reset the default-cookie after everything is loaded. Don't try to use string-char-p when compiled with the new-comiler. Just Initial revision Changed three-way-comparison to a function and fixed a bug in the :gt Added a load of mips:core now that I've converted it to the new object Use the symbol-value of the header when generating alloc-vops instead This commit was generated by cvs2svn to compensate for changes in r1716, Added stuff to check to see if XP has been initialied, and if so, use it. Wrapped #ifdef PRINTNOISE around all the printfs so that gcing isn't quite Check to see if the lowtag of the code object is a function pointer, not the Changed to check for a ``-monitor'' switch before calling the monitor in Wrapped #ifdef PRINTNOISE around all the printfs. Wrote a ptrans_symbol Changed the writing n words message to be writing n bytes to be consistent. Put #+new-compiler in front of everything except the defstruct so that we Added bignum-{index,type,element-type} to the bignum exports. Fixed unbind-to-here to resore the original value instead of using Added a :target to move-foo-float-argument. This commit was generated by cvs2svn to compensate for changes in r1732, Completely rewrote the def-c-routine stuff. Changed to correspond to new call-out convention. Changed call-out to correspond to the new convention. Initial revision This commit was generated by cvs2svn to compensate for changes in r1748, Fixed compute-call-form to quote all the types it passes to make-alien, Moved phase, cis, and abs into irrat. Moved phase, cis, and abs here from numbers. Commented out defconstant Fixed the sense of check<= and check=. Added set-header-data and signal-init to the kernel exports. Added Moved the signal related stuff from syscall to here. typo. Don't load the 4 arg registers, 'cause we now put the args in them instead Fixed lifetime info for fast-eql/fixnum and fast-eql-c/fixnum. This commit was generated by cvs2svn to compensate for changes in r1801, Fixed the def-c-routine. Added temporary versions of data-vector-ref and -set for bit, unsigned-byte #+nil'ed the bit-vector, unsigned-byte-2-vector, and unsigned-byte-4-vector This commit was generated by cvs2svn to compensate for changes in r1807, Changed compute-call-form to check pointer return values for NULL. If This commit was generated by cvs2svn to compensate for changes in r1809, Complete rewrite for MIPS branch. Chagned int-char to code-char. This commit was generated by cvs2svn to compensate for changes in r1813, Added definition for %standard-char-p. This commit was generated by cvs2svn to compensate for changes in r1815, Fixed with-mumble-string(s) macros to not say (the simple-string foo) when Moved parse-lambda-list from macros.lisp to proclaim.lisp. Wrote the rest of the trigonometric functions and fixed the complex case Added vops for data-vector-{ref,set}/simple-array-{single,double}-float. Oops, can't use the move macro to move floating point values. You have to Changed %THROW definition to not use DEFUN so that the compiler doesn't get Changed int-char to code-char, 'cause int-char no longer exists. This commit was generated by cvs2svn to compensate for changes in r1829, Deleted defuns of allocate-storage and deallocate-storage and replaced This commit was generated by cvs2svn to compensate for changes in r1834, Changed uses of ``string-char'' to ``base-character'' This commit was generated by cvs2svn to compensate for changes in r1836, Nuked defuns of %sp-find-character{,-with-attribute} 'cause we have real This commit was generated by cvs2svn to compensate for changes in r1838, Changed all the sap %primitives to correspond to the new functional This commit was generated by cvs2svn to compensate for changes in r1846, Initial MIPS version. Changed the internal-error stuff to be able to record any sc. Also allow Changed the move macro to use the move inst. Changed the internal error Initial revision Added declare ignorable to the lambda created by deferr, so the args don't typo. Added four new types, funcallable-instance-header and 3 unused function Fixed the order of arguments to setf functions. Added cell-setf-function vop, to be used when we want a setf-function as Choose between cell-setf and cell-setf-function based on whether we are Wrote reallocate-system-memory. Fixed the order of args to setf functions. Added reallocate-system-memory to the system exports. Changed a :translate of (setf %raw-bits) to %set-raw-bits. When generating the defknown for setf functions, put the arguments in the Someone (probably me) used hard-wired constants for the function-header Wrote bytes-needed-for-non-descriptor-stack-frame and changed the nine Wrote maybe-load-stack-tn, which will either load the value off the stack Merged MIPS branch onto trunk. Moved MIPS branch onto trunk; no merge necessary. Merged MIPS branch with the trunk. Moved MIPS branch onto trunk; no merge necessary. Merged MIPS branch with the trunk. Changed HAIRY-TYPE-CHECK-TEMPLATE to return check-function for any function Don't search read only space for symbols, 'cause there will never be any Changed the internal error reporting stuff to be able to deal with the Extended read only space and static space to 64M from 16M. Added socket.o and -lm to ldb. Added compile rule for socket.c. Ran Initial revision This commit was generated by cvs2svn to compensate for changes in r1924, Fixed the def-c-routine stuff. Use *lexical-environment*, not *fenv*. Use *lexical-environment*, not *venv*. Fixed the proclaim of continuation-type to return a ctype, not a type. When in the old compiler, pass lexenv-functions of *lexical-environment* Changed an :entry to both :block and :tagbody in an ecase. Changed make-old-fp-save-location and make-return-pc-save-location to Fixed nlx-entry-multiple to be able to deal with result tns that are Nuked most-positive-cost and added register-save-penalty. Changed lexical-environment to be a c::lexenv instead of a list. Deleted the :element-size of 2 for double-regs, 'cause we can't save tns Chagned the slot setter functions to take the arguments in the corrent order. Fixed random merge problems and other assorted typos. Fixed bogus fixnum declaration in parse-integer. Added register-save-penalty, %set-sap-ref-{single,double} Added :clear-input method. Changed base-character to character in #+new-compiler'ed stuff that only works in the new compiler. Changed Re-enabled the object set stuff. Random stuff to get define-setf-method to cross compile. Added CLX. Added switched (:no-xp, :no-hemlock, :no-clx) to keep This commit was generated by cvs2svn to compensate for changes in r1952, #+clx'ed X only files. Initial CMU version. Bug in dist. Workaround bug in our compiler. This commit was generated by cvs2svn to compensate for changes in r1959, The expansion of with-gcontext declares the fourth value of copy-gcontext- Added #ifdef mips around all the mips specific stuff. Added system-area-pointer and weak-pointer to type-of. Generalized the various string search functions to take either a string or Added noise to count the number of times each vop is used and the number Fixed enable-handler to take :ignore or :default instead of a function and Removed {with,without}-interrupts 'cause better (i.e. working) versions Added *interrupts-enabled* and *interrupt-pending* to the static symbols. Added defknown and vop for mach::do-pending-interrupt (which just compiles #+nil'ed with-reply-port, 'cause none of the support stuff for it exists. Fixed format-print-character. It used to call format-print-named-character Added an (in-package "USER") right before the save-lisp so that command This commit was generated by cvs2svn to compensate for changes in r1974, Changed CREATE-SLAVE to check the status of the process while waiting for This commit was generated by cvs2svn to compensate for changes in r1980, Changed /usr/misc/.lisp/... to /usr/misc/.cmucl/... Added noise to load PCL if :no-pcl isn't in *features*. Moved the Changed stuff necessary to make named-call more optimal. Now symbols have Changed eval-when (eval) to a #+assembler eval-when (compile eval). Moved the undefined-function into C land. Added structurep to the list of stubs. Changed the undefined-function trampoline from an assembly routine to Fixed type decl for the kind slot of a reg-spec. Fixed XEP-ALLOCATE-FRAME to correctly generate $CODE. Removed some silly move-function SC combinations, like null <-> signed-reg. Removed noise to automatically generate the set-symbol-function vop, 'cause Added vops for frobbing the function/raw-function-addr slots of symbols. Changed call_into_lisp to use $LIP when computing where to jump to so that Added number_stack_start to the machine_state. Added extern number_stack_start. Added support for special binding of *interrupts-enabled*. Generalized Added noise to fix the raw function address in symbols. Changed the default core to /usr/misc/.cmucl/lib/lisp.core. Added noise Updated re new symbol slots and new function header types. Added noise do deal with fixing the raw function address in symbols. Don't save the entire C stack segment, just whatever is used for the call Added a load-sap move-function. Initialize mach::*interrupts-enabled* and mach::*interrupt-pending* in Nuked *the-undefined-function*, and changed %primitives into magic Fixed the calculation of the offset between a function pointer and the Added exports of symbol-{raw-function-addr,setf-function}-slot. Fixed the clear-input method. Ripped bit/font noise out of #\ processing. When declaring vars as functions, you must say (type function var) not typo Changed the logeqv def-source-transform to minimize the number of lognots Wrote a SLEEP based on mach:unix-select. Fixed the calculation of raw_addr_offset. Fixed scavenging of symbols. Added noise to put constants in read-only Added :constants argument to purify. It gets stuck in read-only space. Added :constants argument to save-lisp. It gets passed on to purify. Pass the compact info environment into purify as a constant. Fixed vector-total-size to return the correct value for strings. Saps are only 1 word long, not 2. Added a constants_root argument to purify that gets put in read only Added noise to primitive-type to return the structure primitive type for Added a structure-header-type. Added defknown for structurify. Added export of structure-header-type from the vm package. Added defknown for bignum::%multiply-and-add. Added two versions of bignum::%multiply-and-add, one for 3 args and one Added noise for the new header type, type_StructureHeader. For now, it Deleted defknowns for these functions 'cause either they are no longer Added interpreter stub for %array-rank. Added interpreter stubs for 32bit-logical-{not,and,or,xor,nor}. Added exports of %mask-field and %deposit-field from the kernel package. Added object-not-structure-error. Added lots of new interpreter stubs. Added interpreter stubs for numerator and denominator. Added interpreter stubs for long-float-p and short-float-p. Added load of query, 'cause it got left out. Added several (:save-p :compute-only) so that Rob's note-this-locations Nuked the type common, and it's predicate. Changed subtract-bignum-loop to make sure it writes all the result digits. Fixed more bugs in multiply-bignums and try-bignum-truncate-guess. Changed print-frame-call-1 to generate a list and then print it so that Changed structurify to be a magic function. Added a define-vop for structurify. Added noise to generate structurep and check-structure. Nuked all the structure-vector-p noise, 'cause we now have a real Fixed the bootstrap version of copy-type-class. Fixed output-structure to use structure-ref instead of svref. Fixed default-structure-print to use structure-index-ref instead of svref. Changed fop-structure to call structurify instead of using %primitive Chagned a few more ``type'' types to ``ctype'' types. Oops, can't use length on a structure. Hacked fop-svset to be able to deal with structures in addition to Replaced all uses of %primitive structure{-index,}-{ref,set} with Replaced %primitive structure-ref with the magic function structure-ref. Replaced %primitive structure-ref with the magic function structure-ref. Added defknowns for structure-{length,ref,set}. typo. Left out some package qualifiers. Added vops that translate structure-{length,ref,set}. Added fop-struct and fop-small-struct which read a length, make a structure Seperated out the structure case from the vector case, 'cause structures Added a structure branch to SXHASH. Hacked on equal and equalp to make them work now that structures are not This commit was generated by cvs2svn to compensate for changes in r2136, Merged MIPS branch onto new-compiler branch. Fixed dump-object to check structures for circularities. Put back a paren that Rob deleted. Removed the stuff to unintern symbols with key-event in them from the hi Fixed re new structure representation. Added (setf (info type kind 'mumble) :defined) for long-float, short-float, Moved the fixnum+fixnum overflow code into interrupt and set it up similar Added stuff to automatically trigger a GC when we exceed *gc-trigger*. Added noise to reset the auto-gc trigger. Deleted all the old purify Enabled the sigfpe handler. Added lisp::maybe-gc as a static symbol. Fixed some :type slot options typo Fixed defknown for room. Initial revision Moved the lisp heap to the same 256meg chunk of memory as the C text Moved the lisp heap to the same 256 meg region as the C text segment so Added *fixup-values* parameter. Fixed the fixup dumping stuff to also dump the fixup kind. Fixed the fixup processing stuff to also take into account the fixup kind. Added stuff to handle all the different fixup kinds. Changed the assembly routine interface to use a jump-absolute instruction Removed an unnecessary, incorrect type decl. Added ``save-vop-counts'' and ``augment-vop-counts.'' Commented out struct-ed, because the only defstruct in it was wrong and Added noise to the %bignum-floor stub to keep the compiler happy. [Ram] Fixed FIND-OPTIONAL-DISPATCH-TYPES to not gag if there is a &rest arg in Added noise to keep the compiler from complaining that RES is unused. Added assem-routines for return-multiple and tail-call-variable. Fixed %typep so that it recognizes structure types that are defined in Oops, left some code in tail-call-variable that really needed to be done typo. typos. More sillyness. Deleted some noise that must have been left over from an incomplete edit. New we run Makefile.orig through /lib/cpp to generate a sys-type specific Added a :kind :normal to the make-random-tn call. Fixed return-multiple to compute the new stack pointer correctly, and Ripped out some bootstraping code that was causing every def-primitive-type cleaned up slightly. Initial revision Took out a (in-package "XLIB") because it's not needed (I hope). Took put #ifdef PRINTNOISE/#endif around printfs. Moved some registers around so that we could use jal and have the return Fixed the reg names. Changed CONT to CSP and OLDCONT to OCFP. Don't bother saving the flags, 'cause we don't need to. Added SPARC registers. Fixed some bugs introduced with my last change. Conditionalize current_flags_register for the mips only. Generalized with #ifdefs for the sparc. Initialize PSEUDO_ATOMIC_{ATOMIC,INTERRUPTED}. Added printing of the auto-gc trigger and #ifdef mips'ed printing the Initial revision Corrected spelling of pattern and added some more sparc stuff. Initial revision Nuked defvar of compiler-version, 'cause it's in the compiler now. Nuked Chagned the call convention for assembly routines to use jal (into the Moved registers around to facilitate using JAL (into the LIP) for Changed return-multiple and tail-call-variable to jump off to assembly Because the new assembly routine interface uses LIP to hold the return Changed fasl file parameters to conform to new fop-code-format semantics. Changed fop-code-format to dump an implementation/version pair instead Changed *current-code-format* to be a implementation/version pair. Added normal-load/maybe-cold-load magic around the dumping of the name Moved machine specific features into here. Added a (use-package "SYSTEM") Moved machine specific features into a machine specific file. Fixed a bug at I introduced into dump-fixups. Ooops. Removed some stuff that thought it knew about the cold load, but it didn't. typo. Added something to fop-function-entry to check *load-print-stuff* and to Forgot to change the header to contain the version instead of the Moved dump from the mips directory to the main compiler directory. Fixed %%typep to call specifier-type before calling itself while processing Typo. Added support for multiple call conventions and chagned the output file Chagned to correspond to new syntax. Initial revision Moved assemfile to .../assembly and moved assembly code into a machine Added a ``(inst li nargs (fixnum 2))'' when we go to call the static Allow the args and results to be in either descriptor-reg or any-reg. Added load of .../assembly/mips/alloc. Initial revision Fixed re new register assignments. added lots of #ifdefs to conditionalize machine specific parts. Changed FIND-LOAD-FUNCTIONS to ignore alternate SCs that are listed in Moved the machine specific stuff into a machine specific file. Initial revision Added load of .../assembly/mips/support. Changed GENERATE-CALL-SEQUENCE to return the temporaries it wants as a Oops, forgot to remove some of the arguments from GENERATE-CALL-SEQUENCE Fixed %bignum-floor to leave the argument tns intact. Changed a bunch of ``inst add'' to ``inst addu'' Rewrote large chunks to get rid of Dave code. Do pattern matching in Changed predict-name to unix-namestring. Removed some globals that are no longer used. Removed the Moved make-call-out-mumble into machine specific file c-call.lisp. Nuked proclaim for *sb-list*, 'cause it's gone now. Initial revision Added export for all the attributes. Added exports for the useful macros. Removed undefined-value, 'cause it's Added exports for constructors and accessors needed by the vm specific Added exports for tn constructors and other functions needed by the Store all backend specific stuff in a structure (see backend.lisp) instead Use slots of *backend* instead of *sc-names*, etc for backend specific Use slots of *backend* instead of *sc-names*, etc for backend specific Initial revision Moved primitive-type stuff into a different file so it can be shared Moved primitive-object and utility functions (fixnum, static-symbol-p, etc) Use the define-vm-support-routine macro to define the various vm specific Initial revision Put all the vm-specific code in a vm-specific package (MIPS in this case). Removed defconstant of sc-number-limit, 'cause it's not really vm specific. Put back defvar of *any-primitive-type* so that other vm specific files Added exports of several vm support routines so that vm specific files Added exports for several functions that the backend need to get at. Added exports for types/accessors that are needed by vm specific files. Added many more exports, 'cause I missed a bunch the first time. Added Fixed {meta-,}sc-allowed-by-primitive-type (you mean stuff in an eval-when Oops, left out a backquote. Nuked import of symbols from c::, 'cause they are now exported. Added exports of sb-name, etc. Save the signal mask when we hit the guard page so we can restore it. Use def-vm-support-routine to define the vm support routines. Export define-assembly-routine. Changed from package ``C'' to package ``MIPS'' Moved call-out vops from subprim.lisp to c-call.lisp. Deleted all support for the interm RT system and cross compiling from Added exports for interfaces. Set the logical name vm: instead of mips:, 'cause that's what loadcom Replaced target-byte-order with (backend-byte-order *backend*). Changed target-fasl-file-imp and version to (backend-fasl-file-imp Nuked native-byte-order, 'cause that info is now in *backend*. Fixed ftype proclaim of defprinter-prin[1c] to allow nil for the indent. Look for templates in the VM package instead of the C package. Put package qualifier on halt. Deleted definiton for clear-registers, Added lisp:: to make-fixnum and make-other-immediate-type. use (c:backend-byte-order *backend*) instead of vm:target-byte-order. Moved some symbols from the ``C'' package to the ``MIPS'' package. Moved some symbols from the ``C'' package to the ``MIPS'' package. Moved many symbols from the C package to the VM package. Moved FP-OFFSET from the C package to the VM package. Now that the vops live in the mips package, we need to import the Moved more symbols from the C package to the VM package. Added export for *native-backend* NULL-OFFSET is now in the MIPS package, not the C package. Added defenum and pad-data-block, 'cause they got left out before. Changed Added export of vop-attributes Rewrote the defprinter stuff to use XP for pretty printing. typo. Added a few c:'s 'cause the lisp package doesn't use the c package. Added an info-environment slot to the backend structure. Fixed float printing to indirect through the mumble_float structure This commit was generated by cvs2svn to compensate for changes in r2368, Added eval-when (compile load eval) around defconstant of Added an eval-when (compile load eval) around some defconstants, 'cause This commit was generated by cvs2svn to compensate for changes in r2371, Added an eval-when (compile load eval) around defconstants that are needed This commit was generated by cvs2svn to compensate for changes in r2373, Changed a %primitive 8bit-system-ref to a system:sap-ref-8. This commit was generated by cvs2svn to compensate for changes in r2375, Replaced mach:unix-subtestname and lisp::predict-name with This commit was generated by cvs2svn to compensate for changes in r2378, Added eval-when around defconstants 'cause the values are needed at compile Export unix-namestring from the extensions package, and allow the second Added exports and defuns for allocate-vector and make-array-header. Changed %primitive allocate-vector and make-array-header to just a call Moved all the array noise into it's own file, array-tran.lisp. Initial revision Added defknowns for allocate-vector and make-array-header. Added float arrays to the list of unboxed arrays. Make make-array-header translate make-array-header now that it is a known Fixed get-type to deal correctly with fixnums, list pointers, and structure Make allocate-vector translate itself now that it is a known function. Changed the way support routines are defined so that when we incompatibly typo. Ack, more typos. Added load of array-tran Changed def-vm-support-routine to explicitly change *target-backend* Bind *backend* to *native-backend* in compile-from-stream and compile. Explicity frob on *target-backend* at meta compile time instead of assuming Turned off gc_asserts, 'cause we trust GC now. Added a ``restore'' command for use when starting saved cores with the Changed scavenge to pick off fixnums and non-oldspace pointers itself Changed gc_assert(0) to gc_abort(), 'cause we want to be able to compile Added exports for backend-instruction-formats, backend-instruction-flavors, Lots of stuff due to moving all the compiler backend stuff out of the C Moved vm:c-call later in the load order so that it is after vm:vm. Forgot to call length on the indices &rest arg in the aref derive-type Changed pause-hemlock to send a SIGSTOP instead of a SIGTSTP, and to Finished editor-describe-function. Added sparcf, mipsf, and rtf to the list of ignored file types. Use *target-backend* when building the name for def-vm-support-routine, not Changed function-info-or-lose and %defknown to change the info environment Don't bother binding *info-env* in set-up-function-templates, 'cause Supply an :initial-element for calls to make-array. Added an optional backend arg to sc-or-lose and friends. It defaults to Pass *backend* to sc-or-lose and friends to assure we extract the info Export lots of symbols and don't bother to qualify defknown attributes, Supply the backend arg to sc-or-lose and friends when necessary to get Supply the backend arg to sc-or-lose and friends when necessary to get Export %set-sap-ref-{sap,32,16,8,single,double}, make-{single,double}-float, Added exports of kernel:%sp-set-{definition,plist}. Added exports for kernel:%set-sap-ref-{sap,32,16,8,dingle,double}. typo. Added load of copyprop. Tuck backend info into *target-backend* instead of *backend*. Added lisp sigint handler so Scott doesn't have to deal with LDB. If you Added exports of {single,double}-float-p, base-char-p, and Added export of *primitive-objects*. Tuck the primitive-type T into the *target-backend*, not *backend*. Bind *backend* to *target-backend* around the call to Fixed %floor so the lifetimes are correct. The make-string source transform was quoting the initial element, even if In ambiguous-files, don't merge in the name and type from defaults, and Extract the register names from the compiler info. Added Blaine's This commit was generated by cvs2svn to compensate for changes in r2446, Changed uses of lisp::predict-name to ext:unix-namestring. Moved compiler/mips/dismips to code/pmax-disassem. Added :initial-elements to the make-arrays. Blaine's defmacro. Changed to use Blaine's parse-defmacro. Stripped out lots of bootstrapping Initial revision Changed uses of lisp::parse-defmacro to conform to what Blaine's Took out a reference to register-name-style, 'cause it doesn't exist Moved &whole vars to the front of the lambda list. Added load of ``loop.lisp'' Oops, forgot to change the name from ``new-loop'' to ``loop'' when I Moved allocate-vector and make-array-header from the vm package to the Nuked alloc-g-vector and make-string, 'cause they are no longer used. Replaced use of alloc-g-vector with a call to make-array. typo Make the termination-form for dostring optional, because it's not always Just call the magic function make-array-header instead of using %primitive. Changed a use of analyze1 to parse-defmacro. typo. Ack. Maybe this time I got defsetter correct. Added initial-elements to make-array calls. Added explicit initial-elements to uses of make-array where we needed Changed def-ir1-translator, def-source-transform, and Added a :error-fun keyword to parse-defmacro. If it is supplied, it gets Moved check-mumble into the C package, so that multiple vms can get at it. Changed vm:target-byte-order to (c:backend-byte-order c:*backend*). Changed ``%primitive sxhash-simple-string'' to ``%sxhash-simple-string'' Changed ``%primitive sxhash-simple-string'' to ``%sxhash-simple-string'' Added exports of halt, make-fixnum, make-other-immediate-type from the C Fixed name of primitive-arg-count-error. Changed uses of parse-defmacro to Took package qualifiers off of %primitives, because the names get Use the magic function structure-ref instead of the %primitive. Typo. Don't assume that a zero stack-frame-size is the same as no arguments. In alloc-number-stack-space, don't emit the add instruction if the amount Default-unknown-values needs to use OCFP to get at return values that don't Note the fact that the environment var is used when we expand the &body Removed lisp:: from halt, 'cause it's now exported from the C package. Initial revision Finally got around to rewritting print-directory. Added package iteration stuff. Chagned bit-vector-copy to allocate the bit-vector itself instead of Added eql as a static function. Added generic comparison assembly routines. Took out the duplicate funcallable-instance-header from the header types typo Oops, forgot the (:save-p t) vop option. Changed the make-array transform to simplify the nwords computation as Let-bind a special in interpreted-function-type so that we can tell when we Initial revision Don't to sleeze things with union arguments. Typo. Added the y reg and fsr to our expanded sigcontext. Initial revision Added sparc code inside of #ifdef/#endifs. Took the vm: off of make-single-float and make-double-float, 'cause they Took the vm: off of single-float-bits, double-float-low-bits, and Typo. Added defknown for %make-funcallable-instance. Added :set-known for the funcallable-instance function slot. Added ``asin'' When using the raw-pc return style, skip past the call inst on the return. Fixed the code to tail-call into static-functions. Fixed the divide Make sure old-mask was actually filled in before trying to restore it. typo export loop-finish from the lisp package. If we are not on a tty and we hit EOF, exit. Added defun for internal-error-arguments. Took out temporary compatablilty code from internal error stuff. Moved sigcontext into machine specific file. Initial revision Added #+pmax and #+sparc etc stuff to install kernel::internal-error on the Changed fp-offset to cfp-offset and old-fp-offset to ocfp-offset. Changed fp to cfp and old-fp to ocfp. The C support code now picks off internal errors, so we don't have to. Lots of changes in the way internal-error is used. Internal-error is no Oops, have to pass the entire sigcontext into internal-error-arguments, Pass internal-error-argument the actual sigcontext alien instead of just a Pass the sigcontext alien into internal-error-arguments instead of a Changed the fasl file extension to ``pmaxf.'' Added kernel::interal-error Don't assume the size of sigcontext, use c-sizeof. Added sparc support for internal errors. Changed the trap signal handler Added extra tests to make sure a symbol is reasonable before trying to Added the closure_tramp. Added an extra NIL in the header of the Moved check-mumble symbols from the VM package to the C package so that the Added a ``features'' slot to the backend structure. typo. Oops, left several two-arg-mumbles in the exported static symbols. Restore the signal mask to it's previous value before processing Added support for funcallable instances. Oops, had default-interrupts and ignore-interrupts switched. Compile with ``-O'' instead of ``-g'' on the pmax. Added noise to explicitly turn on internal errors, now that turning them Added a boolean to enable calling into lisp to handle internal errors. If (Hopefully) fixed multiplication. Oops, was flattening the result in a delay slot in multiply. Forgot to initialize the quotient in fixnum-truncate and signed-truncate. Rewrote sxhash-simple-substring so that is it much faster (and works). Initial revision Nuked the #+new-compilers 'cause we no longer need to cross compile. Qualify fixup-code-object as being in the VM package. Qualify fixup-code-object with vm:, not lisp::. The LOGAND derive-type optimizer though the result was going to have no Added vm: where necessary now that the C package doesn't use the VM Typo. Set the search lists vm: and assem: conditionally. Added an ``alignment'' slot to the SC struct. Added an :alignment keyword to define-storage-class for specifying the Don't export sc-number-limit from the VM package. Nuked use-packages of VM, 'cause VM is just a nickname now. Added support for the new alignment slot in SCs. Check-ok-target will Added exports for lots of float parameters. Added :alignment options to storage-class definitions. Added a nop between fcmp and the fb insts. Fixed call-into-c to leave everything in such a state that a GC will fix On machines other than the mips, use PSEUDO_ATOMIC_ATOMIC and The RAW_ADDR_OFFSET is 0 on the sparc. Moved the ``def-boolean-attribute vop'' form into here so that it's in the Moved the def-boolean-attribute vop into vmdef.lisp. Took the vm: off of single-float-bits and double-float-mumble-bits, 'cause When we grow SCs, make sure we make at least enough room for one more Moved the def-boolean-attribute vop into vmdef so that it is in thr Added vm: to all vm specific symbols, 'cause kernel no longers uses vm. Qualify double-float-digits as being in the VM package. Deleted the defconstant for mumble-float-digits, 'cause it also exists in Was allocating zero length bignums in generic-+ and generic--. Shouldn't Added #+pmax and #+sparc as necessary. Fixed a lifetime bug in full-call. ``Temp'' was being used to help compute Fixed unsigned-byte-32-logcount to return a fixnum in it's any-reg result Added exports for the symbols we want exported. Added vm: in front of Export the bignum primitives from the bignum package and have the VM Removed the bignum:: from in front of bignum symbols, 'cause they are now Added bignum-type back into the vm exports, so that it will show up in the Added Blaine's with-hash-table-iterator. Added Blaine's with-package-iterator. Changed ``mipsf'' to ``pmaxf'' Fixed the logand derive-type optimizer to never try to expand Fixed bit, (ub 2), and (un 4) data vector accessors to work on a big-endian Use SIGTERM instead of SIGUSR1. Make sure the signal stack is dual-word Added sprac specific code: We don't have to do anything special for Sun's mmu is braindamaged and can't deal with addresses in the range Initial revision Added a slot to the ir2-component to hold the dynamic-vop-count-info Initial revision If we want to collect dynamic statistics, all setup-dynamic-count-info When we want to collect dynamic vop counts, emit the ``count-me'' vop Added dyncount. Added the ``count-me'' vop for dynamic statistic gathering. Added ``code-constant-ref'' to the C exports. Added a vop, ``code-constant-ref,'' for extracting constants from code Dump vectors whos element type is subtypep (unsigned-byte 32) as int Added ``count-me'' vop. Added ``code-constant-ref'' In destructuring-bind, pass NIL to parse-defmacro as the name, 'cause Cleaned up the error-fun handling. Now all runtime calls to the error-fun Fixed uses of parse-defmacro re changes to it. The error-fun now takes Spiffed up the error messages for all the internal errors. Actually, Added a :report for type-errors and spiffed up the report for Added statcount.lisp Moved static vop counting into it's own file: statcount. Initial revision Moved static vop counting stuff into it's own file. Added stuff to also to record the number of bytes attributed to each vop Fixed loops to actually iterate over the elements of the keyword list Ripped out *key-finder* stuff, 'cause it wasn't used and wasn't really Fixed make-slot to copy-list it's &rest arg before using destructive When searching for a key, compare against successive elements in the key Fixed costs of binops so that the most reasonable ones have the lowest Fixed ash to use either sra or srl depending on the sc of the *argument*, The results of fast-truncate/fixnum are tagged-nums, not signed-nums. Just load pcl:pclload and let it load everything else. Added exports for kernel:%unary-round and assem:count-instructions. Oops, missed one place keyword-argument was still used. This commit was generated by cvs2svn to compensate for changes in r2690, Some bozo was assuming that all modifiers fall in the range 65505 to 65518, Fixed %vector-type-code to return something (simple-vector-type) if someone This commit was generated by cvs2svn to compensate for changes in r2693, Added lots of without-interrupts and without-gcing to keep them from Added several force-outputs to make sure prompts are output before we try Fixed the debugger problems caused by missing force-outputs. When in generic--, subtract instead of add. Fixed a syntax error exposed by the new defmacro. Need to (fixnum x) the immediates for fixnum vops. Had the subtract backwards in the fixnum-fixnum=>bignum case. Added %unary-round/{single,double}-float VOPs. When computing the calling frame, don't barf if the LRA is a fixnum. Added stuff to INTERNAL-ERROR-ARGUMENTS to deterine if the internal error Implement check-fixnum using taddcctv and check-list using tcc. Added the t (trap conditionally) instruction. Added defconstants for object-not-{list,structure}-trap. There is no need to flush the number stack from the cache when restoring, Flush the register windows when calling into Lisp. Recompute %fp when Enabled the auto-gc trigger stuff for the sparc and changed the constants Lots of changes to facilitate the SPARC port. In addition to finishing Changed to use make-structure to create structures directly instead of Nuked defun of structurify. Added define-primitive-object for structures. Cleaned up the structure defknowns. Use structure-index instead of index Added deftype for structure-index. Structures are now represented with the structure-pointer lowtag, so Nuked structurify. We now have real structures, so test them accordingly. typo Only call INTERNAL-ERROR if internal errors have been enabled. Added support for structure pointers. typo typo Don't try to access the sigcontext-cause slot on machines other than the Gee, who would have though that pre-processor directives are case Fixed the defknown for make-structure to only have one arg. Added exports for make-structure and structure-index from the kernel Dinked the fasl file version up to 2. Added set-funcallable-instance-info and new structure stuff. Nuked structurify. Use the real structurep, etc. Make-structure is exported from the kernel package, not the C package. Fixed bug in a format control string. It was ~[, which takes a number, but Added an eval-when around some defconstants, 'cause their value was used in This commit was generated by cvs2svn to compensate for changes in r2768, Fixed bug in spell-root-word. It assumed that it could use subseq on a Fixed dribble. It no longer calls %top-level, so it is possible to use it Test to make sure the argument is a list when destructuring. It used to Added a retry case to the permision denied error in open. Fixed echo streams to no longer echo unread characters twice. Fixed some typos in the bit-not transform. Someone forgot to wrap a declare around an (optimize ...). Fixed nlx-entry-nultiple to copy the correct number of values. Added funcallable-instance case to set-symbol-function. Use new fop-structset when fixing structures instead of fop-svset. Added new fop-structset for fixing up structures. Note: fop-svset still Fixed a bug in which scavenge was only testing to see if the object was Check for the GC trigger being hit on either SIGBUS or SIGSEGV so we Totally re-written for the new system. Added load of foreign, 'cause it now exists for the new system. Added a call to mach:unix-sigsetmask at the start of invoke-debugger. Added a call to mach:unix-sigsetmask in %top-level right after the Put load-foreign back into the EXT package. Fixed to loop from the right to the left when necessary. Fixed a bug in the calculation for src in the final-bits=0 case. Fixed default-structure-print to work when *print-circle* is T. Moved MACHINE-TYPE and MACHINE-VERSION into machine specific files. This commit was generated by cvs2svn to compensate for changes in r2859, Removed some bogus type declarations from a DEFSETF. Initial revision Added support for the IBM PC/RT. Added support for the IBM PC/RT. Moved the with-simple-restart to be outside the call to read so that you Fixed %check-bound to error if the index is >= the length instead of just > Initial revision Fixed function-debug-function. Added new defknown/vop function-word-offset that does the same thing as Added defknown and vop for function-word-offset, which is the same as When renaming a package, don't add the new name until *after* the nicknames Added di::handle-breakpoint to the static symbols. Added breakpoint to the list of trap types. Added export of the ...-flag and ...-trap constants. Added support for trap breakpoints. Removed a debugging write that somehow Initial revision Added breakpoint.c and ran make depend. Conditionalize the RT support for only on the RT. Removed vm: qualifier, so we can compile this file before that symbol is Wrapped a without-interrupts around the guts of maybe-gc so that the Fixed re new structure reps. Added breakpoint-trap and handle-breakpoint. Fixed %%typep of (satisfies (lambda (obj) ..)) to explicitly coerce the Changed types of the form (satisfies (lambda (obj) (and (tn-p obj) ...))) Added code-header-{ref,set} and code-instructions. Changed the load-code macro to deal with the fact that code objects now Added support for generating trace-tables. Pass the trace table returned by generate-code on into fasl-dump-component Added stuff to dump the trace table along with code objects. Added stuff to deal with the trace table associated with a code object. Added a trace-table-offset slot to code objects. Added exports and defknowns for code-instructions and code-header-{ref,set}. Added trace table constants and exports thereof. Account for new code-trace-table-offset slot. Emit trace table entries for function prologues/epilogues and call sites. Nuked code-constant-{ref,set}, because the new code-header-{ref,set} is Added vops for code-header-{ref,set}, and a :translate for code-instructions. On the sparc, put the kernel core in /usr/tmp so that we don't blow the Changed to get the name of the VM package from the backend instead of Added lots of calls to trace-table-entry. Added code-header-{ref,set} and changed code-instructions to be a magic Changed random defconstants back to a defenum now that Rob fixed the Removed defenum and pad-data-block, because they are now defined in vm-macs. typo. Dinked the fasl file version. Nuked code-constant-{ref,set} 'cause code-header-{ref,set} are the Moved code-header-{ref,set} from system.lisp to cell.lisp so that it Removed the call to os_flush_icache because it is unnecessary and it typo. Changed a use of code-constant-set to a setf of code-header-ref. Dinked the fasl file version, because the static symbols have moved around. Fixed ptrans_code to account for the new slot in code objects. Added defknowns for 32bit-logical routines and for shift-towards-{start,end}. Remover an old broken assertion, and added some new ones. Fixed values-list to ``move count csp-tn'' instead of ``move csp-tn count'' Fixed INC and DEC to spec the op field as #x91 and #x93 instead of 91 and Fixed copy-more-args to restore the stack pointer when done. Fixed tail-call- Fixed some typos. Fixed allocate-code-object re addition of trace-table-offset slot. Changed load to check the first line of files for ``FASL FILE'' instead of Use cas to add two registers, not cal. Fixed sxhash routines to work. Added another flavor of cal that allows one to specify ``0'' as the second Fixed lifetimes and types for shift-towards-someplace. Added notes for Fixed :if-does-not-exist nil case when the specified file didn't have a Fixed allocate-vector to write the allocation pointer back into the static Added deftransforms for 32bit-logical operations not supported by the Offer VOPs for the 32bit-logical ops that are supported the instruction Store the updated allocation pointer back into *allocation-pointer*. Added magic noise to allow LDB or the debugger to figure out what happened Fixed if-eql-fixnum-c to fixnum the immediate operand. Added floating point constants. Changed 68881 to mc68881. Added nl0-tn. Added extra temporaries to the sap-ref and set VOPs to make sure all the Added floating point stuff. Rewrote everything to simplity porting to different machines. Fixed lots of float bugs. Do not list the float-reg SCs as having constant-scs, because constant Initial revision Initial revision Fixed a lifetime bug in def-small-data-vector-frobs that was causing #* to Fixed a lifetime bug in def-small-data-vector-frobs that was causing the #* Fixed really-copy-more-args to save the nfp before using it. Fixed primitive-type to handle the named-type ``structure'' in addition to Fixed the -normal-exponent-{min,max} constants. Added the Fixed move-from-sap to call with-fixed-allocation with the correct type. Fixed an ``inst o'' to be an ``inst oil''. Hacked over several bignum vops to keep from running out of registers. Fixed make-call-out-result-tn to possibly return multiple TNs so we can Compute the LRA later during a full-call so that the lifetime info is Fixed set-symbol-function to correctly extract the type of the function Fixed type-test-aux to copy-list it's arguments before calling sort on Added noise so that you can spec the features from the command line. Fixed the -to switch. Added noise for the RT. Fixed make-call-out-argument-tns to return the number of bytes needed Don't trash the return values in call-into-c before we have a change to Fixed integer-lenght to spec the result as being in an unsigned-reg, 'cause Fixed the :package file option. Added the :translate and :policy to Fixed make-call-out-argument-tns to return the number of bytes needed for Added the floating-point-modes vops, but they don't do anything yet. I had Fixed two usages of load-type to spec the lowtag correctly. Fixed Fixed fash-ash to actually work. Added noise to support multiple return values for call-out. Wrote FIXUP-CODE-OBJECT. Oops, I seem to have broken the single return value case for call out. Added RT specific stuff. Fixed restore-dynamic-state to correctly check for the end of the binding Fixed three generic-mumble routines to spec the :offset for lisp-return as In the unaligned, left-to-right unary copy, had the test to see if we need Added definitions for %raw-bits and %set-raw-bits. Fixed the sigcontext structure to be correct. Added globals start_of_tramps and end_of_tramps to the signal handling Fixed make-other-immediate-type. Added RT version of skip_instruction and sigtrap_handler. Fixed the case where we were iterating from the right to the left and we Added RT support. When allocating the code object, allocate the correct amount of space, not Finished RT version of INTERNAL-ERROR-ARGUMENTS. Fixed 32 bit sap refs. There were shifting the offset up twice, once in Added an extra reference to suppress a bound-but-not-used warning. Added RT support. Fixed with-fp-temp to save NL0 beyond the end of the stack instead of in Changed check-move-function-consistency to use warn to note problems Only initialized the binding stack pointer when we are loading a kernel We don't need to save the binding stack pointer on the RT, because it's in We don't need to save the binding stack pointer on the RT because it's in Added funcallable-instance support. Fixed def-small-data-vector-frobs to extract the bits from the correct end Fixed a bug in the data-vector-ref/unsigned-byte-{1,2,4}-c VOP in which it Moved a few #endif's to eliminate spurious warnings. Added RT support for gc_trigger_hit. Added descriptor-reg to the SC restrictions on the source of Fixed data-vector-set/unsigned-byte-{1,2,4} to be big endian in addition to Fixed the SAP routines to align the sap to a word boundry before using it. Added RT support. Moved room.lisp before gc.lisp so that MEMORY-USAGE will have been exported Generic-* was doing a logical shift right instead of an arithmetic shift Added a ``-q'' switch to suppress some of the output. On the RT, the IAR is not necessarily word aligned, so don't try to cast Added sunos support. Added #include of ldb.h. Changed the page size parameter to a OS supplied value. Added sunos support. Moved machine/arch specific stuff into machine/arch specific files. Added declarations for routines that are now exported. Added calls to arch_init(), and {arch,os}_install_interrupt_handlers(). Moved #define of crap_out from gc.c to here. Moved actual reg names into seperate files and #include them. Moved OS specific stuff into OS specific files. This file just contains Added definition of strcasecmp for non-cmucs sites. Removed include of mach.h, as it's not needed (and non-mach sites don't Moved register names into arch specific header file. Added sunos support. Initial revision Initial revision Added include of signal.h and fixed defn of os_validate to be consistent Use /usr/cs/lib/cpp instead of /lib/cpp so that MACH is defined. Added declarations, etc. to reduce number consing. Made def-bignum-wrapper more intelligent so that we can wrap negate-bignum Changed a null test into an endp test. Count the instruction bytes instead of costs. Added stuff to def-small-data-vector-frobs to emit different code for Spec the cost of word, short, and byte to be 0. Removed binding of regs, because it's unused. Added function-end-breakpoint to the list of trap types. Added export of function-end-breakpoint-trap. Added function-end breapoint stuff. Added function-end breapoint stuff. Fixed minor problems introduced with Actually, the :initial-contents keyword for make-array can be anything. If Fixed make-array to allow :initial-contents to be built out of any kind Fixed the make-array derive type optimizer to only spec the dimensions typo typo. Need to have an ``_'' in front of the function_end_trap_mumble symbols. Added noise to make sure MACH is defined when sparc-assem.s gets run Oops. Was installing the SIGFPE handler on the SIGEMT signal. Hence, In the single value entry point in the function-end breakpoint template, When returning from a function-end breakpoint, fix the LRA reg if it was When computing the code component from the pc in handle_fn_end_breakpoint, The return convention has the LRA in CODE, not LRA. Fixed the UNSIGNED-BYTE-32-COUNT VOP to put a fixnum in the any-reg result Merged old system changes. Added noise to SETUP-CHILD to try execing Fixed COPY-DESCRIPTOR-TO-STREAM to set a flag when it closes the descriptor Check to make sure TN is not :MORE *before* checking to see if it's offset When using the form offset to find the source form, bind *read-suppress* to Changed ``fp-tn'' to ``cfp-tn'' and ``old-fp-offset'' to ``ocfp-offset'' Just jump directly instead of loading the address into a register first, Just jump directly instead of loading the address into a register first, Changed ``fp-tn'' to ``cfp-tn'' and ``old-fp-offset'' to ``ocfp-offset'' Added a load of syscall because we need to re-run some of the exports. Added def-ir1-translator for compiler-option-bind. Not for randoms to use. Added ``options'' slot to the lexenv, for use in passing context into Fixed make-lexenv to deal with the new options slot. Added define-type-predicate's for scavenger-hook, code-component, and lra. Added defknowns for %make-scavenger-hook, scavenger-hook-p, Added vops for code-component-p, lra-p, and scavenger-hook-p. The Added support for LRA's, Code-Component's, and Scavenger-Hook's. Fixed the VOPs for code-component-p, lra-p, and scavenger-hook-p. Fixed Nuked #+new-compiler stuff. Nuked with-reply-port because it's not used Initial revision Initial revision Changed register-p to allow TN's in the ZERO and NULL SCs, so that every Added MUTATOR-SELF. Save the non-descriptor registers in saved regs across the call into C. Completed previous fix. Fixed set-symbol-function to correctly save and restore the return address Save code and lra across the call into C in set-symbol-function Added noise for code-component-p and lra-p. Added filler for scavenger-hook-p. Don't include the binding-stack pointer in the dynamic state, because Explicitly use unbind-to-here during nlx recovery instead of assuming that Now that ir2tran deals with the BSP during unwinds, don't bother to save it Fixed a typo of Rob's. Added some changes from Miles. Search the CMUCLLIB search path for the core file instead of always This commit was generated by cvs2svn to compensate for changes in r3711, Don't truename the slave utility before passing it to run-program so that Added noise to output-random to check to see if code components have typo Patch from Miles. Now checks the return value from os_validate. Patch from Miles to make work under SunOS. Use /usr/cs/lib/cpp under mach. Fixed unbind-to-here. Had some delay-slot usage bugs. Fixed unbind-to-here to only load the symbol from the binding stack if we Moved the spaces around to free up 0x0f000000 through 0x0fffffff, because Moved the heap around to free up 0x0f000000...0x0fffffff, cause Mach 3.0 Added noise to skip over comments, which start with a # and end on the end Added font support for the TTY. Allow active region highlighting on the tty. Instead of closing the descriptors ourself before doing the exec, set the Don't turn off open paren highlighting, because it works now. Load save at worldbuild time instead of worldload time so that sunos-os Added sunos support. Load key-event if we compile it so that the RE-INITIALIZE-KEY-EVENTS uses Don't set XTABS on the pty so that tabs will be passed through to Hemlock Don't assume signal handlers are (void *)(), 'cause under mach they are Fixed set-auto-gc-trigger to look for the free pointer in Don't assume signal handlers are (void *)(), 'cause under mach they are typo Added function-end breakpoint stuff. Fixed "Move Over )" to use a permanent mark instead of a temporary mark ran make depend. Added WIRE-{OUTPUT,GET}-BIGNUM and extended WIRE-{OUTPUT,GET}-OBJECT to use Removed MACH from the backend version, as the backend has nothing to do Fixed Rob's change to %deftransform. Added *internal-gc-trigger* to the static symbols. Also stripped off Added explicit gc-trigger test. Added defns for ``tge'' and ``tlt''. Added explicit gc-trigger test. Ripped the auto-gc stuff out for the RT. The GC trigger now sits in Always emit the TEMP temp, 'cause it's always needed on the RT now. Missed a spot in the last change. Fixed the order of the alloc pointer and the gc-trigger in the tlt inst in Oops, were comparing the GC trigger to the wrong register, hence taking Fixed the :file branch of "Help on Parse" to trim leading directory Fixed REALLY-RETURN-MULTIPLE to actually default the remaining registers. Moved the lisp mode specific code into lispmode.lisp. Moved the lisp mode specific parts of paren highlighting into here from Fixed the INTERN defknown to include nil in the type of the second return Fixed some places where the SI-LINE-FONTS slot was not being cleared. This Fixed Bill's change to INIT-BITMAP-SCREEN-MANAGER to actually work. Optimized CHECK-STRUCTURE to use the conditional trap sequence a la Initial revision On the RT, we have to explicitly test the gc-trigger when allocating Added RT support for the GC trigger. One the RT, we can't use the page Wrapped an eval-when around the declaim because defstruct is cold-loaded Before doing directory translations, try a probe-file of the source file Removed all the directory updating stuff, 'cause it didn't work and Fixed the check-in stuff to work better. The flag to indicate whether or Another fix to the check in stuff. [Yes, I'm testing it by checking this Another fix. If the buffer gets nuked, don't pass it to change-to-buffer. Added entries for things like begin/end bold, underline, etc. Print something out for each directory groveled. Don't translate the check-out name unless there actually *is* a Fixed to use new directory structure. Run make depend whenever we generate the Makefile. Changed make depend to add the depends to Makefile so that we automatically Added /usr/misc/.X11/include to the INCLS. Compile with -O on the sparc, as it should be debugged by now. Added support for SYMBOL-MACROLET. Setq and mv-setq had to change to Don't shadow SYMBOL-MACROLET because I've now taught PCL to deal with the CMUCL has a real SYMBOL-MACROLET, so use it instead of defining a macro. Fixed the check-in stuff to make sure "Rcs Keep Around After Unlocking" is Added some calls to force-output after the calls to format in Redid part of the symbol-macrolet support in order to keep some totally Added assembly-call attribute to jal. Changed BASE-CHARACTER to BASE-CHAR. Nuked old-compiler bootstrapping Changed BASE-CHARACTER to BASE-CHAR This commit was generated by cvs2svn to compensate for changes in r3979, Changed BASE-CHARACTER to BASE-CHAR. When converting MAKE-STRING into a MAKE-ARRAY, wrap the length with (the Changed base-character-reg-sc-number to base-char-reg-sc-number. Changed type_BaseCharacter to type_BaseChar. Added multiplier recoding for ub-32 * ub-32 => ub-32. The single-float/double-float case had been left out of truncate. Fixed output-weak-pointer to print to the supplied stream instead of Initial revision Quoted the types in the deftransform of the simple-bit-vector ops, because Don't deftype base-char under CMUCL. Changed to new pathnames. Added &allow-other-keys to the destructuring-bind in gen-field-spec-forms. Started adding disassembly noise. Added definition of FOREIGN-SYMBOL-ADDRESS. Initial revision Initial revision Added EXTRACT-FUNCTION-ARGS, which can be used in transforms to convert Fixed EXTRACT-FUNCTION-ARGS to reset the node-derived-type and Changed use of CAREFUL-SYMBOL-FUNCTION to FDEFINITION. Fixed DOCUMENTATION and %SET-DOCUMENTATION to allow any symbol for the Added FOP's for single and double-float vectors. Added MAKE-LOAD-FORM and LOAD-TIME-VALUE support. Rewrote lots of the Added support for load-time-value. Specifically, there is a new function Added :mumble-trans and :mumble-known for {alloc-,}value-cell{-set,-ref}. Added defknown for make-value-cell. Added load-time-value and make-load-form support. Also removed Initial revision Removed old #-new-compiler stuff. Fixed reference-constant to allow Rename the PCL package if it already exists. Added comf of ltv, the support for load-time-value. Added load of ltv. Put .../clisp/src/$subdir in target: also so we don't have to have Set lisp: to include both the build and the source areas. Shitloads of changes, mostly from Miles. Bunch o' changes from Miles. First cut at info for Miles disassembler. Changed the names of mips/mips-macs.lisp and mips/mips-insts.lisp to be Changed the name of mips/mips-macs and mips/mips-insts to be mips/macros Changes for 11/25/19 to 11/27/91 and 11/19/91 to 11/25/91. Fixed IR2-CONVERT-REF to correctly convert unnamed constants instead of Added *read-eval*. If a #. is encountered while *read-eval* is NIL, an Rewrote all the dispatching stuff and many of the directives. Now supports Added MAKE-CASE-FROB-STREAM which is used by the new format to handle Removed call to FORMAT-INIT, 'cause it no longer exists. Oops, forgot to change the name from ``my-format'' to ``format.'' Also Removed the (set-dispatch-macro-character ## #, #'sharp-comma), now that Turns out we can't have format expand the control-strings a la formatter Wrapped a defvar with an eval-when (compile load eval) because it's used at Did it again: forgot to change the name back from my-format when I was done Load vm:insts after vm:vm because it needs to get at some constants that Had two arguments to a function backwards. More arg order problems. Removed use of TAB-OVER, so I can remove pprint.lisp from the cold load. Several bug fixes. Significant rewrite to support *print-readably* at all and to better Changed defknowns for WRITE and WRITE-TO-STRING to include the keywords Don't bother deftypeing boolean, because we don't use it anymore. Flushed uses of DOSTRING, because the definition went away. Fixed lots of bugs introduced with rewrite. New native pretty printer! Fully impliments the spec as outlined in CLtL2. Added doc strings for pretty-printer defvars. Added a decend-into for Don't compile XP, because we don't load it anymore. Changed XP to PPRINT. Changed the defknown for format to allow a function instead of a Flushed uses of XP: because the various pretty printer symbols are now Changed to use native pretty printer instead of XP. Removed one of the two loads of pprint, because we only need one. 11/27/91 to 12/5/91 notes. Changed the dispatch for cons to pprint-fill and added a dispatch for This commit was generated by cvs2svn to compensate for changes in r4160, Added a (setf (ts-stream-char-pos stream) 0) to the accept-input function Fixed the interpretive indexing conditional (~[...~]) to take into account Removed (in-package "XP") 'cause that package is history. Added code/final. Added load of code:final. Added finalization of opened streams. Fixed to install the correct instruction on non-mips machines instead of Initial revision Picked up a new version from Miles. This is his 12/4 version verbatim. Removed import of XP:*PRINT-LINES*, because we no longer use XP. Picked up Miles' latest changes. Added quotes around $LISP. Fixed ir2-convert-reference to use symbol-value for unknown typed constants Bind *current-level* to 0, *print-readably* to nil, and *read-eval* to T Added pprint, so the pretty printer can be used in the kernel core. Don't load pprint because it's loaded in worldbuild now. Fixed spelling of descend (was decend). Added magic to output-structure Actually store the change in the suffix length in the pretty-stream Oops, had the argument order backwards in a use of output-structure so it Wrapped $LISP with "..." so the expansion is syntactically correct. 12/12/91 to 12/13/91 Do not note undefined references when brevity=3. Added make-load-form-fun slot to defstruct-descriptions and annote Added make-load-form support. Changed the pretty printer to not indent Added make-load-form support. Changed make-hash-table to no longer Added make-load-form support. Mark vop-info's :ignore-it so that we can tuck them into ir1. Changed lots of defstruct slot defaults to (required-argument) to Fixed my change to make-hash-table to use let* instead of let. Only allow dumping of structures that have been explicitly allowed. Changed file-infos to hold namestrings instead of pathnames so they are Annotate leaf's and nlx-info's as being allowed as constants even though Fixed maybe-emit-make-load-forms to grovel the slots of structures. Changed file-info's to hold namestrings (i.e. simple-strings) instead of Make constant-fold-call call maybe-emit-make-load-forms on the resultant Added ``:make-load-form-fun :just-dump-it-normally'' to the primitive Marked continuations as :ignore-it so we can include them in ir1 as Annotate vop-parses as :just-dump-it-normally. Marked sb's as :just-dump-it-normally. Wrote SCRUB-CONTROL-STACK which zeros the unused non-zero portion of the Marked operand-parse as :just-dump-it-normally. typo In COERCE-TO-CONDITION, treat functions just like strings so people can say Changed SHOW-RESTARTS to also display the restart name (but only if it's Forgot to flush some noise left over from editing. Changed the FORMATTER stuff to use positional args where possible instead Changed/fixed all the defknowns for pathname related functions. Only call maybe-emit-make-load-forms when we are (producing-fasl-file). Changed the pathname-mumble deftypes to reflect the new pathname format. Initial revision Extensive rewrite. The machine/filesystem independed stuff is now in Added pathname and removed search-list. Flushed some noise that was commented out. Load pathname instead of search-list, and load pathname and filesys much Fixed OPEN to deal with the fact that UNIX-NAMESTRING can return NIL. Fixed various places that needed to take into account the fact that In UNIX-NAMESTRING, treat a NIL version the same as :NEWEST. Added noise to support load-time-value and make-load-form in the kernel Fixed %ENUMERATE-FILES to deal better with pathnames that have NIL for the Annotate c types as just-dump-it-normally. typo Changed use of RESOLVE-SEARCH-LIST to ENUMERATE-SEARCH-LIST and Fixed merge-pathnames to actually merge in the defaults. Fixed %enumerate-files to skip ``.'' and ``..''. Fixed directory to merge In FILE-VERIFICATION-FUNCTION, just use MERGE-PATHNAMES to do the merging, Fixed MERGE-RELATIVE-PATHNAMES to correspond to the new pathname semantics. Allow NIL components to be matched by :multi-char-wild. Fixed the dir translation stuff to deal with the new pathname syntax. Make directory return truenames. Make complete-file and ambiguous-files 12/13/91 to 12/19/91 Fixed MERGE-DIRECTORIES to correctly handle the case when the second Added Miles' unparsing magic. Changed the default list printer to only print lists that start with Fixed FORMAT-JUSTIFICATION to assume the charpos is 0 if we can't tell from Merged in Miles' disassembler hooks. 12/22/91 to 1/17/92 Initial revision Fixed the multi-dim array printer to use aref on the data vector instead Added exports for l_set, l_incr, and l_xtnd. Fixed the ioctl defn stuff. Initial revision When checking to see if an object starts with a forwarding pointer, make Fixed PPRINT to call OUT-SYNONYM-OF on it's stream argument so that it will Fixed some places I used ``ltchars'' when I wanted ``(struct ltchars)''. Fixed some ``kbdarg'' to be ``(struct kdbarg)''. Deleted kbd ioctls, because they arn't used, and are probably RT specific. Fixed the export to export both unix-access and unix-accept, instead of Export things like %set-sap-ref-sap from KERNEL instead of importing them Added import of kernel:index and kernel:system-area-copy. Changed the import of a few kernel symbols to a use-package of kernel. Export things like *describe-print-level* from EXT, not LISP. Fixed PARSE-UNIX-NAMESTRING to use '(:absolute) as the directory when there Added ``(load "target:bootstrap" :if-does-not-exist nil)'' so that 2/3/92 to 2/12/92 Changed the USER package to the COMMON-LISP-USER package. Actually pass all the arguments to the system call in unix-readlink. Changed pointer< and pointer> to sap< and sap>. Fixed spelling of "efficency" Fixed unix-write to accept vectors in addition to saps. Merged new-alien changes onto trunk. Merged new-alien changes onto trunk. This commit was generated by cvs2svn to compensate for changes in r4530, Removed declaration for non-existant variables. Missed a place where the old aliens stuff was being used. This commit was generated by cvs2svn to compensate for changes in r4534, Changed ``mach:'' to ``unix:''. This commit was generated by cvs2svn to compensate for changes in r4536, Changed ``mach:'' to ``unix:''. Added ``alien:'' in front of ``alien-sap''. Added export of ``ltchars'' Don't try to flush alien-operators in undefine-function-name, because there Forgot to change extern-alien-info to heap-alien-info. Fixed some constant names that changed. Changed ``mach:rusage_self" to ``unix:rusage_self''. Moved gr error stuff into here, and changed it to use mach_error_string Changed ``mach:unix-close'' to ``unix:unix-close''. Added ``unix:'' in front of unix-signal-number. Replaces {alloc,realloc,dealloc}ate-system-memory with versions that use Had the syntax for def-alien-routine wrong. Flushed salterror, as the functionally is now covered my mach.lisp. Flushed salterror, as the functionally is now covered my mach.lisp. Fixed syntax of a use of alien:with-alien. Fixed spelling of ``unx''. Changed ``mach:'' to ``unix:''. Added ``alien:'' in front on several uses of ``alien-sap'' Flushed the MACH package, 'cause it's os dependent. Fixed sign error in os_reallocate that made it thing it should shrink the Changed ``mach:sigurg'' to ``unix:sigurg'' Changed USER to COMMON-LISP-USER. Removed IGNORABLE from the EXT exports, Added a few unix: where necessary. Fixed a use of unix-read to supply it with a system-area-pointer instead of Last fix didn't take. Trying again. Transform %slot-addr of a pointer to a struct to %slot-addr of deref of Changed SUB-UNIX-EXECVE to VECTOR-SAP the program now that the SYSCALL Fixed COPY-DESCRIPTOR-TO-STREAM to no longer try to read directly into a Added PROCLAIM-INIT, which sets up *DEFAULT-COOKIE* and *DEFAULT-INTERFACE- Added a call to PROCLAIM-INIT, so that the *DEFAULT-COOKIE* and *DEFAULT- Fixed the doc string for UNIX-DUP to correspond to the new semantics. Fixed uses of UNIX-DUP and UNIX-IOCTL to conform to the new semantics. Use VECTOR-SAP to explicitly convert the string ibuf into a system-area- Accedently dropped one level of indirection while decoding the address 2/12/92 to 2/18/92 Allow search-lists to expand into relative pathnames by quietly merging Fixed DEF-ALIEN-ROUTINE to only make local alien variables with WITH-ALIEN More defprinter tweeks. Added a :important keyword to deftransform that Added a :important keyword to deftransform that indicates that failure Flame out when speed>=brevity if the transform is important. Qualify GR-ERROR as being in the MACH package now that it is. Annotate most transforms as :important. Added a derive-type optimizer Added some type decls so that get-internal-real-time doesn't cons. Hacked over unix-select to reduce consing. Declaim unix-gettimeofday Don't generate argument decls in DEF-ALIEN-ROUTINE, because this inhibits Added a ``mach:'' in front of a use of ``gr-call*'' because it's now in Extracting (char *)NULL results in NIL, and depositing a NIL results in Changed all SAP-REF-mumble functions to take the offset in bytes. Moved sap-ref-{single,double} into sap.lisp because they are more sap Changed {read,write}-control-stack to not inherit from sap-{ref,set} This commit was generated by cvs2svn to compensate for changes in r4603, Changed all SAP-REF-mumble functions to take the offset in bytes. Moved float to before sap so that sap stuff can refer to float stuff instead typo. IGNORABLE is now in the LISP package instead of the EXT package. signed-sap-ref-{8,16} operate on tagged-num's, not positive-fixnum's. Had the order of arguments wrong in the replacement for sap-ref-32. Had the derive-type optimizer for %ALIEN-FUNCALL wrong: it returns the Changed a bunch of underscores to hyphens to follow the new alien typo. Added EXTERN-ALIEN-NAME. Changed FOREIGN-SYMBOL-ADDRESS to call VM:EXTERN-ALIEN-NAME to convert the Oops, the %ALIEN-FUNCALL derive-type optimizer was returning the Changed the default alien-rep type to be * instead of NIL. Added an :important transform for %SAP-ALIEN that always gives up so that Added definition of UNIX-FAST-SELECT, even though using it would result 2/18/92 to 2/23/92 Changed some symbol frobs around. Flushed uses of ``vm:'' 'cause that is the package this file lives in. Fixed OR control to look at the RT field instead of the RD field. Don't directly transform SET, so we can protect against setting T, NIL, and Fixed FMAKUNBOUND to return the symbol instead of T. SET now protects against setting T, NIL, and keywords. (SETF Changed the DEFSETF for SYMBOL-FUNCTION and SYMBOL-PLIST to FSET and Fixed the ``mumble doesn't start with a search-list'' error message. Reworked the SETQ branch of EVAL to pass more cases (like setting alien Changed the %DEFCONSTANT transform to protect against trying to change T, Changed %primitive set-package to %set-symbol-package. Added sizes for single-float and double-float. Added an export of FSET from the KERNEL package. Use %SET-SYMBOL-VALUE instead of SET to establish the value of keywords, This commit was generated by cvs2svn to compensate for changes in r4642, Oops, was shifting by 2 instead of multiplying by 2. There is a bit of a Removed the top level call to CHECK-MOVE-FUNCTION-CONSISTENCY so we can Initial revision Moved all the loads of backend specific stuff into a new file so we can Hacked over the stuff to load the compiler. The backend is now put in Moved vm-fndb back into loadcom from loadbackend, so that the defknowns typo Fixed handling of -core. Fixed a bug I introduced into top level evaluations of setq that caused it Hacked over the sap-{ref,set}-mumble stuff. There are now a mumble and a New alien changes. Fixed fmakunbound to not clobber the cdr of NIL. Don't inherit from pointer-compare, because it doens't exist anymore. Just Changed STACK-REF and %SET-STACK-REF to no longer inherit from SAP-REF and Moved sap stuff into sap.lisp Moved *INTERRUPTS-ENABLED* and *INTERRUPT-PENDING* from the MACH package to Changed all the SAP-{REF,SET}-mumble VOPs to take the offset in bytes. New alien changes: Flushed check<= & check=. Renamed MACH::stuff to Set up *register-names* at compile time also, so the insts file can use it. Also bind *features* to the value from the backend during a compile. typo. Determine which backend to load by looking at *target-backend* instead of Moved loads of vm-typetran and core into here from load-backend. Changed set-symbol-function to :translate %set-symbol-function instead of Moved vm-tran into loadcom. Moved vm-tran from loadbackend into here. Changed the name of ``slot'' structs to ``prim-object-slot'' so that all Added NEW-BACKEND for use with cross-compiling. Some tweeks to package Load target:bootstrap if it's there. Added a ``mach:'' in front of gr-call*. Changed uses of pointer>, etc. to sap>. Load bootstrap after setup, so it can refer to fns defined in setup. Don't SETQ *LOAD-VERBOSE*, because the default value is now T. Moved the Moved float.lisp to before sap.lisp. New aliens changes. Changed mach:unix-mumble to unix:unix-mumble. Moved OS-INIT into mumble-os.lisp Used #+mumble to make this file machine independent. Added use-package of UNIX. Added a VALUES :result-tn method. Added defn of ALLOCATE-SYSTEM-MEMORY-AT. Don't use MACH:VM-ALLOCATE, because we might not be running under mach. Oops. Was passing the two haves of a double-float bass-ackwards. Instead of using os_zero to zero the control stack, fill it with zeros Added defn for os_allocate_at. Whenever we allocate a chunk of memory, set the protections to include Added some more uses of #+small to allow keep debug-info at 2 when small Use an explicit list of sources in ``make depend'' instead of *.c. 2/24/92 to 3/2/92 Protected SET against *KEYWORD-PACKAGE* being unbound, which can happen Added ``:verbose nil'' to the load of site-init.lisp. Don't qualify IGNORABLE as being in the EXT package, 'cause it's not. Changed the default to quiet and added a -v for verbose for the old Added support for a MISFEATURES file. And if the source directory contains Allow LISP:AND, LISP:OR, and LISP:NOT in features lists in addition to Added defns for BACKEND-FEATUREP and TARGET-FEATUREP. Took out old MACH:: stuff that no longer exists. Fixed a major bug in def-alien-type where the macroexpansion wouldn't Fixed the $features stuff to add each feature to *features* instead of Some hacks to new-backend: The misfeatures are now specified as an 3/2/92 to 3/4/92 [16a] When we get a function-end breakpoint, call handle_function_end_breakpoint Changed a few places where ESCAPE-REGISTER was left over to Miles' fixes to make disassembling [mc][tf]c1 work. Cleaned up the header a bit. Added Miles' changes to allow J and JAL to refer to the fixups. Added Miles' changes to TAIL-CALL-VARIABLE and RETURN-MULTIPLE to use JI Added Miles' change to use JALI instead of LI/JR now that it exists. Added Miles' changes to keep errors and warnings on one line if they fit. Added Miles' TCSETPGRP, TCGETPGRP, and TTY-PROCESS-GROUP. Added compiled-debug-function branch to debug-function-function. Fixed UNIX-IOCTL to not flame out of the cmd is a ub-32 instead of a sb-32. Map with PROT_EXEC also in case SunOS ever starts to pay attention to Added a ``clean'' target that deletes the arch specific and object files. Given that the symbols we are exporting from ALIEN-INTERNALS actually live Fixed GET-EDITOR-TTY-INPUT to read the data into an c-call:unsigned-char 3/4/92 to 3/7/92 Export FEATUREP from EXT. Moved {TARGET,BACKEND}-FEATUREP into .../compiler/backend.lisp. Changed to use TARGET-FEATUREP to decide what to load and what not to load. Added defns for {TARGET-,NATIVE-,}FEATUREP. Added FDEFN related defknowns. Added define-type-predicate for FDEFN. Added the FDEFN related symbols. Added a call to FDEFN-INIT in %INITIAL-FUNCTION. Rewrote using fdefinition objects. Added FOP-FDEFINITION for use with new fdefinition objects. Added support for the FDEFN type. Added support for FDEFN objects. Detect LRAs and CODE-COMPONENTs by Changed SYMBOL-FUNCTION to map to RAW-DEFINITION instead of being a Changed to load the function from static-function-offset relative to NIL Added support for fdefn objects. Changed uses of call_into_lisp to work with new fdefn objects. Removed SymbolFunction and SetSymbolFunction. Added funcall and Changed closure_tramp to expect a fdefn object in CNAME instead of a Changed closure_tramp to expect a fdefn object in CNAME instead of a typo typos typo Removed #+serve-event conditionalation. Changed to use C:BACKEND-FEATUREP instead of STRING= against the backend Changed all sap-ref vops to take byte offsets. Added deftransforms Flushed sap-ref stuff, because it was commented out and is now superceeded Rewrote {read,write}-control-stack now that we can't just overload the sap New-aliens changes. Changed mach:: to unix::. typo Added use-packages for ALIEN and ALIEN-INTERNALS. typos mach:: -> unix:: nother typo more typos Can't have both a info-arg function and regular arg function. Fixed fmakunbound to not trash NIL and to return the correct value. Moved the guts of pointer-compare into base-char-compare now that Ripped out pointer-compare and check<= stuff. new alien mods Fixed %set-sap-ref-single to actually call single-float-bits before trying typo. Changed alien-type-class sap to system-area-pointer. Changed alien-type-class SAP to SYSTEM-AREA-POINTER. Added a few more exports from alien-internals. Renamed the sap Changed the sap alien-type-class to system-area-pointer. Removed alien:: Added SEARCH-LIST-DEFINED-P, a predicate that tells if the search list is Added rudiments of *current-code-location* support. Added ``DESCRIBE'' Merged Miles' changes that allow the use of restart names as debugger Don't bother warning about dynamic flow of control, because it is obvious Protected function-end-cookie-valid-p against running across interpreted Added exported special debug:*stack-top-hint*. If it's not NIL, the Added FLUSH-FRAMES-ABOVE for cleaning up frames to be bound to Bind DEBUG:*STACK-TOP-HINT* to something useful before invoking the Extended find-caller-name and find-interrupted-name to also return the Bind debug:*stack-top-hint* before calling break. Added new alien-internals symbols. two typos. Optimized system-sap-{ref,set} stuff to compute base=object+offset in one Left out a comma in the middle of a def-source-transform. Added %COERCE-TO-FUNCTION and removed %SET-SYMBOL-FUNCTION. Added support for :fdefinition constant entries, and dump fop-fsets for Added a ``function definition'' info type. Added FDEFN changes. Added FDEFN changes. Changed PSEUDO-ATOMIC re Miles' suggestions. Added FDEFN changes. New PSEUDO-ATOMIC changes Added FDEFN object, and removed raw-function-address and setf-function from Added support for static-functions in addition to static symbols. Added FDEFN changes. Pause for 5 minutes before actually building the core to allow people to Changed the layout of the backend structure, and added a few new fields. Moved *type-predicate* and *predicate-type* into the backend structure. Initial revision Added load of vm:interr. Added comf of .../compiler/generic/interr. Moved NEW-BACKEND into .../compiler/backend.lisp. typo Left out a comma so ``HEADER'' was being passed into the expansion instead Bind *load-verbose* to NIL. Fixed two uses of BACKEND-VM-SUPPORT-ROUTINES to be BACKEND-SUPPORT-ROUTINES Chagned make-call-out-argument-tns to make-call-out-tns. typo Moved things around so we don't try to use functions before they are Removed a spurious &. Sparc pseudo-atomic changes. Don't set *PSEUDO-ATOMIC-{ATOMIC,INTERRUPTED}* on the sparc because pa Support for new pseudo-atomic. Pseudo-atomic change mods. A few more sparc pseudo-atomic mods. removed temporary hack. Changed MAKE-CALL-OUT-ARGUMENT-TNS to MAKE-CALL-OUT-TNS because it makes make-array-header was returning a bogus value. Fixed syntax error found by new defstruct parsing stuff. Fixed syntax error in defstruct of ir2-block found by new parsing code. Fixed syntax error in defstruct file-info found by new parsing code. Fixed define-condition to clean up the slot description before handing it This commit was generated by cvs2svn to compensate for changes in r4900, Fixed syntax of defstruct key-event now that defstruct is less forgiving. Spiffed up warning stuff. It now warns at 5 minutes, 1 minute, 15 seconds, Fixed a syntax error exposed by the new anal defstruct. Fixed a syntax error uncovered by new defstruct parsing stuff. Removed the ``-x'' that I had added for debugging. 3/7/92 to 3/23/92 Fixed another stupid bug in make-array-header. Always initialize the update_fn field. Added comf of clx-ext. It's not a good idea to use a value before it's been computed. Interrupt_handle_pending only takes one arg, not three. BACKEND-FEATUREP was incorrectly looking at *TARGET-BACKEND* instead of This commit was generated by cvs2svn to compensate for changes in r4914, typo Added (DECLARE (IGNORABLE STREAM)) to the guts of the defprinter expansion Changed MAKE-CALL-OUT-ARGUMENT-TNS to MAKE-CALL-OUT-TNS. Added #.'s in front of calls to ERROR-NUMBER-OR-LOSE so the lookup is Moved export for WITHOUT-{GCING,HEMLOCK} from lispinit to here. Moved WITH-ENABLED-INTERRUPTS here from sysmacs.lisp. Moved object set stuff from lispinit to here. Changed purify to bind *INTERNAL-GC* and then invoke the garbage collector Moved exports/defvars for *task-{self,data,notify}* from lispinit to here. Added GC-INIT to facilitate making sure set-auto-gc-trigger. Changed typo Was testing the wrong special in ROOM when printing out whether or not the Fixed eval of alien variables. We just hand it off to the real Fixed describe of alien variables. Rewrote the ub-32 logcount vop. The new version uses an O(log2 32) algo. Fixed {alloc,dealloc}-number-stack-space to work with large amounts. Extract the error number info out of the backend at compile-time, instead Added BYTES-CONSED-BETWEEN-GCS, a function that returns (and sets when Changed CONVERT-AND-MAYBE-COMPILE to temporarily increate *bytes-consed- Removed the :enable-gc option, as it's no longer needed. Changed the way the garbage collector gets turned on. 3/23/92 to 3/29/92 X3J13 cleanup SETF-MULTIPLE-STORE-VARIABLES: Fixed bug in NTH-VALUE where it expanded into bogus code unless ``n'' was a Fixed a bug in DEFAULT-UNKNOWN-VALUES where it wasn't resetting the stack Fixed a bug in DEFAULT-UNKNOWN-VALUES where it wasn't resetting the stack Fixed a bug in DEFAULT-UNKNOWN-VALUES where it wasn't resetting the stack Fixed SETF of GETF to evaluate the various parts in the correct order as Allow SHADOW to take strings in addition to symbols as per X3J13 cleanup Changed the default structure printer to print slot names as keywords Seperated out the stuff to print symbol names into KERNEL:OUTPUT-SYMBOL- Changed GET-SETF-METHOD-MULTIPLE-VALUE to try to macroexpand-1 the form Fixed SYMBOL-MACROLET to allow declarations as per X3J13 cleanup SYMBOL- Changed the return value of SET-SYNTAX-FROM-CHAR from NIL to T as per X3J13 Added ``function compiler-macro-function'' info type. Changed some type Added DEFINE-COMPILER-MACRO. Added COMPILER-MACRO-FUNCTION, COMPILER-MACROEXPAND, and COMPILER- Added noise to support compiler-macros. Removed #+/- new-compiler Minor tweeks to conform to X3J13 cleanup MACRO-DECLARATIONS:MAKE-EXPLICIT. Added optional lexical-environment argument to macroexpand. Added Export REALP from LISP now that it's a real function. Minor tweek to two typos. Don't try to define the type REAL under CMUCL, because we have a real REAL. Fixed os_validate to actually return 0 when it couldn't allocate the Fixed the ``fold identity operations'' transform for *, /, and EXPT to only Moved lots of exports into the files that contain the thing being Fixed funcall_sym to remove the lowtag of the fdefn object before using it. MAKE-SYMBOL takes the name as it's argument, not the value, bozo. Fixed (setf fdefn-function) to work. Fixed bug in list and list* where it would give the results an other-pointer Boosted the fasl file version. Added ``byte-code-{function,closure}-type''. Added defknowns for function-subtype and (setf function-subtype). Some changes to set-fdefn-function. Now it assumes that anything other Added vops for function-subtype and (setf function-subtype). Get the error names from the backend now that they have moved. Added dispatching in compile-component on *byte-compile*. Changed the handler-bind in debug-loop to not invoke the debugger directly. While scavenging, if we come across a fdefn header, we have to handle it Added support for type_ByteCodeFunction and type_ByteCodeClosure, two typo Added support for finding :fdefinition entries in the constants pool. Changed the undefined-symbol-error handler to use fdefn-name to extract out Fixed the assertion that Rob added to no longer assume that the functional Fixed ecase in %%typep for numeric types: forgot to put parens around the Chagned the unmatched close parenthesis warning to include the file Added fop-make-byte-compiled-function. Added the noise to dump byte-compiled components. Fixed MACROEXPAND-1 to pass the environment into MACRO-FUNCTION when Removed references to symbol-function-slot and friends because they no Changed describe-component to check the type of (component-info component) Added a block-annotation structure, which both the ir2 and the byte-code Moved several slots out of the ir2-block struct and into the Changed to no longer assume it should be making ir2-blocks. We now make Added byte-code support. Fixed function-subtype to put a nop in the load delay slot. Added function-subtype and (setf function-subtype). Added support for byte-code compiled functions. Added the x86 fasl-file implementation. Fixed doc string for maphash to indicate that it returns NIL instead of T. Added ``return-single'' vop, which is the same as ``return'' but is Fixed pointer+ not to flame out when the second argument is an immediate Fixed two minor syntax errors. Fixed generic-* to work given the new pseudo-atomic. Don't try to use a register for two different values at the same time. Changed call_into_lisp to only allocate enough space on the C stack for the Changed number-stack-displacement to only take into account the space Changed the call-out to allocate the extra 7 words needed by the C call Changed arch_init to return the default core name to use, or NULL for the Added two includes and fixed a typo. Added noise to determine what kind of FP hardware we have, and to typo 3/29/92 to 4/7/92 Removed unmatched close parenthesis. 4/7/92 to 4/30/92 Changed fixed value unknown-return of 1 value to use the ``return-single'' Changed to allow packing of restricted TNs in reserved locations. Changed DESCRIBE to allow T or NIL as the stream argument. Rewrote most everything. MAKE-HASH-TABLE now conforms to the X3J13 spec. Added hash table accessors, and changed make-hash-table to conform to the Changed describe-hash-table to conform to the rewrite of hash.lisp. Missed a place where I changed a name. Forgot to set the vector subtype when depositing an entry whos hashing was Don't special case IN-PACKAGE, because it's now a macro. Instead, special Changed IN-PACKAGE to conform to the new definition. But if you use an Removed an extra ``)''. Changed uses of DEFINE-CONDITION to use the new syntax. Removed bindings of unused variables. Added FOP-CODE-OBJECT-FIXUP, which is needed for the x86. Also, left in Forgot to decf the entries count in remhash. Changed lots of setfs to bindings to suppress warning about setfs causing Left out an argument to a function, and it got upset. Removed an extra ). Fixed a couple bugs introduced with last mods, plus a few other places More random changes to reduce the number of compiler notes/warnings. Always load MACROS and BUFMAC, because they aren't loaded by default. Added code to look for the EVAL situation in eval-whens, so we can Can't use the same name for two different variables. Bloody hell, more stupid bugs. Added :nicknames to uses of defpackage, now that it looks at them. Changed DEFPACKAGE to warn if there are any packages that are no longer in Eval %in-package directly instead of expecting the eval-when to work, Fixed a bug introduced into WITH-HASH-TABLE-ITERATOR. The macrolet body IN-PACKAGE is no longer a function. Compile and dump cold-load forms before evaluating them, so they are dumped 4/30/92 to 5/17/92 Don't mention the x86. Fixed a bug in WALK-ARGLIST where it would ignore the rest of the current In %defpackage, pass lists of names to functions that can takes lists, Added an ``assembler-params'' field for the new assembler. Added noise to dispatch between using the old assembler and the new Initial revision Don't have C and VM use ASSEMBLER, so they can pick between the new and Added comf of new-assem. Added load of new-assem. Added noise to dispatch between using the old assembler and the new Added defpackage for new-assem. Changed the :type of assembler-params from list to T. Added an export of label-id, and fixed the in-package to the new syntax. Removed several unmatched )'s. Moved fixup stuff and label-id from assembler to C. Check against the difference between the new and the old use lists being Forgot to move make-fixup. Added constant single-value-return-byte-offset, which is the offset in Changed default-unknown-values to note the location as either a Missed a place where a :call-site code-location was needed. Added :call-site code-locations. Changed default-unknown-values to emit Added constant single-value-return-byte-offset, which is the offset in Added :call-site code location, and changed the :unknown-return code Missed adding the vop arg to a call to default-unknown-values. Fixed tail-call and tail-call-named to be :save-p :compute-only now that Added trap type for after-breakpoints. Moved the :single-value-return code location to where backtrace expects to Moved the :single-value-return code location to where backtrace expects to Moved the :single-value-return code location to where backtrace expects to Extended label-elsewhere-p to accept raw positions in addition to labels. Added :non-local-entry code location kind, and changed dump-block-locations Added NOTE-NEXT-INSTRUCTION, which is like NOTE-THIS-LOCATION except that Added :non-local-entry code-location kind. Added after-breakpoint-trap trap kind. The function name is ``location-info-kind'' not ``location-kind.'' Added :non-local-entry code locations. Missed uwp-entry when adding :non-local-entry code locations. Added new-assem:emit-postit. Qualify assem:emit-code-vector now that C doesn't use ASSEM anymore. Qualify assem:count-instructions now that C doesn't use ASSEM anymore. Fixed emit-assemble to do the right thing depending on which assembler we Someone changed the syntax of assem:dump-segment, but never fixed this use Had two args backwards in the call to dump-assemble-routines. So it wasn't Fixed handle_breakpoint to be able to deal with handling breakpoints when Removed the rename-package of PCL because it is not needed, and it breakpoint_after_offset also needed to be taught that $CODE might contain Instead of using a hash table to map from compiled-debug-functions to the 5/17/92 to 5/25/92 When neither -core nor CMUCLLIB is set, actually fill in the core with the Note that check-fixnum is the check vop for the fixnum primitive type. I If we don't compile inspect, don't try to include it in clx-library. Changed to install the alpha core under $clisp-3 instead of directly in the Switched to using BACKEND-FEATUREP instead of #+ and STRING= on the backend Fixed several uses of FIND to use EQUAL instead of EQL to compare function Chagned NEW-BACKEND to call DEFINE-STANDARD-TYPE-PREDICATES to fill in Implemented EMIT-POSTIT, which is needed by NOTE-NEXT-INSTRUCTION. Added hppa fasl file implementation. Added byte-annotate and byte-compile slots to the function-info structure. Removed the load of bit-bash, because we don't want to have to support the Removed the compilation of the bit-bash assemble routines, because we don't Fixed a minor bug in dumping byte-compiled components: wasn't dumping a Changed the leaf printer to know about byte compiled entries. Added a page-size slot to the backend structure. Fill in the new page-size slot in the backend structure. Added x86 and hppa support. Initial revision Fixed assemble-file to work with the new assembler. Initial revision Added x86 and hppa specific files. Changed to bind *features* to (backend-features *target-backend*) just Spiffed up the ASSEMBLE macro. You can now tell it about labels defined in Use C:BACKEND-FEATUREP instead of TARGET-FEATUREP. 5/25/92 to 6/3/92 Alien names do not have an underscore prepended. Filled in the truncate assembly routine. Changed circularity detection and depth abbreviation around. OUTPUT-OBJECT Changed PPRINT-LOGICAL-BLOCK to no longer check the list argument itself Changed DEFAULT-STRUCTURE-PRINTER to conform to changes to the printer. Changed the DEFPRINTER expansion to error if *PRINT-READABLY* is set and to 6/12/92 to 6/15/92 Fixed the mask in the :branch branch of FIXUP-CODE-OBJECT. Added CODE-LOCATION-KIND. Fixed PACKAGE-ERROR to have a PACKAGE slot instead of a PATHNAME slot. Changed PROCESS-BACK-PATCHES to process any back-patches that are emitted Changed the defknown for PACKAGE-NAME to include NIL as a possible result, Fixed EMIT-VOP to take into account that the order of arguments to MOVE is 6/15/92 to 6/22/92 Had lots of fixnump tests backwards. Changed the type of *TOTAL-BYTES-CONSED* from fixnum to integer because it Fixed multiply. Had the shift-and-add operands backwards. Added hp pa-risc and x86 support. Had the operands backwards to lots of uses of MOVE. The single value return point is 1 word past the mv return point, not 2. Had some more moves backwards. Added some type declarations so that a call to make-array gets open coded. Fixed MAKE-LOAD-TIME-CONSTANT-TN to quit looking once it found an matching Fixed sxhash-simple-substring. Removed *task-data* and *task-notify* because they aren't used, and I have 6/22/92 to 7/7/92 Fixed a use of ldwx to have the lisp object as the base instead of the Had the condition on an addib backwards. Was not-ing a value when it should have been negated. Fixed the broken bit of noise that I had told Sean to check in. Yes, it Changed the #+nil to #+debug in front of some debugging code so that you Fixed internal-error-arguments. Had to strip off the low two bits from the Added SIGCONTEXT-PROGRAM-COUNTER. Changed to use sigcontext-program-counter instead of assuming there is an Added new-assembler in-core compilation support. Fixed DUMP-DATA-MAYBE-BYTE-SWAPPING to work. Fixed unix-select to shift the masks by -32 instead of shifting -32 by the Fixed forget-output-blocks to also reset *all-output-blocks*. Generalized the static-mumble-offset routines to also consider nil a Left out a :nullify t for a branch that needed one. Added hppa and x86 support. Initial revision Had the arguments backwards in two uses of store-stack-tn. Fixed note-next-instruction. The function argument to emit-postit gets Fixed dump-1-location to also take integer positions directly, instead of When the policy is either safety>speed or debug-info=3, force the Added hppa and x86 files. Bind *byte-compiling* to T and print ``Byte Compiling'' when we are byte Changed byte-compiler stuff to use the new-assembler. Do not SUBSTITUTE-SINGLE-USE-CONTINUATION when *BYTE-COMPILING*. Added EMIT-NOP and TN-LOCATION vm support routines. Changed byte-compiler stuff to use new-assembler. Removed old assembler, and unconditionalize the disassembler now that it Added disassembler support. Changed :reads and :writes stuff to call Initial revision Don't load the old assembler or old assem-opt stuff. 7/7/92 to 7/24/92 Fixed UNIX-FORK to actually return the error code when it fails. UNIX-FORK returns NIL, not -1, when it fails. Fixed OUTPUT-SYMBOL to no longer call CHECK-FOR-CIRCULARITY now that Initial revision Moved the (compiler-mumble "~&") from native-compile-component to compile- Major rewrite of many things. New pseudo-atomic. Merged mumble-immediate SCs New pseudo-atomic makes it quicker to do allocation inline instead of changed for new pseudo-atomic. Changed fp-tn to cfp-tn, etc. Removed the bit-bash assembly routines from the mips system. Removed the bit-bash assembly routines from the mips system. Changed the pmax system to use new-genesis. If genesis isn't bound, load new-genesis on the hppa, pmax, and x86. Removed assem-check. Removed assem-opt and assem-check. Import C:BRANCH and C:FLUSHABLE so we can export them without causing Also grovel over the queued branches when assigning depths, because they Fixed a few places where continuation-info can be NIL. Fixed the dependency computation noise. I have no idea what it was doing Fixed schedule-pending-instructions to guarantee that the set of values In FORCE-PRETTY-OUTPUT, EXPAND-TABS before outputing the output buffer. Hacked over unix-select to actually work with nfds>32 and to be more Changed DEFINE-INSTRUCTION to ignore the :READS, :WRITES, and :DELAY 7/24/92 to 7/31/92 Added some declares to get rid of some efficiency notes. When generating full-call return sites, wrap it with without-scheduling so Wrap the stuff to turn pseudo-atomic on and off with without-scheduling so Wrap a WITHOUT-SCHEDULING around the mv entry-point for full-called Changed a note-this-location to a note-next-instruction so the scheduler Added :notes for shift-towards-{start,end} and fixed their second arg's Fixed allocation of variable-length things to compute the header correctly. Flushed the old assembler's instruction struct. Changed the pseudo-atomic-interrupted bias from 0x70000000 to 0x7f000000 so Removed traces of the old assembler. Removed traces of the old-assembler. Removed traces of the old assembler Fixed move-from-unsigned to actually treat the value as unsigned instead of Changed note-debug-location to return the location-info structure created, Fixed note-next-instruction to emit the debug-location on the original Flushed old-assembler stuff, and import new-assem stuff directly into the C Make count-vops flame out until someone fixes it to work with the new Make setup-dynamic-count-info flame out until someone fixes it to work with Changed tn-location to location-number, because we now use it to map Fixed FAST-ASH-C to logical shift right when handed unsigned-reg tns. Fixed FAST-ASH-C to logical shift right when given unsigned-regs. Fixed unsigned-byte-32-test to correctly handle the 2-word bignum case. Check to see if some part of a lambda-list is a LIST before checking to see Fixed quote-string to stop at the fill pointer for strings with fill In %defsetf, don't bother creating temp vars for constants. This is Fixed move-from-unsigned to correctly make 2-word bignums. It was using Fixed undefined_tramp to encode descriptor-reg again now that the sc %SET-FUNCALLABLE-INSTANCE-INFO is supposed to be a setter, not a reffer. Fixed %TEST-HEADERS to compare the lowtag against FUNCTION-POINTER-TYPE Fixed costs of binary arith vops. They were way out to lunch, resulting in 8/4/92 to 8/17/92 Fixed simple-string accesses to be unsigned. Fixed to work. Fixed function-end and after breakpoints to work. Don't delete lisp.h when cleaning up. Instead of doing after breakpoints ourselves, use the new C function Added calls to os_flush_icache after each place the breakpoint code changes Just because we close over something doesn't mean that it's constant. Our Fixed a lifetime bug in full call. This only showed up if there were Don't include inspect into clx-library, because it has to be loaded after Explicitly load inspect after pcl instead of implicitly as part of Added CAT-IF-ANYTHING-CHANGED, for use with creating {clx,hemlock}-library Lots of changes to the schedular: instead of using lists for sets and alists Added meta-vmdef, the parts of vmdef that need to be loaded at compiler Added some more slots to vop-info so that a single generic emit function Seperated out all the meta-compile time stuff into meta-vmdef.lisp. Initial revision If *backend* and *native-backend* are all the same then load macros and Added meta-vmdef. Fixed a bug in WRITE-CONTROL-STACK where it tried to store the address at Initial revision Moved the ``-Xlinker -u -Xlinker'' into UNDEFSYMPATTERN so that different Moved the -u into UNDEFSYMPATTERN. Moved the -Xlinker -u -Xlinker into UNDEFSYMPATTERN. Initial revision Don't have branches in branch delay slots. Don't call DISASSEM:INSTALL-INST-FLAVORS if there are no inst flavors Missed SET-UP-FUNCTION-TRANSLATION and CALL-MOVE-FUNCTION. When printing a frame, ignore errors that occur while looking for the 8/17/92 to 9/7/92 Backed out pathname changes, 'cause they don't work. Changed ``undefineds'' stuff to be a C file that gets linked in instead of Changed arch_get_bad_addr to take the signal and code arguments also, Generalized the next-pc stuff in case more architetures show up with them. Changed /**/ to ## because we are now feeding it through gcc which is ansi. Initial revision Changed interrupt_maybe_gc to take the signal and code in addition to the Only call mach_init under mach. Changed arch_get_bad_addr to take the signal and code in addition to the Initial revision Initial revision Changed arch_get_bad_addr to take the signal and code in addition to the Initial revision Changed sparcs to use new-genesis and new startup code. Changed to use new startup code. Under SunOS, use the real C stack instead of mapping our own so that it Added a -DSUNOS so that it is defined. Changed the sigcontext defn to correspond to the changes to the C code. When a basic block ends immediately after a branch instruction, don't put Initial revision Changed arch_get_bad_addr to talk the signal and code in addition to the If we have a couple of writes and then a read the last write has to stay When calling vm_protect, pass FALSE instead of TRUE for set_max. Added code to sigfpe_handler to pick of the end-of-pseudo-atomic traps. Oops, save_state needs to copy the second argument into the new register Need to also save the return address (%i7). Finally got restore_state to actually work. Added definition for SANCTIFY-FOR-EXECUTION. Call SANCTIFY-FOR-EXECUTION after building any entry points, so that if the Compile new-genesis for everything, because everything now wants to use Added FOP-SANCTIFY-FOR-EXECUTION, which calls VM:SANCTIFY-FOR-EXECUTION on Dump a FOP-SANCTIFY-FOR-EXECUTION after dumping all the fixups. Call VM:SANCTIFY-FOR-EXECUTION after creating code-components. Added lots more exports. Added sanctify_for_execution Fixed the pending interrupt trap handler to correctly decode the immediate Fixed the fop-sanctify-for-execution dumping to actually work. Added FOP-SANCTIFY-FOR-EXECUTION. Set DI:HANDLE-FUNCTION-END-BREAKPOINT's Removed ``:type random'' as it is no longer needed. removed definitions for primitive types random and interior because they Fixed make-array to correctly compute the header. Fixed a few places where local-call incorrectly manipulated the nsp. Added handle-function-end-breakpoint and removed *allocation-pointer* and Fixed define-partial-{reffer,setter} to compute the index correctly in the Added support for trap_PendingInterrupt, because it is needed for When we get a trap_PendingInterrupt, skip over the breakpoint instruction. Fixed COMPUTE-OLD-NFP to compute the old nfp instead of clobbering the Added extra stuff necessary to make more-arg-context use the :translate Changed MOVE-FROM-mumble-FLOAT to do the std after the pseudo-atomic so When done fixing up after a pseudo-atomic-interrupted, skip past the Changed more-arg-context to be a :translate instead of a def-source- Removed the def-source-transform for more-arg-context. 10/9/92 to 10/21/92 and 9/29/92 to 10/9/92. Added EXT:*HASH-TABLE-TESTS* and made MAKE-HASH-TABLE look in it for any SET-FUNCALLABLE-INSTANCE-INFO is a setter, not a reffer. Fixed %test-headers to check that the lowtag of functions is the function Changed the interface to user defined hash tables. There is now a function Added an additional use of ~^ in pprint-flet so that (flet (nil) ...) Wrapped a (CATCH 'UP-AND-OUT ...) around the guts of INTERPRET-FORMAT- Changed enums to always take up an int to be compatable with C. Also, sort Fixed pprint-lambda-list to print a space before the dot when the tail of Fixed a bug introduced into __sigtramp where it used some random bit to Only try to generate a disassembly when making a trace file if the Added a ``variable-lenght'' instruction attribute that indicates that the 10/21/92 to 11/23/92: Bind *gensym-counter* so that it doesn't get side effected. Changed the function caching stuff to no longer have a macroexpand-time Added dylan-function-header type. Added defknown for dylan-function-p. Added support for dylan-functions. Added support for dylan-function-p. Added support for dylan funciton subtypes. Added support for dylan function subtypes. Added support for dylan function subtypes. 11/23/92 to 12/5/92: Fixed MAYBE-RCS-CHECK-OUT-FILE to test to see if new-dirs of the Added a #.vm:dylan-function-header-type branch to OUTPUT-FUNCTION. Also Increased the size of the heaps. Increased the size of the heaps. Added a guard page between the various Fixed a bug in pprint-let that caused to to barf on (let (nil) ...). Changed %print-request-server to use print-unreadable-object to get rid of Added pretty-printer directives so that arg lists and results print better. Syntax error in the defstruct for synonym-stream. Extended INFO to take the env-list as an optional fourth argument so that Added :'s on the keyword names in %defknown's type proclaim. Changed Added defknowns for %function-self, (setf %function-self), and Moved def-primitive-object into hear and changed it to expand directly into Moved all the def-primitive-object stuff into vm-macs.lisp. Fixed all uses Changed the make-closure vop to take the length as an info argument because Initial revision Changed %primitive numerator to %numerator. Same for denominator, Removed the define-for-each-primitive-object. Added fixed-alloc and Added fixed-alloc and var-alloc which are used by (the new) vm-ir2tran to Removed the define-for-each-primitive-object because we do it all inline Removed the define-for-each-primitive-object. Added slot and set-slot Added vm-ir2tran. Added vm-ir2tran Flushed several uses of %primitive now that functions exist to do the same. Changed several uses of %primitive to eqv functions now that eqv functions Changed %function-header-mumble to %function-mumble. Added an ``(in-package :c)'' to get it back into the right package. Added Fixed a call to continuation-tn to have all three arguments. Added some Put the eval-when back around the (declaim (optimize (safety 1))) so that Added some generational gc stuff under #+gengc conditionals. Moved the Added defknowns for vector-length and %set-funcallable-instance-function. Added ANNOTATE-FUNNY-CALL for use with new define-primitive-object stuff. Moved the define-primitive-object related exports into here now that Added fdefn-function vop, because ir2tran expects to use that vop directly. typo more typos. Added VOP for fdefn-function, because ir2tran expects it to exist. Pass the type instead of the whole header to the fixed-alloc and var-alloc Don't have :rest-p slots contribute to the length of the primitive objects. Lots of gengc stuff under #+gengcs. Fixed var-alloc, was real broken. Removed an unused temporary tn from list and list*. Fixed var-alloc to Can't store relative to alloc-tn inside a pseudo-atomic because alloc-tn Also allow any-reg args to make-value-cell. Added arg sc restrictions to make-value-cell and make-closure. Changed do-inits to use make-restricted-tn instead of make-normal-tn. Removed some unused cruft and updated the header. Closure-init should be named closure-init, not closure-set. Fixed define-primitive-object to use T as the slot type if it is unsupplied Added a bunch of types to various define-primitive-objects and their slots. The sparc's psuedo-atomic pisses on bit 2 of alloc, so we have to mask it Changed kernel:code-debug-info to kernel:%code-debug-info. Changed di::code-debug-info to kernel:%code-debug-info. Changed: Changed (code-header-ref component vm:code-debug-info-slot) to Changed kernel:code-debug-info to kernel:%code-debug-info. Changed function-header-mumble to function-mumble and changed Changed (setf (code-header-ref code-obj vm:code-debug-info-slot) info) to Changed function-header-mumble to function-mumble. Removed export of code-debug-info because it is now %code-debug-info and in Changed function-header-code-offset to function-code-offset. Changed function-header-code-offset function-code-offset. Changed function-header-code-offset to function-code-offset. Fixed file Changed %primitive function-mumble to %function-mumble. Removed a few uses of %primitive in favor of real functions. Enlarged the heap for the sparc. Fixed call_cmd to work when given a function pointer directly. Fixed defknown of %verify-argument-count to have * for the result type Changed function-header-name to %function-name and changed code-debug-info In do-inits, look up any-reg in the current backend instead of the target Changed a use of LOOP slightly to work around a bug until Paul gets it Rewrote lookup-host-entry to no longer use LOOP until we get a Changed a use of LOOP destructuring to a DESTRUCTURING-BIND because LOOP Changed struct function_header to struct function. Changed FUNCTION_HEADER_CODE_OFFSET to FUNCTION_CODE_OFFSET. Tweeked some stuff to inhibit some useless warnings. Added some gengc Added a bunch of gengc stuff under #+gengc. Added a #-gengc to suppress code-from-lra because the gengc stuff has gengc allocation mods. gengc allocation mods. gengc mods. Added :cmu17 to the features list so that PCL can tell if it is in a Added gengc support. gengc mods Changed some messages to be less confusing. Changed def-source-transform to work with setf functions also. Changed function-header-code-offset to function-code-offset. Added stuff for new var-alloc and fixed-alloc vops. removed unused stuff. Changed function-header-code-offset to function-code-offset. Fixed COMPUTE-CALLING-FRAME to not try using %CODE-DEBUG-INFO on things Changed the conditional that decided were to put the kernel.core to depend Removed source-transforms for internal error things, because we just Changed internal error signaling vops to be :translates instead of being Changed the defknown for %verify-argument-count to be more precise. Chagned make-xep-lambda to declare the number of supplied arguments as an Added (values) to the end of %verify-argument-count so it matched the allocate, but protect against reading or writing, the page following each Don't deftype POSITION, because it is a CL symbol. Missed a place where I needed a #+gengc. Added a missing #+gengc. Added standard header, and changed with-compilation-unit to Fixed sanctify_for_execution to not run past the end of the code object and Replaced the FORMAT transform with one that uses FORMATTER for more typo: compiler-motif.log => compile-motif.log Changed function-header-code-offset to function-code-offset. Fixed make-array-header to not seg fault. Changed function-header-code-offset to function-code-offset. Initial revision Fixed listify-rest-arg. It was leaving a tagged pointer to unallocated Moved foreign-segment-{start,size} from mumble-os.lisp into foreign.lisp. Moved foreign-segment-{start,size} from mumble-os.lisp into foreign.lisp. Added noise about the sparc-10 16f core file. Fixed the stuff to emulate the ``addit imm,ALLOC,ALLOC'' instruction at the Removed stuff to print the pid on startup. 2/4/93 to 2/9/92 Added OPEN-STREAM-P, changed a few explicit type checks to declares, and Changed HANDLE-BREAKPOINT to allow breakpoints that nobody wants. This can Changed funcallable-instances to also have a lexenv and layout slot. Added funcallable-instance-lexenv VOP for use with new funcallable Changed defknown of %make-funcallable-instance to take two more args now. Fixed type decls in FILE-POSITION to allow :START and :END for positions. Changed PRIMITIVE-TYPE to return the function primitive type for the Store the print function in the basic-structure-class-print-function Fixed CIRCLE-SUBST to not bother looking down the instance-layout slot so Added vop for funcallable-instance-lexenv. Changed object-not-structure-trap to object-not-instance-trap. Changed object-not-structure-error to object-not-instance-error. On the sparc, reserve addresses #x20000000 thru #xDFFFFFFF so that MACH Decreased the sizes slightly so that the various segments end on a 32k Fixed ptrans_instance to actually return the result of calling ptrans_boxed Fixed GET-TYPE to actually work. oops. didn't get get-type quite right. 3/15/93 to 4/3/93 Change (info type kind 'stream) to :instance so the defstruct doesn't flame Change the interface style to :tty before starting the compilation. Added the collection built-in-classes needed by dylan. Added ``:state :read-only'' to the various extendable collection classes. Added ``real'' built-in-class. 4/3/93 to 4/4/93 Fixed unbind-to-here to not dereference past the end of the binding stack. Changed core saving to no longer save the stacks. Instead, when the core Changed save to pad the core file out to CORE_PAGESIZE bytes, so that when Removed (setf weak-pointer-value) and made make-weak-pointer itself the Added defknowns for make-weak-pointer and make-scavenger-hook, and removed Removed setf methods for weak-pointer slots to simplify the gengc stuff. Added more gengc stuff. Initial revision Added more gengc stuff. Removed immediate lognor stuff, because the nor inst can't handle Changed the fasl file version to 7 when #+gengc. Tweeked static symbols Added gengc out-of-line allocators. Added gengc stuff. #-gengc'ed allocate-vector 'cause the gengc version is in alloc.lisp. Added gengc stuff. Changed the initial generations building stuff to be totally configurable. Fixed atan to handle zeros better. It still isn't right because the Fixed string and simple-string to include generic-string and vector in Added weak hash table support. Added gengc support. Fixed to correctly deal with having a load-word in a branch delay slot. Added a symbol-hash slot to symbols under the gengc system. When symbols Fill in the symbol-hash slot with something random. Added the symbol-hash vop. Changed info-hash to use symbol-hash instead of %sxhash-simple-string and Added symbol-hash. Fixed some typos. Added some gengc stuff. typo Merged Rob's changes to new-genesis.lisp: verify the code format as soon as Bind *features* to (backend-features *backend*) so that things like #+gengc Fixed sxhash-simple-{sub,}string to save the return address on the Don't use load-symbol-value in the gengc system. Don't define a built-in class for LRA in the gengc system. Don't use store-symbol-value in the gengc system. Protected against changing constants of the form (%fdefinition-marker% foo) Added do-{before,after}-gc-stuff to the gengc static symbols. Added mutator accessors. In the gengc system, make without-gcing be the same as without-interrupts. Added stuff to fake scavenger hooks in the non-gengc system. Initial revision Wrote the gengc version of without-interrupts. Compile scavhook and gengc instead of room, gc, and purify for the gengc Filled in the before and after hooks. Added a def-alien-routine for Fixed make-fixnum-descriptor to be able to deal with negative fixnums. Fixed %function-self, (setf %funcallable-instance-function), etc. for the Fixed float-to-core to handle negative floats. Fixed with-regs-saved to grow the control stack up instead of down. gengc mods Fixed branch-mumble-and-link instructions. Fixed ir2-convert-closure to correspond to new %set-function-self. gengc mods Fixed the gengc version of listify-rest-args to work. Fixed the core file format to include information about what blocks have Only interpose a weak-pointer between the hash-table-bucket-key and the Fixed symbol initialization stuff to correctly initialize nil. Changed Fixed large-alloc to dink the suspends_disabled_count around the alloc and Fixed load-time-value hackery for the gengc system. Tweeked in-package Fixed the gengc make-array-header to correctly compute the header word. Fixed the load-time-value fixup stuff to work with the gengc system. Added load-time-value support. Fixed to include ra/lip in the list of registers trashed. Fixed previous fix to not do anything on the non-gengc system. Merge multiple :ignores into one. Changed float comparison to translate = instead of eql. Changed the = transform to leave as = when comparing floats. Added stuff to transform EQL of floats into a comparison of the bits. Now that +0.0 and -0.0 are no longer eql, fixed atan to deal with them Fixed number-pair-to-core to allocate enough memory for the number pair. Added rand on the gengc system, because it is used by make-symbol which is Gengc mods. Several gengc fixes: missed tail-call-variable when making the return-pc descriptor-reg to Initial cut at rewrite of compute-calling-frame for gengc system. Added gengc version of ``sigcontext'' under #+gengc. Missed a descriptor-reg => any-reg change in define-full-call. typo Fixed var-alloc and allocate-code-object to wire a temp to RA so that pack Moved the compiled-frame-saved-state-chain to the end of the struct so In the gengc system, actually dump the trace tables. Added rudimentary support for funcallable-instances. Cleaned up find-interrupted-name a bit. The inner loop was generating bad Added a ``continue'' handler in comf around the compile-file so that if Fixed describe-instance-parts to not flame out when handed instances that Added checking for division by zero. Fixed :clear-input to flush any unread chars. Remove :no-clx and :no-hemlock from *features* if they are being loaded. Changed bits-per-entry to tt-bits-per-entry. Missed a place max-offset should have been changed to tt-max-offset. Don't export hash-table-weak-p from the common-lisp package. Lots of tweeks in order to use NIL and 0 directly from the registers Changed data-vector-ref/simple-vector to not include null and zero as valid Changed generic-= and generic-/= to not assume that EQ implies =, because Changed two-arg-= to use = instead of using eql. fixed a couple typos. Added a stub definition for purify. Don't load purify when building a gengc system. Set up a default for modules:. Note: we have to do it here instead of in Use unix-namestring on each file before passing it to the linker to get rid Fixed a bug in default-unknown-values where it wouldn't default the first Fixed a bug in default-unknown-values where it wouldn't default the first Added stuff to allow compile-file and compile-from-stream to be used to Changed comf to not force the pathname type to ``lisp'' but to default it Bind *error-output* to *compile-error-output* around the call to Initial revision Tweeks to allow for compiling/evaling dylan code in a slave. This commit was generated by cvs2svn to compensate for changes in r6383, Added comf of dylan. Include dylan in the hemlock-library. Changed comf to load the object file instead of the original name. Changed output-instance to use %print-dylan-instance to print dylan fixed pprint-do to not flame out if one of the binding lists is NIL. Initial revision Initial revision Added runprog.c Moved the fork/exec stuff into C, for ease in porting. Changed the :cmu17 feature to :cmu18. Moved rcs.lisp into hemlock subdir, and include it in hemlock-library. Also copy site-init and motifd into the release area. Also compile cmu-site. Copy cmu-site as cmu-site instead of site-init. Fixed namestring of a stream to not flame out if there is no pathname for Added transforms that flush (/ 0 foo), (floor 0 foo), etc. Fixed DO-SYMBOLS to iterate over the package-use-list instead of the Separate the 4 rm's so that if the wildcards don't match in one, they don't Changed around to use the new dylan parser. Changed verify-source-files to Don't reference the various random symbols inside a static data structure, Added support for dylan symbols, keywords, and varinfo-value cell lookups. Added dylan-var and dylan-function-var leaf types. Taught print-leaf about dylan-var leafs. Don'e use info function info for dylan-function-var, instead get the info Added def-ir1-translator's for dylan support special forms %var, %set-var, Taught continuation-delayed-leaf about dylan-vars. Taught ir2-convert-ref and -set about dylan-vars. Changed make-load-time-constant-tn to compare infos with equal if they are Fixed the arg types on generic-eql-c/fixnum to restrict the constant to 9 Only load target:code/assemfile if *backend* and *native-backend* are the Shadow CLASS-DIRECT-SUPERCLASSES because both kernel and pcl want to export Moved direct-superclasses into class. Changed generic-array to correspond Fill in the direct-superclasses field. Added support for dylan-var leafs. Changed typecases to etypecases so Added support for dylan-var leafs. Added support for dylan module variables. Passed *backend* in as the second argument to sc-number-or-lose, 'cause the Added a hack to keep the compiler from coalescing constants when compiling Write out each step's blocks in the order we allocated them, instead of Added support for dylan variables. typo Minor tweek to suppress a warning in the gengc system. Added ``:prodeed t'' to compilation of unix, so we can change constants. Fixed the load-type macro to base the macroexpansion on the Fixed various macros to base the macroexpansion on the *target-backend*s Fixed the :pmax branch of do-cold-fixup to not assume we are running on a typo Moved alien-value into struct.lisp. Fixed do-load-time-value-fixup to get the load-time-value from *load-time- Changed exception stuff back to signal stuff in the mutator structure. Changed exception stuff back to signal stuff in mutators. Changed interrupts-enabled to interrupts-disabled-count. Chagned ``suspends'' to ``interrupts'' in gengc without-interrupts. typos suspends => interrupts. Added gc-pending field to the mutator structure. Backed out the gengc ``sigcontext'' now that the gengc system is back to Fixed allocate-code-object to pass the number of words to large-alloc in Added gengc support to the byte-code dumping stuff. Added stub defn of gc-init. Fixed the code-component constructors to fill in the word of padding Added a make-load-form-fun for the ctype defstruct. Oops, need to actually stick the value-cell in the constants pool, instead This commit was generated by cvs2svn to compensate for changes in r6758, Don't choak if a :dylan-compile generates a compiler message. Added #+gengc (setf conditions::*handler-clusters* nil) to Wasn't getting the result from the correct register in the gengc version #-gengc'ed a bunch of stuff that doesn't work on the gengc system. More gengc/byte-code fixes. Added support for &more args Added c:&more. Added %more-arg-values. Added %more-arg-values. Added interpreter stub for %more-arg-values. Fixed make-core-byte-component to actually store the value cell in the Changed %more-arg-values to also take a start argument. In %more-arg-values, skip words, not bytes, when the number of values to Changed the ``count'' more-arg to be an index instead of a fixnum. Wrote %more-arg-values. Export single-step-breakpoint-trap, not single-step-breakpoint. typo. Removed %exp1m, %log1p, and %cbrt because nobody used them, and HPUX #-hpux'ed utimes, getreuid, and getregid 'cause HPUX doesn't have them. Removed %exp1m, %log1p, and %cbrt. Don't flame out on more-args, 'cause they exist now. HP breakpoint support. Tweeks to support breakpoints on the hp. Removed %log1p, %exp1m, and %cbrt. Initial revision Added time.c Fixed getrusage stub to correctly compute the microseconds. Fixed to deal with daylight savings time better. Fixed decode-universal-time to correctly get the timezone info. Rewrote Deal with the fact that timezones can be -24 thru 24 inclusive. Hence we Fixed decoded-time routines to allow timezones of (rational -24 24) instead Fixed arg ordering for getf. Picked up Miles' changes to apropos and apropos-list that allows one to Fixed SOURCE-TRANSFORM-NUMERIC-TYPEP to test against REAL instead of NUMBER Fixed %more-arg-values to return the count instead of always returning 0. Changed lookup-varinfo-value to lookup-variable-value. Added #+hpux support for SIOCSPGRP (needed for "Typescript Slave Break" and On the HP, use the SIOCSPGRP ioctl instead of fcntl to turn on oob Added a derive-type defoptimizer for log. Restored the behavior of scribe-file to cd to the directory of the .mss Use /usr/local/cmucl instead of /usr/misc/.cmucl on hpux. Use /usr/local/cmucl instead of /usr/misc/.cmucl on hpux. Added an executable-only optional to unix-namestring so that we can expand Changed run-program to only try to run executables, and to flame out if Give a sensible error message if we can't find the slave utility (e.g. This commit was generated by cvs2svn to compensate for changes in r6863, Changed step to set-step-breakpoint because step is supposed to be the Default the name slot in defmacro-lambda-list-bind-errors to NIL. Fixed defpackage to combine multiple use, export, and import options Fixed coerce to call type-expand so that people can coerce to deftypes. Changed the byte-function and byte-closure funcallable-instances to use Changed main-entry to use etypecase instead of assuming that the arg is Fixed two-arg-gcd to correctly handle most-negative-fixnum. Was choaking Changed vector to inherit from array before generic-vector. get-internal-run-time now works under hpux, so go ahead and use it. Don't warn about &rest consing if we can't figure out what the argument Changed coerce-to-smallest-eltype to call coerce with a vector type Fixed coerce to use subtypep to analyze the output type spec instead of Fixed %report-times to not choak if any of the function names are not Fixed the warning in defpackage about no longer using some packages to Changed the default for library: under hpux to be /usr/local/lib/cmucl/lib. Changed the default for lisp.core under hpux to be /usr/local/lib/cmucl/lib. Look in /usr/local/lib/cmucl/lib now. Include L2 in the set of boxed registers. Fixed expand-tabs to fill the correct range with spaces. Fixed broadcast streams to not close the component streams when the Use cmucl.orig, not lisp.orig, on hp-ux. Changed the default for Slave Utility from lisp to cmucl. Fixed pmax package. Use hppa-assem.s instead of hppa-assem.S. Allow for .s files in addition to .S files. Fixed to work. Look for cmucl.orig instead of lisp.orig Install internals.h and moved the place things get installed. Initial revision Fixed typo and changed it to no longer link in the fonts directory. Added a hack to allocate-vector to make sure the zero byte of a string is
-----------------------------------------------------------------------
hooks/post-receive