Skip to content
Snippets Groups Projects
Commit 62b53eaa authored by ram's avatar ram
Browse files

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.
parent b1b43c0e
No related branches found
No related tags found
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment