<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
Eli,<div> ah, excellent.</div><div><br></div><div>-Peter.</div><div><br></div><div><br><div><div>On Sep 10, 2011, at 7:35 PM, Eli Friedman wrote:</div><blockquote type="cite"><font class="Apple-style-span" color="#000000"><br></font><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div> <blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">so, again IIUC, it appears that LLVM-IR could not be used for Java if we</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">import C/C++'s</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">strict "data-race implies undefined" semantics into our IR.</div> </blockquote><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">You can't use regular load and store instructions, but I have recently</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">added load and store instructions with the appropriate semantics for</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">Java to the LLVM IR.<span class="Apple-converted-space"> </span>See</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><a href="http://llvm.org/docs/Atomics.html#o_unordered">http://llvm.org/docs/Atomics.html#o_unordered</a> .</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; min-height: 14px; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">-Eli</div> </blockquote></div><br></div></body></html>