1.0.2.1: DATA-VECTOR-{REF,SET}-WITH-OFFSET for the x86
Compile calls of (AREF FOO (+ INDEX <constant>) more efficiently:
... turn DATA-VECTOR-{REF,SET} into
DATA-VECTOR-{REF,SET}-WITH-OFFSET when the element type of FOO
is at least 8 bits wide;
... introduce general mechanism for optimization of such calls;
... redo the x86 DATA-VECTOR-FOO VOPs, reducing the number of such
VOPs in the process;
... do the same for BIGNUM-REF and SAP-REF-FOO.
Upshot: 5-10% increase in performance on array-heavy code such
as Ironclad; a 20% increase in performance has been observed
on cellular automata codes. Some restrictions apply; see the
KLUDGE in src/compiler/generic/vm-tran for an example.
19 files changed: