Request for review (M): 7174218: remove AtomicLongCSImpl intrinsics

Krystal Mok rednaxelafx at gmail.com
Wed Jun 6 19:57:28 PDT 2012


Hi all,

Could I get a couple of review on this change, please?
https://gist.github.com/2876357#file_remove_atomic_long_cs_impl_hotspot.patch

7174218: remove AtomicLongCSImpl intrinsics

There is some very old code that intrinsifies sun.misc.AtomicLongCSImpl.get
and attemptUpdate.  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).

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.
For C2, LoadLLockedNode was found to be only used in these intrinsics, thus
also removed.
(StoreLConditionalNode is used in PhaseMacroExpand::expand_lock_node(), so
it has to be kept.)

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.

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?
https://gist.github.com/2876357#file_remove_atomic_long_cs_impl_jdk.patch

diff -r 7def50698e78 src/share/javavm/export/jvm.h
--- a/src/share/javavm/export/jvm.h Thu May 24 16:15:58 2012 -0700
+++ b/src/share/javavm/export/jvm.h Wed Jun 06 01:15:50 2012 +0800
@@ -595,7 +595,7 @@
 JVM_AssertionStatusDirectives(JNIEnv *env, jclass unused);

 /*
- * java.util.concurrent.AtomicLong
+ * java.util.concurrent.atomic.AtomicLong
  */
 JNIEXPORT jboolean JNICALL
 JVM_SupportsCX8(void);

Regards,
Kris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20120607/7783fcb6/attachment.html 


More information about the hotspot-compiler-dev mailing list