Fix (aref vector (+ i constant)) with i negative on x86oids
authorPaul Khuong <pvk@pvk.ca>
Fri, 24 May 2013 17:07:35 +0000 (13:07 -0400)
committerPaul Khuong <pvk@pvk.ca>
Fri, 24 May 2013 18:49:33 +0000 (14:49 -0400)
commit5d3a728a1d9a91e7218fe53f12f96ab63b846810
treea04599a0d71039dcd46a91b153dc8c4244af3ffb
parent8ed82d6c5861f42d72162bd32a4b873c255c2f86
Fix (aref vector (+ i constant)) with i negative on x86oids

 * The VOPs for indexed access with constant offset take a fixnum
   index. Adjust fndb entries to reflect that.

 * Fix FOLD-INDEX-ADDRESSING: don't convert if the resulting index
   would be wider than a fixnum, and compute the new offset correctly
   for subtractions.

 * Test case by Douglas Katzman.
NEWS
src/compiler/fndb.lisp
src/compiler/generic/vm-fndb.lisp
src/compiler/generic/vm-tran.lisp
tests/compiler.pure.lisp