RFR: 8297822: De-duplicate code in module jdk.sctp [v3]

Alan Bateman alanb at openjdk.org
Thu Dec 1 15:30:01 UTC 2022


On Thu, 1 Dec 2022 11:25:28 GMT, Per Minborg <pminborg at openjdk.org> wrote:

>> This PR proposes merging logic and optimising three classes that exist for aix, maces and windows.
>> 
>> Optimisation will reduce byte code. Below is an example for one of the many methods optimised.
>> 
>> Before:
>> 
>> public void implCloseSelectableChannel() throws java.io.IOException;
>>   Code:
>>      0: new           #7                  // class java/lang/UnsupportedOperationException
>>      3: dup
>>      4: ldc           #11                 // String SCTP not supported on this platform
>>      6: invokespecial #13                 // Method java/lang/UnsupportedOperationException."<init>":(Ljava/lang/String;)V
>>      9: athrow
>> 
>> 
>> After:
>> 
>> public void implCloseSelectableChannel() throws java.io.IOException;
>>   Code:
>>      0: invokestatic  #16                 // Method sun/nio/ch/sctp/UnsupportedUtil.sctpUnsupported:()Ljava/lang/UnsupportedOperationException;
>>      3: athrow
>
> Per Minborg has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Move and refactor classes to reduce duplication

The latest update looks quite good but you might want to update `make/jdk.sctp/Java.gmk` to exclude `UnsupportedUtils` on linux, meaning there is no need to compile/include that on a Linux build.

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

PR: https://git.openjdk.org/jdk/pull/11436


More information about the net-dev mailing list