Ticket #209 (closed defect: fixed)
No support for vectors with element-type FIXNUM in COMPILE-FILE/FASLOAD
|Reported by:||gb||Owned by:||gb|
Even though arrays/vectors with element-type FIXNUM have existed in OpenMCL for over a year, neither COMPILE-FILE nor the fasl loader have any support for dumping/loading them when they appear as constants. The big ETYPECASE in FASL-DUMP-DISPATCH misses them and falls into a clause which tries to dump them as GVECTORs; whether that "works" or not depends on how the bits in the vector are (mis)interpreted as tagged objects, as in the example below.
(defconstant *matrix* (let ((matrix (make-array '(80) :element-type 'fixnum))) (dotimes (i 80 matrix) (setf (aref matrix i) (random 1000))))) (defun problem81 () (let ((j 50)) ;;(aref *matrix* 50) ; no problem (aref *matrix* j) ; bad ))