[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Multiple values for R4RS.

   Date: Wed, 23 Aug 89 16:33:43 -0500
   From: R. Kent Dybvig <dyb@iuvax.cs.indiana.edu>

   > You could always walk down the machine language code, trying to figure
   > out which registers or stack slots it is touching in order to fetch arguments.
   > (This is not a claim of good engineering, just an existence proof.)
   > --Guy

   Are you assuming that there are explicit references to the registers or
   stack slots holding the values?  There may in fact be no such
   references.  Perhaps the code performs some sort of computation to
   derive an index into the stack holding the argument and the value of
   that computation cannot be determined.  Or perhaps the code does not
   touch one or more of its arguments explicitly, but leaves them in place
   as arguments to another procedure that it calls.


Each implementor presumably will know whether his/her compiler generates
code obeying sufficient constraints that this technique will work.
Don't overlook the possibility of limited abstract simulation of the machine
code.  My point is that under *some* circumstances it is not necessary
to encode the arity separately.