[M3devel] deeper meaning of in_memory?

Antony Hosking hosking at cs.purdue.edu
Fri Sep 28 16:11:49 CEST 2012


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/20120928/d498968c/attachment-0001.html>


More information about the M3devel mailing list