The argument to IN-PACKAGE is a string designator; stringify it early in case it's a symbol interned in a package which no longer exists at FASL load time. (Thanks to Zach Beane)
Micro-optimization of BOUNDP for x86 and x86-64 (#-sb-thread only).
Be sure to place a constant arg second when dealing with EQL.
install.sh on win32 - installs under c:/Program Files/sbcl, or wherever your Windows installation believes programs should go - need to set SBCL_HOME accordingly (e.g. to "c:/Program Files/sbcl/lib/sbcl") to run it
MIPS alien callbacks.
Fix syntax for fails-on tag, add :mips, which fails as well.
Get rid of the PCL method-lambda macrolets completely (see also 0.9.12.6). * Replace PV-ENV with a global macro that switches its behaviour based on the environment where it's expanded. * The macrolets created by BIND-*-LEXICAL-METHOD-MACROS were only used by BIND-LEXICAL-METHOD-FUNCTIONS. Merge them into a BIND-*-LEXICAL-METHOD-FUNCTIONS without the macrolets. Also remove some dead code in the macros (I'm sure it made sense 15 years ago).
Add a newline, just because.
Fix typos in comment.
Add copyright information header.
Minor code improvement.
Use component address in addition to the debug-name to distinguish functions in SB-SPROF. Call-graphs tended to be pretty useless due to all (LAMBDA ())'s getting clustered into the same profiler node.
Get rid of some low-level hotspots in the compiler: * Use simple-arrays for assembler segment buffers. * Move the checking of policy variable name validity from run-time to compile-time where possible. * In POLICY, don't fetch the values of optimization qualities that aren't used in the body. * When creating debug-names, don't call FORMAT when encountering values of unhandled types. Instead mark them with a suitable s-exp.
Add a simple compiler from some common toplevel forms directly to fasl bytecode operations, instead of going through the real compiler. Shrinks fasls and speeds up COMPILE-FILE and fasl loading.
* Fix bug 401: IR1-transform for TYPEP aborts transformation if invalid type is encountered. NOTE: reapplying changes lost in the sf.net CVS outage
Simplify lui calculation. NOTE: reapplying changes lost in the sf.net CVS outage
Add package specifiers. NOTE: reapplying changes lost in the sf.net CVS outage
Improve code legibility. NOTE: reapplying changes lost in the sf.net CVS outage
Improve code legibility. Minor instruction shceduling improvements. NOTE: reapplying changes lost in the sf.net CVS outage
Mips assembly micro optimisations. NOTE: reapplying changes lost in the sf.net CVS outage
Speed up CLOS compilation. (For example, 45% speedup for compiling asdf.lisp, 30% for compiling McCLIM on x86-64). The code generated by PCL in MAKE-METHOD-LAMBDA has lots of macrolets, which for the most part are never expanded. Modify it to only create the macrolets that are really used in the body, so that the useless local macro-functions don't need to be compiled. You might wonder why this is done in PCL, rather than as a general purpose compiler change by lazily compiling the definitions when they're first expanded. I tried that first, and while it worked, the end result was rather messy. Since users can access the macro-functions through the environment, we need to minimally compile them to be ansixly correct, and we don't really have much useful minimal compilation infrastructure for at the moment. Ensuring that the source of the macro-functions is stored properly, e.g. for (MACROLET ((FOO ...)) (DECLAIM (INLINE BAR)) (DEFUN BAR () (FOO))) is also somewhat tricky.
tweaked whitespace in compiler while hunting unsuccessfully for a quick fix for bug 401 logged bug 401
Make all internals calls to RANDOM use their own random states instead of *RANDOM-STATE*.
Generate source path information for macro-expansion errors (patch by Helmut Eller on slime-devel)
sendto()-support broke SB-BSD-SOCKETS build on Solaris. Add some compiler flags to get the right header versions pulled in.
Bandage over the signal trampoline for sparc/linux. (Builds and builds itself once more -- first time since 0.9.5.50 or so)
Disable (non-working) stack guard page protection on win32 ... No more VirtualProtect error 0x1e7 ... thanks to Alastair Bridgewater and Yaroslav Kavenchuk
More intuitive FINALIZE-INHERITANCE behaviour ... the change for 0.9.11 fixing forward references and TYPEP made finalize-inheritance call itself recursively on subclasses. This broke clg, which is now fixed, but still... ... might as well fix the odd behaviour, and add a test for it.
More upstream asdf fixes ... win32 support; ... more paranoid file-write-date usage
Fix bug reported by Levente Meszaros sbcl-devel 2004-04-19: cache filling with negative offset. ... when precomputing cache contents, don't include classes with invalid wrappers. ... irony of ironies: I'm pretty sure that there's a bug lurking somewhere else in any case, because the problem was being exhibited in the computation of a cache for SLOT-BOUNDP-USING-CLASS, which doesn't (or shouldn't) use a cacheing dfun, but instead has its own specialized dfun which basically calls the boundp function from the slot definition. Hmm... ... comments and minor tidying in cache.lisp
Merge fix from upstream ASDF, keeping (for now) the local win32 modification which should have been sent upstream
* Repair RUN-PROGRAM on Linux.