home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / usr.bin / lisp / lispnews / text0147.txt < prev    next >
Encoding:
Text File  |  1985-11-10  |  1.3 KB  |  32 lines

  1.   Several things have changed:
  2.  
  3. 1) Bugs in the open coding of vectors have been fixed.
  4.  
  5. 2) Minor re-organization of the compiler source code.
  6.  
  7. 3) The routine to determine whether or not tail merging is
  8.    possible underwent major modification.
  9.  
  10. 4) Lexpr's are compiled differently, or rather the way lexpr args
  11.    are accessed has changed.  For those that want to know, here is
  12.    the nitty gritty:
  13.  
  14.      Consider a the following lexpr: (defun test nargs ...).
  15.      The arguments to the lexpr are stacked on the name stack
  16.      (low to high number), and then nargs is stacked.  The user
  17.      is allowed to change the binding of 'nargs' to anything
  18.      he likes, so we have to have another way to access the arguments
  19.      on the name stack (i.e., other than an offset from nargs).
  20.      Before, a pointer to the argument base was pushed on the 
  21.      C stack, so that indexing could be done from there.
  22.      The addressing modes used to do this are not available
  23.      on the MC68000 (something like *n(fp)[Rx]), so now
  24.      nargs is pushed on the name stack twice, and the location
  25.      of an argument can be easily calculated as an offset from nargs.
  26.  
  27. In short, lots of thing changed.  The SUN's should be updated
  28. in the next couple of days (after I test it out).  Bugs to me...
  29.  
  30.     Kevin
  31.  
  32.