[aarch64-port-dev ] RFR: 8234794: AArch64: runtime/memory/ReadFromNoaccessArea.java crashes
Nick Gasson
nick.gasson at arm.com
Tue Dec 17 06:25:00 UTC 2019
Hi,
Any comments on the most recent webrev below?
Thanks,
Nick
On 12/12/2019 16:31, Nick Gasson wrote:
> On 12/12/2019 04:16, Andrew Haley wrote:
>> On 12/11/19 7:08 AM, Nick Gasson wrote:
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8234794
>>> Webrev: http://cr.openjdk.java.net/~ngasson/8234794/webrev.01/
>>
>> Thanks. A few nits:
>
> Please see the updated webrev:
>
> http://cr.openjdk.java.net/~ngasson/8234794/webrev.02/
>
>>
>> This recalculates klass_decode_mode() a thousand times on only a small
>> program. Be aware that C2 creates a new Assembler instance for most
>> patterns.
>>
>> _klass_decode_mode could be calculated only once. Make it static and it
>> will be.
>
> Yes. Also added an assert that Metaspace::initialized() in case we call
> it too early.
>
>>
>> This inverted logic:
>>
>> #if !(defined(AARCH64) || defined(AIX))
>> return ReservedSpace(size, alignment, large_pages, requested_addr);
>> #else // AARCH64 || AIX
>>
>> looks a bit cumbersome. It might be nice to do it the other way up, so
>> that reserve_preferred_space is called from a static generic allocate
>> method.
>>
>> Rather than explicitly defined(AARCH64) || defined(AIX) you might like to
>> consider a named macro
>>
>> #if OS_CPU_USES_PREFERRED_SPACE
>> return reserve_preferred_space( ...
>> endif
>>
>
> OK. Metaspace::reserve_preferred_space() is now only defined if
> PREFERRED_METASPACE_ALIGNMENT is set. The generic method is
> Metaspace::reserve_space(). MetaspaceShared::reserve_shared_space() is
> now just a trivial wrapper for this so maybe it can be removed.
>
> I put the definition in the CPU's globalDefinitions.hpp because we don't
> have one for os_cpu, and we need it for every AArch64 system anyway.
>
> Also fixed the break/return inconsistency suggested by Jiangli.
>
>
> Thanks,
> Nick
More information about the ppc-aix-port-dev
mailing list