Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.


sbcl-cvs-import Log

Commit Date  
[4b1b27] (alpha64-3-branch) by Nathan Froyd Nathan Froyd
"You're just practice."

* Add lifetime constraints on some bignum vops so the register
allocator doesn't overwrite the arguments;
* Tweak error-code finding code in alpha-arch.c; make cosmetic
32->64-bit changes while we're at it (did this ever work?
It doesn't look like it could have.).

Tests now pass up to float.pure.lisp.

Add :CIX-guarded VOPs for integer-length, just for kicks.

2005-07-29 19:50:45 Tree
[359f5d] by Nathan Froyd Nathan Froyd
"It's been a while."

* src/code/debug-int.lisp: remove #!-alpha cruft and 32-bit-isms;
* src/compiler/alpha/insts.lisp: fix part of disassembler printing;
* src/assembly/alpha/arith.lisp: fix GENERIC-*;
* src/code/print.lisp: use "new" bignum printer so that other
people besides me could build this version and have it print
bignums properly;
* src/runtime/cheneygc.c: misc declaration fixes.

Current status: builds, dies in tests/arith.pure.lisp with a
bignum error (bignum multiply vops are probably not working
correctly, since reading bignums gives some curious results).

2005-07-08 18:56:49 Tree
[4fc771] by Nathan Froyd Nathan Froyd
"Victory is mine."

(1+ most-positive-fixnum) => 1152921504606846976

Can build a few files in warm load, errors out somewhere in
the compiler, probably because float support still needs
a little work in some places (although I cannot find anyplace
where the compiler would be terribly concerned with the
quality of the floating-point code...does PCL use FP?).

* revert GC changes to correspond with jsnell's GC changes
for 64-bitness;
* src/runtime/print.h: remove lowtag_Names, as it is now
autogenerated by GENESIS;
* src/compiler/alpha/arith.lisp: fix thinko bug in ADD-WITH-CARRY
so that bignum operations work properly;
* src/compiler/alpha/float.lisp: fix some sign-extension issues,
since LDL already sign-extends the result;
* src/compiler/generic/vm-tran.lisp: port over COUNT fixes from

2005-03-14 20:13:15 Tree
[933bda] by Nathan Froyd Nathan Froyd
"I only dog paddle."

* src/code/unix.lisp, src/runtime/wrap.c: change 'wrapped_stat'
structure in Lispland and C-land to use the proper types for
Tru64. This change will probably render SBCL unbuildable on
32-bit platforms unless 64-bit FFI types have been implemented
on said platform;
* src/runtime/alpha-assem.S: the offset saved by call_into_c must
be a fixnum (and is on other RISCy platforms because instructions
are 4 bytes and fixnums are 4-byte aligned--not so on the Alpha).
Make it so;
* src/code/{bit-bash,host-alieneval}.lisp: remove bogus alpha
conditionalization. This change fixes the "Unaligned access"
errors present on Tru64;
* src/compiler/alpha/{float,array}.lisp: modify float vops and
float array reffers for a 64-bit Lisp where N-WORD-BYTES != 4;
* src/compiler/alpha/parms.lisp: change storage classes for
* src/compiler/alpha/insts.lisp: tweak instructions a bit, add
SEXTL instruction macro--which doesn't work and I'm not quite
sure why;
* src/compiler/macros.lisp: modify some array reffers to be
marginally more efficient (not enabled by default because
SEXT{B,W} are not necessarily implemented in hardware on all
Alpha implementations)

Build status: builds into cold-init, dies in
INTEGER-DECODE-DOUBLE-FLOAT, presumably due to the new float
vops accessing the wrong bits of DOUBLE-FLOATs. Said float vops
look right, though (they always do).

2005-01-25 15:33:17 Tree
[c23e4d] by Nathan Froyd Nathan Froyd
"The rest is trivial."

Minor changes:
* tools-for-build/ldso-stubs.lisp: untabify and update OSF/1
stub for a dynamically-linked world;
* src/runtime/alpha-assem.S: s/stl/stq/ (again, *sigh*)
* src/assembly/alpha/arith.lisp: optimize GENERIC-+/GENERIC--;
* src/compiler/generic/{interr,vm-type,vm-typetran}.lisp,
src/code/{pred,interr}.lisp: update with new 64-bit types and
add back specialized typechecks for {UN,}SIGNED-BYTE-32, on
the suspicion that they will be needed for the FFI.

Current status: plods forward until first GC (even with setting
up the pretty-printer, woohoo!), where it dies mysteriously
during scavenging. crhodes suggesting reverting the patches
made earlier to GC, as jsnell thoroughly 64-bitized the GC
for the x86-64 port; have to try that and see if that does

Various messages are blathered across the console about
unaligned accesses during setup of the pretty-printer; those
should be investigated...

2005-01-15 20:28:32 Tree
[bae5da] by Nathan Froyd Nathan Froyd
"A day at the beach."

Small but important fixes:
* src/compiler/alpha/array.lisp: characters are 32 bits wide;
* src/compiler/alpha/call.lisp: fix LISTIFY-REST-ARGS VOP so that
the compiler will properly translate %LISTIFY-REST-ARGS;
* src/compiler/alpha/arith.lisp: invert MOVE argument order to

