<div>OK, I've tried out the latest commit. The changes to the MV implementation</div><div>seem fine to me, though I haven't tested or analyzed them other than to</div><div>confirm that our code isn't affected. I like that the generated code</div>

<div>is simpler, and I agree with your choice to not support passthrough</div><div>unless/until we can find a correct implementation that isn't too</div><div>complicated. In the absence of that, the latest version seems like a</div>

<div>good compromise and an improvement over what we had before. It's a</div><div>reasonable place to stop.</div><div><br></div><div>That being said, there's one point that's still bugging me because I</div><div>

don't see it yet:</div><div><br></div><div>>> Other exit points from a function are throws and control reaching the</div><div>>> end of the function. So both are going to have to get instrumented.</div><div>

<br></div><div>I sketched an argument why extra instrumentation isn't needed in these</div><div>two cases. If that argument is wrong (which it may well be) then we</div><div>should be able to give examples where the pure global-variable (GV)</div>

<div>design fails in the absence of such implementation. That is:</div><div><br></div><div>(1) An example where an uninstrumented throw causes the GV</div><div>    implementation to be wrong; and</div><div><br></div><div>

(2) An example where an uninstrumented function exit causes the</div><div>    GV implementation to be wrong.</div><div><br></div><div>I don't think any of the examples in the thread satisfy (1) or (2),</div><div>nor have I come up with any. Can you? I'd like to see them.</div>

<div><br></div><div>Daniel</div><div><br></div><div><br></div><div><br></div><br><div class="gmail_quote">On Thu, Sep 13, 2012 at 12:00 AM, Vladimir Sedach <span dir="ltr"><<a href="mailto:vsedach@gmail.com" target="_blank">vsedach@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Ok, I just pushed the promised change that removes mv passthrough and<br>
replaces the function object property setting with a global variable.<br>
I'm very happy with this approach - the generated code is now much<br>
cleaner than it used to be.<br>
<br>
Please try the changes out. If there aren't any issues, this is going<br>
in to the next release, which I'd like to make by the end of the<br>
month.<br>
<br>
Happy hacking,<br>
<div class="HOEnZb"><div class="h5">Vladimir<br>
<br>
_______________________________________________<br>
parenscript-devel mailing list<br>
<a href="mailto:parenscript-devel@common-lisp.net">parenscript-devel@common-lisp.net</a><br>
<a href="http://lists.common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel" target="_blank">http://lists.common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel</a><br>
</div></div></blockquote></div><br>