Commit [151fa3] Maximize Restore History

Optimize raw-instance-slots-equalp for #-complex-float-vops.

The comparer function for COMPLEX types wasn't properly optimized
during cross-compilation because the types of REALPART and IMAGPART
weren't derived by the cross-compiler on account of
CROSS-FLOAT-INFINITY-KLUDGE, but the derivers do not actually perform
any mathematical derivation, just
(complex (double-float 10d0)) => (double-float 10d0).
Enabling them during cross-compilation allows = on complex floats be
optimized and avoids consing.

Stas Boukarev Stas Boukarev 2013-11-05

changed src/code/defstruct.lisp
changed src/code/target-defstruct.lisp
changed src/compiler/float-tran.lisp
src/code/defstruct.lisp Diff Switch to side-by-side view
Loading...
src/code/target-defstruct.lisp Diff Switch to side-by-side view
Loading...
src/compiler/float-tran.lisp Diff Switch to side-by-side view
Loading...