Ticket #209 (closed defect: fixed)
No support for vectors with element-type FIXNUM in COMPILE-FILE/FASLOAD
| Reported by: | gb | Owned by: | gb |
|---|---|---|---|
| Priority: | major | Milestone: | |
| Component: | Compiler | Version: | |
| Keywords: | Cc: |
Description
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
))
Change History
Note: See
TracTickets for help on using
tickets.
