[M3devel] deeper meaning of in_memory?

Jay K jay.krell at cornell.edu
Sat Sep 29 20:55:18 CEST 2012


I can just ignore in_memory?I will end up taking the address for one reason or another anyway?VAR parameters..hm..is it conceivable I'm passing them by valueand the compiler can compile itself successfully anyway?Is the indirection added besides the in_memory boolean? I can check easily of course.I will.
 - Jay


From: hosking at cs.purdue.edu
Date: Fri, 28 Sep 2012 10:11:49 -0400
To: jay.krell at cornell.edu
CC: m3devel at elegosoft.com
Subject: Re: [M3devel] deeper meaning of in_memory?

in_memory does not mean volatile.  It is simply a sign that its address is needed.So, yes, taking its address is good enough.An example of a local in memory is something passed by VAR.
So, NOT VOLATILE.
Why do structs need to be C volatile?


On Sep 27, 2012, at 10:57 PM, Jay K <jay.krell at cornell.edu> wrote:In M3CG, what is the deeper meaning of in_memory?I know it means -- "put the thing in memory".But why and exactly what?
Presumably it can also be in a register, just that the in-memory value must be kept up to date.Like, stores should be volatile, but reads don't have to be?Does it mean the value will be used in an exception/finally handler?Maybe reads do need to be volatile? Maybe it is accessed by another thread w/o a lock?

If I take the address of something, is that good enough?

I should just look where m3front uses it, I know.For now I'll probably take it to mean "volatile".I already mark all structs as volatile. But I don't make everything volatile (like how m3cc long did).

Thanks, - Jay



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


More information about the M3devel mailing list