<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>I can just ignore in_memory?<div>I will end up taking the address for one reason or another anyway?</div><div>VAR parameters..hm..is it conceivable I'm passing them by value</div><div>and the compiler can compile itself successfully anyway?</div><div>Is the indirection added besides the in_memory boolean? I can check easily of course.</div><div>I will.</div><div><br></div><div> - Jay<br><br><br><div><div id="SkyDrivePlaceholder"></div><hr id="stopSpelling">From: hosking@cs.purdue.edu<br>Date: Fri, 28 Sep 2012 10:11:49 -0400<br>To: jay.krell@cornell.edu<br>CC: m3devel@elegosoft.com<br>Subject: Re: [M3devel] deeper meaning of in_memory?<br><br>in_memory does not mean volatile.  It is simply a sign that its address is needed.<div>So, yes, taking its address is good enough.</div><div>An example of a local in memory is something passed by VAR.</div><div><br></div><div>So, NOT VOLATILE.</div><div><br></div><div>Why do structs need to be C volatile?<br>
<br><div><div>On Sep 27, 2012, at 10:57 PM, Jay K <<a href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a>> wrote:</div><br class="ecxApple-interchange-newline"><blockquote><div class="ecxhmmessage" style="font-size:12pt;font-family:Calibri;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;orphans:2;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-spacing:0px"><div dir="ltr">In M3CG, what is the deeper meaning of in_memory?<div>I know it means -- "put the thing in memory".</div><div>But why and exactly what?<br>Presumably it can also be in a register, just that the in-memory value must be kept up to date.</div><div>Like, stores should be volatile, but reads don't have to be?</div><div>Does it mean the value will be used in an exception/finally handler?</div><div>Maybe reads do need to be volatile? Maybe it is accessed by another thread w/o a lock?</div><div><br></div><div><br></div><div>If I take the address of something, is that good enough?</div><div><br></div><div><br></div><div>I should just look where m3front uses it, I know.</div><div>For now I'll probably take it to mean "volatile".</div><div>I already mark all structs as volatile. But I don't make everything volatile (like how m3cc long did).</div><div><br></div><div><br></div><div>Thanks,</div><div> - Jay<br><br><br></div></div></div></blockquote></div><br></div></div></div>                                     </div></body>
</html>