Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!rochester!pt.cs.cmu.edu!sei!firth From: firth@sei.cmu.edu (Robert Firth) Newsgroups: comp.arch Subject: Re: 68000 architecture Message-ID: <3547@bd.sei.cmu.edu> Date: 22 Jun 89 13:42:13 GMT References: <65416@<1989Jun4> <28200334@mcdurb> <7233@xyzzy.UUCP> Reply-To: firth@sei.cmu.edu (Robert Firth) Organization: Software Engineering Institute, Pittsburgh, PA Lines: 17 In article <7233@xyzzy.UUCP> meissner@tiktok.UUCP (Michael Meissner) writes: >I don't about AI languages on the 88000, but not having negative >literals was an extreme pain in finishing the GNU C 88000 port. The >compiler internally expects to have a frame where local variables are >on one side of the frame, and arguments' stack slots are on the other >side. Ouch! If the compiler expects that, it is making a seriously unwarranted assumption and should be fixed. As far as possible, all logically different address spaces should be maintained separately by the compiler internal phases. For example, many machines impose special size or alignment restrictions on objects passed as actuals; it is really helpful if the compiler understands the concept of a separate 'actual parameter' space with its own rules for allocation and packing. That said, I also find negative offsets helpful in many situations.