RFR: 8260369: [PPC64] Add support for JDK-8200555 [v3]

Niklas Radomski github.com+9200663+quaffel at openjdk.java.net
Fri Feb 5 10:42:45 UTC 2021


On Thu, 4 Feb 2021 13:08:07 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:

>> I'd like to add the PPC64 part of JDK-8200555 "OopHandle should use Access API". This will be required to support ShenandoahGC and zGC.
>> 
>> I have to change register usage. That's what makes this change a bit larger.
>
> Martin Doerr has updated the pull request incrementally with one additional commit since the last revision:
> 
>   use PRESERVATION_NONE in load_field_cp_cache_entry

Looks very good! Took some time to understand why `load_resolved_reference_at_index` can be used without the need for register preservation, but seems to work just fine! I just have some very minor styling complains. Would be great if you could address those, but that's definitely no requirement.

src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp line 941:

> 939:            R10_tmp             = R10_ARG8;
> 940: 
> 941:   assert_different_registers(Rsize_of_parameters, Rsize_of_locals, parent_frame_resize, top_frame_size);

Consider strengthening the assertion. `Rconst_method`, for instance, must not be equals to `Rsize_of_parameters`.

src/hotspot/cpu/ppc/templateInterpreterGenerator_ppc.cpp line 939:

> 937:            Rconst_method       = R8_ARG6,
> 938:            Rconst_pool         = R9_ARG7,
> 939:            R10_tmp             = R10_ARG8;

Three variable naming styles in 5 LOCs. Would be great to have a consistent naming style throughout this function.

src/hotspot/cpu/ppc/templateTable_ppc_64.cpp line 3365:

> 3363:   // Load receiver if needed (after appendix is pushed so parameter size is correct).
> 3364:   if (load_receiver) {
> 3365:     const Register Rparam_count = Rscratch1;

The other variables of type Register declared in this method aren't `const`, although they aren't subject to change as well.

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

Marked as reviewed by Quaffel at github.com (no known OpenJDK username).

PR: https://git.openjdk.java.net/jdk/pull/2358


More information about the hotspot-dev mailing list