[cmucl-cvs] [git] CMU Common Lisp annotated tag snapshot-2011-10 created. snapshot-2011-10
Raymond Toy
rtoy at common-lisp.net
Sat Oct 1 15:13:19 UTC 2011
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 at 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 at 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 at 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 at 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 at 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 at dcs.ed.ac.uk>
From: Timothy Miller <tsm at 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 at 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 at 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 at 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 at 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
--
CMU Common Lisp
More information about the cmucl-cvs
mailing list