Fix crazy math in ALLOCATE-STATIC-VECTOR.
commitdd81201dada52c92f4a4bc6a9b2fb3a3600889e5
authorDouglas Katzman <dougk@google.com>
Wed, 31 Aug 2016 05:14:56 +0000 (31 01:14 -0400)
committerDouglas Katzman <dougk@google.com>
Wed, 31 Aug 2016 05:14:56 +0000 (31 01:14 -0400)
tree82e34dc62de3725f1af4a1fff39e389948790654
parentfe6d18b61178617892efaca728dad31c3c8cf24e
Fix crazy math in ALLOCATE-STATIC-VECTOR.

This code computed nothing like what it was supposed to.
First of all, VECTOR-DATA-OFFSET is 2, so it accounts for a header
and length slot. You mustn't add 1 more.
Second, the formula (logandc2 (+ lowtag-mask x) lowtag-mask)
rounds to a multiple of 16, which is right for bytes, not words.
src/code/alloc.lisp