- May 17, 2004
- May 15, 2004
-
-
rtoy authored
instead of a random value, just like on sparc.
-
- May 14, 2004
-
-
rtoy authored
itself. Only for sparc currently. Doesn't lazily compute the symbol hash yet. Simple test shows a 5% increase in compilation speed, despite making make-symbol significantly slower. * src/code/hash-new.lisp (internal-sxhash): Use the symbol-hash slot instead of computing the hash value. * src/compiler/generic/new-genesis.lisp (allocate-symbol): Write out the sxhash value of the symbol into the symbol-hash slot. * src/compiler/globaldb.lisp (info-hash): Update to use the symbol hash instead of computing the sxhash. * src/code/symbol.lisp (make-symbol): Compute the symbol hash when creating the symbol. * src/compiler/sparc/cell.lisp ((symbol-hash)): Add vop to extract out the symbol hash from a symbol. * src/compiler/generic/objdef.lisp: Rename the unused slot to hash, so we can make it the symbol hash.
-
- May 12, 2004
-
-
rtoy authored
comment for full details, but the issue is that Lisp says mixing a real and a complex requires converting the real to complex before doing the operation. But Kahan's algorithms assume that this doesn't happen, like z-1 should not be computed as z-(1+0*i). One place where this was wrong was for acos(2 +/- 0i). Kahan says acos(2+0i) is +0 - i*acosh(2) and acos(2-0i) is +0 + i*acosh(2). We had this backwards for the above reason. I think this was caused by the erroneous deftransforms for real op complex which were removed sometime ago, causing these function to compute the wrong thing.
-
- May 06, 2004
-
-
rtoy authored
source location for defvar and friends.
-
rtoy authored
the following enters an infinite recursion if it gets compiled two times: (def-alien-type nil (struct foo (f (* (function (values) (* (struct foo))))))) During the second compile, the existing type is compared with the to be defined type. This enters a recursion because (struct foo) is recursive and the comparison is done again. The current code has a "depth" counter and simply returns true if it exceeds 10. But it only works for pointers to records and loops forever for function pointers. The patch below should fix this. It keeps a hashtable of the already compared types and returns true if a pair is already in the hashtable.
-
- May 05, 2004
-
-
rtoy authored
function name for the dispatch function, but CMUCL only accepted a function. Allow either a function or symbol for the dispatch function, and change the declared type appropriately in the pprint-dispatch-entry structure slot.
-
- May 04, 2004
-
-
rtoy authored
neatly. (Currently only for the time report, not space report.)
-
- Apr 28, 2004
-
-
emarsden authored
On Linux/AMD64, we need to tell the platform linker to use the 32-bit linking mode instead of the default 64-bit mode. This can be done either via the LDEMULATION environment variable, or via the "-m" command-line option. - in EXT:LOAD-FOREIGN, add LDEMULATION=elf_i386 to the environment inherited by the linker This assumes that the LDEMULATION environment variable will be ignored by the platform linker on Linux/i386 platforms.
-
- Apr 23, 2004
-
-
rtoy authored
sizes up to MAX-STREAM-ELEMENT-SIZE (currently 1024). Ported from SBCL, with minor changes.
-
emarsden authored
- add a non-blocking version of CONNECT-TO-INET-SOCKET, which avoids having CMUCL blocked in in the connect() system call, allowing other threads to run. The new function is called CONNECT-TO-INET-SOCKET/NON-BLOCKING, and CMUCL still uses the old function internally. From Michael Hannemann.
-
rtoy authored
with FLONUM-TO-DIGITS someday?)
-
rtoy authored
simple-streams!
-
rtoy authored
WILD-PATHNAME-P.
-
- Apr 22, 2004
-
-
rtoy authored
tests, now. (Based on SBCL's fixes.)
-
rtoy authored
-
rtoy authored
*print-radix* was T. If *print-base* were 16, the output would be #xr<...>. o Comment out old float printer routines for now.
-
rtoy authored
-
rtoy authored
(float -54965272/1000000000000000000) was printing as -5.496527e-11 but should be -5.4965272e-11 o Fix the float reader to read correctly, without roundoff: 4.0058643e+8 was incorrectly read as 12518325, 1 (integer-decode-float results). It should be 12518326,1. o Fix the float reader to read floats correctly with unusual values of *read-base*: (let ((*read-base* 2)) (read-from-string "-4.3e+7")) used to return a symbol instead of a float. This changes ported from SBCL.
-
emarsden authored
Change the behaviour of EXT:LOAD-FOREIGN when called with a single shared library: call SYS::LOAD-OBJECT-FILE directly, without invoking the linker as previously. This should make it possible to support the reloading of dependent shared libraries upon startup of a saved image. The new behaviour requires a function FILE-SHARED-LIBRARY-P to be defined. I have provided an implementation that works for ELF platforms. This has been tested with Linux/x86 and Solaris/SPARC, but is also enabled by conditionalization for :bsd (should include FreeBSD and OpenBSD). Also removed pmax support. IRIX and HPPA platforms will need to provide a definition for F-S-L-P.
-
- Apr 16, 2004
- Apr 15, 2004
-
-
rtoy authored
from SBCL.
-
rtoy authored
o FILE-STRING-LENGTH can be used on BROADCAST-STREAM's where the result is 1. o Graphic characters are not printed using the character name (hence #\space is printed #\ ) o Make INPUT-STREAM-P and OUTPUT-STREAM-P work correctly on synonym streams. o MAKE-STRING-INPUT-STREAM was not accepting NIL for the optional END argument. o Close string-input streams. (We weren't before.)
-
- Apr 14, 2004
- Apr 13, 2004
-
-
rtoy authored
-
- Apr 10, 2004
-
-
rtoy authored
o Fix typo.
-
- Apr 09, 2004
-
-
emarsden authored
Fix stupid mistake in the broadcast-stream ANSI-compliance changes.
-
- Apr 08, 2004
-
-
emarsden authored
Revert to old behaviour for SERVE-EVENT and reentry of handler functions. Don't mask out file descriptors whose handlers are active from the set of descriptors that we check for activity. The possibility for reentry of handler functions is required by Hemlock's slave lisp mechansism, which uses SERVE-EVENT via the WIRE facility.
-
- Apr 07, 2004
-
-
emarsden authored
- (read-char-no-hang (make-concatenated-stream) nil :eof) returns :eof instead of nil Another bug brought to you by pfdietz.
-
emarsden authored
More ANSI-compliance BROADCAST-STREAM fixes: - FILE-LENGTH and FILE-POSITION return the value from the last component stream, or 0 if there are no component streams. Will require a similar change for FILE-STRING-LENGTH (and addition of a :file-string-length misc-op).
-
rtoy authored
-
- Apr 06, 2004
-
-
emarsden authored
- (fresh-line (make-broadcast-stream)) returns nil instead of t - STREAM-ELEMENT-TYPE on broadcast-streams should return element-type of the last component stream (see CLtS "System Class BROADCAST-STREAM"). Fix from SBCL. - WRITE-SEQUENCE handles bit-vectors
-
emarsden authored
Two unrelated fixes to ADJUST-ARRAY: - (adjust-array (make-array nil :initial-element 'zob) nil) was losing the :initial-element information - ADJUST-ARRAY was sometimes returning the same array despite ADJUSTABLE-ARRAY-P returning nil for that array (fix from SBCL) Fixes a number of AJUST-ARRAY.* tests in Paul Dietz's ANSI compliance suite.
-
emarsden authored
- fix WRITE-SEQUENCE for vectors (detected by pfdietz' ANSI compliance test suite) (write-sequence (vector #\a) (make-string-output-stream)) used to fail with "Type-error in lisp::write-vector-out: #\a is not of type base-char" because the WRITE-SEQUENCE code is erroneously assuming that all vectors of characters are of type string. There are probably more errors of this nature! - fix STREAM-ELEMENT-TYPE for broadcast streams: CLtS specifies that t should be returned if there are no component streams, but we used to return nil.
-
emarsden authored
- fix defaulting behaviour of :if-not-exist in OPEN when used with :direction :io. Corrects a number of the OPEN.IO.* ANSI compliance tests.
-
- Apr 01, 2004
-
-
rtoy authored
(delete-file (open "/tmp/tmp-file" :direction :output :if-does-not-exist :create :if-exists :supersede)) signals an error because delete-file is unlinking the file twice, because CLOSE is called with the option :ABORT T. Don't do that, so that any reversion of the file isn't done, and we file is deleted.
-
rtoy authored
parse-compiled-debug-function-lambda-list fails for (di::debug-function-lambda-list (di::function-debug-function #'pcl::fix-early-generic-functions)) because it tries to nconc the supplied-p var to a deleted keyword arg.
-