[M3devel] import from same .so or not

Jay K jay.krell at cornell.edu
Tue Jul 13 02:50:47 CEST 2010


I think it'd be another boolean or expansion of a boolean to an integer to declare/import/begin_procedure/constant/variable.
Not passing all the files at once.
 
 
Passing all the files at once is attractive for reasons of compilation perf and optimizing codegen but I believe it requires a lot of other work.
 
 
Similarly, passing all the C files at once to the C compiler is also attractive, and more work.
 
 
LTCG/LTO provide similar benefits, but we aren't setup to use LTO and honestly I'm trying to ignore it.
I'll settle for -O1/2/3.
 
 
 - Jay
 


Subject: Re: [M3devel] import from same .so or not
From: hosking at cs.purdue.edu
Date: Mon, 12 Jul 2010 20:14:39 -0400
CC: m3devel at elegosoft.com
To: jay.krell at cornell.edu


There question is where and how to communicate it back to gcc.  Does it mean putting all the module units on the same command line for compilation by a single instance of cm3cg?  Or do you communicate it some other way?



On 12 Jul 2010, at 19:53, Jay K wrote:

I don't know. I hope not. The information is there: lowercase interface vs. uppercase Interface, lowercase module vs. uppercase Module, derived_interface(hidden or private).
I haven't looked at where all it is sent around.
 
 - Jay

 
> Subject: Re: [M3devel] import from same .so or not
> From: hosking at cs.purdue.edu
> Date: Mon, 12 Jul 2010 09:28:43 -0400
> CC: m3devel at elegosoft.com
> To: jay.krell at cornell.edu
> 
> It seems to me this would require massive reworking of the build infrastructure!
> 
> On 11 Jul 2010, at 21:58, Jay K wrote:
> 
> > 
> > It seems to me, an important bit of information is not provided to the backend.
> > 
> > The backend is told "import" or "export".
> > But this is about "modules", .m3 files to .m3 files.
> > 
> > It isn't about .so files to .so files, or .dlls to .dlls.
> > 
> > It's really tristate, not boolean:
> > private to just this source file 
> > private to this source file and those it statically links to 
> > public for all 
> > 
> > Granted, you might statically link "everything".
> > There isn't enforcement of the middle state, and symbols still need to be as unique as the third state.
> > But it is definitely useful.
> > 
> > In particular we don't use DECL_VISIBILITY (p) = VISIBILITY_HIDDEN enough.
> > For a long time we never used it. e.g. in the release branch.
> > 
> > Agreed?
> > Anyone volunteer to fix?
> > Or mind if I try?
> > 
> > 
> > - Jay
> > 
> > 
> 

 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20100713/e3a0430c/attachment-0002.html>


More information about the M3devel mailing list