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

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#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


More information about the hotspot-compiler-dev mailing list