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