Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!nuchat!sugar!peter From: peter@sugar.UUCP (Peter da Silva) Newsgroups: comp.sys.amiga Subject: Re: Request for Compiler Info Message-ID: <941@sugar.UUCP> Date: Fri, 30-Oct-87 00:23:40 EST Article-I.D.: sugar.941 Posted: Fri Oct 30 00:23:40 1987 Date-Received: Wed, 4-Nov-87 02:36:11 EST References: <8710262044.AA08743@cory.Berkeley.EDU> Organization: Sugar Land UNIX - Houston, TX Lines: 29 In article <8710262044.AA08743@cory.Berkeley.EDU>, dillon@CORY.BERKELEY.EDU (Matt Dillon) writes: > >Manx uses a bogus "memory model" scheme to avoid having to do a good > >optimisation job. But even in their large model they're faster than Lattice. > >I always use large model myself... if I wanted a segmented architecture > >I would have gone with IBM. No smiley. > > Not at all... you can think of it as: > > small/large data: do I want to use relative or absolute addresses > small/large code: do I want to use pc-rel or absolute addresses If they can't do it without me having to take special precautions to make my code compatible with the small models, I don't want to know about it. Neither of these models work well on the Amiga, since they prevent scatter loading. I'm sure it's largely a hangover from their IBM-PC compiler. After all, in the older releases they even went to the trouble of mapping the nice Amiga timestamp format into the gross IBM-PC format. > relative addressing takes one word less than absolute addressing, thus > causing a not-so-trivial speedup when accessing global/static > variables. Referencing auto (stack) variables doesn't change since > they are SP-relative anyway. So they should use relative addressing for data/code that they know to be local to the module, but still use 32-bit pointers for indirection to maintain compatibility. The programmer should not have to know about it. -- -- Peter da Silva `-_-' ...!hoptoad!academ!uhnix1!sugar!peter -- Disclaimer: These U aren't mere opinions... these are *values*.