Path: utzoo!utgpu!news-server.csri.toronto.edu!mailrus!uunet!overload!dillon From: dillon@overload.UUCP (Matthew Dillon) Newsgroups: comp.sys.amiga.tech Subject: Re: DICE Message-ID: Date: 5 Jun 90 17:11:19 GMT References: <9005290344.AA10362@thunder.LakeheadU.Ca> Lines: 48 >In article dillon@overload.UUCP (Matthew Dillon) writes: > DICE does not have registerized parameters or inline library calls. >What - you expect us to do _all_ the work? :-) >Seriously, I find the registerized parameters/inline library call in >Lattice usefull; the first program I cut over to them picked up about >20% (not bad for just upgrading the program to the new compiler). The I do not plan to implement registerized parameters in the near future, but I would not worry too much about efficiency. DICE utilizes registers well, especially for low level subroutines (which is where the stack-args hit is most predominant). In many such cases DICE is able to remove both the LINK/UNLK *and* both MOVEMs completely and use scratch registers as register variables. DICE will put as many argument vars and local vars into registers as possible without requiring the register keyword, just like Lattice and Aztec. However, DICE is able to utilize more registers for register variables and generally makes better choices than either of the other two compilers. Needless to say, the performance gain you get from the above two items is much greater than you get with registerized parameters. >only portability hit is having to provide/disable prototypes for >functions that want registerized parameters. Since I like prototypes Its messy. It isn't just messy, it's *very* messy to implement. I intend to keep DICE lean, mean... and bug free. >Second question: Support for things other than the 68000? You didn't >mention it. Is it there? The commercial version will have an 020 option to utilize MUL*.L and DIV*.L, bit field stuff, and the scaling modes for array indexing. Also, the commercial version will implement a couple of things I do not intend to put in the shareware version (floating point, bit fields, structural returns). > Thanx, >