sbcl Log


Commit Date  
[0df891] (sbcl-1.1.2) by Christophe Rhodes Christophe Rhodes

1.1.2: will be tagged as "sbcl-1.1.2"

2012-12-01 11:32:29 Tree
[b05f05] by David Lichteblau David Lichteblau

LLP64: replace use of unsigned long with size_t in parse_size_arg

Thanks to Anton Kovalenko.

2012-11-23 14:06:20 Tree
[0a5ca7] by David Lichteblau David Lichteblau

Add mswin.def

Fixes the build on Windows.

2012-11-23 14:06:20 Tree
2012-11-20 14:04:07 Tree
[1b6d88] by David Lichteblau David Lichteblau

LLP64: change signed long to sword_t

Adjust uses of `long' in the C runtime for LLP64 platforms:
Replace `long' with `sword_t' where applicable.

Thanks to Anton Kovalenko.

2012-11-20 14:02:11 Tree
[fb6f41] by David Lichteblau David Lichteblau

LLP64: change UNSIGNED-LONG to UNSIGNED

Adjust references to alien types within Lisp code for LLP64 platforms,
replacing UNSIGNED-LONG with UNSIGNED.

UNSIGNED-LONG is currently used when pointer-size values are desirable,
but does not have that meaning on LLP64 platforms.

Note: UNSIGNED does not in general refer to C's `unsigned'; rather it
means (UNSIGNED N-WORD-BITS). UNSIGNED-LONG actually means `unsigned
long'. The implication is that

32 <= sizeof(UNSIGNED-LONG) <= sizeof(UNSIGNED) <= 64

and not, as one might have expected, the other way around. Existing
platforms were assuming these two types to be the same.

Thanks to Anton Kovalenko.

2012-11-20 14:02:05 Tree
[b727b3] by David Lichteblau David Lichteblau

LLP64: change unsigned long to uword_t

Adjust uses of `unsigned long' in the C runtime for LLP64 platforms:
Replace with `uword_t' where applicable.

Thanks to Anton Kovalenko.

2012-11-20 14:01:27 Tree
[22d55b] by David Lichteblau David Lichteblau

LLP64: replace uses of sizeof(long) where pointer size is meant

Thanks to Anton Kovalenko.

2012-11-20 14:01:26 Tree
[0d0983] by David Lichteblau David Lichteblau

LLP64: adjust calls to printf-like functions with pointer arguments

For the benefit of LLP64 platforms, do not cast to long when printing a
pointer, and use %p instead of %lx. If casting is required, cast to
a pointer-sized unsigned integer, not signed long.

Thanks to Anton Kovalenko.

2012-11-20 14:01:26 Tree
[37da41] by David Lichteblau David Lichteblau

LLP64: change long to uword_t (thereby flipping signedness)

Replace `long' with `uword_t' in the runtime where applicable.

In these cases, signed long could have been translated literally as
sword_t to support LLP64 platforms, but uword_t seems clearer.

Thanks to Anton Kovalenko.

2012-11-20 14:01:26 Tree
[e26e24] by David Lichteblau David Lichteblau

New types uword_t, sword_t

First commit in a series of changes for LLP64 platform support.

We have been using `(un)signed long' assuming that it is an integer
of the same size as a pointer. On Windows x64 this assumption does
not hold, and `(un)signed long long' is required for the same
purpose.

Code will be updated to use our own types uword_t, sword_t instead,
which are defined to be synonyms of uintptr_t and intptr_t, respectively.

Note that uword_t is also synonymous with our older type
pointer_sized_uint_t, and technically (albeit not conceptually) the
same as lispobj.

Thanks to Anton Kovalenko.

2012-11-20 14:01:26 Tree
[ace42c] by David Lichteblau David Lichteblau

Add a lock to io_end_interruptible, win32_maybe_interrupt_io

Fixes hangs in test :INTERRUPT-IO-UNNAMED-PIPE.

2012-11-20 14:01:26 Tree
[4757c8] by Joshua Elsasser Joshua Elsasser

Unbreak ppc builds with 4k *backend-page-bytes*

2012-11-18 22:38:16 Tree
[716979] by Joshua Elsasser Joshua Elsasser

Only try frlock.1 test on #+sb-thread

2012-11-18 21:27:17 Tree
[8aaa97] by Stas Boukarev Stas Boukarev

Update ASDF to 2.26.

2012-11-14 14:22:50 Tree
[695bb1] by David Lichteblau David Lichteblau

Forcibly fail frlock.1 on Windows by means of a timeout

Presumably due to windows sb-thread bugs, this test often hangs on
Windows. For now, establish a timeout, and mark the test as a known
failure on this platform.

2012-11-13 17:42:02 Tree
[ed1910] by David Lichteblau David Lichteblau

Further work towards use of win32 file HANDLEs

Expose the fact that we are working with file handles (not simulated
file descriptors), and directly store those handles in fd-streams.

Represent them as integers (not SAPs) to avoid needless
incompatibilities between POSIX and Windows builds. However, adjust
types so as to remove fixnum assumptions.

Includes some further tweaks to file-related foreign definitions
(and run-program in particular), to remove remaining uses of CRT
when possible.

