make-host-2 now with even less noise, and like OMG how did this work?
commit708ac28a29cec428e1fc2b51503a72e8bb87bf5f
authorDouglas Katzman <dougk@google.com>
Fri, 27 Feb 2015 23:24:54 +0000 (27 18:24 -0500)
committerDouglas Katzman <dougk@google.com>
Fri, 27 Feb 2015 23:24:54 +0000 (27 18:24 -0500)
treefe01f77ae465fbe9aaefdccdbd161be5dac33393
parent1b56a3f36ead4190ac8068155cba0317b4238357
make-host-2 now with even less noise, and like OMG how did this work?

It seems that CTYPEP calls %TYPEP to determine the metatype (the type
of its second argument), because it does not know any of the type-classes
{NUMERIC-TYPE, NAMED-TYPE, MEMBER-TYPE, ...} which actually means we're
hitting a type cache to parse 'SB-KERNEL:NUMERIC-TYPE etc every time.
Infinite recursion is avoided because all type-classes are CLASSOIDs,
and CLASSOID-TYPEP is a base case.  I have a (large) fix for this.
src/code/early-raw-slots.lisp
src/code/fd-stream.lisp
src/compiler/x86-64/macros.lisp
src/compiler/x86/macros.lisp