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

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Jun 7 13:47:09 PDT 2012


This looks good.

Thanks, Vladimir

Krystal Mok wrote:

Hi all,

Could I get a couple of review on this change, please? https://gist.github.com/2876357#fileremoveatomiclongcsimplhotspot.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::expandlocknode(), 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#fileremoveatomiclongcsimpljdk.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 @@ JVMAssertionStatusDirectives(JNIEnv *env, jclass unused); /* - * java.util.concurrent.AtomicLong + * java.util.concurrent.atomic.AtomicLong */ JNIEXPORT jboolean JNICALL JVMSupportsCX8(void); Regards, Kris



More information about the hotspot-compiler-dev mailing list