RFR[xs]: 8245137: aarch64 ICache flush depends on enabling gnu extensions

Kim Barrett kim.barrett at oracle.com
Mon May 18 14:45:04 UTC 2020


> On May 18, 2020, at 2:24 AM, David Holmes <david.holmes at oracle.com> wrote:
> 
> Hi Kim,
> 
> On 17/05/2020 3:39 am, Kim Barrett wrote:
>> Please review this small change to the aarch64 implementation of
>> ICache::invalidate_word ICache::invalidate_range.  Rather than calling
>> __clear_cache directly, they are changed to use __builtin___clear_cache.
>> The direct call to __clear_cache requires either providing a
>> declaration for that function or enabling gnu extensions.  Using the
>> builtin requires neither.
> 
> Seems perfectly reasonable given we already use it on ARM, and that we use other builtins on Aarch64.

Thanks.

> 
> Thanks,
> David
> -----
> 
>> CR:
>> https://bugs.openjdk.java.net/browse/JDK-8245137
>> Webrev:
>> https://cr.openjdk.java.net/~kbarrett/8245137/open.00/
>> Testing:
>> mach5 tier1-5 with -std=c++14 as part of experimental C++14 support.
>> mach5 tier1
>> Note that there are unrelated build failures with -std=c++98.  Among
>> other things, we use va_copy in shared code, which is not available
>> until C++11 (because it's a C99 feature), but is made available as a
>> gnu extension with -std=gnu++98.




More information about the hotspot-runtime-dev mailing list