-
-
Notifications
You must be signed in to change notification settings - Fork 28
Closed
Description
What's the difference between these functions?
CL:FUNCALL and SPREADAPPLY* seem to (byte)-compile in the same way: Just the APPLYFN opcode
APPLY* compiles as the sequence CHECKAPPLY* APPLYFN. What does the CHECKAPPLY* do? Is it important?
Of more significance, SPREADAPPLY* does not actually have a function definition, only compiler optimizations. So you can't debug any interpreted code that has a call to SPREADAPPLY* (and FDEVOP and other dispatch macros go to SPREADAPPLY*).
So: Should there be a MOVD somewhere of CL:FUNCALL TO SPREADAPPLY*? Or should SPREADAPPLY* be systematically replaced by CL:FUNCALL everywhere?
Metadata
Metadata
Assignees
Labels
No labels