Does not add any `feature' to help user code distinguish between
this SBCL and versions prior to this change using read-time
conditionals, since the changes are, in principle, not considered
user-visible. (We are now unconditionally running the equivalent of
what is marked #!+fds-are-windows-handles on the Windows branch.)

To avoid breaking any user code that might have learned to retrieve
handles from our streams previously, preserve "osf handle"
conversion functions as trivial identity definitions for a while.

Thanks to Anton Kovalenko.

2012-11-13 17:07:15 Tree
[fd8e81] by David Lichteblau David Lichteblau

PowerPC safepoints

"I saw it almost pass tests once. Ship it."

Rough PowerPC port of sb-safepoint and related features. Occasional
issues remain (see comment in test suite).

- Sprinkle fake_foreign_function_call fairy dust over safepoint code.

- Use the CSP page for synchronization, but not for its value.

- No altstack, hence no tricks to escape from it.

- Remove workarounds related to the SIGALRM handler; but keep
SIGINT happy for now, with a somewhat less questionable check.

2012-11-13 17:05:08 Tree
[7d986e] by Alastair Bridgewater Alastair Bridgewater

mips: Revert remaining badness from 0.9.1.45.

* There were two pieces of badness in 0.9.1.45, both to do with
the call_into_lisp LRA handling, and each compensated for the other
to a limited extent. One change (since reverted) was to decrease
the alignment requirement on positioning the LRA header, allowing
it to be placed on a non-doubleword boundary. The second change
(being reverted here) was to change the LRA address calculation to
subtract the entry point offset from the address of the header
instead of adding OTHER_POINTER_LOWTAG. If the header wound up on
a doubleword boundary (the correct alignment) then the LRA computed
would have LIST_POINTER_LOWTAG, leading to badness when doing a
backtrace. In any event, typechecking the resulting LRA would
fail, and actually attempting to return to it would also fail.

* Revert to computing the LRA by adding OTHER_POINTER_LOWTAG to
the address of the header, bringing MIPS inline with all of the
other RETURN-PC-HEADER (LRA) using backends.

2012-11-09 00:29:07 Tree
[b60746] by Alastair Bridgewater Alastair Bridgewater

runtime/thread.h: Fix non-thread binding and control stack pointer access.

* In the non-threaded case, these macros used to break up into two
groups, one for x86oids and one for everything else. This is wrong
just as soon as a non-x86oid port uses a static symbol for the binding
stack pointer.

* Reorganize the non-threaded cases to parallel the structure of the
threaded case, dispatching on the presense of the static symbol for
binding stack access and specifically detecting non-x86oids for the
control frame pointer access.

2012-11-08 23:32:36 Tree
[dcf17f] by Alastair Bridgewater Alastair Bridgewater

runtime/cheneygc.c: Use binding-stack-pointer access macro.

* Rather than access current_binding_stack_pointer (a global
variable) directly, use access_binding_stack_pointer() (a macro
defined in thread.h).

2012-11-08 23:32:29 Tree
[fb35df] by Alastair Bridgewater Alastair Bridgewater

Thou shalt not MAKE-OTHER-IMMEDIATE-TYPE.

* Really, it's only ever used to make unbound-markers, for which
we have MAKE-UNBOUND-MARKER, which produces more optimal code in
the first place, has a shorter invocation, and reveals intention
far better than using MAKE-OTHER-IMMEDIATE-TYPE.

* Rewrite all uses of MAKE-OTHER-IMMEDIATE-TYPE, excise the VOPs
from all of the backends, and remove the symbol name from package-
data.

* And add DESCRIPTOR-REG to the permitted SCs for
MAKE-UNBOUND-MARKER, since it now must be legal to use a TN of
primitive-type T.

2012-11-08 23:30:44 Tree
[f932dd] by Alastair Bridgewater Alastair Bridgewater

compiler/generic/genesis: Report FDEFN addresses for undefined functions.

* In order to make debugging bootstrapping problems easier,
include the address of FDEFNs which have not been defined in the
cold-sbcl.map file. This address is what shows up in ldb when
such an FDEFN is invoked.

2012-11-08 23:25:07 Tree
[06cc46] by Alastair Bridgewater Alastair Bridgewater

compiler/sparc/arith: Fix SCs for FAST-EQL{,-C}/FIXNUM.

* There's a KLUDGE in build-order.lisp-expr wherein failures
when building this file are ignored.

* The failures are specifically an SC vs. arg-type mismatch for
the FAST-EQL/FIXNUM and FAST-EQL-C/FIXNUM VOPs.

* Fix the mismatch by altering the VOP definitions to match what
the MIPS backend uses (since it doesn't have the failure).

* And remove SPARC from the reader conditional on the KLUDGE.

2012-11-08 23:18:28 Tree
[c78d72] by Cyrus Harmon Cyrus Harmon

alien type improvement: handle offsets in unparse-alien-record-type

Previously, when recomputing the offset to struct fields we would
ignore the offset and attempt to recompute it, occasionally getting it
wrong. Now store the offset in uparse-alien-record-field and use in
parse-alien-record-fields.

Also, fix some comment typos.

2012-11-04 17:09:21 Tree
Older >