- Apr 15, 2008
-
-
rtoy authored
o Add SINGLE-FLOAT-BYTES and DOUBLE-FLOAT-BYTES to indicate how many bytes are needed to hold a SINGLE-FLOAT and DOUBLE-FLOAT, respectively. sparc/array.lisp: o Use SINGLE-FLOAT-BYTES and DOUBLE-FLOAT-BYTES instead of random constants or incorrect uses of VM:WORD-BYTES in the float code. (VM:WORD-BYTES is the wrong value to use if we have a 64-bit words.) o Try to replace the constants in all the shift instructions used to compute the byte offset from an index. The shift is really the some other constant minus the number of tag bits used for the fixnum. This makes shift values a little easier to understand.
-
rtoy authored
for the double-double float arrays that we support.
-
- Apr 11, 2008
-
-
cshapiro authored
warnings when compiling with GCC version 4.
-
cshapiro authored
casts and pointer arithmetic. This code now compiles correctly on GCC version 4 without disabling the default assumption of strict aliasing rules. Also, remove lots of dead code associated with parts of fdlibm that have not been imported into the runtime.
-
- Apr 10, 2008
- Apr 08, 2008
-
-
rtoy authored
-
rtoy authored
operations. The deftransforms were causing type-derivation to return DOUBLE-DOUBLE-FLOAT for everything. Use the suggestion from Rob: Wrap the result of the deftransform in a TRULY-THE form and use the node derived type for the type. o The FLOAT-SIGN deftransform for DOUBLE-DOUBLE-FLOAT should be conditioned on the DOUBLE-DOUBLE feature. o Remove old unused deftransform for * for two double-double args.
-
- Apr 04, 2008
-
-
rtoy authored
:TYPE "foo"). This is because PATHNAME-HOST was signaling an error for a host of NIL. We check for a host of NIL now, and bypass the call to PATHNAME-HOST. This allows the pathname printer to print #P(:HOST NIL :TYPE "foo"), as we want. (The error comes from host-pathname. NIL is a valid result of host-pathname, so we could change that, but I think that has other implications, one of which is (MAKE-PATHNAME :HOST NIL :NAME "foo" :TYPE "lisp") gets printed as #P"foo.lisp", which is wrong, since that pathname has a unix-host host.) o Fix merging of version in MAKE-PATHNAME. CLHS MERGE-PATHNAMES says if the pathname name is given, the version is not affected by the default pathname.
-
agoncharov authored
commit notifications.
-
- Apr 03, 2008
-
-
rtoy authored
That's working now. (But general type derivation for double-double-float's isn't working as expected. Many things are derived as unbounded double-double-float instead of something much smaller.)
-
rtoy authored
specifiers. To see this, try the following: (defun foo (x) (declare (type (real 0) x)) (expt 2 x)) (compile 'foo) (describe 'foo) You get error that 0 is not an appropriate type for a double-float specifier.
-
- Apr 02, 2008
- Apr 01, 2008
-
-
cshapiro authored
across function calls. Make it so. With this change we set the direction flag only when needed and clear it immediately after its use. VOPs can now assume that the direction flag is always set to zero. Also, replace two uses of the LODS instruction with equivalent simpler instructions.
-
cshapiro authored
from the current string hash function. The use of this instruction was a holdover from the old string hash function and does not have an effect on the current implementation.
-
- Mar 28, 2008
-
-
rtoy authored
-
- Mar 26, 2008
-
-
rtoy authored
args.
-
- Mar 25, 2008
-
-
agoncharov authored
-
rtoy authored
http://article.gmane.org/gmane.lisp.cmucl.devel/10471. These changes make the compiler and interpreter behave the same, and, as a side-effect, makes Nicolas's code work as he wants. pcl/slots.lisp: o Add LEGAL-SLOT-NAME-P-INTERNAL that returns two values. If the slot-name is legal, return T. If illegal, return NIL and a string indicating why. o Use this new function in the compiler macros for SLOT-VALUE, (SETF SLOT-VALUE) and SLOT-BOUNDP so that we use the fast ACCESSOR-* versions only when we know the slot-name is legal. Otherwise, the compiler macros give up. pcl/methods.lisp: o Change the method LEGAL-SLOT-NAME-P to use LEGAL-SLOT-NAME-P-INTERNAL. o Update the call to LEGAL-SLOT-NAME-P in SHARED-INITIALIZE since LEGAL-SLOT-NAME-P returns 2 values now.
-
- Mar 21, 2008
- Mar 19, 2008
-
-
cshapiro authored
void keyword to specify empty parameter lists.
-
- Mar 18, 2008
-
-
cshapiro authored
make direct use of. Remove the includes of these headers and fix-up several files that indirectly depended on them. * FreeBSD-os.c - add stdio.h and unistd.h includes that were implicitly depended on. Remove unused or commented system includes. * FreeBSD-os.h - remove unused includes. Include signal.h to directly provide the SIGBUS, SIGSEGV, and sub-code definitions. Redefine os_vm_address_t and os_vm_size_t in terms of standard types. Now that the sys/param.h include is gone we no longer need to undefine PAGE_SIZE. * elf.c - add includes that were implicitly depended on. * lisp.c - remove unused system includes including sys/param.h which redefines PAGE_SIZE.
-
cshapiro authored
by ANSI C and usually expands to the same value as MAXPATHLEN.
-
cshapiro authored
include search paths.
-
cshapiro authored
register as an argument to FNSTSW. Make it so.
-
cshapiro authored
-
cshapiro authored
is required by all systems.
-
- Mar 16, 2008
-
-
agoncharov authored
the next version.
-
rtoy authored
-
rtoy authored
-
- Mar 15, 2008
-
-
agoncharov authored
* Eliminate `printf' format string and the following arguments conflicts. * A variable may be used uninitialized. * A variable may be defined but not used.
-
- Mar 13, 2008
-
-
rtoy authored
10^66-1. 10^63 is a vigintillion. (From SBCL).
-
rtoy authored
exceeding the specified width. I think the correct answer is ".0000". So, add a parameter, allow-overflow-p, to FLONUM-TO-STRING to allow the width constraint to be exceeded. This defaults to T. FLONUM-TO-STRING looks at this and decides whether or not to print out all the leading zeroes or not. In FIXED-FORMAT-AUX, set allow-overflow-p to NIL so we don't exceed the width. I wish there were another way to do this, but I can't think of one right now. All print tests pass, and add the following test: (format nil "~5F" 1d-10) -> ".0000" print.lisp: o Change FLONUM-TO-STRING to use keyword parameters instead of optional parameters. o Add :ALLOW-OVERFLOW-P, defaulting to T. o Use :ALLOW-OVERFLOW-P to determine if all the leading zeroes should be printed or not. format.lisp: o Update calls to FLONUM-TO-STRING to use keywords parameters. o In FIXED-FORMAT-AUX, set :ALLOW-OVERFLOW-P to NIL
-
- Mar 05, 2008
-
-
rtoy authored
simple. Can't derive the actual dimensions because a subsequent adjust-array could change the dimensions.
-
- Mar 03, 2008
-
-
rtoy authored
want to print ", @foo" not ",@foo". Similarly, for .foo, we want to print ", .foo" instead of ",.foo".
-
- Feb 29, 2008
-
-
rtoy authored
-