2005-01-13 16:28:12 Tree
[5bba5e] by Nathan Froyd Nathan Froyd
"Try pushing that button there...No, how about that one?"

Commit 64-bit aware version of alpha-assem.S and perform several
minor cleanups on src/runtime/ files.

One can now start the built SBCL, but it errors out after
trying to USE-PACKAGE (hits undefined_tramp).

2005-01-12 14:00:28 Tree
[bfb4d6] by Nathan Froyd Nathan Froyd
"Brick by brick, my friend. Brick by brick."

Various cleanups and a few more port-overs:
* src/compiler/generic/objdef.lisp: remove lots of the ugly
#!+alpha/#!-alpha nonsense; generalize some #!+x86-64 to
consider SB!VM:N-WORD-BITS instead;
* src/compiler/generic/genesis.lisp: some functional cleanups.
write out new file genesis/ldb-print.h so that LDB printing
stands half a chance of working sanely on 64-bit systems;
* src/compiler/alpha/array.lisp: use SB!C::RAW-VECTOR for
* src/compiler/alpha/arith.lisp: use FIXNUM-TAG-MASK where
* src/compiler/alpha/parms.lisp: add back
* src/compiler/alpha/type-vops.lisp: remove unused variables;
* src/runtime/print.c: update to use genesis/ldb-print.h and
make a few other cleanups;
* src/runtime/interrupt.c: add back handle_guard_page_triggered;
* src/runtime/Config.alpha-osf1: compile 'sbcl' as a shared
executable (why was this ever disabled?) and enable building
of ldso-stubs.s;
* src/code/target-unithread.lisp: use SAP-REF-WORD when

Builds through; fails with 'Unable to obtain
requested swap space' error when executing the newly-built
sbcl, which I know I've seen before, but I don't remember
how I fixed it. :( (on OSF/1, anyway; Linux might do better?)

2005-01-12 03:25:36 Tree
[fa02e9] by Nathan Froyd Nathan Froyd
"That's impossible, even for a computer."

Forgotten fixes and adding back functionality:
* src/compiler/alpha/alloc.lisp: MAKE-CLOSURE was updated to
take a STACK-ALLOCATED-P parameter;
* src/compiler/alpha/values.lisp: add %%POP-DX and %%NIP-DX;
* src/code/alpha-vm.lisp: instructions on Alpha are 4 bytes long,
* src/code/cold-init.lisp: update debugging code to be 64-bit
* src/code/type-init.lisp: precompute 64-bit-friendly types.

2005-01-11 20:32:23 Tree
[ddedde] by Nathan Froyd Nathan Froyd
"Ah, the bright promise of a disgusting new character!"

Various fixes revealed by
* the backend deals in CHARACTER-{STACK,REG} rather than
BASE-CHAR-{STACK,REG}--change VOPs and VM definition;
* we have :UNSIGNED and :SIGNED modular arithmetic classes
now; make arith.lisp indicate the appropriate class;
* a few misspellings and thinkos in type-vops.lisp.

2005-01-11 19:04:11 Tree
[421f76] by Nathan Froyd Nathan Froyd
"Third time's the charm."

Commit an updated version of Christophe and Dan's work on
an Alpha64 port, motivated by Juho's recent work on AMD64.
I forward ported the alpha64_2 branch to 0.8.13.mumble,
and successfully reached the beginning of warm-init.
(1+ MOST-POSITIVE-FIXNUM) returns the right answer. :)

However, given that there has been a lot of work recently on
a 64-bit clean SBCL (and many improvements since 0.8.13.mumble),
doing another forward port seemed like a reasonable idea.
WARNING: I have not tried to build an actual alpha64 sbcl
with this version yet, but I can assure you that the build
did work properly for 0.8.13.x. I may have also forgotten
some files in src/code/ or thereabouts.

Improvements over the alpha64_2 branch:
* several arithmetic assembly VOPs have been rewritten;
* can compile simple DEFUNs;
* calling sequences updated to be closer to PPC.

