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.

Close

sbcl Log


Commit Date  
[d7265b] (139.8 kB) by Douglas Katzman Douglas Katzman

The long-awaited backquote patch.

This makes the pprinter for backquote faster, safer, and less consy,
and fixes lp#1063414.

2014-07-16 02:07:33 View
Download
[053e63] (139.9 kB) by Douglas Katzman Douglas Katzman

Make specialized vector treatment in cross-compilation more consistent.

There were a few ways of dealing with the issue that ARRAY-ELEMENT-TYPE
could accidentally reflect the host's array type:

(A) carefully writing a form to reconstruct a constant in the target
as exemplified by COMPUTE-TEMPORARIES-DESCRIPTION in meta-vmdef,
(B) taking :ELEMENT-TYPE as merely a suggestion,
like in EMIT-LONG-NOP in compiler/x86-64/insts,
(C) not caring, even though it could in fact generate broken fasls
if the host upgraded (UNSIGNED-BYTE 8) to anything else, such as
**CHARACTER-DATABASE** which directly assigned a compile-time
constant into a variable having a specific type proclamation.

This change makes the cross-compiler warn of a potential problem when
writing out a constant array. e.g. The Unicode database was technically
incorrect but not ostensibly broken, because every supported xc host
provides (UNSIGNED-BYTE 8) as a specialized array type.
Nonetheless, we tried to be rigorous most of the time, which led one
to question why/when care had to be exercised.

So now it is an error in the crosss-compiler to dump a numeric array
other than BIT unless it has been "registered" with its precise type;
but (UNSIGNED-BYTE 8) emits only a style-warning if unregistered.

Note that case (B) wasn't visibly broken, but different host Lisps could
produce different target code. A read-time constant array might be upgraded
to any type of which (UNSIGNED-BYTE 8) is a subtype, but compiled AREF
would be ok because CTYPE-OF as defined in 'cross-type' reflects whatever
the host thinks, and AREF would emit correct code to match that
as long as there were no local type declarations to the contrary.

2014-07-02 02:49:34 View
Download
[195028] (139.6 kB) by Douglas Katzman Douglas Katzman

Handle additional generalized places in ATOMIC-{INCF,DECF}

2014-07-01 18:07:02 View
Download
[48793e] (139.4 kB) by Stas Boukarev Stas Boukarev

Remove TRACE-TABLE-OFFSET slot from CODE.

It stored the byte offset to the location where the code ended and
where the trace table started, but since there's no trace tables, it
was only used for getting the byte size of the code.
The code size is already stored in the CODE-SIZE slot, but in words
and rounded up to two words.
Store verbatim bytes instead and do the conversions when necessary.

2014-06-17 21:41:10 View
Download
[d31e78] (139.5 kB) by Stas Boukarev Stas Boukarev

Remove trace-table.

It hasn't been ever used in SBCL, and it was supposed to be used for
making precise backtraces for the precise GC.
There are probably better ways to achieve precises backtraces.

2014-06-17 21:41:10 View
Download
[7e3a63] (139.7 kB) by Stas Boukarev Stas Boukarev

Restore PPC build.

AFTER-BREAKPOINT-TRAP was erroneously removed.

2014-06-12 04:44:15 View
Download
[b53f7b] (139.6 kB) by Stas Boukarev Stas Boukarev

Clean up removed symbols.

2014-06-12 04:04:55 View
Download
[45c739] (140.2 kB) by Stas Boukarev Stas Boukarev

Deinit various variables during core saving.

Things like *default-pathname-defaults* and *runtime-pathname* do not
need to be saved into the image. This also fixes a problem when
*machine-version* wasn't updated even when the image was transferred
to another machine.

2014-06-11 00:18:07 View
Download
[fa92fb] (140.2 kB) by Paul Khuong Paul Khuong

Type/compiler: new utility functions to compute over types

sb!kernel:generic-abstract-type-function approximates a function over
types given an arbitrary finite set representation.

sb!kernel:list-abstract-type-function specialises on the standard
CL list representation of finite sets.

See late-type.lisp for documentation.

2014-06-09 04:40:40 View
Download
[021d58] (140.1 kB) by Stas Boukarev Stas Boukarev

Optimize MAP NIL.

Transform %map nil into %map-for-effect-arity-1 if the type of
sequence is not known. SOME and EVERY are optimized too as a result of
this.

2014-06-06 18:01:09 View
Download
[76f4df] (140.1 kB) by Stas Boukarev Stas Boukarev

Restore errors produced on access to NIL-ARRAYs.

Transform things into DATA-NIL-VECTOR-REF instead of DATA-VECTOR-REF,
otherwise it's flushed due to unsafely-flushable and causes many
different problems.

Fixes lp#1311421.

2014-05-29 18:56:36 View
Download
[641918] (140.0 kB) by Douglas Katzman Douglas Katzman

