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

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);

/*

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