Things which are known to not work:
* bignums (can't really tell, since printing of bignums is borked);
* unicode;
* linkage-tables;
* probably other things I am forgetting.

2005-01-11 18:02:29 Tree
[2f595e] (alpha64-3-branch-point) by Juho Snellman Juho Snellman
Improvements to the statistical profiler.
* Add support for x86-64.
* Time spent in foreign functions was previously attributed to
"elsewhere". Now reported individually for all of them, and
"foreign function __open", "foreign function sin", etc.
* Walk the call stack to a depth of 8 instead of relying only
on the PC and RA from os-context-t (currently only on x86/x86-64).
Thus instead of just knowing that a lot of time is being spent
on (for example) bignum operations, we might find out where
the bignum operations are being initiated.
* Add a column for accrued time to the flat report.
* Add kludgy workaround for invalid frame-pointers in the
os-context-t structure causing segfaults.

2005-01-11 00:04:07 Tree
[0faed7] by Alexey Dejneka Alexey Dejneka
* BACKQ-* wrappers have dynamic-extent argument lists.
* Dereference FUNCTION designator argument of REDUCE at the
beginning of the function.
* Remove some FIXNUM declarations in REDUCE.

2005-01-10 08:04:19 Tree
[a02f09] by Andreas Fuchs Andreas Fuchs
Manual build fixes.

* Allow the manual to be built with an sbcl in a non-standard
place. This is supposed to help the autobuilder/benchmarker
build a manual without jumping through too many hoops.
* Add a docstring to sb-md5's md5sum-string, to make the
manual happy again.

2005-01-09 12:33:31 Tree
[71624c] by Alexey Dejneka Alexey Dejneka
Document stack allocation of closures in the manual.

2005-01-09 08:02:56 Tree
[257680] by Christophe Rhodes Christophe Rhodes
Merge Robert J. Macomber's octets3.lisp (sbcl-devel 2005-01-06)
... use WITH-ARRAY-DATA for bounds checking and simple-array
... implement ASCII external format (and MALFORMED-ASCII
... don't need CODE-RANGE type, we can use CHAR-CODE;
... make it compile in #!-SB-UNICODE;
... one or two other frobs. I don't think this is in its final
form even now, but it's good enough, and...
... adjust md5-tests.lisp to use it;
... tests now pass. Hooray.

2005-01-09 00:11:14 Tree
[fae139] by Alexey Dejneka Alexey Dejneka
* Allocate closures at the beginning of FLET/LABELS form.
... fix bug 125.
* Partial support of stack allocation of dynamic-extent
closures on x86.

2005-01-08 09:41:46 Tree
[460003] by Juho Snellman Juho Snellman
Fix a few AMD64 issues.
* Fix broken logic in SIGNED-BYTE-32-P for negative numbers
when NOT-P is true. (Reported by Todd Sabin on sbcl-devel,
* Correct incorrectly spelled type names in DUMP-I-VECTOR.
(Patch by Cheuksan Edward Wang).
* Sap-operations on floats were using broken x87 code. Replace
with SSE. (Patch by Cheuksan Edward Wang).

2005-01-08 00:55:56 Tree
[ca8272] by Christophe Rhodes Christophe Rhodes
Fix for OUTPUT-NOTHING restart
... don't advance by a character if we don't output anything

2005-01-07 18:10:50 Tree
[89c5e6] by Christophe Rhodes Christophe Rhodes
Merge Teemu Kalvas "several nice fixes to external format restarts"
sbcl-devel 2005-01-07
... not the extra exports, but some different exports instead;
... frob SIMPLE-DECODING-ERROR signature so that the octets
get reported correctly.

2005-01-07 14:18:29 Tree
[9434bf] by Christophe Rhodes Christophe Rhodes
CLISP build fixes
... CUT-TO-WIDTH now takes three arguments;
... *LOAD-PATHNAME* and *COMPILE-FILE-PATHNAME* aren't absolute
in CLISP, sigh. Use -TRUENAME* variants instead.
... PRINT not PRIN1 the random state after the huge bignum, otherwise
most of the time is spent in the pretty printer formatting
the random state to column 700000000000
... bit more NEWS on the x86-64 merge.

2005-01-07 11:54:18 Tree
[095a47] by Juho Snellman Juho Snellman
Fix a few problems with the AMD64 merge.
* Fix genesis of double-floats on 32-bit little-endian platforms.
* Remove Makefile kludge for forcing shared libraries in contribs
to use the 32-bit mode on AMD64.
* Remove extra argument to MY-MAKE-WIRED-TN in x86-64/c-call.lisp
(prevented using CMUCL as host, since it gives a full warning).
* Add a NEWS entry for the new port.

2005-01-06 18:31:25 Tree
[78fa16] by Christophe Rhodes Christophe Rhodes
Merge x86-64-again branch onto HEAD.

Many, many, many 64-bit cleanups in code/, runtime/, compiler/,

New SAP-REF-WORD and friends.

Various fixes to the x86-64 backends (and addition of assembly/
and runtime/ files necessary). Implementation of Unicode-related
stuff by CSR. Signed modular arithmetic has not yet been

A number of tests fail:
... alien.impure.lisp: enum <-> integer array conversion
... exhaust.impure.lisp: "deferred gubbins"
... float.pure.lisp: float infinities
... "deferred gubbins"

It's possible that this merge will cause alpha32 to break in an
interesting way, probably related to undefined-alien. Needs
debugging. Other architectures have been tested, but of course
it's possible that something has gone wrong.

Though I (CSR) am merging this, the vast majority of the work was
done by Juho Snellman (building on Dan Barlow's initial work to
get it into executing lisp code in cold-init), with guest appearances
by Cheuksan Edward Wang and Vincent Arkesteijn.

2005-01-06 12:47:55 Tree
[77d94d] by Christophe Rhodes Christophe Rhodes
Merge patch from Teemu Kalvas for recovery from encoding errors
... not all recoveries seem to work currently.

2005-01-05 07:56:48 Tree
[d71166] by Brian Mastenbrook Brian Mastenbrook fix a small bug where EVAL-IN-LEXENV wasn't evaluating the value
of a setq assignment in any lexenv.

2005-01-05 01:55:35 Tree
Older >