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>
<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>


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