From ejohnson at kvpt.org Tue Jun 15 06:03:58 2004 From: ejohnson at kvpt.org (Elliott) Date: Mon, 14 Jun 2004 23:03:58 -0700 Subject: [movitz-devel] The reactions of gc to hard-drive reads Message-ID: <20040615060358.GA11052@home.cvip.net> Hi movitz-devel, I got movtiz/losp/tmp/harddisk.lisp to function phyically here on an old pentium-mmx 166. Hats off to Peter Minten! Here are some timed examples of reads and writes to an old Conner drive: Hard Drive Reads of 62 Sectors: 1) 5968041 cycles ; The first read always takes around 4-5 times the cpu cycles as the others 2) 1713900 cycles 3) 1641908 cycles 4) 1649971 cycles 5) 2291781 cycles Average of first 5 reads: 2,653,121 cycles Hard Drive Writes of 62 Sectors: 1) 1023253 cycles 2) 1315208 cycles 3) 1325826 cycles 4) 1321191 cycles 5) 1324301 cycles Average of first 5 writes: 1,261,956 cycles Unfortunatly I had to reboot a few times to get the fifth read because of a nasty situation that seems gc related. This is the exception here: ";; Handling out-of-memory exception .. Error: Scanning an infant object #x55e23 at #x3eaff (end #x3eb0c)" Other times gc seems to be working just fine, it reports just like this: ";; Handleing out-of-memory exception .. ;; Old space: 255.6 KB, new space: 127.3 KB, freed: 128.3 KB." That situation is almost worse than the above exception, because after a few more read-write-read-write tests the gc starts trying to free memory, which for some reason it can't. I've had moments where the screen goes black and the kernel is unresponsive (I'll look into a "magic sys-Rq" key or something) and other times where it will stream the following down the screen: ";; Handling out-of-memory exception.. ;; Old space: 255.6 KB, new space: 255.6 KB, freed: 0 KB" Of course the memory issue only appears on reads, when data is ingested and reads occupy nearly twice the cpu time as writes. I'm not exactly sure of why that is, but gc could be playing a role. Is this a bug, or does los0's gc just not recognize the accumulation of long vectors from the harddisk as collectable data? Another situation concering gc and the harddisk.lisp file is the length of these vectors. I havn't tested this with writes, because it requires makeing a vector larger than 62 sectors, but when using the command (hd-read-sectors 0 0 63) I get another exception, this one with INIT::CLUMPS which seems to be part of los0-gc.lisp. Here is the exception: "Error: The value of INIT::CLUMPS, #x3f01, is not of type (INTEGER #x0 #x3e80)." Useing (concatenate 'vector * *) after issueing a (hd-read-sectors 0 0 32) to generate a vector of length 64 I still get this error, so it must do with the length of a vector. All of these issues maybe related, but I don't know enough of how los0 functions yet to be sure or know even if they truely are. I've build a few images with the latest from cvs and each has performed the same. I've posted my latest image here at http://ejohnson.ggservers.com/los0-image Please test it out if you can to see if the problem is local to my image or hardware. Thanks guys! -Elliott From ffjeld at common-lisp.net Tue Jun 15 22:54:51 2004 From: ffjeld at common-lisp.net (Frode Vatvedt Fjeld) Date: Wed, 16 Jun 2004 00:54:51 +0200 Subject: [movitz-devel] Re: The reactions of gc to hard-drive reads References: <20040615060358.GA11052@home.cvip.net> Message-ID: <2hoenkbfes.fsf@vserver.cs.uit.no> Elliott writes: > I got movtiz/losp/tmp/harddisk.lisp to function phyically here on an > old pentium-mmx 166. Hats off to Peter Minten! This is really nice to hear. I haven't gotten around to play with harddisk.lisp myelf yet. > ";; Handling out-of-memory exception .. > Error: Scanning an infant object #x55e23 at #x3eaff (end #x3eb0c)" This problem I believe I've identified and fixed. If I haven't checked it in already (don't remember), I?ll do it tomorrow (I'm slightly wasted at the moment). > ";; Handling out-of-memory exception.. ;; Old space: 255.6 KB, new > space: 255.6 KB, freed: 0 KB" There's a 256 KB heap limitation in los0 (i.e. los0-gc) currently that's probably the root of this (actually the "freed: 0 KB" part is a clear indication that somethign isn't working well, as the GC wasn't able to free anything). You want to stay well below this limit, right now. I'm in the process of re-designing some of the low-level structures that are the source of this problem, though. Hopefully it'll be fixed shortly. > Another situation concering gc and the harddisk.lisp file is the > length of these vectors. I havn't tested this with writes, because > it requires makeing a vector larger than 62 sectors, but when using > the command (hd-read-sectors 0 0 63) I get another exception, this > one with INIT::CLUMPS which seems to be part of los0-gc.lisp. Here > is the exception: > > "Error: The value of INIT::CLUMPS, #x3f01, is not of type (INTEGER > #x0 #x3e80)." When you get errors like this, try to get a backtrace (using the function muerte:backtrace or the top-level :bt, and report the output. If ":bt" fails for one reason or another, try ":bt :spartant t", which will print each stack-frame's argument more safely. Specifically, that error is due to my assuming that one won't want to allocate 16000 clumps (one clump is equal to two words, or eight bytes, so 63 sectors is just above this limit, see los0-gc.lisp) in one go. This limitation is probably too small for serious work, but for simple experimentation it might be ok.. or not? So fix los0-gc. Thanks Elliott for the reports! -- Frode Vatvedt Fjeld From ejohnson at kvpt.org Fri Jun 18 06:19:38 2004 From: ejohnson at kvpt.org (Elliott) Date: Thu, 17 Jun 2004 23:19:38 -0700 Subject: [movitz-devel] Re: The reactions of gc to hard-drive reads In-Reply-To: <2hoenkbfes.fsf@vserver.cs.uit.no> References: <20040615060358.GA11052@home.cvip.net> <2hoenkbfes.fsf@vserver.cs.uit.no> Message-ID: <20040618061938.GA12965@home.cvip.net> Hi Frode, Yeah its been fun looking at that file and testing out reads and writes :) Peter and I were talking and he's shown me a few tricks to help with consolidating code. If your interested I made a practice file I can send to you. It adds a few more registers and instances of controllers 1, 2, and 3. I'll need to hook up my pci-ide controller to test #2. I do have a few issues that might interest you with testing reads to controllers 0 and 1. I've taken your advice below. > When you get errors like this, try to get a backtrace (using the > function muerte:backtrace or the top-level :bt, and report the output. On writes to the second drive controller's primary drive [I assume to other drives also I just don't want to risk data] I get an error. I'll show you below, but to kind-of outline the process: I first read a sector from a drive [in this case primary slave] and then try to write that data on to the secondary master. This process erupts into an exception "107": X86-PC.HARDDISK> (hd-read-sectors 1 0 1) using 28 bits addressing #( A full sector ... ) X86-PC.HARDDISK> (hd-write-sectors 2 0 *) using 28 bits addressing Error: Exception occurred: 107, EIP: #x891db, EAX: #x6d, ECX #x1a, ESI #x783be Output of ":bt" <= (MUERTE::INVOKE-DEBUGGER-ON-DESIGNATOR ...) <2 (ERROR ...) <2 {Exception 107 in HD-WRITE-SECTORS at PC offset 891. <= (HD-WRITE-SECTORS #x2 #x0 (#xeb #x48 #x90 ...)) <2 ((:ANONYMOUS-LAMBDA MUERTE::EVAL-FUNCALL #x0) ...) I found losp/muerte/interupt.lisp which handles exceptions, but it seems like this type of exception might be a general case error. I know you have a few of the error message values mapped out, but this there a way to figure out this ones meaning? > Specifically, that error is due to my assuming that one won't want to > allocate 16000 clumps (one clump is equal to two words, or eight > bytes, so 63 sectors is just above this limit, see los0-gc.lisp) in > one go. This limitation is probably too small for serious work, but > for simple experimentation it might be ok.. or not? So fix los0-gc. Yep I poped in there and adjusted the value. Changing 16000 to 65537 on line 192 of los0-gc.lisp allows for 256 sectors to be read or writen. I can now handle 131kb of data to and from disk, plus run out of memory a lot faster. :) I'll if I can raise the amount of memory seen by los0 Do you mind if I submit some trivial fixes to files that give warnings during compilation? I've seen a few mentions of function referances and things that can be cleaned up. -Elliott From ffjeld at common-lisp.net Fri Jun 18 06:34:43 2004 From: ffjeld at common-lisp.net (Frode Vatvedt Fjeld) Date: Fri, 18 Jun 2004 08:34:43 +0200 Subject: [movitz-devel] Re: The reactions of gc to hard-drive reads References: <20040615060358.GA11052@home.cvip.net> <2hoenkbfes.fsf@vserver.cs.uit.no> <20040618061938.GA12965@home.cvip.net> Message-ID: <2h659pbcho.fsf@vserver.cs.uit.no> Elliott writes: > I found losp/muerte/interupt.lisp which handles exceptions, but it > seems like this type of exception might be a general case error. I > know you have a few of the error message values mapped out, but this > there a way to figure out this ones meaning? Not really, except looking at the source/disassembly of the offending function. However, exception 107 I've put in mostly where I need to say "this is not a fixnum!", which is quite a few places. Most likely you've struck upon some operator (such as +) that's compiled without knowledge of bignums. It's on the near-term todo. > Yep I poped in there and adjusted the value. Changing 16000 to > 65537 on line 192 of los0-gc.lisp allows for 256 sectors to be read > or writen. I can now handle 131kb of data to and from disk, plus > run out of memory a lot faster. :) I'll if I can raise the amount of > memory seen by los0 256K is a limit you won't be able to fix very soon. But I'm in the process of fixing this. I'll be away on holiday over this weekend, though. > Do you mind if I submit some trivial fixes to files that give > warnings during compilation? I've seen a few mentions of function > referances and things that can be cleaned up. I most certainly do not mind code contributions :-) -- Frode Vatvedt Fjeld From ejohnson at kvpt.org Fri Jun 18 08:26:52 2004 From: ejohnson at kvpt.org (Elliott) Date: Fri, 18 Jun 2004 01:26:52 -0700 Subject: [movitz-devel] Aref compilation problem with CMU-cl Message-ID: <20040618082652.GA13235@home.cvip.net> Frode, I guess I'm gonna make you work for that vacation time :) I grabbed the latest from CVS and ran into some trouble with AREF. It has a problem with an etypecase keyform. I have trouble following it, but it seems to be at line 248 of movitz/losp/muerte/arrays.lisp (() () '(:sub-program (unknown) (:int 100))) Here is the error I get: ('UNKNOWN) fell through ETYPECASE expression. Wanted one of (IA-X86:INSTRUCTION IA-X86::INLINE-DATA IA-X86::ALIGNMENT SYMBOL). [Condition of type CONDITIONS::CASE-FAILURE] Heres the first couple of backtrace lines: 0: (IA-X86::PROGLIST-ENCODE-INTERNAL (# # # MUERTE::NOT-VECTOR # ...) #S(IA-X86::ASSEMBLE-ENV :SYMTAB (# # #) :CURRENT-PC 88) ( ) (#C(16733702 3) #C(9138941 3) #C(9131614 3) #C(9127486 3) #C(9133556 3) ...) ...) 1: (IA-X86::PROGLIST-ENCODE-INTERNAL (# # # # # ...) #S(IA-X86::ASSEMBLE-ENV :SYMTAB (#) :CURRENT-PC 47) ( ) (#C(29979 2) #C(16171779 3) #C(29967 2) #C(8452386 3) #C(9128186 3) ...) ...) -Elliott From jjorgens at 2gn.com Sun Jun 20 00:33:17 2004 From: jjorgens at 2gn.com (jjorgens at 2gn.com) Date: Sat, 19 Jun 2004 20:33:17 -0400 Subject: [movitz-devel] Error running movitz::create-image under sbcl Message-ID: <20040620003317.GA19640@2gn.com> First, this is a really neat project. I can get the pre-packaged los0.img to load up in bochs and it's fun to play with. Wanting to track development a little closer, I tried to create an image in sbcl (sbcl 0.8.10 and CVS versions). The commands I'm using are; (load "load") (setq movitz::*compiler-compile-eval-whens* nil movitz::*compiler-compile-macro-expanders* nil) (movitz::create-image) and I get the following error message and backtrace. Am I doing something wrong or is this a bug or is more info needed? ---Begin error message--- While Movitz compiling MEMCOPY in losp/muerte/memref.lisp: The bounding indices 0 and 15 are bad for a sequence of length 14. [Condition of type SB-KERNEL:BOUNDING-INDICES-BAD-ERROR] Restarts: 0: [RETRY-FUNOBJ] Retry compilation of MUERTE:MEMCOPY. 1: [SKIP-TOPLEVEL-FORM] Skip the compilation of top-level form DEFUN. 2: [RETRY] Restart Movitz compilation of "losp/muerte/memref.lisp". 3: [CONTINUE] Skip Movitz compilation of "losp/muerte/memref.lisp". 4: [SKIP-TOPLEVEL-FORM] Skip the compilation of top-level form REQUIRE. 5: [RETRY] Restart Movitz compilation of "losp/muerte/common-lisp.lisp". 6: [CONTINUE] Skip Movitz compilation of "losp/muerte/common-lisp.lisp". 7: [SKIP-TOPLEVEL-FORM] Skip the compilation of top-level form REQUIRE. 8: [RETRY] Restart Movitz compilation of "losp/common-lisp.lisp". 9: [CONTINUE] Skip Movitz compilation of "losp/common-lisp.lisp". 10: [SKIP-TOPLEVEL-FORM] Skip the compilation of top-level form REQUIRE. 11: [RETRY] Restart Movitz compilation of #P"losp/los0.lisp". 12: [CONTINUE] Skip Movitz compilation of #P"losp/los0.lisp". 13: [ABORT] Abort handling SLIME request. 14: [ABORT] Reduce debugger level (leaving debugger, returning to toplevel). 15: [TOPLEVEL] Restart at toplevel READ/EVAL/PRINT loop. Backtrace: 0: (SB-IMPL::SIGNAL-BOUNDING-INDICES-BAD-ERROR 3 ((:INIT-LEXVAR #1=# :INIT-WITH-REGISTER :EBX :INIT-WITH-TYPE T) (:LOAD-LEXICAL #2=# :EAX) (:LOAD-CONSTANT :UNSIGNED-BYTE8 :EAX . #3=(:OP :CMPL)) (:JE (QUOTE (:SUB-PROGRAM (#4=#:|case-then-61575|) (:LOAD-LEXICAL # :EDX) (:LOAD-LEXICAL # :ECX) (:ADDL :EDX :ECX) (:LOAD-LEXICAL # :EAX) (:SARL 2 :ECX) (:ADDL :ECX :EAX) (:LOAD-LEXICAL # :ECX) (:ADDL :EDX :ECX) (:LOAD-LEXICAL #1# :EBX) (:SARL 2 :ECX) (:ADDL :ECX :EBX) (:LOAD-LEXICAL # :ECX) (:SHRL 2 :ECX) (:JZ (MUERTE.COMMON-LISP:QUOTE MUERTE::DONE)) (:DECL :EAX) (:DECL :EBX) MUERTE.COMMON-LISP:LOOP (:MOVB (:EBX :ECX) :DL) (:MOVB :DL (:EAX :ECX)) (:DECL :ECX) (:JNZ (MUERTE.COMMON-LISP:QUOTE MUERTE.COMMON-LISP:LOOP)) MUERTE::DONE (:MOVL :EDI :EAX) (:CLC) (:JMP (QUOTE #5=#:|case-exit-61574|))))) (:LOAD-CONSTANT :CHARACTER :EAX . #3#) (:JE (QUOTE #4#)) (:LOAD-LEXICAL # #))) {C2C2E49}> :PUSH) (:LOAD-LEXICAL #2# :EBX) (:LOAD-LEXICAL # {CC75B69}>) {C2C2F81}> :EAX :PROTECT-REGISTERS (:EBX)) (:LOAD-CONSTANT # :EDX) (:MOVL (:EDX -3) :ESI) (:CALL (:ESI 10)) #5# #:|exit-block-MEMCOPY-61571|) 0 15)[:EXTERNAL] 1: (SB-KERNEL:%FIND-POSITION-IF 6 # ((:INIT-LEXVAR #1=# :INIT-WITH-REGISTER :EBX :INIT-WITH-TYPE T) (:LOAD-LEXICAL #2=# :EAX) (:LOAD-CONSTANT :UNSIGNED-BYTE8 :EAX . #3=(:OP :CMPL)) (:JE (QUOTE (:SUB-PROGRAM (#4=#:|case-then-61575|) (:LOAD-LEXICAL # :EDX) (:LOAD-LEXICAL # :ECX) (:ADDL :EDX :ECX) (:LOAD-LEXICAL # :EAX) (:SARL 2 :ECX) (:ADDL :ECX :EAX) (:LOAD-LEXICAL # :ECX) (:ADDL :EDX :ECX) (:LOAD-LEXICAL #1# :EBX) (:SARL 2 :ECX) (:ADDL :ECX :EBX) (:LOAD-LEXICAL # :ECX) (:SHRL 2 :ECX) (:JZ (MUERTE.COMMON-LISP:QUOTE MUERTE::DONE)) (:DECL :EAX) (:DECL :EBX) MUERTE.COMMON-LISP:LOOP (:MOVB (:EBX :ECX) :DL) (:MOVB :DL (:EAX :ECX)) (:DECL :ECX) (:JNZ (MUERTE.COMMON-LISP:QUOTE MUERTE.COMMON-LISP:LOOP)) MUERTE::DONE (:MOVL :EDI :EAX) (:CLC) (:JMP (QUOTE #5=#:|case-exit-61574|))))) (:LOAD-CONSTANT :CHARACTER :EAX . #3#) (:JE (QUOTE #4#)) (:LOAD-LEXICAL # #))) {C2C2E49}> :PUSH) (:LOAD-LEXICAL #2# :EBX) (:LOAD-LEXICAL # {CC75B69}>) {C2C2F81}> :EAX :PROTECT-REGISTERS (:EBX)) (:LOAD-CONSTANT # :EDX) (:MOVL (:EDX -3) :ESI) (:CALL (:ESI 10)) #5# #:|exit-block-MEMCOPY-61571|) NIL 0 15 #)[:EXTERNAL] 2: (MOVITZ::TRY-LOCATE-IN-REGISTER # # # ((# . :ARGUMENT-STACK) (# . :ARGUMENT-STACK) (# . :ARGUMENT-STACK) (# . :ARGUMENT-STACK) (# . :ARGUMENT-STACK))) 3: ("LABELS MOVITZ::ASSIGN-ENV-BINDINGS" #) 4: ("hairy arg processor for MOVITZ::ASSIGN-BINDINGS" ((:INIT-LEXVAR #1=# :INIT-WITH-REGISTER :EAX :INIT-WITH-TYPE T) (:INIT-LEXVAR #2=# :INIT-WITH-REGISTER :EBX :INIT-WITH-TYPE T) (:LOAD-LEXICAL #3=# :EAX) (:LOAD-CONSTANT :UNSIGNED-BYTE8 :EAX . #4=(:OP :CMPL)) (:JE (QUOTE (:SUB-PROGRAM (#5=#:|case-then-61575|) (:LOAD-LEXICAL # :EDX) (:LOAD-LEXICAL # :ECX) (:ADDL :EDX :ECX) (:LOAD-LEXICAL #1# :EAX) (:SARL 2 :ECX) (:ADDL :ECX :EAX) (:LOAD-LEXICAL # :ECX) (:ADDL :EDX :ECX) (:LOAD-LEXICAL #2# :EBX) (:SARL 2 :ECX) (:ADDL :ECX :EBX) (:LOAD-LEXICAL # :ECX) (:SHRL 2 :ECX) (:JZ (MUERTE.COMMON-LISP:QUOTE MUERTE::DONE)) (:DECL :EAX) (:DECL :EBX) MUERTE.COMMON-LISP:LOOP (:MOVB (:EBX :ECX) :DL) (:MOVB :DL (:EAX :ECX)) (:DECL :ECX) (:JNZ (MUERTE.COMMON-LISP:QUOTE MUERTE.COMMON-LISP:LOOP)) MUERTE::DONE (:MOVL :EDI :EAX) (:CLC) (:JMP (QUOTE #6=#:|case-exit-61574|))))) (:LOAD-CONSTANT :CHARACTER :EAX . #4#) (:JE (QUOTE #5#)) (:LOAD-LEXICAL # #))) {C2C2E49}> :PUSH) (:LOAD-LEXICAL #3# :EBX) (:LOAD-LEXICAL # {CC75B69}>) {C2C2F81}> :EAX :PROTECT-REGISTERS (:EBX)) (:LOAD-CONSTANT # :EDX) (:MOVL (:EDX -3) :ESI) (:CALL (:ESI 10)) #6# #:|exit-block-MEMCOPY-61571|) # 1 #) 5: (MOVITZ::LAYOUT-STACK-FRAMES #) 6: (MOVITZ::MAKE-COMPILED-FUNOBJ-PASS2 #) 7: ("varargs entry for MOVITZ::MAKE-COMPILED-FUNOBJ" MUERTE:MEMCOPY (MUERTE::OBJECT-1 MUERTE::OBJECT-2 MUERTE::OFFSET MUERTE::INDEX-1 MUERTE::INDEX-2 MUERTE.COMMON-LISP:COUNT MUERTE.COMMON-LISP:TYPE) NIL (MUERTE.COMMON-LISP:BLOCK MUERTE:MEMCOPY (MUERTE.COMMON-LISP:ECASE MUERTE.COMMON-LISP:TYPE ((:UNSIGNED-BYTE8 :CHARACTER) (MUERTE:WITH-INLINE-ASSEMBLY (:RETURNS :NOTHING) (:COMPILE-FORM (:RESULT-MODE :EDX) MUERTE::OFFSET) (:COMPILE-FORM (:RESULT-MODE :ECX) MUERTE::INDEX-1) (:ADDL :EDX :ECX) (:COMPILE-FORM (:RESULT-MODE :EAX) MUERTE::OBJECT-1) (:SARL 2 :ECX) (:ADDL :ECX :EAX) (:COMPILE-FORM (:RESULT-MODE :ECX) MUERTE::INDEX-2) (:ADDL :EDX :ECX) (:COMPILE-FORM (:RESULT-MODE :EBX) MUERTE::OBJECT-2) (:SARL 2 :ECX) (:ADDL :ECX :EBX) (:COMPILE-FORM (:RESULT-MODE :ECX) MUERTE.COMMON-LISP:COUNT) (:SHRL 2 :ECX) (:JZ (MUERTE.COMMON-LISP:QUOTE MUERTE::DONE)) (:DECL :EAX) (:DECL :EBX) MUERTE.COMMON-LISP:LOOP (:MOVB (:EBX :ECX) :DL) (:MOVB :DL (:EAX :ECX)) (:DECL :ECX) (:JNZ (MUERTE.COMMON-LISP:QUOTE MUERTE.COMMON-LISP:LOOP)) MUERTE::DONE)))) # NIL :FUNOBJ NIL) 8: (MOVITZ::SPECIAL-OPERATOR-MAKE-NAMED-FUNCTION (MUERTE:MAKE-NAMED-FUNCTION MUERTE:MEMCOPY (MUERTE::OBJECT-1 MUERTE::OBJECT-2 MUERTE::OFFSET MUERTE::INDEX-1 MUERTE::INDEX-2 MUERTE.COMMON-LISP:COUNT MUERTE.COMMON-LISP:TYPE) NIL NIL (MUERTE.COMMON-LISP:BLOCK MUERTE:MEMCOPY (MUERTE.COMMON-LISP:ECASE MUERTE.COMMON-LISP:TYPE ((:UNSIGNED-BYTE8 :CHARACTER) (MUERTE:WITH-INLINE-ASSEMBLY (:RETURNS :NOTHING) (:COMPILE-FORM (:RESULT-MODE :EDX) MUERTE::OFFSET) (:COMPILE-FORM (:RESULT-MODE :ECX) MUERTE::INDEX-1) (:ADDL :EDX :ECX) (:COMPILE-FORM (:RESULT-MODE :EAX) MUERTE::OBJECT-1) (:SARL 2 :ECX) (:ADDL :ECX :EAX) (:COMPILE-FORM (:RESULT-MODE :ECX) MUERTE::INDEX-2) (:ADDL :EDX :ECX) (:COMPILE-FORM (:RESULT-MODE :EBX) MUERTE::OBJECT-2) (:SARL 2 :ECX) (:ADDL :ECX :EBX) (:COMPILE-FORM (:RESULT-MODE :ECX) MUERTE.COMMON-LISP:COUNT) (:SHRL 2 :ECX) (:JZ (MUERTE.COMMON-LISP:QUOTE MUERTE::DONE)) (:DECL :EAX) (:DECL :EBX) MUERTE.COMMON-LISP:LOOP (:MOVB (:EBX :ECX) :DL) (:MOVB :DL (:EAX :ECX)) (:DECL :ECX) (:JNZ (MUERTE.COMMON-LISP:QUOTE MUERTE.COMMON-LISP:LOOP)) MUERTE::DONE))))) # # # #) 9: (MOVITZ::COMPILE-FORM (MUERTE:MAKE-NAMED-FUNCTION MUERTE:MEMCOPY (MUERTE::OBJECT-1 MUERTE::OBJECT-2 MUERTE::OFFSET MUERTE::INDEX-1 MUERTE::INDEX-2 MUERTE.COMMON-LISP:COUNT MUERTE.COMMON-LISP:TYPE) NIL NIL (MUERTE.COMMON-LISP:BLOCK MUERTE:MEMCOPY (MUERTE.COMMON-LISP:ECASE MUERTE.COMMON-LISP:TYPE ((:UNSIGNED-BYTE8 :CHARACTER) (MUERTE:WITH-INLINE-ASSEMBLY (:RETURNS :NOTHING) (:COMPILE-FORM (:RESULT-MODE :EDX) MUERTE::OFFSET) (:COMPILE-FORM (:RESULT-MODE :ECX) MUERTE::INDEX-1) (:ADDL :EDX :ECX) (:COMPILE-FORM (:RESULT-MODE :EAX) MUERTE::OBJECT-1) (:SARL 2 :ECX) (:ADDL :ECX :EAX) (:COMPILE-FORM (:RESULT-MODE :ECX) MUERTE::INDEX-2) (:ADDL :EDX :ECX) (:COMPILE-FORM (:RESULT-MODE :EBX) MUERTE::OBJECT-2) (:SARL 2 :ECX) (:ADDL :ECX :EBX) (:COMPILE-FORM (:RESULT-MODE :ECX) MUERTE.COMMON-LISP:COUNT) (:SHRL 2 :ECX) (:JZ (MUERTE.COMMON-LISP:QUOTE MUERTE::DONE)) (:DECL :EAX) (:DECL :EBX) MUERTE.COMMON-LISP:LOOP (:MOVB (:EBX :ECX) :DL) (:MOVB :DL (:EAX :ECX)) (:DECL :ECX) (:JNZ (MUERTE.COMMON-LISP:QUOTE MUERTE.COMMON-LISP:LOOP)) MUERTE::DONE))))) # # T :IGNORE) 10: (MOVITZ::COMPILE-IMPLICIT-PROGN # # # T :IGNORE) 11: (MOVITZ::COMPILE-FORM (MUERTE.COMMON-LISP:DEFUN MUERTE:MEMCOPY (MUERTE::OBJECT-1 MUERTE::OBJECT-2 MUERTE::OFFSET MUERTE::INDEX-1 MUERTE::INDEX-2 MUERTE.COMMON-LISP:COUNT MUERTE.COMMON-LISP:TYPE) (MUERTE.COMMON-LISP:ECASE MUERTE.COMMON-LISP:TYPE ((:UNSIGNED-BYTE8 :CHARACTER) (MUERTE:WITH-INLINE-ASSEMBLY (:RETURNS :NOTHING) (:COMPILE-FORM (:RESULT-MODE :EDX) MUERTE::OFFSET) (:COMPILE-FORM (:RESULT-MODE :ECX) MUERTE::INDEX-1) (:ADDL :EDX :ECX) (:COMPILE-FORM (:RESULT-MODE :EAX) MUERTE::OBJECT-1) (:SARL 2 :ECX) (:ADDL :ECX :EAX) (:COMPILE-FORM (:RESULT-MODE :ECX) MUERTE::INDEX-2) (:ADDL :EDX :ECX) (:COMPILE-FORM (:RESULT-MODE :EBX) MUERTE::OBJECT-2) (:SARL 2 :ECX) (:ADDL :ECX :EBX) (:COMPILE-FORM (:RESULT-MODE :ECX) MUERTE.COMMON-LISP:COUNT) (:SHRL 2 :ECX) (:JZ (QUOTE MUERTE::DONE)) (:DECL :EAX) (:DECL :EBX) MUERTE.COMMON-LISP:LOOP (:MOVB (:EBX :ECX) :DL) (:MOVB :DL (:EAX :ECX)) (:DECL :ECX) (:JNZ (QUOTE MUERTE.COMMON-LISP:LOOP)) MUERTE::DONE)))) # # T :IGNORE) 12: ("#'(LAMBDA NIL (MOVITZ::ADD-BINDINGS-FROM-LAMBDA-LIST NIL MOVITZ::FUNCTION-ENV) ...)") 13: (SB-C::%WITH-COMPILATION-UNIT 1 #)[:EXTERNAL] 14: ("hairy arg processor for MOVITZ::MOVITZ-COMPILE-FILE-INTERNAL" "losp/muerte/memref.lisp" 3) 15: (MOVITZ::SPECIAL-OPERATOR-REQUIRE (MUERTE.COMMON-LISP:REQUIRE :MUERTE/MEMREF) # # # #) 16: (MOVITZ::COMPILE-FORM (MUERTE.COMMON-LISP:REQUIRE :MUERTE/MEMREF) # # T :IGNORE) 17: ("#'(LAMBDA NIL (MOVITZ::ADD-BINDINGS-FROM-LAMBDA-LIST NIL MOVITZ::FUNCTION-ENV) ...)") 18: (SB-C::%WITH-COMPILATION-UNIT 1 #)[:EXTERNAL] 19: ("hairy arg processor for MOVITZ::MOVITZ-COMPILE-FILE-INTERNAL" "losp/muerte/common-lisp.lisp" 2) 20: (MOVITZ::SPECIAL-OPERATOR-REQUIRE (MUERTE.COMMON-LISP:REQUIRE :MUERTE/COMMON-LISP) # # # #) 21: (MOVITZ::COMPILE-FORM (MUERTE.COMMON-LISP:REQUIRE :MUERTE/COMMON-LISP) # # T :IGNORE) 22: ("#'(LAMBDA NIL (MOVITZ::ADD-BINDINGS-FROM-LAMBDA-LIST NIL MOVITZ::FUNCTION-ENV) ...)") 23: (SB-C::%WITH-COMPILATION-UNIT 1 #)[:EXTERNAL] 24: ("hairy arg processor for MOVITZ::MOVITZ-COMPILE-FILE-INTERNAL" "losp/common-lisp.lisp" 1) 25: (MOVITZ::SPECIAL-OPERATOR-REQUIRE (MUERTE.COMMON-LISP:REQUIRE :COMMON-LISP) # # # #) 26: (MOVITZ::COMPILE-FORM (MUERTE.COMMON-LISP:REQUIRE :COMMON-LISP) # # T :IGNORE) 27: ("#'(LAMBDA NIL (MOVITZ::ADD-BINDINGS-FROM-LAMBDA-LIST NIL MOVITZ::FUNCTION-ENV) ...)") 28: (SB-C::%WITH-COMPILATION-UNIT 1 #)[:EXTERNAL] 29: ("hairy arg processor for MOVITZ::MOVITZ-COMPILE-FILE-INTERNAL" #P"losp/los0.lisp" NIL) 30: ("varargs entry for MOVITZ:MOVITZ-COMPILE-FILE" #P"losp/los0.lisp" :IMAGE NIL :LOAD-PRIORITY NIL :DELETE-FILE-P NIL) 31: ("varargs entry for MOVITZ:CREATE-IMAGE" :INIT-FILE NIL :START-ADDRESS 1048576) 32: (SB-INT:EVAL-IN-LEXENV 2 (MOVITZ:CREATE-IMAGE) #S(SB-KERNEL:LEXENV :FUNS NIL :VARS NIL :BLOCKS NIL :TAGS NIL :TYPE-RESTRICTIONS NIL :LAMBDA NIL :CLEANUP NIL :HANDLED-CONDITIONS NIL :POLICY ((SPEED . 1) (SPACE . 1) (SAFETY . 1) (INHIBIT-WARNINGS . 1) (DEBUG . 1) (COMPILATION-SPEED . 1))))[:EXTERNAL] 33: ("hairy arg processor for SWANK::EVAL-REGION" "(movitz::create-image)" T) 34: ("#'(LAMBDA NIL (MULTIPLE-VALUE-BIND # # ...))") 35: ((SWANK-BACKEND:CALL-WITH-SYNTAX-HOOKS (T)) # # #) 36: (SWANK:LISTENER-EVAL "(movitz::create-image)") 37: (SB-INT:EVAL-IN-LEXENV 2 (SWANK:LISTENER-EVAL "(movitz::create-image)") #S(SB-KERNEL:LEXENV :FUNS NIL :VARS NIL :BLOCKS NIL :TAGS NIL :TYPE-RESTRICTIONS NIL :LAMBDA NIL :CLEANUP NIL :HANDLED-CONDITIONS NIL :POLICY ((SPEED . 1) (SPACE . 1) (SAFETY . 1) (INHIBIT-WARNINGS . 1) (DEBUG . 1) (COMPILATION-SPEED . 1))))[:EXTERNAL] 38: (SWANK::EVAL-FOR-EMACS (SWANK:LISTENER-EVAL "(movitz::create-image)") "CL-USER" 11) 39: ("#'(LAMBDA NIL (LET # #))") 40: (SWANK::CALL-WITH-REDIRECTED-IO #S(SWANK::CONNECTION :SOCKET-IO # :DEDICATED-OUTPUT #2=# :USER-INPUT #3=# :USER-OUTPUT #2# :USER-IO # :CONTROL-THREAD NIL :READER-THREAD NIL :REPL-THREAD NIL :READ # :SEND # :SERVE-REQUESTS # :CLEANUP # :INDENTATION-CACHE # :INDENTATION-CACHE-PACKAGES (# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #)) #) 41: (SWANK::HANDLE-REQUEST #S(SWANK::CONNECTION :SOCKET-IO # :DEDICATED-OUTPUT #2=# :USER-INPUT #3=# :USER-OUTPUT #2# :USER-IO # :CONTROL-THREAD NIL :READER-THREAD NIL :REPL-THREAD NIL :READ # :SEND # :SERVE-REQUESTS # :CLEANUP # :INDENTATION-CACHE # :INDENTATION-CACHE-PACKAGES (# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #))) 42: (SWANK::PROCESS-AVAILABLE-INPUT # #) 43: ("FLET SWANK::HANDLER") 44: (SWANK-BACKEND::SIGIO-HANDLER # # #) 45: ("#'(LAMBDA (SIGNAL SWANK-BACKEND::CODE SWANK-BACKEND::SCP) (SWANK-BACKEND::SIGIO-HANDLER SIGNAL SWANK-BACKEND::CODE ...))" 29 #.(SB-SYS:INT-SAP #X402205E0) #.(SB-SYS:INT-SAP #X40220660)) 46: ("foreign function call land: ra=#x8055D31") 47: ("foreign function call land: ra=#x8055C12") 48: ("foreign function call land: ra=#x8050907") 49: ("foreign function call land: ra=#x80523DB") 50: ("foreign function call land: ra=#xFFFFE440") 51: ("hairy arg processor for top level local call SB!SYS:WAIT-UNTIL-FD-USABLE" 0 :INPUT NIL) 52: (SB-IMPL::FROB-INPUT 1 #)[:EXTERNAL] 53: (SB-IMPL::INPUT-CHARACTER 3 # NIL #:EOF-OBJECT)[:EXTERNAL] 54: ("hairy arg processor for top level local call READ-CHAR" # NIL #:EOF-OBJECT #) 55: ("hairy arg processor for top level local call READ-CHAR" # NIL #:EOF-OBJECT #) 56: ("hairy arg processor for top level local call READ-PRESERVING-WHITESPACE" # NIL (NIL) T) 57: ("hairy arg processor for top level local call READ-PRESERVING-WHITESPACE" # NIL (NIL) NIL) 58: ("hairy arg processor for top level local call READ" # NIL (NIL) NIL) 59: (SB-IMPL::REPL-READ-FORM-FUN 2 # #)[:EXTERNAL] 60: (SB-IMPL::REPL-FUN 1 NIL)[:EXTERNAL] 61: ("#'(LAMBDA NIL (LOOP # #))") 62: ("XEP for #'(LAMBDA NIL (LOOP # #))" 0)[:EXTERNAL] 63: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX 1 #)[:EXTERNAL] 64: (SB-IMPL::TOPLEVEL-REPL 1 NIL)[:EXTERNAL] 65: (SB-IMPL::TOPLEVEL-INIT 0)[:EXTERNAL] 66: ("FLET SB!IMPL::RESTART-LISP") ---end error message--- I'm going to try cmucl next to see if I have better luck. J* From ffjeld at common-lisp.net Mon Jun 21 07:36:50 2004 From: ffjeld at common-lisp.net (Frode Vatvedt Fjeld) Date: Mon, 21 Jun 2004 09:36:50 +0200 Subject: [movitz-devel] Re: Aref compilation problem with CMU-cl References: <20040618082652.GA13235@home.cvip.net> Message-ID: <2hy8mh9xbh.fsf@vserver.cs.uit.no> Elliott writes: > Here is the error I get: > > ('UNKNOWN) fell through ETYPECASE expression. > Wanted one of (IA-X86:INSTRUCTION IA-X86::INLINE-DATA IA-X86::ALIGNMENT SYMBOL). > [Condition of type CONDITIONS::CASE-FAILURE] I've just checked in some files in ia-x86, and specifically the change to ia-x86/read.lisp I'm hoping will fix this problem. -- Frode Vatvedt Fjeld @Roskilde From ffjeld at common-lisp.net Mon Jun 21 07:41:06 2004 From: ffjeld at common-lisp.net (Frode Vatvedt Fjeld) Date: Mon, 21 Jun 2004 09:41:06 +0200 Subject: [movitz-devel] Re: Error running movitz::create-image under sbcl References: <20040620003317.GA19640@2gn.com> Message-ID: <2hu0x59x4d.fsf@vserver.cs.uit.no> Hi, jjorgens at 2gn.com writes: > and I get the following error message and backtrace. Am I doing > something wrong or is this a bug or is more info needed? It's a case of SBCL's overly restrictive checking of sequence index parameters. I'll try to have a fix checked in shortly. -- Frode Vatvedt Fjeld From jjorgens at 2gn.com Mon Jun 21 23:02:22 2004 From: jjorgens at 2gn.com (jjorgens at 2gn.com) Date: Mon, 21 Jun 2004 19:02:22 -0400 Subject: [movitz-devel] Re: Error running movitz::create-image under sbcl In-Reply-To: <2hu0x59x4d.fsf@vserver.cs.uit.no> References: <20040620003317.GA19640@2gn.com> <2hu0x59x4d.fsf@vserver.cs.uit.no> Message-ID: <20040621230222.GA25485@2gn.com> Your recent checkin fixed the problem for sbcl. I also successfully completed an image under cmucl 18e as well. I'll go play around with my new images now. Thanks. J* On Mon, Jun 21, 2004 at 09:41:06AM +0200, Frode Vatvedt Fjeld wrote: > Hi, > > jjorgens at 2gn.com writes: > > > and I get the following error message and backtrace. Am I doing > > something wrong or is this a bug or is more info needed? > > It's a case of SBCL's overly restrictive checking of sequence index > parameters. I'll try to have a fix checked in shortly. > > -- > Frode Vatvedt Fjeld > > > _______________________________________________ > movitz-devel site list > movitz-devel at common-lisp.net > http://common-lisp.net/mailman/listinfo/movitz-devel From ejohnson at kvpt.org Tue Jun 22 22:42:08 2004 From: ejohnson at kvpt.org (Elliott) Date: Tue, 22 Jun 2004 15:42:08 -0700 Subject: [movitz-devel] Re: Aref compilation problem with CMU-cl In-Reply-To: <2hy8mh9xbh.fsf@vserver.cs.uit.no> References: <20040618082652.GA13235@home.cvip.net> <2hy8mh9xbh.fsf@vserver.cs.uit.no> Message-ID: <20040622224208.GC30108@home.cvip.net> They did the trick! Thanks a lot Frode :D