-
- Downloads
Changes to do type checking at the DEST rather than at continuation uses,
and changes to preserve enough type info in IR2 so that representation selection and load-TN packing can tell what representations are legal for a value. It is now guarantees that the TN passed as a VOP operand (via :TRANSLATE) will be of one of the primitive types allowed in the operand primitive-type restriction. Took advantage of the new delayed type checking to somewhat improve the code we get for FUNCALL when the operand type is unknown: we now call COERCE-TO-FUNCTION when we don't know whether the arg is legal, and call FAST-SAFE-COERCE-TO-FUNCTION when we know it is a function or a symbol, but not which. This eliminates the duplication of the function-p test in the normal (function) case where we don't know anything about the value at compile-time. The new CONTINUATION-TNS function is used to get and check the values of fixed multiple value continuations.
Loading
Please register or sign in to comment