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

Aleksey Shipilev shade at openjdk.org
Mon Apr 24 18:41:29 UTC 2023


On Mon, 24 Apr 2023 17:55:00 GMT, Aleksei Voitylov <avoitylov at openjdk.org> wrote:

>> 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(...)`?
>
> Well, volatile_barrier is essentially a shell around membar, so here I'm just following the style of the code around.

Honestly, the use of `TemplateTable::volatile_barrier` in `get_cache_and_index_and_bytecode_at_bcp` looks like a fluke/leftover from AArch64 port. `__ membar` is used everywhere else.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13596#discussion_r1175656214


More information about the hotspot-dev mailing list