Remove META-SC-NUMBER-OR-LOSE

2014-05-29 17:24:47 View
Download
[c9c024] (140.1 kB) by Douglas Katzman Douglas Katzman

Remove most META-SC stuff.

The backends will be cleaned up in a second commit.

2014-05-29 17:17:44 View
Download
[fba148] (140.1 kB) by Douglas Katzman Douglas Katzman

Delete *BACKEND-SB-NAMES* and *BACKEND-META-SB-NAMES*.

*BACKEND-SB-LIST* is as good as a hashtable for 6 things.

Other deletions from package-data-list due to a prior change.

2014-05-29 13:26:56 View
Download
[fe027d] (140.3 kB) by Christophe Rhodes Christophe Rhodes

signal errors on trying to subclass BUILT-IN-CLASSes, lp#861004

Introduce a new "interposing" (in AMOP terms) SYSTEM-CLASS to hang
some functionality on, and make BUILT-IN-CLASS a subclass. Most
of the specified functionality is common to both and implemented
in terms of SYSTEM-CLASS, but the error on subclassing is just for
BUILT-IN-CLASSES. This therefore involves making the subclassable
System Classes, SEQUENCE and STREAM (and subclasses), be of metaclass
SYSTEM-CLASS rather than BUILT-IN-CLASS. The bootstrap and braid need
to be adjusted accordingly. Implement the validate-superclass error
in terms of a new invalid-superclass generic function (as suggested
by Nick Levine in preliminary work on this problem), and make the
invalid-superclass error a reference-condition so that we can defend
our implementation strategy.

This is yet another example of a bug tagged "easy" which involves
dealing with the PCL bootstrap. Someone should do something about
this.

2014-05-21 06:59:19 View
Download
[bad743] (140.3 kB) by Douglas Katzman Douglas Katzman

Undo the change that added a %FUN-POINTER-WIDETAG reader.

It's just FUN-SUBTYPE, though questionable why SAP-REF-8
is getting re-implemented anew by each backend.

2014-05-20 01:48:51 View
Download
[5af87f] (140.3 kB) by Douglas Katzman Douglas Katzman

Improve testing for subtypes of 1-dimensional simple-arrays

This needs some additional work for platforms other than x86[-64].

Also sprinkle around some meta-comments about obsolete comments.

2014-05-18 00:37:07 View
Download
[1cff54] (140.2 kB) by Stas Boukarev Stas Boukarev

Annotate DISASSEMBLE output on ARM with static things.

Static functions and static symbols.

2014-05-15 22:34:43 View
Download
[8ad63f] (140.2 kB) by Douglas Katzman Douglas Katzman

A few more changes to internal error numbering.

- It should not be the case that C/assembly runtime needs to know all
error numbers. Stop exposing most of the constants, to lessen potential
confusion/conflict on things like CONTROL_STACK_EXHAUSTED_ERROR,
which is a static symbol that falsely appears to occupy the same realm
as the small integer <x>_ERROR constants.

- Stop dumping huge s-expressions for the type that describes
all specialized simple arrays of rank 1.

- Rename OBJECT-NOT-FUN to OBJECT-NOT-FUNCTION.

2014-05-04 19:34:30 View
Download
[a07027] (139.9 kB) by Douglas Katzman Douglas Katzman

Implement SIMPLE-FUN-P more efficiently

2014-05-02 16:34:38 View
Download
[189dd8] (139.9 kB) by Douglas Katzman Douglas Katzman

Rename SYMBOL-FDEFINITION to SYMBOL-FDEFN and similarly INFO-VECTOR-

This is to avoid a false connotation that SYMBOL-FDEFINITION is just
FDEFINITION but restricted to symbols (which would be SYMBOL-FUNCTION)

2014-04-19 21:12:30 View
Download
[7297d4] (139.9 kB) by Douglas Katzman Douglas Katzman

Move FIND-FDEFINITION to where it properly belongs

Also removed unused function FDEFINITION-OBJECT

2014-04-19 19:37:15 View
Download
[dc978f] (139.7 kB) by Stas Boukarev Stas Boukarev

Fix a type in package-data-list.

2014-04-19 15:40:21 View
Download
[2fadba] (139.7 kB) by Stas Boukarev Stas Boukarev

Optimize (coerce x 'function).

Use the otherwise unused COERCE-TO-FUN function.

2014-04-19 15:32:45 View
Download
[18a56b] (139.7 kB) by Stas Boukarev Stas Boukarev

Don't write sbcl-core-version-integer into cores.

It hasn't been maintained in almost a decade and build-id is actually
used to distinguish between different cores.
Assign build-id-core-entry-type-code the value
version-core-entry-type-code previously held, that way loading old
core files fails with a proper error instead of "unknown core file
entry".

2014-04-12 10:05:23 View
Download
Older >