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  
[2fb9cd] by Christophe Rhodes Christophe Rhodes

rename SB-SIMPLE-STREAMS utility function

At least, I think it was simply intended to be a utility function,
but the FILE-NAMESTRING name is unfortunate, as that's a CL function,
and (for other reasons) SB-SIMPLE-STREAMS claims to implement CL in
the package lock sense, so this was not noticed at the time.

This fixes lp#884603; I am unconvinced that the namestring logic is
actually correct (keeping the distinction between NAMESTRING and
NATIVE-NAMESTRING clear) but I'll wait for an actual user to complain
about that before thinking too hard.

2013-09-09 14:09:42 Tree
[6c296d] by Christophe Rhodes Christophe Rhodes

better ctor fallback-generators

The logic surrounding default-initargs in the presence of "hairy"
methods on make-instance and friends was not quite right, leading
to evaluation of the wrong things at the wrong times. Patch by
Jan Moringen with extra test cases (lp#1179858).

2013-09-09 11:44:39 Tree
[b08c57] by Christophe Rhodes Christophe Rhodes

better comment describing INDEX type

merged ideas from Paul Khuong and Jan Moringen, from
<http://paste.lisp.org/display/138734>

2013-09-09 09:21:54 Tree
[c07b62] by Stas Boukarev Stas Boukarev

sb-safepoint: Fix interrupts during GC.

In interrupt_handle_now, move

context_sap = alloc_sap(context);
info_sap = alloc_sap(info);

after WITH_GC_AT_SAFEPOINTS_ONLY(), otherwise the allocation will
break the running GC.
Fixes lp#1133018.

2013-09-08 23:19:18 Tree
[6e8fe7] by Stas Boukarev Stas Boukarev

LDB/DPB do not check for negative indexes.

Calling (lambda (x y) (ldb (byte x y) 100)) with -1 -2 didn't raise an
error.

Reported by Bart Botta.

2013-09-07 19:01:37 Tree
[9c510b] by Stas Boukarev Stas Boukarev

Adjust SETcc instruction encoding on x86-64.

Avoid emitting REX for legacy registers.

2013-09-07 05:48:35 Tree
[01cc13] by Stas Boukarev Stas Boukarev

Improve knownfun declarations.

Make some types more accurate, add some
:derive-type #'result-type-first/last-arg.
Add missing %adjoin/member/assoc-test/not/key defknowns.

2013-09-06 22:03:08 Tree
[7a3dd4] by Stas Boukarev Stas Boukarev

Remove a wrong IGNORE declaration.

An incorrect ignore declaration was used with #!-sb-package-locks,
even though the ignored variables are used without sb-package-locks
too.

Patch by Douglas Katzman.

2013-09-06 17:58:24 Tree
[6364a5] by Stas Boukarev Stas Boukarev

Save some space in WITH-OUTPUT-TO-STRING.

Not passing :element-type 'character to MAKE-STRING-OUTPUT-STREAM
saves a few bytes, since it's the default value.

2013-09-06 14:23:40 Tree
[cd1c0c] by Christophe Rhodes Christophe Rhodes

Fix for sb-gmp bignum result allocation (lp#1206191)

Patch based on 59e72c69c00abf9095d82e9a7b65f9c1b54d105c from
<https://github.com/sfrank/sb-gmp> (thanks to Stephan Frank)

2013-09-06 11:43:40 Tree
[eb520f] by Christophe Rhodes Christophe Rhodes

Fix sb-gmp:mpz-pow for non-bignum bases

Don't declare types, and we don't need the check-type either

2013-09-06 11:28:21 Tree
[7a2ee8] by Stas Boukarev Stas Boukarev

Optimize CHAR-EQUAL on constant and base-char args.

The open-code transform for base-char arguments was never invoked, it
should have been defined on TWO-ARG-CHAR-EQUAL, not CHAR-EQUAL. And
enable it only for (> speed space).

Add a check for base-char into the TWO-ARG-CHAR-EQUAL function, and
invoke the optimized code, the same the transform uses.

Optimize (char-equal #\c x) by transforming it into a call to
(char-equal-constant x #\c #\C), which does
(or (char= #\c char) (char= #\C char)), or directly to that expression
with (> speed space).

(char-equal #\- x) is transformed to (char= #\- x).

2013-09-05 19:29:51 Tree
[d01d50] by Stas Boukarev Stas Boukarev

Add defknowns for TWO-ARG-CHAR-* functions.

This avoids the checks for multiple values.

2013-09-05 17:49:58 Tree
[5c52e9] by Stas Boukarev Stas Boukarev

Add a transform for EQUALP.

Similar to the EQUAL one.

Also fix a bug in the EQUAL transform when types which include
specialized arrays inside them were resulting in EQUAL being
incorrectly folded to NIL.

2013-09-05 16:39:53 Tree
[440baf] by Christophe Rhodes Christophe Rhodes

Document extensible sequence protocol

Based on patch by Jan Moringen from lp#994528

2013-09-05 16:30:33 Tree
[6242b9] by Stas Boukarev Stas Boukarev

Optimize some comparison functions for EQ cases.

Add (or (eq x y) ...) to bit-vector-=, two-arg-char-equal, pathname=.

2013-09-05 14:35:12 Tree
[367179] by Stas Boukarev Stas Boukarev

Improve the EQUAL transform.

Transform to EQL when at least one argument is not of type
(or string cons pathname bit-vector).
Transform (equal (the pathname x) (the pathname y)) to (pathname= x y).

Closes lp#1220084, based on the patch by Elias Martenson.

2013-09-05 13:10:08 Tree
[5f0cfc] by Stas Boukarev Stas Boukarev

Micro-optimize calling assembly routines on x86oids.

Do not check for multiple values in the :full-call return sequence, it
always returns just one value and CLC is issued before returning.

2013-09-04 22:10:19 Tree
[aa7b66] by Stas Boukarev Stas Boukarev

Micro-optimize calling alloc_tramp on x86_64.

In allocation-tramp, instead of using R11 temp-reg for storing the
address of alloc_tramp, use alloc-tn, because the result of
alloc_tramp will be stored there and its value doesn't have to be
preserved. And most of the time it will be allocated to a
non-64-bit-mode register, allowing to save 2 bytes on encoding.

2013-09-04 09:30:17 Tree
[3044d2] by Jan Moringen Jan Moringen , pushed by Stas Boukarev Stas Boukarev

Add SOCKET-SHUTDOWN in contrib/sb-bsd-sockets

* The new generic function SOCKET-SHUTDOWN shuts down a socket for
input, output or both. Calls shutdown(3posix)

* Test shutdown.{client,server}.{ub8,character}.{output,io} test
shutting down TCP stream sockets from the client and server side for
different element-types and directions

2013-09-02 14:10:56 Tree
[cd1b14] by Stas Boukarev Stas Boukarev

Handle compiler-error in LOAD when it's not run from inside EVAL.

When LOAD is run from the --load option or from within a new thread,
it doesn't go though EVAL and doesn't inherit its compiler-error
handler.

Fixes lp#1219601.

2013-09-02 05:44:38 Tree
[4b222e] by Stas Boukarev Stas Boukarev

slep-non-consing test: prevent from sleeping too much.

Some platforms can't sleep for short amounts of time, add a
sb-ext:with-timeout around it and don't report it as a failure, since
there's basically nothing that can be fixed in such cases.

2013-08-31 06:17:18 Tree
[35ab27] by Stas Boukarev Stas Boukarev

Micro-optimize gc scavenge.

Instead of putting the amount by which to increment the pointer and
then adding it at the end of the loop, increment the pointer
directly. Makes it slightly faster when compiled with GCC.

2013-08-31 03:29:06 Tree
[1a0d75] by Stas Boukarev Stas Boukarev

Remove a couple of unused variables in the C runtime.

2013-08-30 23:36:19 Tree
[a291e1] by Stas Boukarev Stas Boukarev

tests/subr.sh: Fix sed invocation for Solaris.

2013-08-30 01:09:24 Tree
Older >