RFR: JDK-8305387: JDK-8301995 breaks arm 32-bit [v2]

Aleksey Shipilev shade at openjdk.org
Mon Apr 24 15:46:55 UTC 2023


On Mon, 24 Apr 2023 09:06:44 GMT, Aleksei Voitylov <avoitylov at openjdk.org> wrote:

>> Provides missing implementation for arm32.
>> 
>> Testing: hotspot/jtreg.
>
> Aleksei Voitylov has updated the pull request incrementally with one additional commit since the last revision:
> 
>   address review comments

This looks okay, but I have a few questions.

src/hotspot/cpu/arm/templateTable_arm.cpp line 2613:

> 2611: // The rmethod register is input and overwritten to be the adapter method for the
> 2612: // indy call. Link Register (lr) is set to the return address for the adapter and
> 2613: // an appendix may be pushed to the stack. Registers r0-r3 are clobbered

"Registers r0-r3 are clobbered". This is a copy-paste error, it seems. Which registers this method really clobbers? R1..R3?

src/hotspot/cpu/arm/templateTable_arm.cpp line 2641:

> 2639:   // Load-acquire the adapter method to match store-release in ResolvedIndyEntry::fill_in()
> 2640:   __ ldr(method, Address(cache, in_bytes(ResolvedIndyEntry::method_offset())));
> 2641:   TemplateTable::volatile_barrier(MacroAssembler::Membar_mask_bits(MacroAssembler::LoadLoad | MacroAssembler::LoadStore), noreg, true);

Why calling `TemplateTable::volatile_barrier`, if you can do `__ membar(...)`?

-------------

PR Review: https://git.openjdk.org/jdk/pull/13596#pullrequestreview-1398312154
PR Review Comment: https://git.openjdk.org/jdk/pull/13596#discussion_r1175469389
PR Review Comment: https://git.openjdk.org/jdk/pull/13596#discussion_r1175473161


More information about the hotspot-dev mailing list