On Fri, 7 Jul 2023 11:56:28 GMT, Jorn Vernee <[email protected]> wrote:
>> sid8606 has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> Address Amit's review comments
>
> src/hotspot/cpu/s390/downcallLinker_s390.cpp line 162:
>
>> 160: allocated_frame_size += arg_shuffle.out_arg_bytes();
>> 161:
>> 162: bool should_save_return_value = !_needs_return_buffer &&
>> _needs_transition;;
>
> Since return buffer is not implemented here, I suggest adding an assert that
> checks that `_needs_return_buffer` is always false.
Added assert.
> src/hotspot/cpu/s390/foreignGlobals_s390.cpp line 115:
>
>> 113: switch (to_reg.type()) {
>> 114: case StorageType::INTEGER:
>> 115: if (to_reg.segment_mask() == REG64_MASK &&
>> from_reg.segment_mask() == REG32_MASK ) {
>
> Since this deals with 32 bit regs as well, might want to rename the function
> to just `move_reg` (i.e drop the `64`)
Renamed.
> src/java.base/share/classes/jdk/internal/foreign/abi/AbstractLinker.java line
> 78:
>
>> 76: @CallerSensitive
>> 77: public final MethodHandle downcallHandle(MemorySegment symbol,
>> FunctionDescriptor function, Option... options) {
>> 78: Reflection.ensureNativeAccess(Reflection.getCallerClass(),
>> Linker.class, "downcallHandle");
>
> Looks spurious? Please undo
Fixed
> src/java.base/share/classes/jdk/internal/foreign/abi/s390/S390Architecture.java
> line 115:
>
>> 113:
>> 114: private static VMStorage floatRegister(int index) {
>> 115: return new VMStorage(StorageType.FLOAT, REG64_MASK, index, "v"
>> + index);
>
> Maybe this should be `"f"` instead of `"v"`? (given the names of the
> variables above)
> Suggestion:
>
> return new VMStorage(StorageType.FLOAT, REG64_MASK, index, "f" +
> index);
Fixed
> src/java.base/share/classes/jdk/internal/foreign/abi/s390/linux/LinuxS390CallArranger.java
> line 136:
>
>> 134: return returnLayout
>> 135: .filter(GroupLayout.class::isInstance)
>> 136: .filter(layout -> layout instanceof GroupLayout)
>
> These lines both do the same, so one can be removed.
Fixed
> src/java.base/share/classes/jdk/internal/foreign/abi/s390/linux/TypeClass.java
> line 114:
>
>> 112: return false;
>> 113: }
>> 114: }
>
> I believe this loop is not needed, since above it's determined that
> `scalarLayouts` has only 1 element.
Removed, Thank you
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14801#discussion_r1257228786
PR Review Comment: https://git.openjdk.org/jdk/pull/14801#discussion_r1257228670
PR Review Comment: https://git.openjdk.org/jdk/pull/14801#discussion_r1257228415
PR Review Comment: https://git.openjdk.org/jdk/pull/14801#discussion_r1257228265
PR Review Comment: https://git.openjdk.org/jdk/pull/14801#discussion_r1257228164
PR Review Comment: https://git.openjdk.org/jdk/pull/14801#discussion_r1257228044