Search
16:48:26
flip214
the M-V-B in https://paste.debian.net/hidden/c0610c25/ seems to break the type derivation logic in some way...
16:50:33
flip214
Fact is that multiple branches that all have a (MAKE-INSTANCE 'class) (with identical class) are not combined for the return type...
16:50:41
flip214
I'd have hoped that sbcl does that.
16:52:15
flip214
OTOH, even without the COND I get no useful type here?! Is *DERIVE-FUNCTION-TYPES* broken since 1.5.0?
16:54:29
flip214
perhaps these are so simple that they'd be inlined anyway
16:54:51
scymtym
i think nothing is ever derived for MAKE-INSTANCE
16:55:53
flip214
even with a hard-coded class?
16:56:24
flip214
hmmm, okay... though that would have been an easy type-derivation
16:57:06
scymtym
even with a constant class name, the class associated to that name can change at runtime
16:57:50
scymtym
instance creation is still optimized, though
16:58:28
flip214
scymtym: even if the class changes, the _type_ is still the same class
16:58:55
flip214
and I'm thinking about _type_ derivation, not static class-slots-lifecycle-analysis or so?!
17:04:17
scymtym
i'm having trouble thinking of useful things the compiler could do given the possibility of redefinition
17:05:07
scymtym
maybe inferring that the result is an instance