[M3devel] [M3commit] CVS Update: cm3

Tony Hosking hosking at cs.purdue.edu
Sat Feb 2 03:23:24 CET 2008


Sorry: I386_DARWIN.

On Feb 1, 2008, at 8:02 PM, Jay wrote:

> "I386_LINUX"? You aren't off renaming platforms now are you Tony? :)
> Agreed. I stopped looking when I noticed the license..
> Aha..I guess that is the point of the two "integrated" x86 backends?
> There's just one code base, there there is m3back and  
> m3staloneback. One builds a .lib, one builds an .exe.
> The .exe probably reads the binary file and then replays the  
> function calls..it's marshaling layer and all that...
> You can move the code around to avoid spreading the license and all  
> that..
>
>
>   - Jay
>
>
> > CC: hosking at elego.de; m3devel at elegosoft.com
> > From: hosking at cs.purdue.edu
> > Subject: Re: [M3devel] [M3commit] CVS Update: cm3
> > Date: Fri, 1 Feb 2008 19:56:18 -0500
> > To: jayk123 at hotmail.com
> >
> > It would be nice to have the x86 integrated backend for I386_LINUX
> > and LINUXLIBC6 too -- just like the old PM3 did.
> >
> > On Feb 1, 2008, at 7:45 PM, Jay wrote:
> >
> > > Hey, I'd kind of like that backend to stay actually. It's quite
> > > fast and generates better code than unoptimized gcc and  
> competitive
> > > code with optimized gcc. There's no AMD64 support anywhere yet in
> > > Modula-3 that I know of. Maybe it will appear here first? :)
> > >
> > > I don't think it is all that gnarly either. But somewhat. It's a
> > > bit like code I've see that is so often handling one case after
> > > another case after yet another case, yet who knows what all the
> > > cases are and which order (if any particular) they should be
> > > handled in? That is, it's actually kind of easier to read it and
> > > understand what it does do, and realize that is "correct" in the
> > > "necessary" sense, but hard to know if it is "sufficient".
> > > I've got outstanding diffs for int64 support I'd like to get  
> back to.
> > >
> > > AMD64 shouldn't be difficult...that's kind of the point, eh?
> > > It's just a slight alteration of x86..
> > >
> > > Granted, it isn't set up, doesn't have a "framework", to generate
> > > substantially better code.
> > > It doesn't remember much, doesn't make multiple passes, doesn't
> > > have a high level representation, etc.
> > >
> > > In the unlikely event that I succeed, presumably PPC would be
> > > next...:)
> > >
> > > (But yeah yeah, LLVM is probably easier and much more fruitful,
> > > both in terms of platform each and optimization..and hopefully
> > > build speed.)
> > >
> > > - Jay
> > >
> > >
> > > > CC: hosking at elego.de; m3devel at elegosoft.com
> > > > From: hosking at cs.purdue.edu
> > > > Subject: Re: [M3devel] [M3commit] CVS Update: cm3
> > > > Date: Fri, 1 Feb 2008 19:22:56 -0500
> > > > To: jayk123 at hotmail.com
> > > >
> > > > Hmm. OK, yes, perhaps I am prepared to live with it. Hopefully,
> > > > that gnarly x86 backend will go away soon anyway -- it's  
> probably
> > > > never going to survive in the x86_64 universe and beyond!
> > > >
> > > > On Feb 1, 2008, at 7:19 PM, Jay wrote:
> > > >
> > > > > Actually it's slightly more real than I said.
> > > > > One cm3.exe on Windows can do any of NT386/NT386GNU/ 
> NT386MINGNU.
> > > > > Sometimes it uses the "extra" code, sometimes not. These  
> are in a
> > > > > sense a limited form of cross build. Granted, if it was  
> only for
> > > > > those three psuedo platforms, you wouldn't mind.
> > > > >
> > > > > - Jay
> > > > >
> > > > > From: jayk123 at hotmail.com
> > > > > To: hosking at cs.purdue.edu; hosking at elego.de
> > > > > Date: Sat, 2 Feb 2008 00:12:27 +0000
> > > > > CC: m3devel at elegosoft.com
> > > > > Subject: Re: [M3devel] [M3commit] CVS Update: cm3
> > > > >
> > > > > This was deliberate. It enables some cross-build scenarios.  
> That I
> > > > > admit I haven't used (yet?), but I really like the idea.
> > > > > If m3linker were completed, then "full" cross builds would be
> > > real.
> > > > >
> > > > > The "extra" packages are small and build fast (well, at  
> least not
> > > > > using cm3cg...).
> > > > > Is it really so onerous? Really?
> > > > >
> > > > > Isn't it nice to have less filtering of packages as well?
> > > > > Like, when you are building on non-NT386, you can easily  
> see that
> > > > > you didn't break building on NT386, at least partly.
> > > > > ?
> > > > >
> > > > > - Jay
> > > > >
> > > > >
> > > > > > From: hosking at cs.purdue.edu
> > > > > > Date: Fri, 1 Feb 2008 18:57:32 -0500
> > > > > > To: hosking at elego.de
> > > > > > CC: m3devel at elegosoft.com
> > > > > > Subject: Re: [M3devel] [M3commit] CVS Update: cm3
> > > > > >
> > > > > > I just checked in support for full declaration of paramters
> > > even on
> > > > > > imported procedures in the gcc-based backend. This is to  
> support
> > > > > > proper generation of stdcall calling convention on Windows.
> > > In the
> > > > > > process of testing this I discovered that cm3 on non-Windows
> > > > > > platforms now needs to build and ship both of the Windows  
> x86
> > > > > support
> > > > > > libraries m3back and m3objfile, even though non-Windows
> > > platforms
> > > > > > don't use or need them. This seems broken to me. It seems
> > > that cm3
> > > > > > has changed so that it now has these dependencies. Can we  
> please
> > > > > > undo this? -- I see no need to have to build these for  
> non-x86
> > > > > > platforms that will never use them.
> > > > > >
> > > > > > On Feb 2, 2008, at 12:43 AM, Antony Hosking wrote:
> > > > > >
> > > > > > > CVSROOT: /usr/cvs
> > > > > > > Changes by: hosking at birch. 08/02/02 00:43:53
> > > > > > >
> > > > > > > Modified files:
> > > > > > > cm3/m3-sys/m3cc/gcc/gcc/m3cg/: parse.c
> > > > > > >
> > > > > > > Log message:
> > > > > > > Add parameter decls even for imported procedures, as  
> per Jay
> > > > > > > Krell's request
> > > > > > > to support stdcall parameter passing mode on Windows.
> > > > > >
> > > > >
> > > > >
> > > > > Connect and share in new ways with Windows Live. Get it now!
> > > > > Shed those extra pounds with MSN and The Biggest Loser! Learn
> > > more.
> > > >
> > >
> > >
> > > Shed those extra pounds with MSN and The Biggest Loser! Learn  
> more.
> >
>
>
> Connect and share in new ways with Windows Live. Get it now!




More information about the M3devel mailing list