[M3devel] [M3commit] CVS Update: cm3

Randy Coleburn rcoleburn at scires.com
Sat Feb 2 02:08:59 CET 2008


Hey Jay, do you suppose this may have some explanation for why pixmaps only work on NT386 when buildstandalone() is given?
--Randy

>>> Jay <jayk123 at hotmail.com> 2/1/2008 8:02 PM >>>
"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! ( http://www.windowslive.com/share.html?ocid=TXT_TAGHM_Wave2_sharelife_012008 ) 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080201/f3c1fd26/attachment-0002.html>


More information about the M3devel mailing list