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

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

Hi all,

Could I get a couple of review on this change, please?

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?

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

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the hotspot-compiler-dev mailing list