From: William H. N. <wil...@ai...> - 2001-04-04 15:26:19
|
On Wed, Apr 04, 2001 at 01:11:04AM +0200, Martin Atzmueller wrote: > attached is a patch that should fix Bug#87, such that byte-compilation > by a declaration (OPTIMIZE (SPEED 0)) works. OK, thank you. I've done nothing with SBCL for about a week, but I should be able to get back again now, so this and various other accumulated fixes (from sbcl-devel and also from cmucl-imp) should go in soon. > I've experimented with byte-compilation during the build-stage, in order > to make the system smaller: > As far as I got, byte-compilation did not work in cold-init, and even > in warm init I got some warning when compiling code/describe.lisp, so > that failed, too. > The BUGS file mentions some previous efforts in that direction. > So, is this a fundamental problem of SBCL in the general build process? > > I'd really appreciate any pointers/opinions on this. The byte interpreter needs some initialization before it can execute byte code. E.g. the byte interpreter uses the *EVAL-STACK* and *EVAL-STACK-TOP*, so those will have to be initialized. I think it's likely to be pretty easy to make the byte interpreter work at cold init time. Perhaps all that's required is to define a !BYTE-INTERP-COLD-INIT function which initializes *EVAL-STACK* and whatnot, and arrange for it to be called late in the sequence of !FOO-COLD-INIT calls in cold-init.lisp (after the functions which initialize the type system, since !BYTE-INTERP-COLD-INIT will presumably need to call MAKE-ARRAY). It's possible that there could be other problems. E.g. the byte interpreted implementation of some operation might cause a lot more consing than the native code implementation, which could be a problem when executing code at cold init before the garbage collector is initialized (at the end of the !COLD-INIT function). But I'm not aware of any such problems. My plan was to do that in sbcl-0.7.X, probably for some relatively small value of X. But if you'd like to submit patches to do it, I can integrate them now. -- William Harold Newman <wil...@ai...> software consultant PGP key fingerprint 85 CE 1C BA 79 8D 51 8C B9 25 FB EE E0 C3 E5 7C |