[151b7b] by James M. Lawrence , pushed by Nikodemus Siivola
fix MAP-INTO performance
* remove the O(n^2) algorithm for lists
* use (MAP NIL ...) for all sequence types
* avoid unnecessary LENGTH calls
* update fill pointer after mapping succeeds, not before
* add tests for MAP-INTO (there were none!)
* add some WITH-TESTs to tests/map-tests.impure.lisp
[b916ee] by Lutz Euler
Use multi-byte NOPs for code alignment on x86-64.
This is intended to speed up execution of such code sequences. It makes
This adds the needed infrastructure to the backend-independent compiler
Extend EMIT-ALIGNMENT to allow to specify multi-byte NOPs to be used
On x86-64, add EMIT-LONG-NOP as the instruction emitter and extend the
Make EMIT-FILLER decide more carefully whether to join fillers that are
In certain circumstances %EMIT-ALIGNMENT splits an alignment into two
[9bc5da] by Nikodemus Siivola
Move out the *BREAK-ON-SIGNALS* stuff to a separate function for
[02313f] by Cyrus Harmon
implicit generic function warning improvement
the warning now prints out the package of the symbol that corresponds
[04a651] by Nikodemus Siivola
fix source information for functions from EVAL
* Removed the breathtaking (NAMED-LAMBDA (EVAL (DEFUN FOO)) ...) hack, which
Replace it with *SOURCE-FORM-CONTEXT-ALIST*, which allows the simple
This also means we no longer have to wrap named-lambdas and lambdas in
* Additionally, use a handler to muffle any compiler notes from EVAL instead
* Change ACTUALLY-COMPILE to return a function signaling an error instead of
* Properly associate COMPILER-ERRORS with their SIGNAL-ERROR restart.
* Adjust debug.impure.lisp to be less dependent on the details of
* Test cases. Pay special attention to TEST-DEBUGGER in debug.impure.lisp.
* New docstring for COMPILE. Added a sneaky teaser about COMPILE being able
[a6a12e] by Nikodemus Siivola
refactor GET-TOPLEVEL-FORM &co between debugger and disassembler
* Merge the implementations in debug.lisp and target-disassembler.lisp.
* Get rid of most of the cacheing.
* Prefer the DEBUG-SOURCE-FORM if it exists: thanks to *SOURCE-NAMESTRING*
[6e60dc] by Nikodemus Siivola
Allow binding it to a symbol, which is resolved when entering the debugger:
This simplifies ERROR, CERROR, BREAK, %BREAK, and makes interrupts more
It also makes (handler-bind ((error #'invoke-debugger)) ...) once again gain
[522a3c] by Nikodemus Siivola
break infinite recursion in GENERATE-SLOTD-TYPECHECK
Compilation of a typecheck can cause class finalization, which in turn can
Given the right sort of dependency graph, this can cause a cycle which needs
Regression from 22.214.171.124, fixed bug 1001799.