This branch is an import of the HEAD branch of the Git repository at git://sbcl.git.sourceforge.net/gitroot/sbcl/sbcl.git.
Last successful import was on 2013-08-30.
Moved to lp:~sbcl-hackers/sbcl/master.
- 6469. By Lutz Euler on 2013-06-06
Simplify getting the contents of assembler segments.
Extend FINALIZE-SEGMENT to compact the segment's buffer and provide an
exported function to get at this buffer. This resolves an old KLUDGE
noted at ON-SEGMENT-
CONTENTS- VECTORLY, making this function unnecessary.
There are several benefits to this change: First, the consumers of
assembler segment's contents, like WRITE-SEGMENT-
CONTENTS which is used
for example during FASL dumping, or MAKE-CORE-
COMPONENT, now call
WRITE-SEQUENCE respectively COPY-BYTE-
VECTOR- TO-SYSTEM- AREA only once
per segment and not once per the pieces of the segment's contents that
CONTENTS- VECTORLY provided, which makes for less overhead.
Second, this allows to greatly simplify the whole operation of
ASSEM-SEGMENT, in the course deleting several helpers of it.
So far this repartitioned the pieces of the segment's contents from
CONTENTS- VECTORLY, while caring not to split the contents
inside instructions, which needed a sizable amount of code. Now the
segment's contents are simply disassembled as a whole. Also, the old
code (specifically SEGMENT-OVERFLOW) didn't take prefix instructions
into account correctly which surfaced as the bug in lp#1085729.
Also, fix an unrelated typo in NEWS.
- 6467. By Stas Boukarev on 2013-06-05
Factor out read-var-integer into a function.
read-var-integer macro is used quite a number of times, expand the
macro into a SETF, which calls %read-var-integer, which does actual
reading. Reduces the core size by 65KB on x86-64.
- 6466. By Stas Boukarev on 2013-06-05
sb-bsd-sockets: More robust inet-socket-bind test on Windows.
Nested unwind-protects aren't supported on Windows.
- 6465. By Stas Boukarev on 2013-06-05
Get rid of vm-support-routines indirection.
VM routines were defined using two functions, one calling another
through structure slots. This is unnecessary, removing leads to a
~200KB core size reduction on x86-64.
- 6464. By Stas Boukarev on 2013-06-05
Optimize (mod FIXNUM) type-checks on x86oids.
Instead of two (and (>= x 0) (< x FIXNUM)) comparisons, do one
(mod power-of-two) is further optimized by doing one mask test
determine the range and fixnumness in one go.
- 6463. By Stas Boukarev on 2013-06-04
sb-bsd-socket tests: don't listen on a predefined port.
Listening on 1974 prevents from building contribs in parallel.
- 6462. By Christophe Rhodes on 2013-06-04
fix CL case conversions of characters involving iota subscript
Oh boy. Judging by the length of the web page explaining the issue
www.tlg. uci.edu/ ~opoudjis/ unicode/ unicode_ adscript. html>)
this is a bit of a minefield. I hope that this doesn't contribute
further to the trouble...
Although the combined _WITH_PROSGEGRA
MMENI characters are of
general class "Lt" (i.e. titlecase), for CL purposes we treat them
as the uppercase equivalent of the lowercase _WITH_YPOGEGRAMMENI
characters (as directly specified by the case mapping data in
UnicodeData.txt). This is a little awkward, and involves a bit
of rearrangement in the indices of the misc table entries to make
the (CL) uppercase/lowercase tests efficient, but seems to be the
best of all possible worlds given that we must comply with CL's
to-character case mappings -- the alternative of not
providing an uppercase version of LOWERCASE_
seems even weirder.
The way this is done in ucd.lisp is a little bit kludgy, because we
have to avoid giving the same exception to the serbian titlecase
digraphs (Dz and friends) which mustn't map to anything, or else
we'd break invertibility. (The lowercase dz and uppercase DZ are
already (CL) case mappings of each other). Probably the thing which
will confuse future readers is that some (Unicode) titlecase
characters are (CL) upper-case-p.
- 6461. By Paul Khuong on 2013-06-03
Simpler and more precise type derivation for APPEND/NCONC
We can suppose that all but the last argument are lists when
deriving the return type... and the logic to compute the return
type can be much simpler: it's either a CONS, the last argument,
or we don't know which (yet).
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)