[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Function cells
- To: DCP@SCRC-QUABBIN.ARPA
- Subject: Function cells
- From: "George J. Carrette" <GJC@MC.LCS.MIT.EDU>
- Date: Fri, 21 Feb 86 22:04:25 EST
- Cc: common-lisp@SU-AI.ARPA, gls@AQUINAS.THINK.COM
- In-reply-to: Msg of Fri 21 Feb 86 10:27 EST from David C. Plummer <DCP at SCRC-QUABBIN.ARPA>
CAR is not a constant because it is microcoded. CAR is (can be legally)
microcoded because it is a constant. Get the difference?
The problem you pose could come up in the LMI software where a user
can make a (DEFUN FOO ...) turn into a %MISC instruction opcode
by using the microcompiler, but should be avoided by having redefined
%MISC instructions trap back to macrocode. The hard part is that
the actual number of arguments to the call is lost in the translation
to order-code, and klugely recovered by groveling through the debugging
info for the FEF being executed. The real problem is allocating the
limited opcode space, which right now is on a first-come-first-served
basis. (Microcompiled function need but turn into %MISC's but it is the
most efficient thing to turn into).
-gjc