Thank you, Chris.<div><br></div><div>I&#39;ll repost the JDK part of this change on core-libs-dev.</div><div><br></div><div>- Kris<br><br><div class="gmail_quote">On Fri, Jun 8, 2012 at 3:34 AM, Christian Thalinger <span dir="ltr">&lt;<a href="mailto:christian.thalinger@oracle.com" target="_blank">christian.thalinger@oracle.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><div class="im"><div>On Jun 6, 2012, at 7:57 PM, Krystal Mok wrote:</div><br>
<blockquote type="cite">Hi all,<div><br></div><div>Could I get a couple of review on this change, please?</div><div><a href="https://gist.github.com/2876357#file_remove_atomic_long_cs_impl_hotspot.patch" target="_blank">https://gist.github.com/2876357#file_remove_atomic_long_cs_impl_hotspot.patch</a></div>



<div><br></div><div>7174218: remove AtomicLongCSImpl intrinsics</div><div><br></div><div>There is some very old code that intrinsifies sun.misc.AtomicLongCSImpl.get and attemptUpdate.  Since AtomicLongCSImpl got removed in JDK 7 (and doesn&#39;t exist in OpenJDK at all), we should also remove the intrinsic code in C1 and C2 (including MachNodes and other stuff).</div>


<div><br></div><div>This change removed sun.misc.AtomicLongCSImpl from the list of well-known classes and the list of declared intrinsics, and removed the corresponding intrinsic implementation in C1 and C2.</div><div>For C2, LoadLLockedNode was found to be only used in these intrinsics, thus also removed.</div>


<div>(StoreLConditionalNode is used in PhaseMacroExpand::expand_lock_node(), so it has to be kept.)</div><div><br></div><div>Tested with SPECjvm2008 base run on 64-bit Client and Server VM on x86-64, and CTW on SPECjvm2008.jar and jruby.jar. Results are clean.</div>
</blockquote><div><br></div></div>Looks good.  Thank you for doing this.</div><div><br></div><div><div class="im"><blockquote type="cite"><div><br></div><div>P.S. There&#39;s a typo in jvm.h in the jdk workspace. The following patch syncs the change in this change to fix the typo. Could anybody help push it to the jdk workspace?</div>


<div><a href="https://gist.github.com/2876357#file_remove_atomic_long_cs_impl_jdk.patch" target="_blank">https://gist.github.com/2876357#file_remove_atomic_long_cs_impl_jdk.patch</a></div><div><br></div><div><div><font face="courier new, monospace">diff -r 7def50698e78 src/share/javavm/export/jvm.h</font></div>



<div><font face="courier new, monospace">--- a/src/share/javavm/export/jvm.h<span style="white-space:pre-wrap">        </span>Thu May 24 16:15:58 2012 -0700</font></div><div><font face="courier new, monospace">+++ b/src/share/javavm/export/jvm.h<span style="white-space:pre-wrap">        </span>Wed Jun 06 01:15:50 2012 +0800</font></div>



<div><font face="courier new, monospace">@@ -595,7 +595,7 @@</font></div><div><font face="courier new, monospace"> JVM_AssertionStatusDirectives(JNIEnv *env, jclass unused);</font></div><div><font face="courier new, monospace"> </font></div>



<div><font face="courier new, monospace"> /*</font></div><div><font face="courier new, monospace">- * java.util.concurrent.AtomicLong</font></div><div><font face="courier new, monospace">+ * java.util.concurrent.atomic.AtomicLong</font></div>



<div><font face="courier new, monospace">  */</font></div><div><font face="courier new, monospace"> JNIEXPORT jboolean JNICALL</font></div><div><font face="courier new, monospace"> JVM_SupportsCX8(void);</font></div></div>
</blockquote><div><br></div></div><div>Try to contact someone on core-libs-dev.</div><div><br></div>-- Chris</div><div><br><blockquote type="cite"></blockquote><blockquote type="cite">


<div><br></div><div>Regards,</div><div>Kris</div>
</blockquote></div><br></div></blockquote></div><br></div>