AARCH64: 8064611: Changes to HotSpot shared code

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Nov 20 18:05:41 UTC 2014


I based the name on your comment:

+  // AArch64 uses store release (which does everything we need to keep
+  // the machine in order) but we still need a compiler barrier here.

You can name it as you like. Our main suggestion is to use such Boolean 
constant and normal if() statements instead of ifdef AARCH64 and 
AARCH64_ONLY/NOT_AARCH64 macros in C2 code (src/share/vm/opto/* files).

We already do similar things for PPC64 port which sets 
support_IRIW_for_* constant.

thanks,
Vladimir


On 11/20/14 6:25 AM, Andrew Haley wrote:
> On 11/19/2014 03:45 AM, Dean Long wrote:
>> On 11/18/2014 7:03 PM, Vladimir Kozlov wrote:
>>> Yes, we can hide AARCH64 using something similar to
>>> CODE_CACHE_SIZE_LIMIT macro which could be overwritten in platform
>>> specific files if needed: USE_STORE_RELEASE_FOR_VOLATILE.
>>> Or slightly more complicated declaration similar to
>>> support_IRIW_for_not_multiple_copy_atomic_cpu boolean constant.
>>>
>>> Dean, will it help us if we do that? If yes, then we should do that.
>>>
>> Yes, this will help us.  Following the boolean constant example, we
>> would have something like:
>>
>> #ifdef USE_STORE_RELEASE_FOR_VOLATILE
>> const bool use_store_release_for_volatile = true;
>> #else
>> const bool use_store_release_for_volatile = false;
>> #endif
>
> The problem with this is that the AArch64 stlr instruction isn't
> esactly store release, so is this #define rather misleading.  Other
> processors have store release instructions, but none of them do quite
> what the AArch64 does.
>
> But really I just want this patch to move forward, so I'll agree to
> anything which is not ridiculous.
>
> Andrew.
>


More information about the hotspot-dev mailing list