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