On Fri, 7 Jul 2023 11:56:28 GMT, Jorn Vernee <jver...@openjdk.org> 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

Reply via email to