Commit [99f9e1] Maximize Restore History

add DO-VECTOR-DATA, remove special case from VECTOR-MAP-INTO

DO-VECTOR-DATA is like DOVECTOR, but uses WITH-ARRAY-DATA and grabs the
right reffer function so there's no per-element dispatch.

Since MAP used DOSEQUENCE for for-effect/arity-1 case, and DOSEQEUNCE in
turn uses DOVECTOR, replacing DOVECTOR there with DO-VECTOR-DATA we get the
a performance boost while being able to drop the special case in
VECTOR-MAP-INTO.

Add a test for which the special case was broken: mapping a list into a
vector.

Nikodemus Siivola Nikodemus Siivola 2012-05-27

changed src/code/array.lisp
changed src/code/seq.lisp
changed tests/map-tests.impure.lisp
src/code/array.lisp Diff Switch to side-by-side view
Loading...
src/code/seq.lisp Diff Switch to side-by-side view
Loading...
tests/map-tests.impure.lisp Diff Switch to side-by-side view
Loading...