help understanding the "putLongRelease" implemetation in openjdk9

David Holmes david.holmes at oracle.com
Fri Oct 28 04:06:34 UTC 2016


On 28/10/2016 1:29 PM, 恶灵骑士 wrote:
> for jdk8     according to src/share/vm/classfile/vmSymbols.hpp
> do_intrinsic(_putOrderedLong,           sun_misc_Unsafe,        putOrderedLong_name, putOrderedLong_signature, F_RN)
> do_name(     putOrderedLong_name,                             "putOrderedLong")
>
>
>
> i can find  method "putOrderedLong" in src/share/vm/prims/unsafe.hpp,

That must be the original JDK 8 code. The current JDK 8u code does not 
define unsafe.hpp, nor mention it in vmSymbols.hpp.

>
> but for jdk9  src/share/vm/classfile/vmSymbols.hpp
> do_intrinsic(_getLongAcquire,          jdk_internal_misc_Unsafe,        getLongAcquire_name, getLong_signature,       F_R)
> do_name(getLongAcquire_name,    "getLongAcquire")      do_name(putLongRelease_name,    "putLongRelease")
>
>
> i can not find  method "putLongRelease" in src/share/vm/prims/unsafe.hpp,
> why ?
> Is the method "putLongRelease"  of interpreter userd version discarded?
> only reserve the  implemetation of compiler used version?

The "new" unsafe.hpp defines the "interface" to some Unsafe related 
methods in the VM, called from within VM code. It doesn't define the set 
of methods that are the API of the Unsafe Java class.

David
-----


More information about the hotspot-dev mailing list