[Openmcl-devel] BUG: bad regspec in CCL::%HARD-REGSPEC-CLASS (armel)

Gary Byers gb at clozure.com
Mon Nov 21 11:43:27 UTC 2011


Saving the quoted text in a file (with the #\| characters removed) and
compiling that file yields some warnings to the effect that none of
the 4 arguments to DEFINEPIECE is referenced.

The code for PUZZLE in cl-bench:files/gabriel.lisp did provoke the
same error (with a similar looking backtrace), and I'm pretty sure
that the same bug was involved.  It should be fixed (in the trunk)
now.

(A few weeks ago, both the x86 and ARM backends would sometimes try
to put two different values in the same register at the same time.
Now the ARM backend sometimes claims not to have put a value anywhere.
Apparently, that's not quite right either ...)


On Mon, 21 Nov 2011, Eric Marsden wrote:

> Thanks for the fixes in this area. There still seem to be some related
> problems, as the following code (extracted from the Gabriel benchmarks)
> shows.
>
> ,---- puzzle.lisp ---
> | (in-package :cl-user)
> |
> | (eval-when (:compile-toplevel :load-toplevel :execute)
> |   (defconstant +puzzle-size+ 511)
> |   (defconstant +puzzle-typemax+ 12))
> |
> | (defvar *iii* 0)
> | (defvar *puzzle-p* (make-array (list (1+ +puzzle-typemax+) (1+ +puzzle-size+))))
> |
> | (defun definepiece (iclass ii jj kk)
> |   (setf (aref *puzzle-p* *iii* 0) t))
> `----
>
>
> ,----
> | ? (lisp-implementation-version)
> | "Version 1.8-dev-r15084M-trunk  (LinuxARM32)"
> | ? (compile-file "/tmp/puzzle.lisp")
> | > Error: bad regspec: NIL
> | > While executing: CCL::%HARD-REGSPEC-VALUE, in process listener(1).
> | > Type :POP to abort, :R for a list of available restarts.
> | > Type :? for other options.
> | 1 > :b
> |  (40553C08) : 0 (%HARD-REGSPEC-VALUE NIL) 172
> |  (40553C18) : 1 (ARM2-ASET2 #<DLL-HEADER #x548341E6> #<LREG 0 GPR [4]/LISP> 262143 (27 P-ARRAY (84 *PUZZLE-P*)) (84 *III*) (24617 0) (33 BOOLEAN (28748)) 170\
> |  :SIMPLE-VECTOR 13 512) 1844
> |  (40553C28) : 2 (ARM2-FORM #<DLL-HEADER #x548341E6> #<LREG 0 GPR [4]/LISP> 262143 (9345 (24616 :SIMPLE-VECTOR) (27 P-ARRAY #) (84 *III*) (24617 0) ...)) 756
> |  (40553C38) : 3 (FUNCALL #'#<CCL::ARM2-LAMBDA> #<DLL-HEADER #x548341E6> #<LREG 0 GPR [4]/LISP> 262143 (#<VAR ICLASS #x54834B76> #<VAR II #x54834B16> #<VAR JJ\
> |  #x54834AB6> #<VAR KK #x54834A56>) NIL NIL NIL (NIL NIL) (9345 (24616 :SIMPLE-VECTOR) (27 P-ARRAY #) (84 *III*) (24617 0) ...) 2424832 NIL) 4928
> |  (40553C48) : 4 (ARM2-COMPILE #<CCL::AFUNC #x54834C56> NIL T) 1852
> |  (40553DE8) : 5 (COMPILE-NAMED-FUNCTION (LAMBDA (ICLASS II JJ KK) (DECLARE #) (BLOCK DEFINEPIECE #)) :NAME DEFINEPIECE :ENV #<CCL::LEXICAL-ENVIRONMENT #x5483\
> | 4FBE> :POLICY #<COMPILER-POLICY #x5431C976> :LOAD-TIME-EVAL-TOKEN #:LOAD-TIME-EVAL :TARGET :LINUXARM :FUNCTION-NOTE #<SOURCE-NOTE "/tmp/puzzle.lisp":249-323 \
> | "(defun definepiece (iclass ii jj kk) (setf (aref *puzzle-p* *iii* 0) t))"> :KEEP-LAMBDA NIL :KEEP-SYMBOLS T :SOURCE-NOTES #<HASH-TABLE :TEST EQ size 47/60 #\
> | x5483D476> :RECORD-PC-MAPPING T :COMPILE-CODE-COVERAGE NIL) 1224
> |  (40553E08) : 6 (FCOMP-NAMED-FUNCTION (LAMBDA (ICLASS II JJ KK) (DECLARE #) (BLOCK DEFINEPIECE #)) DEFINEPIECE #<CCL::LEXICAL-ENVIRONMENT #x5483E4A6> #<SOURC\
> | E-NOTE "/tmp/puzzle.lisp":249-323 "(defun definepiece (iclass ii jj kk) (setf (aref *puzzle-p* *iii* 0) t))">) 416
> |  (40553E18) : 7 (FCOMP-LOAD-%DEFUN (CCL::%DEFUN (NFUNCTION DEFINEPIECE #) 'NIL) #<CCL::LEXICAL-ENVIRONMENT #x5483E4A6>) 612
> |  (40553E58) : 8 (FCOMP-FORM (CCL::%DEFUN (NFUNCTION DEFINEPIECE #) 'NIL) #<CCL::LEXICAL-ENVIRONMENT #x5483E4A6> :NOT-COMPILE-TIME) 1384
> |  (40553E68) : 9 (FCOMP-FORM-LIST ((CCL::%DEFUN # #) 'DEFINEPIECE) #<CCL::LEXICAL-ENVIRONMENT #x5483E4A6> :NOT-COMPILE-TIME) 156
> |  (40553E88) : 10 (FCOMP-FORM (PROGN (CCL::%DEFUN # #) 'DEFINEPIECE) #<CCL::LEXICAL-ENVIRONMENT #x5483E4A6> :NOT-COMPILE-TIME) 1384
> |  (40553EA8) : 11 (FCOMP-FORM (DEFUN DEFINEPIECE (ICLASS II JJ KK) (SETF # T)) #<CCL::LEXICAL-ENVIRONMENT #x5483E4A6> :NOT-COMPILE-TIME) 1384
> |  (40553EB8) : 12 (FCOMP-READ-LOOP "/tmp/puzzle.lisp" "/tmp/puzzle.lisp" 0 #<CCL::LEXICAL-ENVIRONMENT #x5483E4A6> :NOT-COMPILE-TIME) 1360
> |  (40553F40) : 13 (FCOMP-FILE "/tmp/puzzle.lisp" "/tmp/puzzle.lisp" 0 #<CCL::LEXICAL-ENVIRONMENT #x5483E4A6>) 360
> |  (40553F50) : 14 (%COMPILE-FILE "/tmp/puzzle.lisp" "/tmp/puzzle.lafsl" NIL NIL T T NIL T :DEFER NIL #<BACKEND LINUXARM #x542622AE> :DEFAULT NIL 0) 1428
> `----
>
> -- 
> Eric Marsden
>
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>
>



More information about the Openmcl-devel mailing list