RFR: 8321515: ARM32: Move method resolution information out of the cpCache properly

Aleksey Shipilev shade at openjdk.org
Mon Dec 11 15:59:17 UTC 2023


On Thu, 7 Dec 2023 10:25:05 GMT, Aleksei Voitylov <avoitylov at openjdk.org> wrote:

> Thanks to @matias9927, JDK-8320278 fixed the JDK build for ARM32 after JDK-8301997. This PR introduces some additional fixes that enable the ARM32 port to actually work.

Looks okay, but I have suggestions.

Also changed target-version to 23 in JBS, so that we don't create the backports when we push. You might want to pull and merge the new master to get new mainline with jcheck config for 23.

src/hotspot/cpu/arm/interp_masm_arm.cpp line 311:

> 309:   get_index_at_bcp(index, bcp_offset, cache /* as tmp */, sizeof(u2));
> 310: 
> 311:   if (is_power_of_2(sizeof(ResolvedMethodEntry))) {

I usually dislike introducing split like these, because one of the branches is effectively dead. Which also means it is effectively untested. Given this interpreter code, can we just leave the generic version unconditionally?

src/hotspot/cpu/arm/interp_masm_arm.cpp line 318:

> 316:     add(cache, cache, AsmOperand(index, lsl, log2i_exact(sizeof(ResolvedMethodEntry))));
> 317:   }
> 318:   else {

Suggestion:

  } else {

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

Marked as reviewed by shade (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/17017#pullrequestreview-1775511070
PR Comment: https://git.openjdk.org/jdk/pull/17017#issuecomment-1850366263
PR Review Comment: https://git.openjdk.org/jdk/pull/17017#discussion_r1422707417
PR Review Comment: https://git.openjdk.org/jdk/pull/17017#discussion_r1422707792


More information about the hotspot-dev mailing list