<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jun 6, 2012, at 7:57 PM, Krystal Mok wrote:</div><br class="Apple-interchange-newline"><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. &nbsp;Since AtomicLongCSImpl got removed in JDK 7 (and doesn'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&nbsp;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>Looks good. &nbsp;Thank you for doing this.</div><div><br></div><div><blockquote type="cite"><div><br></div><div>P.S. There'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">&nbsp;JVM_AssertionStatusDirectives(JNIEnv *env, jclass unused);</font></div><div><font face="courier new, monospace">&nbsp;</font></div>


<div><font face="courier new, monospace">&nbsp;/*</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">&nbsp; */</font></div><div><font face="courier new, monospace">&nbsp;JNIEXPORT jboolean JNICALL</font></div><div><font face="courier new, monospace">&nbsp;JVM_SupportsCX8(void);</font></div></div></blockquote><div><br></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></body></html>